:root{--bg: oklch(98% .004 95);--surface: oklch(100% .002 95);--fg: oklch(20% .018 70);--muted: oklch(48% .012 70);--border: oklch(90% .006 95);--accent: oklch(52% .1 28);--accent-soft: color-mix(in oklch, var(--accent) 12%, transparent);--fg-soft: color-mix(in oklch, var(--fg) 6%, transparent);--success: oklch(47% .09 155);--danger: oklch(51% .16 25);--highlight: oklch(86% .14 95);--night-accent: oklch(64% .1 28);--font-display: "Iowan Old Style", "Charter", Georgia, "Times New Roman", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--paper-bg: var(--surface);--paper-fg: var(--fg);--paper-muted: var(--muted);--paper-border: var(--border);--sepia-bg: oklch(96% .032 84);--sepia-fg: oklch(29% .022 65);--sepia-muted: oklch(47% .022 65);--sepia-border: oklch(87% .024 82);--solar-bg: oklch(95% .024 90);--solar-fg: oklch(37% .028 205);--solar-muted: oklch(50% .026 205);--solar-border: oklch(87% .018 90);--night-bg: oklch(22% .005 250);--night-surface: oklch(26% .006 250);--night-fg: oklch(90% .006 250);--night-muted: oklch(70% .008 250);--night-border: oklch(34% .008 250);--page-bg: var(--paper-bg);--page-fg: var(--paper-fg);--page-muted: var(--paper-muted);--page-border: var(--paper-border);--page-accent: var(--accent);--reading-size: 19.5px;--reading-leading: 1.72;--reading-width: 620px;--reading-font: var(--font-display);--rail: 76px;--radius: 2px;--shadow-pop: 0 18px 44px color-mix(in oklch, var(--fg) 14%, transparent)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;transition:background .25s ease}body.is-reading{background:var(--page-bg)}body[data-reading-theme=sepia]{--page-bg: var(--sepia-bg);--page-fg: var(--sepia-fg);--page-muted: var(--sepia-muted);--page-border: var(--sepia-border)}body[data-reading-theme=solarized]{--page-bg: var(--solar-bg);--page-fg: var(--solar-fg);--page-muted: var(--solar-muted);--page-border: var(--solar-border)}body[data-reading-theme=night]{--page-bg: var(--night-bg);--page-fg: var(--night-fg);--page-muted: var(--night-muted);--page-border: var(--night-border);--page-accent: var(--night-accent)}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}p{margin:0;text-wrap:pretty}h1,h2,h3,h4{margin:0;text-wrap:balance}::selection{background:color-mix(in oklch,var(--accent) 22%,transparent)}:focus-visible{outline:2px solid var(--fg);outline-offset:2px}body.is-reading :focus-visible{outline-color:var(--page-fg)}body.is-reading .sel-bar :focus-visible,body.is-reading .toast :focus-visible{outline-color:var(--page-bg)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen::-webkit-scrollbar,.reader-shell::-webkit-scrollbar,.guide-scroll::-webkit-scrollbar,.ask-stream::-webkit-scrollbar,.toc-list::-webkit-scrollbar{width:8px;height:8px}.screen::-webkit-scrollbar-thumb,.reader-shell::-webkit-scrollbar-thumb,.guide-scroll::-webkit-scrollbar-thumb,.ask-stream::-webkit-scrollbar-thumb,.toc-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}#root{height:100%}body{min-width:320px}.spinner{display:inline-block;width:18px;height:18px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.app{height:100dvh}.screen{display:none;margin-left:var(--rail);height:100dvh;overflow-y:auto;overflow-x:hidden}.screen.is-active{display:block;animation:screenIn .24s ease both}.reader-screen{overflow:hidden}@keyframes screenIn{0%{opacity:0}to{opacity:1}}.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:30;display:flex;flex-direction:column;align-items:center;background:var(--bg);border-right:1px solid var(--border);transition:background .25s ease,border-color .25s ease}.rail-mark{width:44px;height:44px;margin-top:20px;display:grid;place-items:center;color:var(--fg);border-radius:var(--radius)}.rail-mark:hover{background:var(--fg-soft)}.rail-mark svg{width:21px;height:21px}.rail-nav{margin-top:34px;width:100%;display:flex;flex-direction:column;gap:2px}.rail-item{position:relative;width:100%;height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);transition:color .15s ease,background .15s ease}.rail-item svg{width:18px;height:18px}.rail-item span{font:500 8.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.rail-item:hover{color:var(--fg);background:var(--fg-soft)}.rail-item.is-active{color:var(--fg)}.rail-item.is-active:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:var(--fg)}.rail-foot{margin-top:auto;padding:18px 0 22px;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--muted);font:500 7.5px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.rail-dot{width:4px;height:4px;border-radius:50%;background:currentColor}body.is-reading .rail{background:var(--page-bg);border-color:var(--page-border);color:var(--page-fg)}body.is-reading .rail-item{color:var(--page-muted)}body.is-reading .rail-item:hover{color:var(--page-fg);background:color-mix(in oklch,var(--page-fg) 7%,transparent)}body.is-reading .rail-item.is-active{color:var(--page-fg)}body.is-reading .rail-item.is-active:before{background:var(--page-fg)}body.is-reading .rail-mark{color:var(--page-fg)}body.is-reading .rail-mark:hover{background:color-mix(in oklch,var(--page-fg) 7%,transparent)}body.is-reading .rail-foot{color:var(--page-muted)}.page{max-width:1240px;margin:0 auto;padding:54px 56px 84px}.eyebrow{font:500 10px/1.3 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.display{font-family:var(--font-display);font-weight:400;font-size:clamp(42px,4.6vw,64px);line-height:.98;letter-spacing:-.025em}.lead{font-size:15.5px;line-height:1.6;color:var(--muted);max-width:52ch}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:46px}.page-head .display{margin-top:14px}.page-head .lead{max-width:34ch;padding-bottom:6px}.rule{border:0;border-top:1px solid var(--border);margin:0}.meta{font:400 10px/1.5 var(--font-mono);letter-spacing:.05em;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:var(--radius);font:500 13px/1 var(--font-body);letter-spacing:.005em;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .08s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}.btn-primary:hover{background:color-mix(in oklch,var(--accent) 82%,var(--fg));border-color:color-mix(in oklch,var(--accent) 82%,var(--fg))}.btn-secondary{background:transparent;border-color:var(--border);color:var(--fg)}.btn-secondary:hover{background:var(--fg-soft);border-color:var(--fg)}.btn-quiet{background:transparent;border-color:transparent;color:var(--fg);padding:0 2px;min-height:44px}.btn-quiet:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.btn-ink{background:var(--fg);border-color:var(--fg);color:var(--bg)}.btn-ink:hover{background:var(--fg);border-color:var(--fg);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.btn .arr{transition:transform .15s ease}.btn:hover .arr{transform:translate(3px)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius);font:500 10.5px/1 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);transition:background .12s ease,color .12s ease,border-color .12s ease}.chip:hover{color:var(--fg);border-color:var(--fg)}.chip.is-on{background:var(--fg);border-color:var(--fg);color:var(--bg)}.chip.is-on:hover{color:var(--bg);border-color:var(--fg)}.chip .count{font-variant-numeric:tabular-nums}.scrim{position:fixed;inset:0;z-index:39;background:color-mix(in oklch,var(--fg) 42%,transparent);opacity:0;pointer-events:none;transition:opacity .2s ease}body.toc-open .scrim{opacity:1;pointer-events:auto}@media(min-width:1321px){.reader-bar-in{padding-right:468px}}@media(max-width:1320px){body.guide-open .scrim{opacity:1;pointer-events:auto}}.toc{position:fixed;top:0;left:var(--rail);bottom:0;width:322px;z-index:45;background:var(--page-bg);color:var(--page-fg);border-right:1px solid var(--page-border);display:flex;flex-direction:column;transform:translate(-103%);visibility:hidden;pointer-events:none;transition:transform .26s cubic-bezier(.2,.75,.2,1),visibility 0s linear .26s}body.toc-open .toc{transform:none;visibility:visible;pointer-events:auto;transition-delay:0s}.toc-head{padding:22px 24px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--page-border)}.toc-head h2{font-family:var(--font-display);font-weight:400;font-size:23px;line-height:1.1;margin-top:7px}.toc-book{display:flex;gap:13px;padding:18px 24px;border-bottom:1px solid var(--page-border)}.toc-cover{width:34px;height:48px;border:1px solid var(--page-border);overflow:hidden;display:grid;place-items:center;flex:none;background:var(--surface)}.toc-cover img{width:100%;height:100%;object-fit:contain}.toc-book-title{font-family:var(--font-display);font-size:14px;line-height:1.15}.toc-book-meta{font:400 8px/1.5 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--page-muted);margin-top:4px}.toc-track{height:1px;background:var(--page-border);margin-top:8px}.toc-track span{display:block;height:100%;width:34%;background:var(--page-fg)}.toc-list{flex:1;overflow-y:auto;padding:8px 0}.toc-item{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 24px;text-align:left;color:var(--page-muted);font-size:13.5px;border-left:2px solid transparent;transition:color .12s ease,background .12s ease}.toc-item:hover{color:var(--page-fg);background:color-mix(in oklch,var(--page-fg) 6%,transparent)}.toc-item .roman{font:400 10px/1 var(--font-mono);letter-spacing:.08em}.toc-item .toc-meta{font:400 8px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--page-muted)}.toc-item.is-current{color:var(--page-fg);border-left-color:var(--page-fg);background:color-mix(in oklch,var(--page-fg) 5%,transparent)}.toc-note{padding:14px 24px 20px;border-top:1px solid var(--page-border);font-size:10.5px;line-height:1.5;color:var(--page-muted)}.icon-close{width:36px;height:36px;display:grid;place-items:center;color:var(--page-muted);font-size:21px;line-height:1;border-radius:var(--radius);flex:none}.icon-close:hover{color:var(--page-fg);background:color-mix(in oklch,var(--page-fg) 7%,transparent)}dialog .icon-close{color:var(--muted)}dialog .icon-close:hover{color:var(--fg);background:var(--fg-soft)}.guide .eyebrow,.toc .eyebrow{color:var(--page-muted)}.guide{position:fixed;top:0;right:0;bottom:0;width:380px;z-index:46;background:var(--page-bg);color:var(--page-fg);border-left:1px solid var(--page-border);display:flex;flex-direction:column;transform:translate(103%);visibility:hidden;pointer-events:none;transition:transform .28s cubic-bezier(.2,.75,.2,1),visibility 0s linear .28s}body.guide-open .guide{transform:none;visibility:visible;pointer-events:auto;transition-delay:0s}.guide-head{padding:22px 24px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.guide-head h2{font-family:var(--font-display);font-weight:400;font-size:25px;line-height:1.08;margin-top:7px}.guide-tabs{display:grid;grid-template-columns:1fr 1fr;margin:18px 24px 0;border:1px solid var(--page-border);border-radius:var(--radius)}.guide-tab{display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 10px;font:500 12px/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--page-muted);border-right:1px solid var(--page-border);border-radius:var(--radius) 0 0 var(--radius);transition:background .12s ease,color .12s ease}.guide-tab:last-child{border-right:0;border-radius:0 var(--radius) var(--radius) 0}.guide-tab:hover{color:var(--page-fg);background:color-mix(in oklch,var(--page-fg) 7%,transparent)}.guide-tab.is-on{background:var(--page-fg);color:var(--page-bg);border-right-color:var(--page-fg)}.guide-body{flex:1;min-height:0;display:flex;flex-direction:column}.guide-demo{flex:none;display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0;padding:10px 24px 12px;border-top:1px solid var(--page-border);font:500 8.5px/1.5 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--page-muted)}.guide-demo a{color:var(--page-fg);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.guide-pane{display:none;flex:1;min-height:0;flex-direction:column}.guide-pane.is-on{display:flex}.guide-scroll{overflow-y:auto;padding:22px 24px 32px}.guide-note{font:400 9px/1.5 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--page-muted);margin-bottom:18px}.guide-section{padding:17px 0;border-bottom:1px solid var(--page-border)}.guide-section:first-of-type{padding-top:0}.guide-section:last-of-type{border-bottom:0}.guide-label{font:500 8.5px/1.3 var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--page-muted);margin-bottom:10px}.guide-p{font-family:var(--font-display);font-size:16px;line-height:1.62;color:var(--page-fg)}.guide-p+.guide-p{margin-top:10px}.guide-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.guide-list li{position:relative;padding-left:14px;font-size:12.5px;line-height:1.55;color:var(--page-fg)}.guide-list li:before{content:"";position:absolute;left:0;top:.66em;width:4px;height:1px;background:var(--page-muted)}.guide-q{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--page-border);text-align:left;font-family:var(--font-display);font-size:14.5px;line-height:1.4;color:var(--page-fg)}.guide-q:first-of-type{border-top:0;padding-top:2px}.guide-q:hover{color:var(--page-fg);background:color-mix(in oklch,var(--page-fg) 5%,transparent)}.guide-q .q-arrow{font-size:12px;color:var(--page-muted);transition:transform .15s ease;margin-top:2px}.guide-q:hover .q-arrow{transform:translate(3px)}.ask-stream{flex:1;overflow-y:auto;padding:22px 24px 18px;display:flex;flex-direction:column;gap:20px}.ask-intro h3{font-family:var(--font-display);font-weight:400;font-size:23px;line-height:1.15;letter-spacing:-.01em;margin-bottom:7px}.ask-intro>p{font-size:11.5px;line-height:1.55;color:var(--page-muted)}.suggest{display:flex;flex-direction:column;margin-top:18px;border-top:1px solid var(--page-border)}.suggest button{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--page-border);text-align:left;font-size:12.5px;line-height:1.45;color:var(--page-fg)}.suggest button:hover{background:color-mix(in oklch,var(--page-fg) 5%,transparent)}.suggest button span{color:var(--page-muted);flex:none}.msg-user{align-self:flex-end;max-width:88%;background:var(--page-fg);color:var(--page-bg);padding:10px 13px;font-size:12.5px;line-height:1.5;text-wrap:pretty;overflow-wrap:anywhere}.msg-ai{max-width:100%}.msg-ai .who{font:500 8px/1.3 var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--page-muted);margin-bottom:7px}.msg-ai p{font-family:var(--font-display);font-size:15px;line-height:1.62;color:var(--page-fg)}.typing{display:flex;gap:4px;align-items:center;height:18px}.typing i{width:4px;height:4px;border-radius:50%;background:var(--page-muted);animation:blink 1.1s infinite ease-in-out}.typing i:nth-child(2){animation-delay:.16s}.typing i:nth-child(3){animation-delay:.32s}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.ask-compose{border-top:1px solid var(--page-border);padding:13px 24px 16px}.composer{display:flex;align-items:flex-end;gap:8px;border:1px solid var(--page-border);background:var(--page-bg);padding:7px 7px 7px 11px;border-radius:var(--radius)}.composer:focus-within{border-color:var(--page-fg)}.composer textarea{flex:1;border:0;background:transparent;resize:none;outline:0;min-height:34px;max-height:104px;font-size:12.5px;line-height:1.5;color:var(--page-fg);padding:7px 0}.composer textarea::placeholder{color:var(--page-muted)}.composer button{width:34px;height:34px;background:var(--page-fg);color:var(--page-bg);display:grid;place-items:center;flex:none;border-radius:var(--radius)}.composer button:hover{background:color-mix(in oklch,var(--page-fg) 82%,var(--page-bg))}.composer button svg{width:14px;height:14px}.ask-hint{font:400 8.5px/1.4 var(--font-mono);letter-spacing:.05em;color:var(--page-muted);margin-top:8px}.sel-bar{position:fixed;z-index:60;display:none;align-items:center;background:var(--fg);color:var(--bg);padding:4px;gap:1px;border-radius:var(--radius);box-shadow:0 10px 28px color-mix(in oklch,var(--fg) 18%,transparent)}.sel-bar.is-on{display:flex}.sel-bar button{height:31px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;font:500 9.5px/1 var(--font-mono);letter-spacing:.04em;color:var(--bg);border-radius:1px}.sel-bar button:hover{background:color-mix(in oklch,var(--fg) 78%,var(--surface))}.sel-sep{width:1px;height:15px;background:color-mix(in oklch,var(--bg) 22%,transparent);margin:0 3px}body.is-reading .sel-bar{background:var(--page-fg);color:var(--page-bg)}body.is-reading .sel-bar button{color:var(--page-bg)}body.is-reading .sel-bar button:hover{background:color-mix(in oklch,var(--page-fg) 80%,var(--page-bg))}body.is-reading .sel-sep{background:color-mix(in oklch,var(--page-bg) 22%,transparent)}.def-pop{position:fixed;z-index:61;display:none;width:320px;background:var(--page-bg);color:var(--page-fg);border:1px solid var(--page-border);padding:18px;box-shadow:var(--shadow-pop)}.def-pop.is-on{display:block}.def-head{display:flex;align-items:baseline;gap:9px;margin-bottom:7px}.def-head h4{font-family:var(--font-display);font-weight:400;font-size:24px;line-height:1.05;letter-spacing:-.015em;overflow-wrap:anywhere;min-width:0}.def-head span{font:500 8.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--page-muted)}.def-pop p{font-size:12.5px;line-height:1.55;color:var(--page-fg)}.def-source{font:400 8.5px/1.5 var(--font-mono);letter-spacing:.05em;color:var(--page-muted);margin-top:9px;text-transform:uppercase}.def-actions{display:flex;gap:14px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--page-border);flex-wrap:wrap}.def-actions button{font:500 9px/1 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--page-fg)}.def-actions button:hover{text-decoration:underline;text-underline-offset:3px}.def-actions button.quiet{color:var(--page-muted)}dialog.dlg{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);box-shadow:0 30px 90px color-mix(in oklch,var(--fg) 26%,transparent)}dialog::backdrop{background:color-mix(in oklch,var(--fg) 40%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dlg-head{padding:24px 28px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dlg-head h2{font-family:var(--font-display);font-weight:400;font-size:29px;line-height:1.05;letter-spacing:-.02em;margin-top:6px;overflow-wrap:anywhere}.dlg-body{padding:22px 28px 24px}.dlg-foot{padding:16px 28px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}.drop{border:1px dashed var(--border);background:var(--bg);padding:26px 20px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;transition:border-color .15s ease,background .15s ease}.drop.is-over{border-color:var(--fg);background:var(--fg-soft)}.drop svg{width:22px;height:22px;color:var(--muted);margin-bottom:3px}.drop strong{font-weight:500;font-size:13px}.drop span{font-size:11px;color:var(--muted)}.drop .btn{margin-top:10px}.file-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:10px 12px;border:1px solid var(--border);font:400 9px/1.5 var(--font-mono);letter-spacing:.04em;color:var(--muted);word-break:break-all}.file-line b{font-weight:500;color:var(--fg)}#add-fields{margin-top:18px}#add-error{margin-top:12px;color:var(--danger)}.form-error{font-size:11.5px;line-height:1.5}.bd-book{display:grid;grid-template-columns:122px minmax(0,1fr);gap:24px}.bd-cover{width:122px;aspect-ratio:367/520;border:1px solid var(--border);background:var(--bg);display:grid;place-items:center;overflow:hidden}.bd-cover img{width:100%;height:100%;object-fit:contain}.bd-fallback{font-family:var(--font-display);font-size:24px;color:var(--muted);padding:12px;text-align:center;line-height:1.15}.bd-author{font-size:12.5px;color:var(--muted);margin-bottom:14px}.bd-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font:400 8.5px/1.5 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.bd-track{height:2px;background:var(--border)}.bd-track span{display:block;height:100%;background:var(--fg)}.bd-note{margin-top:18px;font-size:11px;line-height:1.5;color:var(--muted);padding-top:14px;border-top:1px solid var(--border)}.player{position:fixed;left:calc(var(--rail) + 42px);bottom:22px;z-index:44;width:min(430px,calc(100vw - 110px));display:none;align-items:center;gap:11px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-pop)}.player.is-on{display:flex}.player-toggle{width:32px;height:32px;display:grid;place-items:center;background:var(--fg);color:var(--bg);flex:none;border-radius:50%}.player-toggle svg{width:12px;height:12px}.player-meta{min-width:0;flex:1}.player-meta .eyebrow{font-size:7.5px;letter-spacing:.13em;color:var(--muted);margin-bottom:2px}.player-label{font-size:11px;line-height:1.3;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-rate{display:flex;align-items:center;gap:4px;font:400 8px/1 var(--font-mono);color:var(--muted)}.player-rate select{border:1px solid var(--border);background:var(--surface);font:400 8px/1 var(--font-mono);padding:5px 3px;color:var(--fg);border-radius:1px}.player-stop{width:26px;height:26px;display:grid;place-items:center;color:var(--muted);font-size:14px;line-height:1;flex:none}.player-stop:hover{color:var(--fg)}.toast{position:fixed;left:50%;bottom:26px;z-index:80;transform:translate(-50%,10px);background:var(--fg);color:var(--bg);padding:10px 15px;border-radius:var(--radius);display:flex;align-items:center;gap:14px;max-width:min(92vw,520px);font-size:11.5px;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.toast.is-on{opacity:1;transform:translate(-50%);pointer-events:auto}body.is-reading .player{background:var(--page-bg);color:var(--page-fg);border-color:var(--page-border)}body.is-reading .player-label{color:var(--page-fg)}body.is-reading .player-meta .eyebrow,body.is-reading .player-rate{color:var(--page-muted)}body.is-reading .player-toggle{background:var(--page-fg);color:var(--page-bg)}body.is-reading .player-rate select{background:var(--page-bg);color:var(--page-fg);border-color:var(--page-border)}body.is-reading .player-stop{color:var(--page-muted)}body.is-reading .player-stop:hover{color:var(--page-fg)}body.is-reading .toast{background:var(--page-fg);color:var(--page-bg)}body.is-reading .toast button{color:var(--page-bg)}.toast button{color:var(--bg);font:500 9px/1 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;flex:none}.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--surface)}.btn-danger:hover{background:color-mix(in oklch,var(--danger) 82%,var(--fg));border-color:color-mix(in oklch,var(--danger) 82%,var(--fg))}.btn:disabled .spinner{opacity:.7}.tool:disabled,.mn-link:disabled,.know-btn:disabled{opacity:.45;cursor:not-allowed}.icon-close{font-size:0}.icon-close svg{width:18px;height:18px}.guide-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.guide-toolbar .guide-note{margin:0}.guide-action{font:500 8.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--page-muted)}.guide-action:hover{color:var(--page-fg);text-decoration:underline;text-underline-offset:3px}.guide-empty{padding:10px 0 8px}.guide-empty h3{font-family:var(--font-display);font-weight:400;font-size:23px;line-height:1.15;margin-bottom:7px}.guide-empty>p{font-size:11.5px;line-height:1.55;color:var(--page-muted);max-width:34ch}.guide-empty .btn{margin-top:18px}.guide-progress{display:flex;align-items:center;gap:9px;margin:0 0 16px;font:400 9px/1.5 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--page-muted)}.guide-skeleton{display:flex;flex-direction:column;gap:10px;padding:4px 0 12px}.guide-skeleton i{display:block;height:10px;background:color-mix(in oklch,var(--page-fg) 8%,transparent);animation:pulse 1.4s ease-in-out infinite}.guide-skeleton i:nth-child(2){width:82%}.guide-skeleton i:nth-child(3){width:56%}@keyframes pulse{0%,to{opacity:.45}50%{opacity:.9}}.msg-ai h1,.msg-ai h2,.msg-ai h3,.msg-ai h4,.msg-ai h5,.msg-ai h6{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em;line-height:1.2;margin:16px 0 6px;color:var(--page-fg)}.msg-ai h1{font-size:21px}.msg-ai h2{font-size:19px}.msg-ai h3{font-size:17px}.msg-ai h4,.msg-ai h5,.msg-ai h6{font-size:15px}.msg-ai h1:first-child,.msg-ai h2:first-child,.msg-ai h3:first-child,.msg-ai h4:first-child{margin-top:0}.msg-ai ul,.msg-ai ol{margin:6px 0 10px;padding-left:18px}.msg-ai li{font-family:var(--font-display);font-size:15px;line-height:1.62;color:var(--page-fg);margin:3px 0}.msg-ai li>p{margin:0}.msg-ai strong{font-weight:600}.msg-ai em{font-style:italic}.msg-ai a{text-decoration:underline;text-underline-offset:3px}.msg-ai code{font-family:var(--font-mono);font-size:11.5px;background:color-mix(in oklch,var(--page-fg) 7%,transparent);padding:1px 4px}.msg-ai pre{margin:10px 0;padding:10px 12px;background:color-mix(in oklch,var(--page-fg) 5%,transparent);overflow-x:auto;border:1px solid var(--page-border)}.msg-ai pre code{background:none;padding:0;font-size:11.5px;line-height:1.55}.msg-ai blockquote{margin:10px 0;padding-left:12px;border-left:2px solid var(--page-border);color:var(--page-muted)}.msg-ai table{width:100%;border-collapse:collapse;margin:10px 0;font-size:12px}.msg-ai th,.msg-ai td{border:1px solid var(--page-border);padding:6px 8px;text-align:left;vertical-align:top}.msg-ai th{font-weight:600}.msg-ai hr{border:0;border-top:1px solid var(--page-border);margin:14px 0}.msg-ai>:first-child{margin-top:0}.msg-ai>:last-child{margin-bottom:0}.toc-tabs{display:flex;gap:18px;padding:14px 24px 0;border-bottom:1px solid var(--page-border)}.toc-tab{padding-bottom:10px;font:500 9px/1 var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--page-muted);border-bottom:1px solid transparent;margin-bottom:-1px}.toc-tab:hover{color:var(--page-fg)}.toc-tab.is-on{color:var(--page-fg);border-bottom-color:var(--page-fg)}.toc-scope{padding:14px 24px 4px}.toc-scope .field label{color:var(--page-muted)}.toc-scope .input{background:var(--page-bg);border-color:var(--page-border);color:var(--page-fg);height:38px;font-size:12px}.toc-scope .note{margin-top:8px;color:var(--page-muted);font-size:10px}.toc-tree{padding:4px 12px 14px}.note-list{display:flex;flex-direction:column;padding:8px 24px 16px}.note-card{padding:14px 0;border-bottom:1px solid var(--page-border);text-align:left;width:100%;position:relative}.note-card:hover{color:var(--page-fg)}.note-quote{font-family:var(--font-display);font-size:13.5px;line-height:1.45;color:var(--page-fg);text-wrap:pretty}.note-label{font:400 8px/1.5 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--page-muted);margin-top:7px;padding-right:30px}.note-delete{position:absolute;right:0;bottom:10px;width:26px;height:26px;display:grid;place-items:center;color:var(--page-muted);font-size:15px;line-height:1}.note-delete:hover{color:var(--danger)}.toc-empty{padding:24px;font-size:11.5px;line-height:1.55;color:var(--page-muted)}.form-stack{display:flex;flex-direction:column;gap:16px}.form-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px}.inline-status{font-size:11.5px;line-height:1.5;color:var(--muted);display:flex;align-items:center;gap:7px}.inline-status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}.inline-status[data-state=ok]{color:var(--success)}.inline-status[data-state=error]{color:var(--danger)}.dlg .form-grid{margin-top:18px}.dlg .drop{margin-bottom:0}.dlg .file-line{margin-top:14px}.danger-text{color:var(--danger)}.danger-text:hover{text-decoration:underline;text-underline-offset:4px}.toc-tree-list{padding:2px 0 8px}.toc-entry{display:flex;align-items:stretch;gap:1px;position:relative}.toc-entry-toggle{width:24px;min-height:34px;display:grid;place-items:center;color:var(--page-muted);flex:none}.toc-entry-toggle:hover{color:var(--page-fg)}.toc-entry-toggle svg{width:12px;height:12px}.toc-entry-link{flex:1;min-width:0;display:flex;align-items:center;padding:8px 8px 8px 0;text-align:left;font-size:13px;line-height:1.35;color:var(--page-muted);border-left:2px solid transparent}.toc-entry-link:hover{color:var(--page-fg);background:color-mix(in oklch,var(--page-fg) 5%,transparent)}.toc-entry-link.is-current{color:var(--page-fg);border-left-color:var(--page-fg);background:color-mix(in oklch,var(--page-fg) 5%,transparent)}.toc-label{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.toc-entry-play{width:26px;display:grid;place-items:center;color:var(--page-muted);opacity:0;flex:none}.toc-entry:hover .toc-entry-play,.toc-entry-play:focus-visible{opacity:1}.toc-entry-play:hover{color:var(--page-fg)}.toc-entry-play svg{width:10px;height:10px}.guide-body>.guide-scroll{flex:1;min-height:0}.lib-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:44px}.wordmark{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:15px;letter-spacing:-.01em;color:var(--fg);margin-bottom:20px}.wordmark svg{width:14px;height:14px}.lib-head .eyebrow{margin-bottom:14px}.lib-head .display{margin:0}.now{display:grid;grid-template-columns:190px minmax(0,1fr);gap:52px;align-items:start;padding:38px 0 48px;border-top:1px solid var(--fg);border-bottom:1px solid var(--border)}.now-cover{border:1px solid var(--border);background:var(--surface);padding:10px}.now-cover img{width:100%;height:auto;object-fit:contain}.now h2{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,3.6vw,50px);line-height:1.02;letter-spacing:-.022em;margin:9px 0 7px}.now .byline{font-size:12.5px;color:var(--muted)}.now-progress{max-width:430px;margin-top:22px}.progress-meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;font:500 9.5px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.progress-meta strong{font-weight:500;color:var(--fg)}.track{height:2px;background:var(--border);overflow:hidden}.track>span{display:block;height:100%;background:var(--fg);width:0;transition:width .4s ease}.track>span.accent{background:var(--accent)}.now-actions{display:flex;align-items:center;gap:20px;margin-top:28px;flex-wrap:wrap}.lib-tools{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0;margin:0 0 4px;background:color-mix(in oklch,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.lib-tools-left{display:flex;align-items:center;gap:26px;min-width:0}.lib-tools h2{font-family:var(--font-display);font-weight:400;font-size:25px;letter-spacing:-.01em}.search{display:flex;align-items:center;gap:9px;width:220px;border-bottom:1px solid var(--border);padding:7px 0;transition:border-color .15s ease}.search:focus-within{border-color:var(--fg)}.search svg{width:14px;height:14px;color:var(--muted);flex:none}.search input{width:100%;border:0;background:transparent;outline:0;font-size:12.5px;color:var(--fg)}.search input::placeholder{color:var(--muted)}.book-head,.book-row{display:grid;grid-template-columns:64px minmax(0,1fr) 190px 130px 32px;gap:20px;align-items:center}.book-row-wrap{position:relative}.book-head{padding:12px 0 10px;border-bottom:1px solid var(--fg);font:500 8.5px/1 var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.book-row{width:100%;padding:14px 0;border-bottom:1px solid var(--border);cursor:pointer;position:relative;transition:background .12s ease}.book-row:hover,.book-row-wrap:hover .book-row{background:var(--fg-soft)}.book-thumb{width:40px;height:58px;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;overflow:hidden;flex:none}.book-thumb img{width:100%;height:100%;object-fit:contain}.thumb-fallback{font-family:var(--font-display);font-size:15px;color:var(--muted);line-height:1}.book-info{min-width:0}.book-title{font-family:var(--font-display);font-size:20px;line-height:1.16;letter-spacing:-.008em;overflow-wrap:break-word}.book-author{font-size:12px;color:var(--muted);margin-top:3px;overflow-wrap:break-word}.book-progress .progress-meta{margin-bottom:7px;font-size:8.5px;letter-spacing:.06em}.book-progress .track{height:1px}.book-meta{font:400 9.5px/1.5 var(--font-mono);letter-spacing:.05em;color:var(--muted);text-transform:uppercase}.row-details{position:absolute;top:50%;right:0;z-index:2;width:32px;height:32px;display:grid;place-items:center;color:var(--muted);opacity:.45;transform:translateY(-50%) translate(-3px);transition:opacity .15s ease,transform .15s ease,color .15s ease}.book-row-wrap:hover .row-details,.row-details:focus-visible{opacity:1;transform:translateY(-50%);color:var(--fg)}.row-details:focus-visible{outline:2px solid var(--fg);outline-offset:-4px}.row-details:hover{color:var(--fg)}.row-details svg{width:15px;height:15px}.empty{padding:38px 0 30px;font-family:var(--font-display);font-size:26px;color:var(--muted)}.now-cover .thumb-fallback{font-family:var(--font-display);font-size:34px;line-height:1.1;text-align:center;color:var(--muted);padding:8px}.book-thumb .thumb-fallback{font-family:var(--font-display);font-size:15px;line-height:1;color:var(--muted)}.book-row{text-align:left;font:inherit;color:inherit;width:100%}.book-row:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}.book-title,.book-author{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.book-title{-webkit-line-clamp:2}.book-author{-webkit-line-clamp:1}.lib-tools .search input{font-size:12.5px}.empty-library{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:44px 0 30px;max-width:560px}.empty-library h2{font-family:var(--font-display);font-weight:400;font-size:32px;line-height:1.08;letter-spacing:-.02em}.empty-library p{font-size:13px;line-height:1.6;color:var(--muted);max-width:46ch}.empty-library .drop{width:100%;margin-top:6px}.empty-library .empty-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:2px}.empty-library .form-error,.empty-library .note{margin:0}.link-inline{padding:0;font:inherit;color:var(--fg);text-decoration:underline;text-underline-offset:3px}.link-inline:hover{text-decoration-thickness:2px}.link-inline:disabled{color:var(--muted);text-decoration:none;cursor:default}.now-actions .btn-quiet{gap:7px}.lib-head .btn .arr{transition:transform .15s ease}.lib-head .btn:hover .arr{transform:translate(3px)}.reader-progress{position:fixed;top:0;left:var(--rail);right:0;height:2px;z-index:35;background:var(--page-border)}.reader-progress>span{display:block;height:100%;width:34%;background:var(--page-accent);transition:width .3s ease}body.hide-progress .reader-progress{display:none}.reader-shell{height:100dvh;overflow-y:auto;overflow-x:hidden;background:var(--page-bg);color:var(--page-fg);scroll-behavior:smooth}.reader-bar{position:sticky;top:0;z-index:20;background:color-mix(in oklch,var(--page-bg) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--page-border)}.reader-bar-in{max-width:1240px;margin:0 auto;padding:0 48px;height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;transition:padding-right .2s ease}.reader-book{display:flex;align-items:center;gap:12px;min-width:0}.reader-book>div{min-width:0}.rb-thumb{width:23px;height:33px;border:1px solid var(--page-border);background:var(--surface);overflow:hidden;flex:none;display:grid;place-items:center}.rb-thumb img{width:100%;height:100%;object-fit:contain}.rb-title{font-family:var(--font-display);font-size:14px;line-height:1.1;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.rb-meta{display:flex;align-items:baseline;gap:6px;min-width:0;max-width:100%;overflow:hidden;font:400 8.5px/1.3 var(--font-mono);letter-spacing:.09em;color:var(--page-muted);text-transform:uppercase;margin-top:3px}.rb-chapter{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rb-sep,.rb-percent{flex:none}.reader-tools{display:flex;align-items:center;gap:2px;flex:none}.tool{height:36px;padding:0 9px;display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius);font:500 9.5px/1 var(--font-mono);letter-spacing:.075em;text-transform:uppercase;color:var(--page-muted);white-space:nowrap;transition:color .12s ease,background .12s ease}.tool:hover{color:var(--page-fg);background:color-mix(in oklch,var(--page-fg) 7%,transparent)}.tool.is-on{color:var(--page-fg)}#bookmark.is-on svg path{fill:currentColor}.tool svg{width:15px;height:15px}.tool .aa{font-family:var(--font-display);font-size:15px;letter-spacing:0;text-transform:none;line-height:1}.tool .lbl{display:inline}.tool-sep{width:1px;height:16px;background:var(--page-border);margin:0 5px}.guide-dot{width:5px;height:5px;border-radius:50%;background:var(--page-accent);flex:none}.reader-inner{max-width:1240px;margin:0 auto;padding:64px 48px 120px;display:grid;grid-template-columns:minmax(0,var(--reading-width)) 340px;column-gap:80px;align-items:start}.reading-body{min-width:0;grid-column:1;max-width:var(--reading-width)}.chapter-head{padding-bottom:32px;border-bottom:1px solid var(--page-border);margin-bottom:34px}.chapter-kicker{font:500 9.5px/1.3 var(--font-mono);letter-spacing:.17em;text-transform:uppercase;color:var(--page-muted);margin-bottom:16px}.chapter-title{display:flex;align-items:baseline;gap:18px}.chapter-roman{font-family:var(--font-display);font-size:54px;line-height:.74;letter-spacing:-.02em;color:var(--page-fg)}.chapter-title h1{font-family:var(--font-display);font-weight:400;font-size:30px;line-height:1.1;letter-spacing:-.02em;color:var(--page-fg)}.chapter-byline{font-size:11.5px;color:var(--page-muted);margin-top:10px}.reading-text p{position:relative;margin:0;font-family:var(--reading-font);font-size:var(--reading-size);line-height:var(--reading-leading);letter-spacing:.002em;color:var(--page-fg);text-indent:1.45em;-webkit-hyphens:auto;hyphens:auto;orphans:2;widows:2}.reading-text p.first{text-indent:0}.reading-text p+p{margin-top:0}.dropcap{float:left;font-family:var(--font-display);font-size:4.15em;line-height:.76;letter-spacing:-.03em;padding:.06em .075em 0 0;color:var(--page-fg);font-weight:400}.para-listen{position:absolute;left:-46px;top:.28em;width:28px;height:28px;border:1px solid var(--page-border);display:grid;place-items:center;color:var(--page-muted);background:var(--page-bg);opacity:0;transition:opacity .15s ease,color .15s ease,border-color .15s ease;border-radius:50%}.para-listen svg{width:10px;height:10px;margin-left:1px}.reading-text p:hover .para-listen,.para-listen:focus-visible{opacity:1;color:var(--page-fg);border-color:var(--page-fg)}.reading-text p.is-speaking{background:color-mix(in oklch,var(--page-fg) 4%,transparent)}.reading-body .btn-ink{background:var(--page-fg);border-color:var(--page-fg);color:var(--page-bg)}.reading-body .btn-ink:hover{background:var(--page-fg);border-color:var(--page-fg);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}mark.hl{background:color-mix(in oklch,var(--highlight) 62%,transparent);color:inherit;padding:.04em 0}.chapter-end{margin-top:56px;padding-top:30px;border-top:1px solid var(--page-border)}.chapter-end .eyebrow{color:var(--page-muted);margin-bottom:14px}.chapter-end h2{font-family:var(--font-display);font-weight:400;font-size:32px;line-height:1.12;letter-spacing:-.02em;margin-bottom:10px;max-width:20ch}.chapter-end p{font-size:13.5px;line-height:1.6;color:var(--page-muted);max-width:46ch;margin-bottom:24px}.margin-note{grid-column:2;position:sticky;top:112px;border-left:1px solid var(--page-border);padding-left:24px;padding-top:2px}.mn-progress{font-family:var(--font-display);font-size:38px;line-height:1;letter-spacing:-.03em;color:var(--page-fg)}.mn-progress span{font-size:.5em;color:var(--page-muted);margin-left:2px}.mn-label{font:500 8.5px/1.4 var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--page-muted);margin-top:7px}.mn-rule{height:1px;background:var(--page-border);margin:24px 0}.mn-note{font-size:11.5px;line-height:1.55;color:var(--page-muted);max-width:23ch;margin-bottom:12px}.mn-link{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--page-fg);text-align:left}.mn-link:hover{text-decoration:underline;text-underline-offset:3px}.mn-link span{transition:transform .15s ease}.mn-link:hover span{transform:translate(2px)}body.guide-open .margin-note{opacity:0;pointer-events:none}.reading-text{font-size:var(--reading-size)}.tool-wrap{position:relative}.type-pop{position:absolute;top:calc(100% + 12px);right:0;width:312px;z-index:50;background:var(--page-bg);border:1px solid var(--page-border);box-shadow:var(--shadow-pop);padding:18px;display:none}.type-pop.is-open{display:block;animation:popIn .14s ease both}@keyframes popIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.tp-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.tp-head h3{font-family:var(--font-display);font-weight:400;font-size:20px;letter-spacing:-.01em;color:var(--page-fg)}.tp-reset{font:500 8.5px/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--page-muted)}.tp-reset:hover{color:var(--page-fg);text-decoration:underline}.tp-group+.tp-group{margin-top:15px}.tp-label{font:500 8.5px/1.3 var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--page-muted);margin-bottom:8px;display:flex;justify-content:space-between}.tp-label b{font-weight:500;color:var(--page-fg)}.seg{display:flex;border:1px solid var(--page-border);border-radius:var(--radius);overflow:hidden}.seg button{flex:1;min-height:34px;padding:0 7px;font-size:11px;color:var(--page-muted);border-right:1px solid var(--page-border);transition:background .12s ease,color .12s ease}.seg button:last-child{border-right:0}.seg button:hover{color:var(--page-fg);background:color-mix(in oklch,var(--page-fg) 6%,transparent)}.seg button.is-on{background:var(--page-fg);color:var(--page-bg)}.type-pop input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--page-fg) 0 var(--pct, 40%),var(--page-border) var(--pct, 40%) 100%)}.type-pop input[type=range]::-webkit-slider-thumb{background:var(--page-fg)}.type-pop input[type=range]::-moz-range-thumb{background:var(--page-fg)}.type-pop input[type=range]::-moz-range-progress{background:var(--page-fg)}.tp-themes{display:flex;gap:8px}.theme-dot{flex:1;height:32px;border:1px solid var(--page-border);display:grid;place-items:center;font-family:var(--font-display);font-size:12px;position:relative;transition:outline-color .12s ease}.theme-dot[data-theme-val=paper]{background:var(--paper-bg);color:var(--paper-fg)}.theme-dot[data-theme-val=sepia]{background:var(--sepia-bg);color:var(--sepia-fg)}.theme-dot[data-theme-val=solarized]{background:var(--solar-bg);color:var(--solar-fg)}.theme-dot[data-theme-val=night]{background:var(--night-bg);color:var(--night-fg)}.theme-dot:hover{outline:1px solid var(--page-fg);outline-offset:1px}.reader-page{height:100%;min-height:0;display:flex;flex-direction:column;position:relative;background:var(--page-bg);color:var(--page-fg)}.reader-stage{flex:1;min-height:0;display:flex;justify-content:center;overflow:hidden}.reader-inner{display:grid;grid-template-columns:minmax(0,var(--reading-width)) 340px;column-gap:80px;width:100%;max-width:1240px;height:100%;min-height:0;padding:32px 48px 48px;align-items:start}.reading-body{min-width:0;height:100%;display:flex;justify-content:center}.reading-view{width:100%;max-width:var(--reading-width);height:100%;min-height:0;margin:0 auto;background:var(--page-bg);position:relative}.reader-foliate{width:100%;height:100%;overflow:hidden;background:var(--page-bg);color:var(--page-fg)}.reader-foliate foliate-view{display:block;width:100%;height:100%}.reader-page .margin-note{grid-column:2;align-self:start;padding-top:2px;max-height:100%;overflow:auto}.reader-loading{position:absolute;inset:0;z-index:55;display:flex;align-items:center;justify-content:center;background:color-mix(in oklch,var(--page-bg) 82%,transparent);color:var(--page-fg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.reader-loading-inner{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid var(--page-border);background:var(--page-bg);font:500 9px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--page-muted)}.reader-error{flex:1;display:flex;align-items:center;justify-content:center;padding:48px;background:var(--page-bg);color:var(--page-fg)}.reader-error-inner{max-width:360px;text-align:center}.reader-error-inner h2{font-family:var(--font-display);font-weight:400;font-size:30px;line-height:1.1;margin-bottom:10px}.reader-error-inner p{font-size:13px;line-height:1.6;color:var(--page-muted);margin-bottom:22px}.reader-pager{position:absolute;left:0;right:0;bottom:12px;z-index:25;display:flex;align-items:center;justify-content:center;gap:12px;pointer-events:none;color:var(--page-muted)}.reader-pager button{pointer-events:auto;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--page-border);background:color-mix(in oklch,var(--page-bg) 88%,transparent);color:var(--page-muted);border-radius:50%;transition:color .12s ease,border-color .12s ease,background .12s ease}.reader-pager button:hover{color:var(--page-fg);border-color:var(--page-fg);background:var(--page-bg)}.reader-pager span{pointer-events:none;font:400 8.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:color-mix(in oklch,var(--page-bg) 88%,transparent);padding:6px 8px}.reader-pager svg{width:14px;height:14px}.player-meta{flex:1;min-width:0}.player-actions{display:flex;align-items:center;gap:2px;flex:none}.player-action{width:28px;height:28px;display:grid;place-items:center;color:var(--page-muted);border-radius:50%}.player-action:hover{color:var(--page-fg);background:color-mix(in oklch,var(--page-fg) 7%,transparent)}.player-action:disabled{opacity:.35;cursor:not-allowed}.player-action svg{width:13px;height:13px}.player-error{font-size:10px;line-height:1.35;color:var(--danger);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.player-link{font:500 8px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--page-muted);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.player-link:hover{color:var(--page-fg)}.player .spinner{width:13px;height:13px;border-color:currentColor;border-right-color:transparent}.theme-dot.is-on{outline:2px solid var(--page-fg);outline-offset:1px}.sel-colors{display:flex;align-items:center;gap:6px;padding:3px 5px}.sel-color{width:27px;height:27px;border-radius:50%;border:2px solid color-mix(in oklch,var(--page-bg) 35%,transparent)}.sel-color:hover{transform:scale(1.08)}.sel-bar button:disabled{opacity:.45;cursor:not-allowed}.def-close{position:absolute;top:10px;right:10px;width:28px;height:28px;display:grid;place-items:center;color:var(--page-muted);font-size:18px;line-height:1}.def-close:hover{color:var(--page-fg)}.def-pop{position:fixed}.def-text{font-size:12.5px;line-height:1.55;color:var(--page-fg)}.def-text p{margin:0 0 6px}.def-text p:last-child{margin-bottom:0}.def-text ul,.def-text ol{padding-left:16px;margin:4px 0}.def-text li{font-size:12.5px;line-height:1.5}.def-pop .status{margin:0}.hl-pop .bd-note{margin-top:10px}.hl-note{width:100%;min-height:52px;resize:vertical;border:1px solid var(--page-border);background:var(--page-bg);color:var(--page-fg);padding:7px 8px;font-size:12px;line-height:1.45;outline:0}.hl-note:focus{border-color:var(--page-fg)}.hl-colors{display:flex;align-items:center;gap:7px;margin:10px 0}.hl-color{width:22px;height:22px;border-radius:50%;border:2px solid transparent}.hl-color.is-on{border-color:var(--page-fg)}.hl-color:hover{transform:scale(1.08)}.hl-actions{display:flex;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--page-border);flex-wrap:wrap}.hl-actions button{font:500 9px/1 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--page-fg)}.hl-actions button:hover{text-decoration:underline;text-underline-offset:3px}.hl-actions .danger{color:var(--danger)}.para-play{position:fixed;z-index:20;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--page-fg);color:var(--page-bg);box-shadow:var(--shadow-pop);transition:transform .12s ease,opacity .12s ease}.para-play:hover{transform:scale(1.08)}.para-play svg{width:11px;height:11px;margin-left:1px}.def-saved{font:500 9px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--success)}@media(min-width:1321px){body.guide-open .reader-bar-in{padding-right:468px}}.reader-page .margin-note .mn-link{display:flex;width:max-content;max-width:100%;margin-top:10px}.vocab-head .lead{max-width:33ch}.vocab-tools{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 0;border-top:1px solid var(--fg);border-bottom:1px solid var(--border);background:color-mix(in oklch,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.vocab-layout{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:64px;align-items:start;margin-top:10px}.letter-head{display:grid;grid-template-columns:172px 1fr;gap:22px;align-items:baseline;padding:26px 0 8px;border-bottom:1px solid var(--fg)}.letter-head span{font-family:var(--font-display);font-size:28px;line-height:1;letter-spacing:-.02em}.word-row{display:grid;grid-template-columns:172px minmax(0,1fr) 84px;gap:22px;align-items:start;padding:18px 0;border-bottom:1px solid var(--border);transition:background .12s ease}.word-row:hover{background:var(--fg-soft)}.word-head h3{font-family:var(--font-display);font-weight:400;font-size:25px;line-height:1.08;letter-spacing:-.012em;overflow-wrap:anywhere}.word-pos{font:500 8.5px/1.3 var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-top:5px;display:flex;align-items:center;gap:7px}.known-dot{width:4px;height:4px;border-radius:50%;background:var(--success)}.word-def{font-size:13.5px;line-height:1.58;color:var(--fg);max-width:58ch}.word-source{font:400 8.5px/1.5 var(--font-mono);letter-spacing:.05em;color:var(--muted);text-transform:uppercase;margin-top:8px}.word-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;padding-top:2px}.know-btn{font:500 8.5px/1 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.know-btn:hover{color:var(--fg);text-decoration:underline;text-underline-offset:3px}.know-btn.is-known{color:var(--fg)}.remove-btn{width:24px;height:24px;display:grid;place-items:center;color:var(--muted);opacity:0;transition:opacity .12s ease,color .12s ease;font-size:15px;line-height:1}.word-row:hover .remove-btn,.remove-btn:focus-visible{opacity:1}.remove-btn:hover{color:var(--danger)}.practice{position:sticky;top:74px;border:1px solid var(--border);background:var(--surface);padding:26px}.practice-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:24px}.practice-top .meta{font-size:8.5px;text-transform:uppercase;letter-spacing:.08em}.practice h2{font-family:var(--font-display);font-weight:400;font-size:38px;line-height:1;letter-spacing:-.025em;word-break:break-word}.practice .word-pos{margin-top:8px}.practice-def{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);font-size:13px;line-height:1.58;color:var(--fg);min-height:72px}.practice-hidden{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);font-size:12px;line-height:1.5;color:var(--muted);min-height:72px}.practice-track{height:1px;background:var(--border);margin-top:24px}.practice-track span{display:block;height:100%;width:0;background:var(--fg);transition:width .25s ease}.practice-actions{margin-top:20px;display:flex;flex-direction:column;gap:8px}.practice-actions .btn{width:100%}.practice-rate{display:flex;gap:8px;width:100%}.practice-rate .btn{flex:1}.practice-note{font-size:10px;line-height:1.5;color:var(--muted);margin-top:14px}.practice-done h2{font-size:32px;letter-spacing:-.02em}.empty-words{padding:36px 0;font-family:var(--font-display);font-size:24px;color:var(--muted)}.word-def p{margin:0 0 5px}.word-def p:last-child{margin-bottom:0}.word-def ul,.word-def ol{padding-left:16px;margin:4px 0}.word-def li{font-size:13.5px;line-height:1.55}.word-def code{font-family:var(--font-mono);font-size:11.5px;background:color-mix(in oklch,var(--fg) 7%,transparent);padding:1px 4px}.word-source{text-transform:none;letter-spacing:.02em;font-size:9px}.practice-def p{margin:0 0 5px}.practice-def p:last-child{margin-bottom:0}.word-row .know-btn{background:none;border:0}.word-row .know-btn.is-known{color:var(--fg)}.word-row .remove-btn{background:none;border:0}.practice-empty h2{font-size:32px}.practice-empty .practice-hidden{min-height:0}.word-row .word-head{min-width:0}.word-row .word-def{overflow-wrap:anywhere}.settings-shell{display:grid;grid-template-columns:214px minmax(0,1fr);gap:62px;align-items:start}.settings-nav{border-top:1px solid var(--fg)}.set-nav-item{width:100%;display:flex;align-items:baseline;gap:13px;padding:15px 0;border-bottom:1px solid var(--border);text-align:left;font-size:13.5px;color:var(--muted);position:relative;transition:color .12s ease}.set-nav-item .idx{font:500 8.5px/1 var(--font-mono);letter-spacing:.08em;color:var(--muted)}.set-nav-item:hover,.set-nav-item.is-active{color:var(--fg)}.set-nav-item.is-active:before{content:"";position:absolute;left:-14px;top:12px;bottom:12px;width:2px;background:var(--fg)}.set-panel{display:none}.set-panel.is-active{display:block;animation:screenIn .2s ease both}.set-head{margin-bottom:30px}.set-head h2{font-family:var(--font-display);font-weight:400;font-size:31px;line-height:1.08;letter-spacing:-.02em;margin-bottom:7px}.set-head p{font-size:13px;line-height:1.55;color:var(--muted);max-width:54ch}.set-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:52px;align-items:start}.control+.control{margin-top:23px}.control-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font:500 9px/1.3 var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.control-label b{font-weight:500;color:var(--fg);letter-spacing:.03em}.preset-block{margin-bottom:26px}.preset-block .note{margin-top:10px}.preset-block .note a{color:var(--fg);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.settings-shell .seg{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.settings-shell .seg button{flex:1;min-height:36px;padding:0 7px;font-size:11px;color:var(--muted);border-right:1px solid var(--border);transition:background .12s ease,color .12s ease}.settings-shell .seg button:last-child{border-right:0}.settings-shell .seg button:hover{color:var(--fg);background:var(--fg-soft)}.settings-shell .seg button.is-on{background:var(--fg);color:var(--bg)}.range-scale{display:flex;justify-content:space-between;font:400 8px/1 var(--font-mono);letter-spacing:.05em;color:var(--muted);margin-top:6px}input[type=range]{width:100%;height:20px;margin:0;background:transparent;appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:1px;background:linear-gradient(to right,var(--accent) 0 var(--pct, 40%),var(--border) var(--pct, 40%) 100%)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);margin-top:-5.5px;border:0}input[type=range]::-moz-range-track{height:1px;background:var(--border)}input[type=range]::-moz-range-progress{height:1px;background:var(--accent)}input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--accent)}.note{font-size:11.5px;line-height:1.55;color:var(--muted);margin-top:18px;max-width:42ch}.specimen{border:1px solid var(--page-border);background:var(--page-bg);color:var(--page-fg);padding:36px 38px;min-height:400px;position:relative;overflow:hidden}.sp-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:26px;font:500 8px/1 var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--page-muted)}.sp-first{font-family:var(--reading-font);font-size:var(--reading-size);line-height:var(--reading-leading);color:var(--page-fg);max-width:var(--reading-width);text-wrap:pretty}.sp-first .sp-drop{float:left;font-family:var(--font-display);font-size:3.6em;line-height:.8;padding:.06em .08em 0 0}.sp-next{font-family:var(--reading-font);font-size:var(--reading-size);line-height:var(--reading-leading);color:var(--page-fg);max-width:var(--reading-width);text-indent:1.4em;margin-top:.4em;text-wrap:pretty}.specimen .sp-first,.specimen .sp-next{max-width:calc(var(--reading-width) * .68)}.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.theme-card{text-align:left;border:1px solid var(--border);padding:7px;background:var(--surface);transition:border-color .12s ease}.theme-card:hover{border-color:var(--fg)}.theme-swatch{height:104px;border:1px solid var(--border);padding:11px 10px;display:flex;flex-direction:column;justify-content:space-between}.theme-swatch .ts-aa{font-family:var(--font-display);font-size:19px;line-height:1}.theme-swatch .ts-lines{display:flex;flex-direction:column;gap:4px}.theme-swatch .ts-lines i{display:block;height:1px;background:currentColor;opacity:.5}.theme-swatch .ts-lines i:nth-child(2){width:78%}.theme-swatch .ts-lines i:nth-child(3){width:56%}.theme-swatch[data-swatch=paper]{background:var(--paper-bg);color:var(--paper-fg);border-color:var(--paper-border)}.theme-swatch[data-swatch=sepia]{background:var(--sepia-bg);color:var(--sepia-fg);border-color:var(--sepia-border)}.theme-swatch[data-swatch=solarized]{background:var(--solar-bg);color:var(--solar-fg);border-color:var(--solar-border)}.theme-swatch[data-swatch=night]{background:var(--night-bg);color:var(--night-fg);border-color:var(--night-border)}.theme-name{display:block;font-size:11.5px;color:var(--fg);margin-top:9px;line-height:1.3}.theme-name small{display:block;font:400 8px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:2px}.theme-card.is-on{outline:2px solid var(--fg);outline-offset:1px}.setting-list{margin-top:26px;border-top:1px solid var(--border)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 0;border-bottom:1px solid var(--border)}.toggle-title{font-size:13px;line-height:1.4;color:var(--fg)}.toggle-sub{font-size:11px;line-height:1.5;color:var(--muted);margin-top:2px;max-width:44ch}.switch{width:38px;height:22px;border:1px solid var(--border);border-radius:999px;background:var(--bg);position:relative;flex:none;transition:background .15s ease,border-color .15s ease}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .16s ease,background .16s ease}.switch[aria-checked=true]{background:var(--fg);border-color:var(--fg)}.switch[aria-checked=true]:after{transform:translate(16px);background:var(--bg)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.span-2{grid-column:1/-1}.field label{font:500 8.5px/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.input{width:100%;height:44px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);font-size:13px;outline:0;transition:border-color .15s ease}.input:focus{border-color:var(--fg)}.input::placeholder{color:var(--muted)}select.input{appearance:auto;-webkit-appearance:auto;cursor:pointer;padding-right:8px}.key-wrap{position:relative}.key-wrap .input{padding-right:60px}.key-reveal{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:500 8.5px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.key-reveal:hover{color:var(--fg);text-decoration:underline}.status-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}.status{font-size:11.5px;line-height:1.5;color:var(--muted);display:flex;align-items:center;gap:7px}.status:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--muted);flex:none}.status[data-state=ok]{color:var(--success)}.status[data-state=ok]:before{background:var(--success)}.status[data-state=error]{color:var(--danger)}.status[data-state=error]:before{background:var(--danger)}.row-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px}.data-block{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;padding:22px 0;border-top:1px solid var(--border)}.data-block h3{font-family:var(--font-display);font-weight:400;font-size:20px;line-height:1.2;margin-bottom:4px}.data-block p{font-size:12px;line-height:1.55;color:var(--muted);max-width:44ch}.data-stat{font:500 9px/1.5 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.data-stat b{font-weight:500;color:var(--fg)}.settings-shell{scroll-margin-top:10px}.set-panel{animation:screenIn .2s ease both}.set-head .note{margin-top:14px}.set-grid .control:first-child{margin-top:0}.settings-shell .field .input{background:var(--surface)}.settings-shell .data-block:first-of-type{border-top:1px solid var(--border)}.settings-shell .status-row .status,.settings-shell .inline-status{margin:0}.settings-nav .set-nav-item{cursor:pointer}.theme-card{background:var(--surface)}.theme-card:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.voice-test-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}.voice-test-row .inline-status{margin:0}.cloud-status{margin-top:18px}.settings-shell .btn .spinner{width:14px;height:14px}.model-config{margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}.model-config .control-label{margin-bottom:6px}.model-config .status{margin:0}@media(max-width:1260px){.reader-inner{display:block;max-width:760px;padding:56px 48px 110px}.reader-bar-in{max-width:760px;padding:0 48px}.margin-note{display:none}.guide{box-shadow:0 0 80px color-mix(in oklch,var(--fg) 20%,transparent)}.settings-shell{gap:44px}.vocab-layout{gap:40px}}@media(max-width:1080px){.page{padding:44px 40px 72px}.book-head,.book-row{grid-template-columns:58px minmax(0,1fr) 150px 96px 32px;gap:16px}.settings-shell{grid-template-columns:190px minmax(0,1fr);gap:36px}.vocab-layout{grid-template-columns:minmax(0,1fr) 286px;gap:32px}.letter-head,.word-row{grid-template-columns:140px minmax(0,1fr) 76px;gap:18px}.set-grid{grid-template-columns:230px minmax(0,1fr);gap:34px}}@media(max-width:920px){.page{padding:38px 30px 68px}.page-head{display:block;margin-bottom:36px}.page-head .lead{margin-top:16px;max-width:52ch}.lib-head{display:block;margin-bottom:34px}.lib-head .btn{margin-top:20px}.now{grid-template-columns:150px minmax(0,1fr);gap:32px}.lib-tools{flex-wrap:wrap;gap:14px}.lib-tools-left{flex-wrap:wrap;gap:14px;width:100%}.search{width:100%}.book-head{display:none}.book-row{grid-template-columns:48px minmax(0,1fr) 120px 32px;gap:14px}.book-meta{display:none}.book-thumb{width:36px;height:52px}.vocab-layout{grid-template-columns:1fr}.practice{position:static;order:-1}.vocab-tools{flex-wrap:wrap;gap:14px}.vocab-tools .search{width:100%}.settings-shell{grid-template-columns:1fr;gap:28px}.settings-nav{display:flex;overflow-x:auto;border-top:1px solid var(--fg);scrollbar-width:none}.settings-nav::-webkit-scrollbar{display:none}.set-nav-item{width:auto;flex:none;padding:13px 18px 13px 0;border-bottom:0;border-right:1px solid var(--border);font-size:12.5px;gap:8px}.set-nav-item.is-active:before{inset:auto 0 0;width:auto;height:2px}.set-grid{grid-template-columns:1fr}.specimen{min-height:300px;padding:28px}.theme-grid{grid-template-columns:repeat(2,1fr)}.data-block{display:block}.data-stat{margin-top:10px}}@media(max-width:760px){:root{--rail: 0px}.rail{inset:auto 0 0;width:auto;height:62px;flex-direction:row;border-right:0;border-top:1px solid var(--border);z-index:50;background:var(--bg)}body.is-reading .rail{background:var(--page-bg);border-top-color:var(--page-border);border-bottom:0}.rail-mark,.rail-foot{display:none}.rail-nav{margin:0;flex-direction:row;flex:1;height:100%;gap:0}.rail-item{height:100%;flex:1;gap:4px}.rail-item span{font-size:8px}.rail-item.is-active:before{inset:0 22% auto;width:auto;height:2px}body.is-reading .rail-item.is-active:before{background:var(--page-fg)}.screen{margin-left:0;height:calc(100dvh - 62px)}.reader-screen{height:calc(100dvh - 62px)}.reader-shell{height:100%}.reader-progress{left:0;bottom:62px;top:auto}.page{padding:30px 22px 54px}.display{font-size:clamp(36px,9vw,46px)}.lib-head .eyebrow{margin-bottom:10px}.now{grid-template-columns:104px minmax(0,1fr);gap:20px;padding:26px 0 32px}.now-cover{padding:6px}.now h2{font-size:30px}.now .byline{font-size:11px}.now-actions{gap:12px;margin-top:20px}.now-actions .btn{min-height:42px;padding:0 14px;font-size:12px}.progress-meta{font-size:8.5px}.lib-tools h2{font-size:22px}.book-row{grid-template-columns:42px minmax(0,1fr) 88px 32px;padding:12px 0;gap:12px}.row-details{opacity:1;transform:translateY(-50%)}.book-title{font-size:17px}.book-author{font-size:11px}.book-progress .progress-meta{font-size:7.5px}.reader-progress{top:auto}.reader-bar-in{padding:0 14px;height:54px;gap:10px}.rb-thumb{display:none}.rb-title{font-size:12.5px;max-width:112px}.rb-meta{font-size:7.5px}.reader-tools{gap:0}.tool{padding:0 7px;height:34px;font-size:8.5px;gap:5px}.tool .lbl{display:none}.tool[data-open-guide] .guide-dot{width:13px;height:13px;background:transparent;border:2px solid var(--page-accent)}.tool[data-open-guide].is-on .guide-dot{background:var(--page-accent)}.tool-sep{display:none}.tool .aa{font-size:14px}.reader-inner{padding:38px 22px 100px;max-width:100%}.chapter-roman{font-size:42px}.chapter-title h1{font-size:24px}.chapter-head{padding-bottom:24px;margin-bottom:26px}.reading-text p{font-size:var(--reading-size);line-height:var(--reading-leading);text-indent:1.3em}.dropcap{font-size:3.8em}.para-listen,.para-play{display:none}.chapter-end h2{font-size:26px}.guide{width:100%;border-left:0;box-shadow:none;bottom:62px}.guide-head{padding:18px 20px 0}.guide-head h2{font-size:22px}.guide-tabs{margin:16px 20px 0}.guide-scroll,.ask-stream{padding-left:20px;padding-right:20px}.ask-compose{padding:12px 20px 16px}.toc{left:0;width:min(88vw,340px);bottom:62px}.toc-head{padding:18px 20px 14px}.vocab-head .lead{max-width:100%}.vocab-tools{position:static;padding:14px 0}.letter-head{grid-template-columns:1fr;gap:0;padding:22px 0 6px}.word-row{grid-template-columns:1fr;gap:10px;padding:16px 0}.word-head h3{font-size:23px}.word-actions{grid-column:1;grid-row:auto;flex-direction:row;align-items:center;justify-content:flex-start;gap:20px;padding-top:2px}.remove-btn{opacity:1}.practice{padding:22px}.practice h2{font-size:34px}.set-head h2{font-size:27px}.form-grid{grid-template-columns:1fr}.field.span-2{grid-column:auto}.theme-grid{grid-template-columns:repeat(2,1fr);gap:8px}.theme-swatch{height:90px}.dlg-head,.dlg-body,.dlg-foot{padding-left:20px;padding-right:20px}.bd-book{grid-template-columns:92px minmax(0,1fr);gap:16px}.bd-cover{width:92px}.player{left:14px;right:14px;bottom:76px;width:auto}.toast{bottom:76px;width:calc(100vw - 28px);justify-content:space-between}.sel-bar{max-width:calc(100vw - 16px)}.sel-bar button{padding:0 8px;font-size:9px}.def-pop{width:calc(100vw - 28px)}}@media(max-width:760px){.lib-tools{position:static}.chip{height:44px;padding:0 14px}.search,.now-actions .btn{min-height:44px}.reader-tools{margin-left:auto}.reader-tools .tool{height:44px;min-width:44px;padding:0;justify-content:center}.reader-tools .tool[data-open-guide]{min-width:58px;padding:0 7px}.type-pop .seg button{min-height:44px}.theme-dot{height:44px}.type-pop{position:fixed;left:14px;right:14px;top:62px;width:auto;max-height:calc(100dvh - 150px);overflow-y:auto}.settings-shell .seg button{min-height:44px}input[type=range]{height:44px}.switch:before{content:"";position:absolute;inset:-11px -3px}.guide-tab{min-height:48px}.composer button{width:44px;height:44px}.composer textarea{min-height:44px}.know-btn{min-height:44px;display:flex;align-items:center}.remove-btn{width:32px;height:32px}.icon-close{width:44px;height:44px}.key-reveal{height:44px;display:flex;align-items:center}.sel-bar button{height:38px}.player-toggle{width:38px;height:38px}.player-stop{width:36px;height:36px}}@media(max-width:360px){.reader-book{display:none}}@media(max-width:420px){.now{grid-template-columns:84px minmax(0,1fr)}.book-row{grid-template-columns:36px minmax(0,1fr) 76px 32px}.book-thumb{width:32px;height:46px}}@media(max-width:1260px){.reader-inner{display:flex;align-items:stretch;justify-content:center;max-width:760px;height:100%;padding:28px 40px 44px}.reader-inner .reading-body{flex:1;height:100%}.reader-page .margin-note{display:none}}@media(max-width:760px){.reader-inner{padding:18px 18px 34px;max-width:100%;height:100%}.reader-bar-in{height:54px}.reader-pager{bottom:4px}.reader-pager button{width:32px;height:32px}.reader-pager span{font-size:8px;padding:5px 7px}.reader-loading-inner{padding:11px 14px;font-size:8px}.empty-library h2{font-size:27px}.empty-library{padding:30px 0 22px}.settings-shell .specimen{padding:22px}.settings-shell .theme-grid{gap:8px}.settings-shell .set-head{margin-bottom:24px}.voice-test-row{gap:10px}.note-list,.toc-tabs,.toc-scope{padding-left:20px;padding-right:20px}.toast{font-size:11px;padding:9px 12px}}@media(prefers-reduced-motion:reduce){.guide,.toc{transition:none}}body.reduce-motion .guide,body.reduce-motion .toc{transition:none}@media(min-width:1024px)and (orientation:landscape){.reader-bar-in{max-width:1240px}.reader-inner{display:grid;grid-template-columns:minmax(0,1fr);column-gap:0;max-width:1440px;height:100%;padding:32px 48px 48px}.reader-inner .reading-body{height:100%;width:100%;max-width:none}.reading-view{max-width:calc(var(--reading-width) * 2 + 96px)}.reader-page .margin-note{display:none}}
