:root{--ink:#332b30;--muted:#90848a;--rose:#ad526b;--rose-light:#f4e6eb;--paper:#faf8f5;--line:#ebe4e3;--surface:#fff;--reader:#f7f0e5;--reader-ink:#40382f;--font-size:20px;--line-height:1.9;--reading-font:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font:15px/1.65 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--rose);outline-offset:4px}svg{width:21px;height:21px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}small{font-size:12px}button.primary,a.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--rose);color:#fff;border-radius:9px;padding:12px 22px;font-weight:500}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:11px 18px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%}.icon-button:hover{background:var(--rose-light)}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--rose)}.shell{max-width:1160px;margin:auto;padding:0 36px}.topbar{border-bottom:1px solid var(--line);background:rgba(250,248,245,.97)}.topbar .shell{height:86px;display:flex;align-items:center;gap:45px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{color:var(--rose);width:36px;height:36px}.brand-name{font:600 27px/1.2 "Songti SC","Noto Serif SC",serif;letter-spacing:5px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:2px;margin-top:5px}.desktop-nav{display:flex;gap:30px;height:100%;align-items:center}.desktop-nav a{height:100%;display:flex;align-items:center;position:relative;color:var(--muted);gap:7px}.desktop-nav a.active{color:var(--rose)}.desktop-nav a.active:after{position:absolute;content:"";height:2px;bottom:0;left:0;right:0;background:var(--rose)}.top-actions{margin-left:auto;display:flex;gap:12px;align-items:center}.import-top{font-size:13px;color:var(--rose)}.profile{background:var(--rose-light);color:var(--rose);font-size:12px;border-radius:50%;width:35px;height:35px;display:grid;place-items:center}.mobile-nav{display:none}.home-main{padding-top:38px;padding-bottom:60px}.intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.intro h1{font:500 30px/1.4 "Songti SC",serif;letter-spacing:2px;margin:6px 0}.intro p{font-size:13px;color:var(--muted)}.date-note{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:20px}.hero{background:#f1e4e3;border-radius:14px;min-height:245px;padding:34px 42px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-copy{max-width:60%;z-index:1}.hero h2{font:500 30px/1.6 "Songti SC",serif;letter-spacing:2px;margin:10px 0}.hero p{font-size:13px;color:#877276;margin-bottom:23px}.hero .eyebrow{color:#a16b76}.hero-art{position:absolute;right:35px;top:22px;bottom:0;display:flex;align-items:center;gap:16px;transform:rotate(7deg)}.hero-art .cover{width:124px;height:180px;box-shadow:4px 14px 28px #67405024}.hero-art .cover:first-child{transform:translateY(22px) rotate(-15deg)}.hero-art .cover:last-child{transform:translateY(18px) rotate(8deg)}.hero:after{content:"";position:absolute;width:300px;height:300px;border:1px solid #c495a73b;border-radius:50%;right:-90px;top:-80px}.cover{position:relative;overflow:hidden;flex-shrink:0;width:105px;height:147px;background:#ddb9bd;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#714551;border-radius:4px 8px 8px 4px;border-left:4px solid #ffffff25;font-family:"Songti SC",serif}.cover:before{content:"";position:absolute;width:135%;height:70%;border:1px solid #ffffff50;transform:rotate(-25deg);border-radius:45%;bottom:-24%;left:-20%}.cover:after{content:"";position:absolute;width:100px;height:100px;border:1px solid #ffffff55;border-radius:50%;top:-48px;right:-40px}.cover-title{writing-mode:vertical-rl;letter-spacing:5px;font-size:23px;position:relative;z-index:1}.cover-author{font:8px system-ui,sans-serif;letter-spacing:2px;margin-top:14px;z-index:1}.cover-label{position:absolute;font:7px system-ui,sans-serif;letter-spacing:2px;left:8px;bottom:10px;color:inherit;opacity:.6}.cover.indigo{background:#a7abbf;color:#343c58}.cover.sage{background:#b9c4b2;color:#496052}.section-head{display:flex;align-items:center;justify-content:space-between;margin:30px 0 18px}.section-head h2{font-size:19px;letter-spacing:1px}.section-head h2 small{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:10px}.text-link{font-size:12px;color:var(--rose);display:flex;align-items:center;gap:5px}.reading-card{border:1px solid var(--line);border-radius:12px;padding:20px 24px;display:flex;align-items:center;gap:21px;background:var(--surface)}.reading-card .cover{width:57px;height:80px}.reading-card .cover-title{font-size:15px;letter-spacing:3px}.reading-card .cover-author{display:none}.reading-card .cover-label{display:none}.reading-copy{flex:1;min-width:0}.reading-copy h3{font-size:17px}.reading-copy p{font-size:12px;color:var(--muted);margin:4px 0 10px}.progress-track{height:3px;background:var(--rose-light);border-radius:10px;max-width:300px}.progress-track span{display:block;background:var(--rose);height:100%;border-radius:10px}.reading-card .primary{font-size:13px;padding:10px 18px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.chip{font-size:12px;padding:7px 16px;border:1px solid transparent;border-radius:25px;background:#f0ece9;color:#887d82}.chip.active{background:var(--rose-light);color:var(--rose);border-color:#e6c5cf}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.book-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;gap:17px;transition:border-color .2s,transform .2s}.book-card:hover{border-color:#c992a2;transform:translateY(-3px)}.book-copy{min-width:0;flex:1}.book-copy h3{font-size:17px;margin:4px 0 4px}.book-copy .author{font-size:11px;color:var(--muted)}.book-copy .blurb{font-size:12px;color:#82777c;margin:13px 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.badge{display:inline-block;font-size:10px;color:var(--rose);background:#faf0f3;padding:2px 7px;border-radius:4px}.book-meta{font-size:10px;color:var(--muted);margin-top:9px}.home-footer{border-top:1px solid var(--line);margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted);letter-spacing:1px}.page-heading{margin-bottom:26px}.page-heading h1{font:500 30px "Songti SC",serif;margin:12px 0}.page-heading p{font-size:13px;color:var(--muted)}.search-box{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 16px;max-width:600px;margin-bottom:22px;color:var(--muted)}.search-box input{border:0;outline:none;width:100%;background:none;color:var(--ink)}.empty{padding:50px 20px;text-align:center;border:1px dashed #d9c9cc;border-radius:12px;color:var(--muted)}.empty svg{width:32px;height:32px;color:var(--rose);margin-bottom:10px}.empty h3{color:var(--ink);margin:8px}.empty p{font-size:13px;margin-bottom:16px}.book-detail{display:flex;gap:32px;padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:20px 0}.book-detail .cover{width:150px;height:215px}.detail-copy{flex:1}.detail-copy h1{font:600 30px "Songti SC",serif;margin:6px 0 10px}.detail-copy .description{font-size:14px;color:#84787d;max-width:620px;margin:20px 0}.detail-actions{display:flex;gap:12px;flex-wrap:wrap}.chapter-list{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.chapter-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 22px;border-bottom:1px solid var(--line);font-size:14px}.chapter-item:last-child{border:0}.chapter-item:hover,.chapter-item.current{background:#faf0f3;color:var(--rose)}.chapter-item small{color:var(--muted);white-space:nowrap}.chapter-num{font-size:11px;color:var(--muted);margin-right:16px}.back-link{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.import-card{max-width:650px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px;margin:auto}.dropzone{display:block;text-align:center;padding:35px 20px;background:#fbf6f7;border:1px dashed #d7a4b4;border-radius:11px;cursor:pointer;margin-bottom:24px}.dropzone svg{width:35px;height:35px;color:var(--rose);margin-bottom:10px}.dropzone strong{display:block;font-weight:500}.dropzone small{display:block;color:var(--muted);margin-top:7px}.dropzone input{display:block;max-width:100%;margin:18px auto 0;font-size:12px}.form-field{display:block;margin-bottom:20px;font-size:13px}.form-field input{display:block;width:100%;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:11px 13px;margin-top:8px}.form-note{font-size:12px;color:var(--muted);margin:16px 0;line-height:1.8}.error-message{color:#aa3656;font-size:13px;margin:12px 0}.import-card .primary{width:100%}.privacy-note{display:flex;gap:9px;align-items:start;font-size:12px;color:var(--muted);padding:16px 0}.privacy-note svg{width:17px;height:17px;flex-shrink:0;margin-top:3px}.bookmark-row{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin-bottom:12px;display:flex;align-items:center;gap:16px}.bookmark-row a{flex:1}.bookmark-row h3{font-size:15px}.bookmark-row p{font-size:12px;color:var(--muted);margin-top:4px}.danger{color:#b54662;font-size:12px}.loading{display:grid;place-content:center;text-align:center;min-height:60vh;font:30px "Songti SC",serif;color:var(--rose);gap:15px}.loading span{font:13px system-ui,sans-serif;color:var(--muted)}
/* 阅读 */
body.reading{background:var(--reader);color:var(--reader-ink)}body[data-theme=white]{--reader:#fff;--reader-ink:#353535}body[data-theme=green]{--reader:#e7eee3;--reader-ink:#344133}body[data-theme=night]{--reader:#22252a;--reader-ink:#b9bdc4}.reader-header{position:sticky;top:0;z-index:4;background:var(--reader);border-bottom:1px solid #88888825;transition:transform .2s}.reader-header-inner{height:65px;max-width:820px;margin:auto;padding:0 25px;display:flex;align-items:center;gap:14px}.reader-header .title{font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.75}.reader-main{max-width:760px;margin:0 auto;padding:44px 38px 35px;min-height:75vh}.chapter-heading{text-align:center;margin-bottom:35px}.chapter-heading .eyebrow{color:var(--reader-ink);opacity:.45;letter-spacing:3px;font-size:10px}.chapter-heading h1{font:500 26px/1.6 "Songti SC",serif;margin:10px 0}.chapter-heading .chapter-info{font:11px system-ui,sans-serif;opacity:.5;letter-spacing:1px}.reader-text{font:var(--font-size)/var(--line-height) var(--reading-font);overflow-wrap:anywhere}.reader-text p{text-indent:2em;margin-bottom:1.25em;letter-spacing:.035em}.reader-text p:last-child{margin-bottom:0}.chapter-end{text-align:center;font-size:12px;opacity:.4;letter-spacing:5px;margin:45px 0 24px}.chapter-nav{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid #88888830;border-bottom:1px solid #88888830;padding:9px 0;gap:6px}.chapter-nav a,.chapter-nav button{font-size:13px;text-align:center;padding:10px 4px}.chapter-nav .disabled{opacity:.35}.reader-footer-note{text-align:center;font-size:11px;opacity:.45;margin:24px 0 50px}.reader-toolbar{position:fixed;bottom:0;left:0;right:0;padding-bottom:env(safe-area-inset-bottom);background:var(--reader);border-top:1px solid #88888825;z-index:5}.reader-toolbar-inner{max-width:760px;margin:auto;display:flex;align-items:center;justify-content:space-around;height:62px}.reader-tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;min-width:65px;min-height:48px}.reader-tool svg{width:20px;height:20px}.reader-tool.active{color:var(--rose)}.reader-progress{position:fixed;bottom:calc(62px + env(safe-area-inset-bottom));left:0;height:2px;background:var(--rose);z-index:6;transition:width .15s}.reader-top{margin-left:auto}.focus-mode .reader-header{transform:translateY(-100%)}.focus-mode .reader-toolbar{transform:translateY(100%)}.focus-mode .reader-progress{bottom:0}.reader-toolbar{transition:transform .2s}dialog{color:var(--ink);border:0;padding:0;border-radius:16px;width:min(480px,calc(100% - 32px));max-height:80dvh;box-shadow:0 12px 65px #24172130;background:var(--surface)}dialog::backdrop{background:#201c254f;backdrop-filter:blur(3px)}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:15px 23px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:1}.panel-head h2{font-size:17px}.panel-body{padding:22px}.setting-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;font-size:13px}.stepper{display:flex;align-items:center;gap:18px;background:var(--paper);border-radius:7px;padding:3px}.stepper button{min-width:42px;height:36px}.setting-label{font-size:13px;margin-bottom:12px}.theme-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:25px}.theme-swatch{padding:13px 5px;border:1px solid transparent;border-radius:8px;font-size:12px;color:#40382f}.theme-swatch.selected{outline:2px solid var(--rose);outline-offset:3px}.theme-swatch.paper{background:#f7f0e5}.theme-swatch.white{background:#fff;border:1px solid #eee}.theme-swatch.green{background:#e7eee3}.theme-swatch.night{background:#22252a;color:#b9bdc4}.font-options{display:flex;gap:10px}.font-options button{flex:1;border:1px solid var(--line);border-radius:7px;padding:9px;font-size:13px}.font-options button.selected{border-color:var(--rose);color:var(--rose);background:#faf0f3}.panel-hint{font-size:11px;color:var(--muted);margin-top:20px}.panel-chapters{padding:0;max-height:60dvh;overflow:auto}.panel-chapters .chapter-item{font-size:13px}.panel-chapters .chapter-num{margin-right:8px}#toast{position:fixed;z-index:20;bottom:95px;left:50%;transform:translateX(-50%) translateY(10px);background:#393038;color:#fff;padding:11px 21px;border-radius:8px;opacity:0;pointer-events:none;font-size:13px;transition:.2s;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:1000px){.book-card .cover{width:82px;height:122px}.book-card .cover-title{font-size:20px}.book-card{padding:22px 18px;gap:15px}}@media(max-width:1000px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art .cover{width:100px;height:150px}.hero-art .cover:first-child{display:none}.hero-copy{max-width:65%}.topbar .shell{gap:26px}.desktop-nav{gap:20px}.book-card{padding:20px}.date-note{display:none}}
@media(max-width:600px){.shell{padding:0 20px}.topbar .shell{height:72px;gap:12px}.brand{gap:8px}.brand-mark{width:29px;height:29px}.brand-name{font-size:23px}.brand small{font-size:8px;margin-top:2px}.desktop-nav{display:none}.import-top{font-size:12px}.profile{display:none}.home-main{padding-top:25px;padding-bottom:85px}.intro{margin-bottom:20px}.intro h1{font-size:26px;letter-spacing:1px}.intro p{font-size:12px}.intro .eyebrow{font-size:9px}.hero{padding:26px 22px;min-height:210px;border-radius:12px}.hero h2{font-size:24px;letter-spacing:1px;margin:8px 0}.hero-copy{max-width:68%}.hero p{font-size:11px;max-width:150px;line-height:1.8;margin-bottom:17px}.hero .primary{padding:9px 14px;font-size:12px}.hero-art{right:12px;top:10px;gap:0;transform:rotate(8deg)}.hero-art .cover{width:83px;height:133px}.hero-art .cover-title{font-size:21px}.hero-art .cover:last-child{display:none}.section-head{margin:25px 0 15px}.section-head h2{font-size:17px}.section-head h2 small{display:none}.reading-card{padding:15px;gap:13px}.reading-copy h3{font-size:15px}.reading-copy p{font-size:10px}.reading-card .primary{padding:9px 12px;font-size:11px;white-space:nowrap}.reading-card .cover{width:44px;height:66px}.reading-card .cover-title{font-size:13px}.book-grid{grid-template-columns:1fr;gap:13px}.book-card{padding:18px;gap:18px}.book-card .cover{width:86px;height:122px}.book-copy h3{font-size:17px}.book-copy .blurb{-webkit-line-clamp:2;font-size:12px;line-height:1.8;margin:10px 0}.book-meta{font-size:11px}.filters{gap:8px;margin-bottom:18px}.chip{padding:6px 13px;font-size:11px}.home-footer{font-size:10px;display:block;margin-top:27px}.home-footer span{display:block;margin-top:6px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fffdfb;border-top:1px solid var(--line);height:calc(65px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);z-index:5}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted);font-size:10px;min-width:60px}.mobile-nav a.active{color:var(--rose)}.page-heading h1{font-size:26px}.book-detail{padding:22px 18px;gap:20px;flex-wrap:wrap}.book-detail .cover{width:101px;height:146px}.detail-copy{min-width:145px}.detail-copy h1{font-size:23px;margin-top:2px}.detail-copy .description{font-size:12px;margin:13px 0}.detail-actions{gap:8px}.detail-actions .primary,.detail-actions .secondary{padding:10px 13px;font-size:12px}.chapter-item{padding:15px 17px;font-size:13px}.chapter-num{margin-right:10px}.import-card{padding:20px 18px}.dropzone{padding:25px 10px}.reader-header-inner{height:57px;padding:0 13px;gap:7px}.reader-main{padding:30px 22px 28px}.chapter-heading h1{font-size:24px}.chapter-heading{margin-bottom:28px}.reader-text{letter-spacing:.025em}.reader-footer-note{margin-bottom:60px}dialog{width:100%;max-width:600px;margin:auto 0 0;border-radius:18px 18px 0 0;max-height:85dvh;padding-bottom:env(safe-area-inset-bottom)}.panel-body{padding:24px}.panel-chapters{max-height:65dvh}body.reading .mobile-nav{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.cover-title{white-space:nowrap;font-size:20px;letter-spacing:3px}.cover-author{margin-top:8px}@media(min-width:1000px){.book-card .cover-title{font-size:18px;letter-spacing:2px}}@media(max-width:600px){.book-card .cover-title{font-size:18px;letter-spacing:2px}.hero-art .cover-title{font-size:19px;letter-spacing:2px}.hero-art .cover-author{display:none}.reading-card .cover-title{font-size:13px;letter-spacing:2px}}
.login-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 22px;background:radial-gradient(ellipse at top,#f5e9ed,transparent 65%),var(--paper)}.login-brand{margin-bottom:30px}.login-card{width:min(430px,100%);padding:36px;background:#fffdfb;border:1px solid var(--line);border-radius:16px;box-shadow:0 15px 50px #66324408}.login-card h1{font:500 27px/1.5 "Songti SC",serif;margin:12px 0}.login-intro{font-size:13px;color:var(--muted);line-height:1.9;margin:10px 0 24px}.login-card .primary{width:100%}.login-note{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:11px;margin-top:22px}.login-note svg{width:15px;height:15px}.login-bottom{font-size:11px;color:var(--muted);letter-spacing:2px;margin-top:28px}.account-button{display:flex;align-items:center;gap:5px;padding:8px;font-size:12px;color:var(--rose)}.account-button svg{width:18px;height:18px}.add-user-form{display:flex;gap:10px;margin:18px 0}.add-user-form input{width:100%;min-width:0;border:1px solid var(--line);padding:10px 12px;border-radius:8px;font-size:13px}.add-user-form button{white-space:nowrap;font-size:12px;padding:10px 12px}.admin-user{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);gap:15px}.admin-user strong{font-weight:500;font-size:14px}.admin-user small{display:block;font-size:11px;color:var(--muted)}.admin-user-actions{display:flex;align-items:center;gap:12px}.admin-user-actions button{font-size:11px;min-height:35px}#back-admin{margin-top:20px}#logout{margin-left:9px}#invite-link{font-size:12px}@media(max-width:600px){.login-card{padding:30px 24px}.top-actions{gap:3px}.account-button{padding:5px}.import-top{font-size:11px}.import-top svg{width:16px;height:16px}.account-button span{font-size:11px}}
.publication-title{font:500 22px "Songti SC",serif;margin-bottom:10px}.publication-options{display:grid;gap:10px;margin:20px 0}.publication-options label{display:flex;align-items:start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:9px;cursor:pointer}.publication-options input{margin-top:6px;accent-color:var(--rose)}.publication-options strong{font-size:13px;font-weight:500}.publication-options small{display:block;color:var(--muted);font-size:11px;margin-top:3px}#recipients-picker{border:1px solid var(--line);border-radius:8px;padding:12px 15px;max-height:220px;overflow:auto}#recipients-picker[hidden]{display:none}#recipients-picker legend{font-size:12px;color:var(--muted);padding:0 6px}.recipient-item{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:13px;cursor:pointer}.recipient-item input{accent-color:var(--rose)}#publication-submit{width:100%}
.cover.document-cover .cover-title{writing-mode:horizontal-tb;white-space:normal;font-size:18px;line-height:1.6;max-width:100%;text-align:center;letter-spacing:2px}
.cover.document-cover{padding:18px 8px 36px}
.cover.document-cover .cover-title{line-height:1.4}
.cover.document-cover .cover-author{position:absolute;bottom:24px;margin:0;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reading-card .cover.document-cover{padding:4px}
.book-detail .cover.document-cover .cover-title{font-size:26px}
.reading-card .cover.document-cover .cover-title{font-size:10px;line-height:1.4;letter-spacing:0}
.document-outline{padding:14px 22px;max-height:35vh;overflow:auto;border-bottom:1px solid var(--line)}
.document-outline h3{font-size:13px;color:var(--muted);margin-bottom:8px}
.outline-item{display:block;text-align:left;font-size:13px;padding:8px 0;color:var(--rose)}
.document-text [id]{scroll-margin-top:85px}
.directory-parent{display:block;margin-top:5px;font-size:11px;opacity:.6}
.chapter-item>span{display:flex;align-items:center;min-width:0;gap:4px}
.chapter-item[hidden]{display:none}
.directory-search{margin:12px 0 20px}
dialog .directory-search{margin:12px 20px}
.document-text{overflow-wrap:anywhere;text-align:left}
.document-text p{text-indent:0;white-space:pre-wrap}
.document-text h2{font-size:1.25em;margin:2em 0 1em;line-height:1.5}
.document-text h3,.document-text h4{font-size:1.08em;margin:1.8em 0 .8em;line-height:1.6}
.document-text ul,.document-text ol{padding-left:1.5em;margin:1em 0}
.document-text li{margin:.45em 0;white-space:pre-wrap}
.document-text a,.document-source a{color:var(--rose);text-decoration:underline;text-underline-offset:4px}
.document-text blockquote{margin:1.4em 0;padding:1em 1.2em;border-left:3px solid var(--rose);background:rgba(128,128,128,.07);white-space:pre-wrap}
.document-text pre{padding:18px;white-space:pre-wrap;background:rgba(128,128,128,.07);border-radius:8px;font-size:.85em}
.document-text hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.document-table{overflow-x:auto;max-width:100%;margin:1.5em 0;border:1px solid var(--line);border-radius:8px}
.document-table table{border-collapse:collapse;min-width:100%;font-size:.85em;line-height:1.7}
.document-table td{padding:12px 16px;border:1px solid var(--line);min-width:150px;vertical-align:top;white-space:pre-wrap}
.document-table tr:first-child{background:rgba(128,128,128,.08)}
.document-text figure{margin:1.5em 0;text-align:center}
.document-text figure img{max-width:100%;height:auto;border-radius:8px;cursor:zoom-in;background:#fff}
.document-text figcaption{font-size:.7em;opacity:.6;margin-top:8px}
.document-source{text-align:center;font-size:13px;margin:40px 0}
dialog.image-dialog{width:min(1100px,96vw);max-width:96vw}
.image-preview{overflow:auto;padding:20px;max-height:75vh}
.image-preview img{min-width:100%;width:auto;max-width:1400px;background:white}
@media(max-width:600px){.document-table td{min-width:135px;padding:10px}.document-text blockquote{padding:14px}.document-text h2{font-size:1.2em}.book-detail .cover.document-cover .cover-title{font-size:18px;letter-spacing:1px}}
