@charset "UTF-8";:root{color:var(--ink);background:var(--paper);--paper: #f8f3e8;--paper-warm: #fbf6eb;--paper-light: #fffaf0;--boot-bg: #f4ecd9;--paper-sheen: rgba(96, 76, 45, .018);--dialog-sheen: rgba(255, 255, 255, .42);--ink: #242a31;--ink-soft: rgba(45, 51, 57, .74);--ink-muted: rgba(65, 70, 75, .56);--ink-faint: rgba(58, 61, 64, .46);--sepia: #9a773e;--sepia-dark: #7b5d31;--danger: #b4473f;--paper-line: rgba(112, 91, 62, .2);--line-soft: rgba(112, 91, 62, .14);--line-strong: rgba(112, 91, 62, .26);--accent-line: rgba(154, 119, 62, .32);--accent-line-soft: rgba(154, 119, 62, .22);--accent-line-strong: rgba(154, 119, 62, .5);--danger-line: rgba(180, 71, 63, .18);--danger-line-strong: rgba(180, 71, 63, .6);--hover: rgba(255, 250, 239, .4);--surface-soft: rgba(255, 250, 239, .56);--surface-strong: rgba(255, 250, 239, .86);--hover-warm: rgba(112, 91, 62, .08);--hover-warm-strong: rgba(112, 91, 62, .12);--accent-tint: rgba(154, 119, 62, .12);--accent-tint-soft: rgba(154, 119, 62, .07);--accent-tint-strong: rgba(154, 119, 62, .2);--glass: rgba(248, 243, 232, .92);--glass-strong: rgba(255, 250, 239, .96);--glass-line: rgba(112, 91, 62, .16);--shadow: rgba(91, 67, 33, .15);--shadow-soft: rgba(91, 67, 33, .08);--shadow-strong: rgba(45, 36, 24, .24);--backdrop: rgba(36, 32, 28, .26);--focus-ring: rgba(143, 107, 58, .46);--field-inset: rgba(255, 255, 255, .55);--btn-primary-a: #b8924e;--btn-primary-b: #9a773e;--btn-primary-a-active: #a07e3e;--btn-primary-b-active: #86622f;--btn-danger-a: #bd4f48;--btn-danger-b: #a93d35;--btn-danger-a-active: #a93d35;--btn-danger-b-active: #932f29;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-pop: cubic-bezier(.17, .89, .32, 1.18);color-scheme:light;font-family:Kaiti SC,STKaiti,KaiTi,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,Noto Sans SC,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{color:var(--ink);background:var(--paper);--paper: #17130e;--paper-warm: #1e1912;--paper-light: #262015;--boot-bg: #14110b;--paper-sheen: rgba(233, 226, 208, .014);--dialog-sheen: rgba(255, 255, 255, .04);--ink: #e9e2d0;--ink-soft: rgba(233, 226, 208, .8);--ink-muted: rgba(233, 226, 208, .54);--ink-faint: rgba(233, 226, 208, .36);--sepia: #c9a25c;--sepia-dark: #dcbc80;--danger: #e07061;--paper-line: rgba(220, 188, 128, .18);--line-soft: rgba(220, 188, 128, .12);--line-strong: rgba(220, 188, 128, .24);--accent-line: rgba(201, 162, 92, .38);--accent-line-soft: rgba(201, 162, 92, .26);--accent-line-strong: rgba(201, 162, 92, .58);--danger-line: rgba(224, 112, 97, .3);--danger-line-strong: rgba(224, 112, 97, .62);--hover: rgba(255, 248, 235, .07);--surface-soft: rgba(255, 248, 235, .055);--surface-strong: rgba(255, 248, 235, .1);--hover-warm: rgba(220, 188, 128, .08);--hover-warm-strong: rgba(220, 188, 128, .14);--accent-tint: rgba(201, 162, 92, .16);--accent-tint-soft: rgba(201, 162, 92, .09);--accent-tint-strong: rgba(201, 162, 92, .24);--glass: rgba(30, 25, 18, .92);--glass-strong: rgba(38, 32, 22, .96);--glass-line: rgba(220, 188, 128, .16);--shadow: rgba(0, 0, 0, .45);--shadow-soft: rgba(0, 0, 0, .3);--shadow-strong: rgba(0, 0, 0, .6);--backdrop: rgba(0, 0, 0, .55);--focus-ring: rgba(201, 162, 92, .55);--field-inset: rgba(255, 255, 255, .06);--btn-primary-a: #c39a4f;--btn-primary-b: #a07c3a;--btn-primary-a-active: #b08a42;--btn-primary-b-active: #8f6c30;--btn-danger-a: #cf5a4e;--btn-danger-b: #b7443a;--btn-danger-a-active: #b7443a;--btn-danger-b-active: #9f362c;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{touch-action:manipulation}button,input,textarea{font:inherit}button{cursor:pointer}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}a{color:inherit;text-decoration:none}.boot-screen{min-height:100vh;background:var(--boot-bg)}@media(prefers-reduced-motion:no-preference){html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color .32s ease,background .32s ease,color .32s ease,border-color .32s ease,box-shadow .32s ease,fill .32s ease,stroke .32s ease!important}}.create-user-page{position:relative;min-height:100vh;min-height:100dvh;padding:16px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 18% 20%,rgba(114,201,190,.16),transparent 32%),radial-gradient(circle at 80% 78%,rgba(205,148,79,.12),transparent 34%),linear-gradient(135deg,#050607,#11100e 54%,#050607)}.create-user-page:before{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:linear-gradient(115deg,transparent 18%,rgba(180,223,217,.08),transparent 44%),linear-gradient(74deg,transparent 46%,rgba(205,170,113,.08),transparent 70%);content:"";filter:blur(2px);animation:slow-drift 14s ease-in-out infinite alternate}.create-user-panel{position:relative;z-index:1;display:grid;width:min(100%,680px);gap:14px;padding:clamp(22px,5vw,34px);border:1px solid rgba(242,232,205,.16);border-radius:14px;background:#ffffff0e;color:#fffcf0f0;box-shadow:0 28px 90px #0000006b,0 0 52px #78dccd1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:dialog-in .32s var(--ease-pop) both}.create-user-panel h1{margin:0;font-size:clamp(1.8rem,7vw,3.2rem);line-height:1.05}.create-user-panel p{margin:0;color:#fffcf0ad;line-height:1.7}.create-user-mark,.create-user-status{display:grid;place-items:center}.create-user-mark{width:44px;height:44px;border:1px solid rgba(231,204,144,.32);border-radius:10px;background:#ffffff0e;color:#f3e8cf;font-family:Georgia,serif;font-size:1.45rem;font-weight:800}.create-user-status{width:34px;height:34px;border-radius:999px;background:#76dacb29;color:#bbf5ecf2}.create-user-status--failed{background:#c14e4029;color:#ffc4bbf2}.create-user-note{margin:0;color:#e7cc90b8;font-size:.84rem;line-height:1.7}.provision-output{display:grid;gap:8px;margin-top:6px}.output-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;min-height:42px;padding:7px 8px 7px 12px;border:1px solid rgba(242,232,205,.12);border-radius:8px;background:#0000002e}.output-row span{grid-column:1/-1;color:#e7cc90c7;font-family:inherit;font-size:.78rem}.output-row code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fffcf0e6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.output-row button{display:grid;place-items:center;width:34px;height:30px}.output-row button,.create-user-login{border:1px solid rgba(231,204,144,.24);border-radius:8px;background:#ffffff0e;color:#fffcf0e0;transition:transform .18s var(--ease-out),border-color .18s var(--ease-out),background .18s var(--ease-out)}.output-row button:active,.create-user-login:active{border-color:#e7cc906b;background:#ffffff17;transform:translateY(1px)}.create-user-login{display:grid;place-items:center;justify-self:start;min-height:40px;margin-top:4px;padding:0 16px;font-family:inherit;font-size:.88rem}.pattern-login{--nebula-1: rgba(96, 201, 190, .14);--nebula-2: rgba(148, 120, 214, .16);--nebula-3: rgba(214, 126, 150, .1);--starlight: rgba(226, 240, 245, .92);position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;overscroll-behavior:none;opacity:1;background:radial-gradient(circle at 18% 16%,var(--nebula-1),transparent 34%),radial-gradient(circle at 82% 74%,var(--nebula-2),transparent 38%),radial-gradient(circle at 60% 6%,var(--nebula-3),transparent 30%),linear-gradient(168deg,#04060b,#0a0e1a 52%,#05070d);transition:opacity .46s ease}.pattern-login .pattern-stage{position:absolute;top:0;right:0;bottom:0;left:0}.pattern-stage{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);position:relative;width:100%;height:100%;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.pattern-stage:before{position:absolute;top:-22%;right:-22%;bottom:-22%;left:-22%;background:linear-gradient(115deg,transparent 22%,rgba(150,214,208,.05),transparent 46%),linear-gradient(72deg,transparent 44%,rgba(196,168,226,.055),transparent 68%);content:"";animation:pattern-aurora 16s ease-in-out infinite alternate;pointer-events:none}.pattern-stage.is-locked{pointer-events:none}.pattern-bubbles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;transform:translateZ(0);transition:transform .82s cubic-bezier(.4,0,.18,1);will-change:transform}.pattern-bubble{position:absolute;top:0;left:0;will-change:transform}.pattern-bubble-body{display:grid;place-items:center;position:relative;width:100%;height:100%;border:1px solid transparent;border-radius:50%;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.pattern-bubble-body.is-pulse{animation:pattern-bubble-pulse .38s cubic-bezier(.2,.85,.3,1.2)}.pattern-bubble-icon{display:grid;place-items:center;filter:drop-shadow(0 1px 6px rgba(0,0,0,.35));transition:transform .32s var(--ease-out)}.pattern-bubble-sheen{position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:50%;background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.34),rgba(255,255,255,.06) 34%,transparent 52%);pointer-events:none}.pattern-message{display:grid;place-items:center;position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;color:#ffd6d2f2;font-size:clamp(1.15rem,5vw,1.5rem);font-weight:600;letter-spacing:.42em;text-indent:.42em;text-shadow:0 0 26px rgba(224,112,97,.5);pointer-events:none;animation:pattern-message-in .3s ease}.pattern-login.is-checking .pattern-bubbles{transform:translate3d(0,calc(-100vh - 120px),0)}.pattern-login.is-checking .pattern-loading{visibility:visible;opacity:1;transition-delay:.34s}.pattern-login.is-failed .pattern-bubbles{transform:translateZ(0);transition-timing-function:cubic-bezier(.18,.88,.26,1.12)}.pattern-login.is-success{opacity:0;pointer-events:none}.pattern-login.is-success .pattern-bubbles{transform:translate3d(0,calc(-100vh - 120px),0)}.pattern-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-content:center;justify-items:center;gap:18px;visibility:hidden;color:#e2f0f5ad;font-size:.82rem;letter-spacing:.28em;text-indent:.28em;opacity:0;pointer-events:none;transition:opacity .32s ease,visibility 0s linear .32s}.pattern-loading-orbit{position:relative;width:46px;height:46px;border:1px solid rgba(162,224,215,.18);border-radius:50%;box-shadow:0 0 34px #70d3c51f;animation:pattern-loader-spin 1.5s linear infinite}.pattern-loading-orbit:before,.pattern-loading-orbit:after,.pattern-loading-orbit span{position:absolute;border-radius:50%;background:#bdefe7eb;box-shadow:0 0 12px #70e0cfa6;content:""}.pattern-loading-orbit:before{top:-3px;left:19px;width:6px;height:6px}.pattern-loading-orbit:after{right:2px;bottom:5px;width:4px;height:4px;opacity:.68}.pattern-loading-orbit span{bottom:4px;left:4px;width:3px;height:3px;opacity:.42}.totp-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));touch-action:none;animation:pattern-fade-in .4s var(--ease-out)}.totp-panel:before{position:absolute;width:min(76vw,420px);aspect-ratio:1;border:1px solid rgba(150,214,208,.06);border-radius:50%;box-shadow:0 0 0 46px #96d6d005,0 0 0 92px #ad97e004;content:"";pointer-events:none}.totp-card{position:relative;display:grid;justify-items:center;gap:18px;width:min(88vw,356px);padding:32px 24px 22px;overflow:hidden;border:1px solid rgba(210,237,235,.25);border-radius:24px;background:linear-gradient(145deg,#233144e0,#0e1422d6),#101624c7;box-shadow:0 34px 100px #00000080,inset 0 1px #ffffff0f,0 0 70px #78dccd14;-webkit-backdrop-filter:blur(22px) saturate(118%);backdrop-filter:blur(22px) saturate(118%);text-align:center}.totp-card:after{position:absolute;top:-80px;left:50%;width:220px;height:130px;border-radius:50%;background:#76dacb17;filter:blur(34px);content:"";pointer-events:none;transform:translate(-50%)}.totp-card h1{position:relative;z-index:1;margin:0;color:#eefaf8f5;font-size:1.16rem;font-weight:600;letter-spacing:.26em;text-indent:.26em}.totp-mark{position:relative;z-index:1;width:58px;height:58px}.totp-mark-orbit{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(182,231,223,.34);border-radius:50%}.totp-mark-orbit:after{position:absolute;top:-3px;left:50%;width:6px;height:6px;border-radius:50%;background:#b7ece4;box-shadow:0 0 13px #95e5d8c7;content:"";transform:translate(-50%)}.totp-mark-orbit--outer{animation:pattern-loader-spin 7s linear infinite}.totp-mark-orbit--inner{top:9px;right:9px;bottom:9px;left:9px;border-color:#bca6e63d;animation:pattern-loader-spin 5s linear infinite reverse}.totp-mark-orbit--inner:after{width:5px;height:5px;background:#cdb9ee;box-shadow:0 0 12px #b997ebb3}.totp-mark-core{position:absolute;top:23px;right:23px;bottom:23px;left:23px;border-radius:50%;background:#e0f6f2eb;box-shadow:0 0 18px #8de1d4ad}.totp-hint{position:relative;z-index:1;margin:-8px 0 2px;color:#e2f0f5a3;font-size:.76rem;letter-spacing:.08em}.totp-cells{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,1fr);gap:7px;width:100%;cursor:text}.totp-cells.is-error{animation:token-shake .24s ease-out}.totp-cell{display:grid;place-items:center;height:52px;border:1px solid rgba(226,240,245,.2);border-radius:12px;color:var(--starlight);background:#ffffff0e;font-size:1.35rem;font-weight:600;transition:border-color .2s var(--ease-out),background .2s var(--ease-out),box-shadow .2s var(--ease-out),transform .2s var(--ease-out)}.totp-cell.is-caret{border-color:#96e0d5ad;background:#7adacb12;box-shadow:0 0 0 3px #76dacb0e;animation:totp-caret 1.2s ease-in-out infinite}.totp-cell.is-error{border-color:#e07061b3}.totp-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.totp-status{position:relative;z-index:1;min-height:1.25em;color:#e2f0f575;font-size:.75rem;letter-spacing:.08em}.totp-error{color:#ffc4bbeb}.totp-checking{color:#b8ebe3d1}.totp-checking:after{content:"···";display:inline-block;width:1.8em;overflow:hidden;vertical-align:bottom;animation:totp-dots 1.1s steps(4,end) infinite}.totp-back{border:0;background:transparent;color:inherit;font:inherit;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(226,240,245,.22);border-radius:50%;color:#e2f0f5ad;background:#ffffff0b;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease;animation:pattern-bob 3.2s ease-in-out infinite}.totp-back:hover{border-color:#b6e7df47;color:#e2f0f5c7;background:#96d6d012}.totp-back:disabled{cursor:default;opacity:.38}.security-content{display:grid;gap:14px;max-width:560px}.security-card{display:grid;gap:8px;padding:18px;border:1px solid var(--paper-line);border-radius:12px;background:var(--surface-soft)}.security-card h1{margin:0;color:var(--ink);font-size:1.1rem;font-weight:700;letter-spacing:.12em}.security-status{margin:0;color:var(--ink-muted);font-size:.88rem;line-height:1.6}.security-hint{margin:0;padding-top:8px;border-top:1px dashed var(--line-soft);color:var(--ink-faint);font-size:.84rem;line-height:1.7}.security-scene-card{display:grid;gap:10px;padding:14px;border:1px solid var(--paper-line);border-radius:12px;background:var(--paper-light)}.security-scene-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.security-step-text{color:var(--ink-soft);font-size:.9rem;letter-spacing:.04em}.security-restart{border:0;background:transparent;color:inherit;font:inherit;padding:6px 12px;border:1px solid var(--paper-line);border-radius:8px;color:var(--ink-muted);font-size:.8rem;transition:border-color .18s var(--ease-out),color .18s var(--ease-out)}.security-restart:active{border-color:var(--accent-line);color:var(--ink-soft)}.security-count{display:flex;align-items:center;gap:7px;min-height:10px}.security-count-dot{width:7px;height:7px;border-radius:50%;background:var(--sepia);animation:check-pop .3s var(--ease-pop)}.security-count-empty{color:var(--ink-faint);font-size:.78rem;letter-spacing:.18em}.security-scene-mount{position:relative;height:min(64vh,560px);overflow:hidden;border-radius:12px;background:radial-gradient(circle at 20% 14%,rgba(96,201,190,.13),transparent 36%),radial-gradient(circle at 80% 76%,rgba(148,120,214,.15),transparent 38%),linear-gradient(168deg,#04060b,#0a0e1a 52%,#05070d)}@keyframes pattern-aurora{0%{transform:translate3d(-2%,-1.5%,0) rotate(-2deg)}to{transform:translate3d(2%,1.5%,0) rotate(2deg)}}@keyframes pattern-bubble-pulse{0%,to{transform:scale(1)}42%{transform:scale(.78)}72%{transform:scale(1.04)}}@keyframes pattern-loader-spin{to{transform:rotate(360deg)}}@keyframes pattern-bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes pattern-message-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pattern-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes totp-caret{0%,to{transform:translateY(0);box-shadow:0 0 0 3px #76dacb0a}50%{transform:translateY(-2px);box-shadow:0 0 0 4px #76dacb17}}@keyframes totp-dots{0%{width:0}to{width:1.8em}}.reader-shell{position:relative;min-height:100vh;min-height:100dvh;max-width:800px;margin-inline:auto;padding:max(16px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(34px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));animation:paper-enter .36s var(--ease-out)}.reader-shell:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(112deg,transparent 0 20%,var(--paper-sheen) 21%,transparent 42%);content:"";opacity:.42}.reader-shell>*{position:relative;z-index:1}.reader-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:56px;margin:0 auto;padding:5px 0 15px}.reader-topbar-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:1.08rem;font-weight:600;line-height:1.2}.reader-topbar-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.reader-topbar-actions .icon-button{min-width:56px;height:36px;padding:0 8px;border-radius:9px;font-size:.9rem}.chapter-shell>.reader-topbar{display:none}.books-shell .reader-topbar{align-items:flex-end;min-height:70px}.books-shell .reader-topbar-title{position:relative;overflow:visible;padding-bottom:10px;font-size:1.34rem;font-weight:700;letter-spacing:.18em}.books-shell .reader-topbar-title:after{position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--sepia);box-shadow:51px 0 0 -49px var(--paper);content:""}.books-shell .reader-topbar-actions .icon-button{min-width:52px;height:auto;flex-direction:column;gap:5px;padding:0;border:0;background:transparent;font-size:.92rem}.books-shell .reader-topbar-actions .icon-button svg{width:34px;height:34px;padding:5px;border:2px solid currentColor;border-radius:999px}.book-detail-shell .reader-topbar-title{visibility:hidden}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:50px;height:34px;padding:0 10px;border:1px solid var(--paper-line);border-radius:8px;background:var(--surface-soft);color:var(--sepia-dark);font-family:inherit;font-size:.9rem;line-height:1;transition:transform .18s var(--ease-out),border-color .18s var(--ease-out),background .18s var(--ease-out),box-shadow .18s var(--ease-out),color .18s var(--ease-out),opacity .18s var(--ease-out)}.icon-button:not(:disabled):active{transform:scale(.96);background:var(--surface-strong)}.icon-button svg{flex:0 0 auto}.icon-button:disabled{cursor:not-allowed;opacity:.42}.icon-button--primary{border-color:var(--accent-line);color:var(--sepia-dark)}.icon-button--danger{border-color:var(--danger-line);color:var(--danger)}.reader-content{width:min(100%,760px);margin:0 auto}.book-list-content,.book-detail-content{width:min(100%,920px)}.quiet-state{padding:58px 0;color:var(--ink-muted);text-align:center}.loading-state{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--sepia-dark)}.loading-state .spin{color:var(--sepia);animation-duration:.9s}.spin{animation:spinner-spin .7s linear infinite}.book-list,.chapter-list{border-top:1px solid var(--line-soft)}.book-row,.chapter-row{position:relative;display:flex;align-items:center;gap:10px;min-height:66px;padding-right:10px;border-bottom:1px solid var(--line-soft);animation:row-rise .34s var(--ease-out) both;transition:background .18s var(--ease-out),transform .18s var(--ease-out),box-shadow .18s var(--ease-out)}.book-row:active,.chapter-row:active{background:var(--hover)}.book-row .icon-button,.chapter-row .icon-button{min-width:34px;width:34px;height:34px;padding:0;border:0;background:transparent;color:var(--ink-soft)}.book-row .icon-button-label,.chapter-row .icon-button-label{display:none}.book-link,.chapter-link{display:block;flex:1;min-width:0;padding:15px 0}.sortable-row.is-dragging,.chapter-row:has(.drag-handle){position:relative;z-index:5;background:var(--surface-soft);box-shadow:0 12px 36px var(--shadow-soft);animation:none}.drag-handle{border:0;background:transparent;color:inherit;font:inherit;display:grid;place-items:center;transition:transform .18s var(--ease-out),border-color .18s var(--ease-out),background .18s var(--ease-out),box-shadow .18s var(--ease-out),color .18s var(--ease-out),opacity .18s var(--ease-out)}.drag-handle:not(:disabled):active{transform:scale(.94);background:var(--surface-soft)}.drag-handle{flex:0 0 auto;width:42px;height:42px;border-radius:6px;color:var(--ink-muted);touch-action:none}.check-dot{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1.5px solid var(--ink-faint);border-radius:6px;background:transparent;color:transparent;touch-action:manipulation;transition:transform .18s var(--ease-out),border-color .18s var(--ease-out),background .18s var(--ease-out),box-shadow .18s var(--ease-out),color .18s var(--ease-out),opacity .18s var(--ease-out)}.check-dot:not(:disabled):active{transform:scale(.94);background:var(--surface-soft)}.check-dot svg{width:14px;height:14px}.check-dot.is-checked{border-color:var(--sepia);background:var(--sepia);color:#fffaf0;animation:check-pop .24s var(--ease-pop)}.back-link{border:0;background:transparent;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:7px;margin:0 0 28px;padding:0;color:var(--ink-soft);font-size:1rem;transition:color .18s var(--ease-out),transform .18s var(--ease-out)}.back-link:active{color:var(--ink);transform:translate(-2px)}.book-list{display:grid;gap:12px;border-top:0;padding:2px 0 12px}.book-list .sortable-row{border-radius:16px}.book-list .sortable-row.is-dragging{background:transparent;box-shadow:none}.book-list .sortable-row.is-dragging .book-row{border-color:var(--accent-line);background:var(--surface-strong)}.book-list .book-row{min-height:0;padding:14px 12px 14px 14px;border:1px solid var(--line-soft);border-radius:16px;background:var(--surface-soft)}.book-list .book-row:active{border-color:var(--paper-line);background:var(--surface-strong)}.book-list .book-link{padding:0}.book-link h2{margin:0 0 8px;color:var(--ink);font-size:1.18rem;font-weight:700;line-height:1.25}.book-link p{display:-webkit-box;margin:0 0 8px;overflow:hidden;color:var(--ink-soft);font-size:.86rem;line-height:1.62;-webkit-box-orient:vertical;-webkit-line-clamp:2}.book-link span{color:var(--ink-soft);font-size:.86rem}.book-link span:first-letter{color:var(--sepia)}.row-chevron{flex:0 0 auto;color:var(--ink-faint)}.book-detail-content{padding-top:8px}.book-hero{padding:6px 0 24px;animation:row-rise .38s var(--ease-out) both}.book-hero h1{display:inline-flex;align-items:baseline;gap:10px;margin:0 0 15px;color:var(--ink);font-size:2.15rem;font-weight:800;line-height:1.05}.book-hero p{max-width:760px;margin:0;color:var(--ink-soft);font-size:.98rem;line-height:1.72}.book-title-edit{border:0;background:transparent;color:inherit;font:inherit;align-self:flex-end;display:inline-flex;gap:5px;color:var(--sepia);font-size:1rem;font-weight:500;line-height:1;white-space:nowrap}.book-title-edit:active{color:var(--sepia-dark)}.book-continue-btn{display:inline-flex;align-items:center;gap:8px;max-width:100%;margin-top:18px;padding:10px 22px;border:1px solid var(--accent-line);border-radius:999px;background:linear-gradient(135deg,var(--accent-tint),var(--accent-tint-soft));color:var(--sepia-dark);font-family:inherit;font-size:.95rem;font-weight:600;letter-spacing:.04em}.book-continue-btn svg{flex:0 0 auto}.book-continue-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-continue-btn{transition:transform .18s var(--ease-out),border-color .18s var(--ease-out),background .18s var(--ease-out),box-shadow .18s var(--ease-out),color .18s var(--ease-out),opacity .18s var(--ease-out)}.book-continue-btn:not(:disabled):active{transform:scale(.97);border-color:var(--accent-line-strong);background:linear-gradient(135deg,var(--accent-tint-strong),var(--accent-tint))}.chapter-link{display:block}.chapter-link strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;color:var(--ink-soft);font-size:1rem;font-weight:500}.chapter-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;border-bottom:1px solid var(--paper-line);color:var(--sepia-dark);font-size:.94rem}.chapter-list-header strong{font-size:1.12rem;font-weight:700}.chapter-list-header span,.chapter-list-header .chapter-list-mode{color:var(--ink-muted);font-size:.86rem;font-weight:400}.chapter-list-mode{display:flex;align-items:center;gap:10px;color:var(--sepia-dark)}.chapter-list-mode button{border:0;background:transparent;color:inherit;font:inherit;color:var(--sepia-dark)}.chapter-topbar{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;max-width:776px;min-height:50px;margin-inline:auto;padding:5px 8px;z-index:35;border:1px solid var(--glass-line);border-radius:14px;background:var(--glass);box-shadow:0 12px 34px var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),visibility .2s var(--ease-out)}.chapter-topbar.is-hidden{visibility:hidden;opacity:0;transform:translateY(-12px);pointer-events:none}.chapter-topbar-back{border:0;background:transparent;color:inherit;font:inherit;display:grid;place-items:center;justify-self:start;width:38px;height:38px;border-radius:10px;color:var(--ink);transition:transform .18s var(--ease-out),background .18s var(--ease-out)}.chapter-topbar-back:active{transform:scale(.92);background:var(--hover-warm)}.chapter-topbar-back:disabled{cursor:not-allowed;opacity:.42}.chapter-topbar-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;justify-self:center;width:100%;max-width:min(100%,420px);color:var(--ink);font-size:.98rem;font-weight:600;letter-spacing:.04em;text-align:center}.chapter-topbar-actions{justify-self:end;display:flex;align-items:center;gap:6px}.chapter-topbar-actions .icon-button{min-width:38px;width:38px;height:38px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--ink);transition:transform .18s var(--ease-out),border-color .18s var(--ease-out),background .18s var(--ease-out),box-shadow .18s var(--ease-out),color .18s var(--ease-out),opacity .18s var(--ease-out)}.chapter-topbar-actions .icon-button:not(:disabled):active{transform:scale(.92);background:var(--hover-warm)}.chapter-topbar-actions .icon-button--primary{color:var(--sepia-dark)}.chapter-topbar-actions .icon-button--danger{color:var(--danger)}.chapter-topbar-actions .icon-button-label{display:none}.book-topbar{grid-template-columns:38px 1fr auto}.books-topbar{grid-template-columns:minmax(0,1fr) auto}.books-topbar .chapter-topbar-title{justify-self:start;padding-left:6px;font-size:1.08rem;font-weight:700;text-align:left}.chapter-menu{position:relative}.chapter-menu-trigger{border:0;background:transparent;color:inherit;font:inherit;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:var(--ink);transition:transform .18s var(--ease-out),background .18s var(--ease-out)}.chapter-menu-trigger:active{transform:scale(.92);background:var(--hover-warm)}.chapter-menu-trigger.is-open{background:var(--hover-warm-strong)}.chapter-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:36;display:grid;gap:2px;width:max-content;padding:6px;border:1px solid var(--glass-line);border-radius:14px;background:var(--glass-strong);box-shadow:0 18px 44px var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:row-rise .18s var(--ease-out) both}.chapter-menu-item{border:0;background:transparent;color:inherit;font:inherit;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:var(--ink);font-size:.92rem;text-align:left;white-space:nowrap;cursor:pointer;transition:background .16s var(--ease-out),color .16s var(--ease-out)}.chapter-menu-item:active{background:var(--hover-warm)}.chapter-menu-item:disabled{cursor:not-allowed;opacity:.42}.chapter-menu-item svg{flex:0 0 auto;color:var(--sepia-dark)}.chapter-menu-item--danger{color:var(--danger)}.chapter-menu-item--danger svg{color:var(--danger)}.chapter-menu-setting{display:grid;gap:9px;margin:2px 4px 4px;padding:10px 8px 8px;border-top:1px solid var(--line-soft)}.chapter-menu-setting>span{color:var(--ink-muted);font-size:.78rem}.chapter-menu-rate-controls{display:grid;grid-template-columns:32px minmax(48px,1fr) 32px;align-items:center;gap:8px}.chapter-menu-rate-controls button{border:0;background:transparent;color:inherit;font:inherit;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--paper-line);border-radius:9px;background:var(--surface-soft);color:var(--sepia-dark)}.chapter-menu-rate-controls button:active:not(:disabled){background:var(--hover-warm);transform:scale(.92)}.chapter-menu-rate-controls button:disabled{cursor:not-allowed;opacity:.42}.chapter-menu-rate-controls strong{color:var(--ink);font-size:.9rem;font-weight:650;text-align:center}.chapter-content{max-width:680px}.chapter-reader{padding-top:50px}.chapter-book-heading{margin:0 0 1em;padding-top:.3em;color:var(--ink);font-size:clamp(1.6rem,7vw,2.2rem);font-weight:700;line-height:1.6;letter-spacing:.08em;text-align:center}.chapter-segment{max-width:100%;margin-bottom:36px;overflow-x:hidden}.chapter-segment p{margin:0 0 .95em;color:var(--ink);font-size:1.1125rem;line-height:1.95;text-align:justify;text-indent:2em;transition:color .2s var(--ease-out)}.chapter-segment p.is-speaking{background:var(--accent-tint);color:var(--sepia-dark)}.chapter-segment-title{display:flex;align-items:baseline;gap:10px;margin:0 0 18px;cursor:pointer}.chapter-segment-title h1{flex:0 1 auto;min-width:0;margin:0;color:var(--ink);font-size:1.28rem;font-weight:650;line-height:1.05}.chapter-segment-title h1.is-speaking{color:var(--sepia-dark)}.chapter-segment-title:hover .chapter-title-edit,.chapter-segment-title:focus-within .chapter-title-edit,.chapter-segment-title.is-edit-visible .chapter-title-edit{width:30px;border-color:var(--paper-line);opacity:1;transform:translate(0) scale(1);pointer-events:auto}.chapter-title-edit{border:0;background:transparent;color:inherit;font:inherit;display:grid;place-items:center;flex:0 0 auto;width:0;height:30px;border:1px solid transparent;border-radius:9px;overflow:hidden;color:var(--sepia-dark);opacity:0;transform:translate(-4px) scale(.92);pointer-events:none;transition:width .18s var(--ease-out),opacity .18s var(--ease-out),transform .18s var(--ease-out),border-color .18s var(--ease-out),background .18s var(--ease-out)}.chapter-title-edit:active{background:var(--hover-warm);transform:translate(0) scale(.92)}.scroll-sentinel{height:1px}.chapter-editor{padding-top:76px}.chapter-editor-text{display:block;width:100%;height:calc(100dvh - 150px);min-height:360px;padding:0 0 120px;border:0;outline:none;background:transparent;color:var(--ink);overflow-y:auto;resize:none;overscroll-behavior:contain;font-size:1.05rem;line-height:1.95;text-align:justify}.chapter-editor-text:focus{border:0;outline:none}.chapter-editor-text::placeholder{color:var(--ink-muted)}.listen-audio{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.listen-player,.chapter-bottombar{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom) + 16px);left:max(20px,env(safe-area-inset-left));max-width:420px;margin:0 auto;animation:player-slide .26s var(--ease-out) both}.listen-player{z-index:25;display:grid;grid-template-columns:44px minmax(0,1fr) 36px 36px 36px;align-items:center;gap:6px;padding:9px 10px;border:1px solid var(--glass-line);border-radius:20px;background:var(--glass-strong);box-shadow:0 18px 52px var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),visibility .2s var(--ease-out)}.listen-player.is-hidden{visibility:hidden;opacity:0;transform:translateY(12px);pointer-events:none}.listen-player button{border:0;background:transparent;color:inherit;font:inherit;display:grid;place-items:center;color:var(--sepia-dark);transition:transform .18s var(--ease-out),background .18s var(--ease-out),border-color .18s var(--ease-out)}.listen-player button:active{transform:scale(.92);background:var(--hover-warm)}.listen-player button:disabled{cursor:not-allowed;opacity:.42;transform:none}.listen-player .listen-toggle{width:44px;height:44px;border:1px solid var(--accent-line);border-radius:999px;background:var(--surface-soft);color:var(--sepia-dark)}.listen-locate,.listen-visible,.listen-stop{width:36px;height:36px;border-radius:12px}.listen-visible{background:var(--hover-warm)}.listen-stop{color:var(--danger)!important}.listen-copy{min-width:0}.listen-copy span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;color:var(--ink-muted);font-size:.82rem}.chapter-bottombar{z-index:30;border:1px solid var(--glass-line);border-radius:18px;background:var(--glass);box-shadow:0 12px 34px var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 14px;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),visibility .2s var(--ease-out)}.chapter-bottombar.is-hidden{visibility:hidden;opacity:0;transform:translateY(12px);pointer-events:none}.chapter-bottombar .icon-button{flex:1;min-width:0;height:40px;border:0;background:transparent;color:var(--sepia-dark)}.chapter-bottombar .icon-button-label{font-size:.8rem}.chapter-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:backdrop-in .18s var(--ease-out) both}.chapter-sheet{display:flex;flex-direction:column;width:100%;max-width:800px;max-height:70vh;margin-inline:auto;padding-bottom:env(safe-area-inset-bottom);border:1px solid var(--glass-line);border-bottom:0;border-radius:20px 20px 0 0;overflow:hidden;background:var(--paper-warm);box-shadow:0 -12px 40px var(--shadow);animation:sheet-slide .26s var(--ease-out) both}.chapter-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--paper-line);color:var(--sepia-dark);font-size:1.02rem;font-weight:600;letter-spacing:.04em}.chapter-sheet-head button{border:0;background:transparent;color:inherit;font:inherit;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;color:var(--ink-soft);transition:transform .18s var(--ease-out),background .18s var(--ease-out)}.chapter-sheet-head button:active{transform:scale(.92);background:var(--hover-warm)}.chapter-sheet-list{flex:1;min-height:0;margin:0;padding:6px 0 max(12px,env(safe-area-inset-bottom));overflow-y:auto;list-style:none}.chapter-sheet-item{border:0;background:transparent;color:inherit;font:inherit;display:flex;align-items:center;gap:14px;width:100%;padding:13px 20px;color:var(--ink-soft);text-align:left;cursor:pointer;transition:background .18s var(--ease-out),color .18s var(--ease-out)}.chapter-sheet-item:active{background:var(--surface-soft)}.chapter-sheet-item.is-active{color:var(--sepia-dark);font-weight:600;background:var(--accent-tint-soft)}.chapter-sheet-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:20px;background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:backdrop-in .18s var(--ease-out) both}.dialog{position:relative;width:min(100%,592px);padding:46px 25px 26px;overflow:hidden;border:1px solid var(--paper-line);border-radius:14px;background:linear-gradient(135deg,var(--dialog-sheen),transparent 42%),var(--paper-light);box-shadow:0 28px 84px var(--shadow-strong);text-align:center;animation:dialog-in .26s var(--ease-pop) both}.dialog:before{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 26px;border:2px solid var(--danger);border-radius:999px;color:var(--danger);content:"!";font-family:inherit;font-size:2rem;font-weight:600}.dialog h2{margin:0 0 18px;color:var(--ink);font-size:1.72rem;font-weight:500;letter-spacing:.02em}.dialog p{margin:0;color:var(--ink-soft);font-size:1.08rem;line-height:1.7}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}.text-button{min-width:0;height:58px;border:1px solid var(--accent-line-soft);border-radius:8px;background:var(--surface-soft);color:var(--sepia-dark);font-size:1.12rem;transition:transform .18s var(--ease-out),border-color .18s var(--ease-out),background .18s var(--ease-out),box-shadow .18s var(--ease-out),color .18s var(--ease-out),opacity .18s var(--ease-out)}.text-button:not(:disabled):active{transform:scale(.98);border-color:var(--accent-line);background:var(--surface-strong)}.text-button:disabled{cursor:not-allowed;opacity:.46}.text-button--primary{border-color:transparent;background:linear-gradient(135deg,var(--btn-primary-a),var(--btn-primary-b));color:#fffaf0}.text-button--primary:not(:disabled):active{background:linear-gradient(135deg,var(--btn-primary-a-active),var(--btn-primary-b-active))}.text-button--danger{border-color:transparent;background:linear-gradient(135deg,var(--btn-danger-a),var(--btn-danger-b));color:#fffaf0}.text-button--danger:not(:disabled):active{background:linear-gradient(135deg,var(--btn-danger-a-active),var(--btn-danger-b-active))}.form-dialog{display:grid;gap:14px;text-align:left}.form-dialog:before{display:none}.form-dialog label{display:grid;gap:7px;color:var(--sepia-dark);font-family:inherit;font-size:.84rem}.form-dialog input,.form-dialog textarea{border:1px solid var(--paper-line);outline:none;background:var(--surface-soft);color:var(--ink);box-shadow:0 1px 0 var(--field-inset) inset;transition:border-color .18s var(--ease-out),background .18s var(--ease-out),box-shadow .18s var(--ease-out)}.form-dialog input:focus,.form-dialog textarea:focus{border-color:var(--accent-line);background:var(--surface-strong);box-shadow:0 1px 0 var(--field-inset) inset,0 14px 34px var(--shadow-soft)}.form-dialog input,.form-dialog textarea{width:100%;padding:12px 13px;border-radius:8px;font-family:inherit;font-size:1rem}.error-boundary{display:grid;place-items:center;min-height:100vh;min-height:100dvh;gap:16px;padding:40px 24px;background:var(--paper);text-align:center}.error-boundary h1{margin:0;color:var(--ink);font-size:1.6rem;font-weight:700}.error-boundary p{margin:0;color:var(--ink-soft);line-height:1.7}.error-boundary-detail{max-width:520px;margin:0 auto;padding:12px 16px;border:1px solid var(--paper-line);border-radius:10px;background:var(--surface-soft);color:var(--danger);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;text-align:left;white-space:pre-wrap;word-break:break-word}.toast-stack{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom) + 12px);left:max(16px,env(safe-area-inset-left));z-index:50;display:flex;flex-direction:column;gap:10px;max-width:420px;margin:0 auto;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--glass-line);border-radius:12px;background:var(--glass-strong);box-shadow:0 14px 40px var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--ink);font-size:.92rem;pointer-events:auto;animation:toast-in .22s var(--ease-out) both}.toast--error{border-color:var(--danger-line);color:var(--danger)}.toast--info{color:var(--sepia-dark)}.toast span{flex:1;min-width:0;line-height:1.5}.toast-close{border:0;background:transparent;font:inherit;display:grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border-radius:6px;color:inherit;opacity:.6;transition:transform .18s var(--ease-out),background .18s var(--ease-out),opacity .18s var(--ease-out)}.toast-close:active{transform:scale(.9);background:var(--hover-warm);opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes paper-enter{0%{opacity:0}to{opacity:1}}@keyframes row-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes check-pop{0%{transform:scale(.92)}70%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes player-slide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-slide{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes token-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes slow-drift{0%{transform:translate3d(-2%,-1%,0) rotate(-3deg)}to{transform:translate3d(2%,1%,0) rotate(3deg)}}@keyframes spinner-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@media(min-width:521px){.create-user-page{padding:24px}.reader-topbar{gap:12px}.reader-topbar-actions{gap:8px}.reader-topbar-actions .icon-button{min-width:50px;height:34px;padding:0 10px;border-radius:8px;font-size:.9rem}.books-shell .reader-topbar-actions .icon-button{min-width:50px;height:34px;flex-direction:row;gap:7px;padding:0 10px;border:1px solid var(--paper-line);background:var(--surface-soft)}.books-shell .reader-topbar-actions .icon-button svg{width:auto;height:auto;padding:0;border:0;border-radius:0}.book-row,.chapter-row{min-height:64px;padding-right:0}.book-link h2{font-size:1.22rem}.book-link p,.book-link span{font-size:.88rem}.book-detail-content{padding-top:0}.book-hero{padding:10px 0 24px}.book-hero h1{font-size:clamp(2rem,8.6vw,3.2rem)}.book-hero p{line-height:1.78}.chapter-list-header{min-height:58px;font-size:1rem}.chapter-reader{padding-top:70px}.chapter-segment p{font-size:clamp(1.1025rem,4.55vw,1.2625rem)}.chapter-editor-text{font-size:clamp(1.04rem,4.55vw,1.2rem)}.chapter-editor{padding-top:80px}.dialog{padding:54px 26px 28px}.dialog h2{font-size:1.82rem}.dialog-actions{gap:20px}.output-row{grid-template-columns:94px minmax(0,1fr) 34px}.output-row span{grid-column:auto}}
