:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#242724;background:#f6f1e8;font-synthesis:none;-webkit-font-smoothing:antialiased;--bg:#f6f1e8;--ink:#242724;--muted:#817f78;--line:#d9d4c9;--card:#fffcf6;--accent:#b85a49;--soft:#ece6d9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);min-width:320px}body.dark{--bg:#191d1d;--ink:#f3efe6;--muted:#a6a49c;--line:#41423d;--card:#242a29;--soft:#303535;--accent:#e58c76;color:var(--ink)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:inherit}#app{min-height:100dvh;display:flex;flex-direction:column}main{flex:1}.topbar,main,footer{width:min(960px,calc(100% - 36px));margin-inline:auto}.topbar{display:flex;justify-content:space-between;align-items:center;height:86px;border-bottom:1px solid var(--line)}.logo{display:flex;gap:9px;align-items:center;background:none;border:0;color:var(--ink);font-size:19px;font-weight:760;letter-spacing:-.7px;padding:8px 0}.logo-icon{background:var(--ink);color:var(--bg);font:32px Georgia,serif;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;letter-spacing:-2px}.logo-icon span{color:var(--accent)}.actions{display:flex;gap:10px}.smallbtn{min-height:39px;padding:8px 13px;border:1px solid var(--line);background:var(--card);border-radius:13px;color:var(--ink)}.profile{font-size:13px;font-weight:700}.view{padding:38px 0 80px}.hidden{display:none!important}.hero{background:radial-gradient(circle at 88% 15%,#dfc8ad55,transparent 45%),var(--card);border:1px solid var(--line);border-radius:28px;padding:clamp(28px,6vw,58px);margin-bottom:44px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--accent)}.muted{color:var(--muted)}h1,h2,h3,p{margin-top:0}.hero h1,.view-intro h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-2.5px;font-size:clamp(42px,8vw,70px);line-height:1.08;margin:24px 0 19px}.hero h1 em,.view-intro h1 em{color:var(--accent);font-weight:400}.hero p,.view-intro p{color:var(--muted);font-size:16px;max-width:490px;line-height:1.7}.hero-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.btn{border:0;border-radius:13px;padding:16px 19px;min-height:52px;font-weight:760;letter-spacing:-.2px}.primary{background:var(--ink);color:var(--bg)}.secondary{background:var(--soft);color:var(--ink)}.btn:hover{filter:brightness(.94)}.fill{width:100%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:17px}.section-head h2{font:normal 34px Georgia,serif;letter-spacing:-1px;margin:7px 0 0}.counter{font-size:12px;border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:50px;padding:9px 12px;white-space:nowrap}.book-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px}.book-card{width:100%;display:flex;align-items:center;gap:17px;text-align:left;border-radius:19px;border:1px solid var(--line);background:var(--card);padding:16px;color:var(--ink)}.book-card:hover{border-color:var(--accent)}.cover{width:73px;height:100px;flex:none;border-radius:8px 13px 13px 8px;background:linear-gradient(135deg,#c5a48c,#a47260);box-shadow:inset 5px 0 0 #0002,2px 4px 11px #0001;color:#fff;font:44px Georgia,serif;display:grid;place-items:center}.book-details{min-width:0;flex:1}.book-name{font:normal 20px Georgia,serif;overflow-wrap:anywhere;margin:0 0 9px}.book-sub{font-size:12px;color:var(--muted);line-height:1.5}.bar{height:4px;border-radius:10px;background:var(--soft);margin-top:15px;overflow:hidden}.bar span{display:block;height:100%;background:var(--accent)}.empty{padding:40px 22px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted)}.privacy{display:flex;gap:17px;margin-top:28px;padding:18px 21px;border:1px solid var(--line);border-radius:17px;color:var(--muted);line-height:1.6;font-size:13px}.privacy>span{font-size:28px;color:var(--accent)}.privacy p{margin:0}.privacy b{color:var(--ink)}.back{color:var(--muted);border:0;background:none;padding:12px 0}.view-intro{margin:20px 0 32px}.view-intro h1{font-size:clamp(39px,7vw,60px)}.panel{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(19px,4vw,34px)}.import-panel{max-width:680px}.import-panel>label:not(.file-zone){display:block;font-size:11px;letter-spacing:1.4px;font-weight:800;color:var(--muted);margin:17px 0 10px}.import-panel input:not([type=file]),.import-panel textarea,.account-panel input{display:block;width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);outline:none}.import-panel textarea{min-height:155px;resize:vertical}.import-panel input:focus,.import-panel textarea:focus,.account-panel input:focus{border-color:var(--accent)}.divider-caption{text-align:center;color:var(--muted);font-size:10px;letter-spacing:2px;margin:22px}.file-zone{display:flex;align-items:center;gap:15px;padding:18px;background:var(--bg);border:1px dashed var(--line);border-radius:14px;cursor:pointer}.file-zone span:nth-child(2){flex:1}.file-zone small{display:block;color:var(--muted);margin-top:6px}.upload-icon{font-size:32px;color:var(--accent)}.hint{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0 18px}.reader-nav,.reader-info,.reader-nav>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.text-button{color:var(--muted);font-size:13px;background:none;border:0;padding:10px 2px}.danger{color:var(--accent)}.reader-info{margin:18px 0 25px}.reader-info h2{font:normal 31px Georgia,serif;margin:6px 0 0;overflow-wrap:anywhere}.word-stage{border:1px solid var(--line);background:var(--card);color:var(--ink);padding:0 15px 17px;width:100%;border-radius:22px;min-height:255px;display:flex;flex-direction:column;justify-content:center;align-items:stretch}.word-frame{height:181px;position:relative;display:flex;align-items:center;justify-content:center}.line{position:absolute;width:100%;height:1px;background:var(--line);left:0}.line:after{content:"";display:block;height:17px;width:2px;background:var(--line);position:absolute;left:50%;transform:translateX(-50%)}.line.top{top:13px}.line.top:after{top:0}.line.bottom{bottom:13px}.line.bottom:after{bottom:0;transform:translate(-50%,-100%)}.word{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;width:100%;font:48px Georgia,serif;white-space:nowrap;letter-spacing:-1px}.word span:first-child{text-align:right}.word span:last-child{text-align:left}.word span:nth-child(2){color:var(--accent)}.stage-hint{font-size:12px;color:var(--muted);text-align:center}.progress{margin:25px auto 0;max-width:670px}.progress-label{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--ink)}.faded{color:var(--muted)}input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.progress input{margin:14px 0}.playback{display:flex;align-items:center;justify-content:center;gap:43px;margin:20px 0 35px}.play{border:0;width:72px;height:72px;border-radius:50%;font-size:24px;background:var(--ink);color:var(--bg);box-shadow:0 8px 22px #0002}.jump{border:0;background:none;color:var(--ink);font-size:38px;width:50px}.jump small{font-size:12px;margin-left:1px}.controls{max-width:670px;margin:auto}.speed-header{display:flex;justify-content:space-between;align-items:center;gap:18px}.speed-header p{font-size:13px;color:var(--muted);margin:8px 0}.wpm{display:flex;align-items:center;gap:6px}.wpm input{width:64px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:right;font-weight:800;font-size:19px}.wpm small{font-size:11px;color:var(--muted)}.controls>input{margin:22px 0 16px}.presets{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.presets button{border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);min-height:39px;font-size:12px}.presets button.active{background:var(--ink);color:var(--bg)}.control-line{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px;font-size:13px}.control-line input{max-width:140px}.check{display:flex;gap:10px;align-items:center;margin-top:25px;font-size:13px;color:var(--muted)}.check input{width:17px;height:17px;accent-color:var(--accent)}.account-panel{max-width:600px}.account-panel h3{font:normal 28px Georgia,serif}.account-panel p{color:var(--muted);line-height:1.6}.account-panel label{font-size:12px}.account-panel input{margin:12px 0 18px}.account-panel button{margin-right:10px;margin-bottom:10px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0 30px;color:var(--muted);font-size:12px}.dialog-backdrop{position:fixed;inset:0;z-index:10;background:#0008;display:flex;align-items:flex-end;justify-content:center}.dialog{border-radius:25px 25px 0 0;padding:26px;background:var(--card);color:var(--ink);width:min(680px,100%);max-height:85dvh;overflow:auto}.dialog-top{display:flex;justify-content:space-between}.dialog p{font-size:13px;color:var(--muted)}.context{font:18px/1.8 Georgia,serif;white-space:pre-wrap}.context mark{background:#e8c795;padding:2px 4px;border-radius:3px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);width:min(90vw,450px);z-index:20;background:var(--ink);color:var(--bg);padding:15px 20px;border-radius:14px;text-align:center;font-size:13px;box-shadow:0 8px 30px #0003}@media(max-width:560px){.topbar,main,footer{width:calc(100% - 28px)}.view{padding-top:23px}.hero{padding:32px 23px}.hero h1{font-size:42px}.hero-buttons>*{width:100%}.reader-info h2{font-size:25px}.word-stage{min-height:228px}.word-frame{height:165px}.playback{gap:30px}.presets{grid-template-columns:repeat(3,1fr)}.book-list{grid-template-columns:1fr}footer{gap:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
/* Book-first reading navigation */
.chapter-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:17px;padding:14px 17px;margin:0 0 14px}
.chapter-details{min-width:0;display:flex;flex-direction:column;gap:5px}
.chapter-details strong{font:normal 18px/1.25 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(50vw,470px)}
.chapter-details small{font-size:11px;color:var(--muted)}
.chapter-open{background:var(--soft);color:var(--ink);white-space:nowrap;font-size:12px;min-height:42px;padding:11px 13px;flex-shrink:0}
.chapters-dialog{display:flex;flex-direction:column;max-height:86dvh}
.chapters-dialog .dialog-top{align-items:center}
.chapters-dialog .dialog-top h2{font:normal 30px Georgia,serif;margin:8px 0}
.chapters-list{overflow-y:auto;min-height:0;overscroll-behavior:contain;border:1px solid var(--line);border-radius:13px;scrollbar-gutter:stable}
.chapter-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;color:var(--ink);text-align:left;background:var(--card);border:0;border-bottom:1px solid var(--line)}
.chapter-row:last-child{border-bottom:0}
.chapter-row.active{background:var(--soft);color:var(--accent)}
.chapter-row:focus-visible,.chapter-open:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.chapter-row-main{display:flex;flex-direction:column;gap:5px;min-width:0}
.chapter-row-main strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.chapter-row-main small{font-size:11px;color:var(--muted)}
@media(max-width:380px){.chapter-strip{padding:12px}.chapter-details strong{font-size:16px}.chapter-open{padding:10px;font-size:11px}.chapter-details strong{max-width:42vw}}
