:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-ink);background:var(--color-paper);--color-paper:#f7f5ef;--color-paper-raised:#fffdfa;--color-ink:#20201c;--color-ink-muted:#6c6a61;--color-rule:#d8d4c8;--color-annotation-yellow:#f2cf5b;--color-annotation-red:#df6a62;--color-annotation-green:#78a57b;--color-ai-accent:#326c9b;--color-danger:#a33f37;--color-danger-soft:#f7e8e5;--color-focus:#1d5f91;--color-overlay:#20201c75;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}html{background:var(--color-paper);min-width:320px;min-height:100%}body{min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}button:not(:disabled){cursor:pointer}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{min-height:100vh;padding:var(--space-6);place-items:center;display:grid}.loading-shell{border-top:1px solid var(--color-ink);border-bottom:1px solid var(--color-rule);width:min(100%,560px);padding:var(--space-12) 0}.loading-shell__mark{width:44px;height:44px;margin-bottom:var(--space-8);color:var(--color-ai-accent);border:1px solid var(--color-rule);border-radius:var(--radius-md);place-items:center;display:grid}.loading-shell__eyebrow{margin:0 0 var(--space-3);color:var(--color-ai-accent);letter-spacing:0;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;font-weight:600}.loading-shell h1{letter-spacing:0;max-width:12em;margin:0;font-size:2.25rem;font-weight:500;line-height:1.18}.loading-shell__status{align-items:center;gap:var(--space-2);margin:var(--space-6) 0 0;color:var(--color-ink-muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.875rem;line-height:1.5;display:flex}.loading-shell__spinner{flex:none;animation:1.2s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (width<=480px){.app-shell{padding:var(--space-8) var(--space-4);place-items:start center}.loading-shell{padding:var(--space-8) 0}.loading-shell h1{font-size:1.875rem}}@media (prefers-reduced-motion:reduce){.loading-shell__spinner{animation:none}}.auth-screen,.library-screen,.modal{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.auth-screen{background:var(--color-paper);grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);min-height:100vh;display:grid}.auth-screen__brand{min-height:100%;color:var(--color-paper-raised);background:#242823;border-right:1px solid #171a17;flex-direction:column;justify-content:flex-end;padding:clamp(40px,7vw,104px);display:flex}.auth-screen__brand svg{margin-bottom:var(--space-8);color:var(--color-annotation-yellow)}.auth-screen__brand p{margin:0 0 var(--space-3);color:#b8c2b4;letter-spacing:.12em;font-size:.75rem;font-weight:700}.auth-screen__brand h1{letter-spacing:0;max-width:10ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,5vw,4.75rem);font-weight:500;line-height:.98}.auth-panel{width:min(100% - 48px,440px);padding:var(--space-12) 0;border-top:2px solid var(--color-ink);margin:auto}.auth-panel header{margin-bottom:var(--space-8)}.section-kicker{margin:0 0 var(--space-2);color:var(--color-ai-accent);letter-spacing:.08em;font-size:.75rem;font-weight:700}.auth-panel h2{letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.875rem;font-weight:500}.auth-panel form,.modal form{gap:var(--space-3);display:grid}.auth-panel label,.modal label,.modal legend{color:var(--color-ink-muted);font-size:.8125rem;font-weight:600}.auth-panel input,.modal input[type=text],.modal input:not([type]){width:100%;min-height:44px;color:var(--color-ink);background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:10px 12px}.auth-panel input:focus,.modal input[type=text]:focus,.modal input:not([type]):focus{border-color:var(--color-ai-accent)}.auth-panel .primary-command{width:100%;margin-top:var(--space-3);justify-content:center}.primary-command,.secondary-command,.destructive-command{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);letter-spacing:0;min-height:40px;padding:8px 14px;font-size:.875rem;font-weight:650;display:inline-flex}.primary-command{color:#fff;background:#285f88;border:1px solid #285f88}.primary-command:hover:not(:disabled){background:#1f5075}.secondary-command{color:var(--color-ink);border:1px solid var(--color-rule);background:0 0}.destructive-command{color:#fff;background:var(--color-danger);border:1px solid var(--color-danger)}.primary-command:disabled,.destructive-command:disabled{cursor:not-allowed;opacity:.58}.icon-button{border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;flex:0 0 38px;place-items:center;width:38px;height:38px;padding:0;display:inline-grid}.icon-button:hover{border-color:var(--color-rule);background:#20201c0f}.form-error{margin:var(--space-1) 0;color:var(--color-danger);font-size:.8125rem;line-height:1.5}.library-screen{background:var(--color-paper);min-height:100vh}.library-header{border-bottom:1px solid var(--color-rule);background:#fffdfaeb;justify-content:space-between;align-items:center;min-height:64px;padding:0 clamp(20px,4vw,64px);display:flex}.library-header__brand,.library-header__commands{align-items:center;display:flex}.library-header__brand{gap:var(--space-3);font-family:Georgia,Times New Roman,serif;font-size:1.125rem;font-weight:600}.library-header__brand svg{color:var(--color-ai-accent)}.library-header__commands{gap:var(--space-2)}.library-content{width:min(100% - 40px,1120px);margin:0 auto;padding:clamp(40px,7vw,88px) 0 80px}.library-content__heading{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-ink);justify-content:space-between;align-items:end;margin-bottom:clamp(32px,5vw,64px);display:flex}.library-content__heading h1{letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:2.25rem;font-weight:500}.library-content__heading>p,.book-item__meta,.library-status{color:var(--color-ink-muted);font-size:.8125rem}.library-content__heading>p{margin:0 0 var(--space-1)}.book-shelf{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:clamp(24px,4vw,48px) clamp(18px,3vw,36px);display:grid}.book-item{min-width:0;position:relative}.book-item__open{text-align:left;background:0 0;border:0;width:100%;min-width:0;padding:0;display:grid}.book-cover{aspect-ratio:3/4;color:#ffffffd1;border-radius:var(--radius-sm) var(--radius-md) var(--radius-md) var(--radius-sm);border:1px solid #20201c2e;align-items:flex-end;width:100%;padding:14px;transition:transform .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 22px #20201c1a}.book-cover:before{content:"";background:#ffffff40;width:1px;position:absolute;inset:0 auto 0 10px}.book-cover span{letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.6875rem;font-weight:700}.book-cover--ink{background:#343834}.book-cover--blue{background:#416778}.book-cover--green{background:#4c6b56}.book-cover--red{background:#8a4c47}.book-cover--yellow{color:#3c321d;background:#c9a651}.book-item__open:hover .book-cover{transform:translateY(-3px);box-shadow:0 14px 28px #20201c29}.book-item__title,.book-item__meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-item__title{margin-top:var(--space-3);padding-right:32px;font-size:.9375rem;font-weight:650}.book-item__meta{margin-top:var(--space-1)}.book-item__menu{z-index:3;position:absolute;bottom:24px;right:-7px}.command-menu{width:132px;padding:var(--space-1);background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:var(--radius-sm);display:grid;position:absolute;top:42px;right:0;box-shadow:0 12px 28px #20201c29}.command-menu button{align-items:center;gap:var(--space-2);text-align:left;border-radius:var(--radius-sm);background:0 0;border:0;min-height:36px;padding:7px 9px;font-size:.8125rem;display:flex}.command-menu button:hover{background:#20201c0f}.command-menu .danger-command{color:var(--color-danger)}.empty-library{min-height:280px;color:var(--color-ink-muted);border-bottom:1px solid var(--color-rule);place-content:center;justify-items:center;display:grid}.empty-library h2{margin:var(--space-4) 0 0;color:var(--color-ink);font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:500}.inline-error{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);color:var(--color-danger);background:var(--color-danger-soft);border-left:3px solid var(--color-danger);display:flex}.inline-error p{margin:0;font-size:.875rem}.modal-backdrop{z-index:20;padding:var(--space-4);background:var(--color-overlay);place-items:center;display:grid;position:fixed;inset:0}.modal{width:min(100%,440px);max-height:calc(100vh - 32px);padding:var(--space-6);background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:var(--radius-md);overflow:auto;box-shadow:0 20px 60px #20201c3d}.modal__header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.modal h2{overflow-wrap:anywhere;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.375rem;font-weight:500}.modal__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);display:flex}.color-picker{min-width:0;margin:var(--space-2) 0 0;border:0;padding:0}.color-picker>div{gap:var(--space-2);margin-top:var(--space-2);display:flex}.color-picker__option{place-items:center;width:34px;height:34px;display:inline-grid;position:relative}.color-picker__option input{opacity:0;width:1px;height:1px;position:absolute}.cover-swatch{border:1px solid #20201c3d;border-radius:50%;width:26px;height:26px;display:block}.color-picker__option input:checked+.cover-swatch{outline:2px solid var(--color-ai-accent);outline-offset:3px}.cover-swatch--ink{background:#343834}.cover-swatch--blue{background:#416778}.cover-swatch--green{background:#4c6b56}.cover-swatch--red{background:#8a4c47}.cover-swatch--yellow{background:#c9a651}.destructive-copy{color:var(--color-ink-muted);margin:0;font-size:.875rem;line-height:1.7}@media (width<=720px){.auth-screen{grid-template-columns:1fr}.auth-screen__brand{min-height:220px;padding:var(--space-8) var(--space-6);border-bottom:1px solid #171a17;border-right:0;justify-content:flex-end}.auth-screen__brand svg{margin-bottom:var(--space-4)}.auth-screen__brand h1{max-width:none;font-size:2.5rem;line-height:1}.auth-panel{width:min(100% - 40px,440px);margin:var(--space-8) auto;padding:var(--space-8) 0}.library-header{min-height:58px;padding:0 var(--space-4)}.library-header__brand span{display:none}.library-header__commands .primary-command{width:38px;min-height:38px;padding:0;font-size:0}.library-header__commands .primary-command svg{width:18px;height:18px}.library-content{width:min(100% - 32px,1120px);padding-top:var(--space-8)}.library-content__heading{margin-bottom:var(--space-8)}.library-content__heading h1{font-size:1.75rem}.book-shelf{gap:var(--space-8) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.modal{padding:var(--space-5,20px)}}.chapter-screen{background:var(--color-paper);min-height:100vh;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.chapter-header{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--color-rule);background:#fffdfaeb;min-height:64px;padding:0 clamp(20px,4vw,64px);display:flex}.chapter-header__identity{align-items:center;gap:var(--space-3);min-width:0;display:flex}.chapter-header__identity>svg{color:var(--color-ai-accent);flex:none}.chapter-header__identity>span{text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:1.0625rem;font-weight:600;overflow:hidden}.chapter-upload{flex:none;position:relative}.chapter-upload .primary-command{cursor:pointer}.chapter-upload .is-disabled{cursor:wait;opacity:.62}.chapter-upload__error{background:var(--color-danger-soft);border-radius:var(--radius-sm);border:1px solid #a33f3747;width:max-content;max-width:min(320px,100vw - 32px);margin:0;padding:8px 10px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 18px #20201c1a}.chapter-content{width:min(100% - 40px,960px);margin:0 auto;padding:clamp(40px,7vw,88px) 0 80px}.chapter-content__heading{margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-ink);justify-content:space-between;align-items:end;display:flex}.chapter-content__heading h1{letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.chapter-content__heading>p{margin:0 0 var(--space-1);color:var(--color-ink-muted);font-size:.8125rem}.chapter-error{margin:0 0 var(--space-4);color:var(--color-danger);background:var(--color-danger-soft);border-left:3px solid var(--color-danger);padding:10px 12px;font-size:.8125rem}.chapter-list{border-top:1px solid var(--color-rule);margin:0;padding:0;list-style:none;display:grid}.chapter-row{background:var(--color-paper);border-bottom:1px solid var(--color-rule);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;min-width:0;min-height:76px;display:grid;position:relative}.chapter-row:focus-within{z-index:1}.chapter-row__handle{width:36px;height:42px;color:var(--color-ink-muted);border-radius:var(--radius-sm);touch-action:none;background:0 0;border:0;place-items:center;padding:0;display:grid}.chapter-row__handle:hover:not(:disabled){color:var(--color-ink);background:#20201c0d}.chapter-row__open{text-align:left;background:0 0;border:0;grid-template-columns:44px minmax(0,1fr);align-items:center;min-width:0;height:100%;padding:10px 12px 10px 0;display:grid}.chapter-row__open>span:first-child{color:var(--color-ai-accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.6875rem}.chapter-row__open>span:last-child{min-width:0}.chapter-row h3,.chapter-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chapter-row h3{letter-spacing:0;margin:0;font-size:.9375rem;font-weight:650}.chapter-row small{margin-top:var(--space-1);color:var(--color-ink-muted);font-size:.75rem;display:block}.chapter-row__commands{align-items:center;gap:2px;display:flex}.chapter-row__commands .icon-button{flex-basis:34px;width:34px;height:34px}.chapter-row__commands .danger-icon{color:var(--color-danger)}.chapter-row__commands button:disabled,.chapter-row__handle:disabled{cursor:not-allowed;opacity:.28}@media (width<=640px){.chapter-header{min-height:58px;padding:0 var(--space-3)}.chapter-header__identity{gap:var(--space-2)}.chapter-header__identity>svg{display:none}.chapter-header__identity>span{max-width:42vw;font-size:.9375rem}.chapter-upload .primary-command{width:38px;min-height:38px;padding:0;font-size:0}.chapter-upload .primary-command svg{width:18px;height:18px}.chapter-content{width:min(100% - 24px,960px);padding-top:var(--space-8)}.chapter-content__heading h1{font-size:1.625rem}.chapter-row{grid-template-columns:32px minmax(0,1fr) auto}.chapter-row__open{grid-template-columns:30px minmax(0,1fr)}.chapter-row__commands .icon-button:nth-child(-n+2){display:none}}.reader-screen{background:var(--color-paper);height:100dvh;color:var(--color-ink);--reader-font-scale:1;--reader-line-height:1.8;--reader-content-width:720px;overflow:hidden}.reader-screen>.reader-shell{height:calc(100dvh - 58px)}.reader-screen[data-theme=dark]{--color-paper:#1f211f;--color-paper-raised:#292b28;--color-ink:#efeee8;--color-ink-muted:#aaa9a1;--color-rule:#43453f}@media (prefers-color-scheme:dark){.reader-screen[data-theme=system]{--color-paper:#1f211f;--color-paper-raised:#292b28;--color-ink:#efeee8;--color-ink-muted:#aaa9a1;--color-rule:#43453f}}.reader-workspace{height:calc(100dvh - 58px);display:flex}.reader-header{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-rule);background:#f7f5eff0;grid-template-columns:40px minmax(0,1fr) auto;height:58px;padding:0 clamp(14px,3vw,40px);display:grid}.reader-header__title{text-align:center;min-width:0}.reader-header__actions{align-items:center;gap:2px;display:flex}.reader-header__title small,.reader-header__title strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.reader-header__title small{color:var(--color-ink-muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.6875rem}.reader-header__title strong{margin-top:2px;font-size:.875rem;font-weight:600}.reader-surface{overscroll-behavior-y:contain;scroll-behavior:auto;flex:auto;min-width:0;height:100%;overflow:auto}.reader-page{width:min(100% - 40px, var(--reader-content-width));margin:0 auto;padding:clamp(38px,7vw,80px) 0 72px}.markdown-document{color:var(--color-ink);font-size:calc(1.0625rem * var(--reader-font-scale));line-height:var(--reader-line-height);overflow-wrap:anywhere}.markdown-document>:first-child{margin-top:0}.markdown-document h1,.markdown-document h2,.markdown-document h3,.markdown-document h4,.markdown-document h5,.markdown-document h6{letter-spacing:0;text-wrap:balance;margin:2.2em 0 .7em;line-height:1.3}.markdown-document h1{font-size:2rem}.markdown-document h2{font-size:1.55rem}.markdown-document h3{font-size:1.25rem}.markdown-document h4,.markdown-document h5,.markdown-document h6{font-size:1.0625rem}.markdown-document p,.markdown-document ul,.markdown-document ol,.markdown-document blockquote,.markdown-document pre,.markdown-document table{margin:1.2em 0}.markdown-document a{color:var(--color-ai-accent);text-underline-offset:3px;text-decoration-thickness:1px}.markdown-document blockquote{color:var(--color-ink-muted);border-left:3px solid var(--color-annotation-yellow);margin-left:0;padding:.1em 0 .1em 1.25em}.markdown-document code{border-radius:var(--radius-sm);background:#20201c12;padding:.12em .3em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em}.markdown-document pre{padding:var(--space-4);border-radius:var(--radius-md);color:#f7f5ef;background:#272821;line-height:1.55;overflow-x:auto}.markdown-document pre code{background:0 0;border-radius:0;padding:0}.markdown-mermaid__label,.markdown-mermaid__source{display:block}.markdown-mermaid__label{margin-bottom:var(--space-3);color:#f2cf5b;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.75rem}.markdown-document img{object-fit:contain;max-width:100%;max-height:min(70dvh,720px);margin:1.75em auto;display:block}.markdown-image-error{padding:var(--space-3);color:var(--color-danger);background:var(--color-danger-soft);border-left:3px solid var(--color-danger);margin:1.25em 0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.8125rem;display:block}.markdown-document table{border-collapse:collapse;width:100%;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.875rem;display:block;overflow-x:auto}.markdown-document th,.markdown-document td{border:1px solid var(--color-rule);text-align:left;padding:8px 10px}.reader-next{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;min-height:88px;padding:var(--space-4) 0;text-align:left;border:0;border-top:1px solid var(--color-ink);border-bottom:1px solid var(--color-rule);background:0 0;margin-top:64px;display:flex}.reader-next small,.reader-next strong{display:block}.reader-next small{margin-bottom:var(--space-1);color:var(--color-ai-accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.6875rem}.reader-next strong{font-size:1.0625rem}.reader-finished{color:var(--color-ink-muted);border-top:1px solid var(--color-rule);text-align:center;margin:64px 0 0;padding:28px 0}@media (width<=640px){.reader-screen>.reader-shell,.reader-workspace{height:100dvh}.reader-header{z-index:30;height:52px;padding:0 8px;transition:transform .16s;position:fixed;top:0;left:0;right:0}.reader-surface{height:100%}.reader-screen.is-chrome-hidden .reader-header{transform:translateY(-100%)}.reader-page{width:min(100% - 32px, var(--reader-content-width));padding-top:32px}.markdown-document{font-size:calc(1rem * var(--reader-font-scale));line-height:var(--reader-line-height)}.markdown-document h1{font-size:1.75rem}.markdown-document h2{font-size:1.4rem}}.selection-toolbar{z-index:60;color:#fffdfa;border-radius:var(--radius-md);background:#292a25;border:1px solid #ffffff1f;align-items:center;gap:3px;height:44px;padding:4px 6px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #20201c3d}.selection-toolbar:after{content:"";background:#292a25;width:12px;height:12px;position:absolute;bottom:-6px;left:calc(50% - 6px);transform:rotate(45deg)}.selection-toolbar button,.selection-toolbar__colors{z-index:1;position:relative}.selection-toolbar>button{width:34px;height:34px;color:inherit;border-radius:var(--radius-sm);background:0 0;border:0;place-items:center;padding:0;display:grid}.selection-toolbar>button:hover{background:#ffffff1a}.selection-toolbar__colors{gap:3px;display:flex}.selection-toolbar .annotation-swatch{border-radius:var(--radius-sm);background:0 0;border:0;width:27px;height:34px;padding:0}.selection-toolbar .annotation-swatch:before{content:"";border:1px solid #ffffff6b;border-radius:50%;width:14px;height:14px;margin:auto;display:block}.selection-toolbar .annotation-swatch--yellow:before{background:var(--color-annotation-yellow)}.selection-toolbar .annotation-swatch--red:before{background:var(--color-annotation-red)}.selection-toolbar .annotation-swatch--green:before{background:var(--color-annotation-green)}.selection-toolbar__divider{background:#ffffff2e;width:1px;height:22px;margin:0 2px}.markdown-document mark[data-reader-annotation-mark=true]{color:inherit;cursor:pointer;background:0 0;border-bottom:.24em solid #f2cf5b94;padding:.08em 0;position:relative}.markdown-document mark[data-annotation-color=red]{border-bottom-color:#df6a627a}.markdown-document mark[data-annotation-color=green]{border-bottom-color:#78a57b85}.markdown-document mark[data-annotation-has-note=true]:after{background:var(--color-ai-accent);content:"";border-radius:50%;width:4px;height:4px;position:absolute;top:-.2em;right:-.18em}.annotation-panel{background:var(--color-paper-raised);border-left:1px solid var(--color-rule);flex:0 0 350px;width:350px;min-width:0;font-family:ui-sans-serif,system-ui,sans-serif;overflow-y:auto}.reader-shell__right>.annotation-panel{border-left:0;width:100%;height:100%}.reader-settings{z-index:80;width:min(340px,100vw - 32px);padding:var(--space-4);color:var(--color-ink);background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:var(--radius-md);font-family:ui-sans-serif,system-ui,sans-serif;position:fixed;top:66px;right:16px;box-shadow:0 14px 38px #20201c2e}.reader-settings>header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.reader-settings h2,.reader-theme-control legend{margin:0;font-size:.875rem;font-weight:650}.reader-theme-control{margin:0 0 var(--space-4);border:0;grid-template-columns:repeat(3,1fr);padding:0;display:grid}.reader-theme-control legend{margin-bottom:var(--space-2)}.reader-theme-control label{align-items:center;gap:5px;font-size:.75rem;display:flex}.reader-range-control{margin-top:var(--space-4);display:block}.reader-range-control>span{justify-content:space-between;font-size:.75rem;display:flex}.reader-range-control input{width:100%;margin-top:var(--space-2)}.annotation-panel__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);min-height:72px;padding:var(--space-4);border-bottom:1px solid var(--color-rule);display:flex}.annotation-panel__header p{color:var(--color-ink-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:.9375rem;line-height:1.55;display:-webkit-box;overflow:hidden}.annotation-tabs{padding:0 var(--space-4);border-bottom:1px solid var(--color-rule);grid-template-columns:1fr 1fr;display:grid}.annotation-tabs button{justify-content:center;align-items:center;gap:var(--space-2);min-height:46px;padding:0 var(--space-2);color:var(--color-ink-muted);background:0 0;border:0;border-bottom:2px solid #0000;font-size:.8125rem;display:flex}.annotation-tabs button[aria-selected=true]{color:var(--color-ink);border-bottom-color:var(--color-ai-accent)}.annotation-note{padding:var(--space-4)}.annotation-note textarea{width:100%;min-height:240px;padding:var(--space-3);resize:vertical;color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:0 0;font-family:Georgia,Times New Roman,serif;font-size:1rem;line-height:1.7}.annotation-note__status{margin:var(--space-2) 0 0;color:var(--color-ink-muted);text-align:right;font-size:.6875rem}.annotation-note__error,.reader-annotation-error{margin:var(--space-3) 0 0;color:var(--color-danger);background:var(--color-danger-soft);border-left:3px solid var(--color-danger);padding:8px 10px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.75rem}.annotation-conversation-empty{min-height:260px;color:var(--color-ink-muted);place-content:center;place-items:center;font-size:.8125rem;display:grid}.annotation-detail-screen{z-index:100;color:var(--color-ink);background:var(--color-paper-raised);position:fixed;inset:0;overflow:auto}.annotation-detail-header{z-index:1;border-bottom:1px solid var(--color-rule);background:#fffdfaf5;height:52px;position:sticky;top:0}.annotation-detail-header button{align-items:center;gap:var(--space-2);height:100%;padding:0 var(--space-4);background:0 0;border:0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.875rem;display:flex}.annotation-panel--detail{border-left:0;width:100%}.annotation-panel--detail .annotation-panel__header{padding:var(--space-6) var(--space-4)}.annotation-panel--detail .annotation-note textarea{min-height:calc(100dvh - 250px)}@media (width<=700px){.selection-toolbar{max-width:calc(100vw - 16px)}.annotation-panel:not(.annotation-panel--detail){display:none}}@media (prefers-reduced-motion:reduce){.reader-header{transition:none}}.annotation-ai{min-height:0}.ai-panel{min-height:420px;padding:var(--space-4);flex-direction:column;font-family:ui-sans-serif,system-ui,sans-serif;display:flex}.ai-context-modes{border:1px solid var(--color-rule);border-radius:var(--radius-md);background:#20201c0f;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;display:grid}.ai-context-modes button{min-width:0;min-height:32px;color:var(--color-ink-muted);border-radius:var(--radius-sm);background:0 0;border:0;padding:0 6px;font-size:.75rem}.ai-context-modes button[aria-pressed=true]{color:var(--color-ink);background:var(--color-paper-raised);box-shadow:0 1px 3px #20201c1f}.ai-context-modes button:disabled{cursor:not-allowed;opacity:.45}.ai-source-quote{margin:var(--space-3) 0 0;color:var(--color-ink-muted);border-left:2px solid var(--color-annotation-yellow);-webkit-line-clamp:3;background:#f2cf5b24;-webkit-box-orient:vertical;padding:8px 10px;font-family:Georgia,Times New Roman,serif;font-size:.8125rem;line-height:1.5;display:-webkit-box;overflow:hidden}.ai-messages{gap:var(--space-4);min-height:210px;padding:var(--space-4) 0;flex-direction:column;flex:auto;display:flex}.ai-message{max-width:92%}.ai-message--user{border-radius:var(--radius-md) var(--radius-md) 0 var(--radius-md);background:#326c9b1a;align-self:flex-end;padding:9px 11px}.ai-message--assistant{align-self:stretch}.ai-message small{color:var(--color-ai-accent);margin-bottom:3px;font-size:.6875rem;font-weight:700;display:block}.ai-message p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-family:Georgia,Times New Roman,serif;font-size:.9375rem;line-height:1.65}.ai-message>span{color:var(--color-danger);margin-top:4px;font-size:.6875rem;display:block}.ai-message--streaming p:after{background:var(--color-ai-accent);content:"";vertical-align:-.15em;width:5px;height:1em;margin-left:3px;animation:.9s step-end infinite ai-caret;display:inline-block}@keyframes ai-caret{50%{opacity:0}}.ai-error{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--color-danger);background:var(--color-danger-soft);padding:8px 10px;font-size:.75rem;display:flex}.ai-error button{color:inherit;background:0 0;border:0;flex:none;align-items:center;gap:4px;padding:4px 6px;display:flex}.ai-composer{border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-raised);align-items:flex-end;display:flex;position:relative}.ai-composer textarea{resize:none;min-width:0;min-height:76px;color:var(--color-ink);background:0 0;border:0;outline:0;flex:auto;padding:10px 6px 10px 10px;font-size:.8125rem;line-height:1.5}.ai-composer>button{color:#fff;background:var(--color-ai-accent);border-radius:var(--radius-sm);border:0;flex:0 0 36px;place-items:center;width:36px;height:36px;margin:0 5px 5px 0;padding:0;display:grid}.ai-composer>button:disabled{cursor:not-allowed;opacity:.4}.annotation-panel--detail .ai-panel{min-height:calc(100dvh - 190px)}@media (prefers-reduced-motion:reduce){.ai-message--streaming p:after{animation:none}}.reader-shell{grid-template-columns:minmax(0,1fr);min-width:0;height:100%;display:grid;position:relative}.reader-shell--desktop.is-left-collapsed{grid-template-columns:0 minmax(0,1fr) minmax(280px,350px)}.reader-shell--desktop.is-right-collapsed{grid-template-columns:minmax(180px,240px) minmax(0,1fr) 0}.reader-shell--desktop.is-left-collapsed.is-right-collapsed{grid-template-columns:0 minmax(0,1fr) 0}.reader-shell.is-left-collapsed .reader-shell__left,.reader-shell.is-right-collapsed .reader-shell__right{visibility:hidden}.reader-shell__toggle{z-index:8;background:var(--color-paper-raised);position:absolute;top:8px;box-shadow:0 1px 4px #20201c1f}.reader-shell__toggle--left{left:8px}.reader-shell__toggle--right{right:8px}.reader-shell__surface{min-width:0;min-height:0;overflow:auto}.reader-shell__left,.reader-shell__right{background:var(--color-paper-raised);min-width:0;overflow:auto}.reader-shell--desktop{grid-template-columns:minmax(180px,240px) minmax(0,1fr) minmax(280px,350px)}.reader-shell--desktop .reader-shell__left{border-right:1px solid var(--color-rule)}.reader-shell--desktop .reader-shell__right{border-left:1px solid var(--color-rule)}.reader-chapter-rail,.reader-notes-index{font-family:ui-sans-serif,system-ui,sans-serif}.reader-chapter-rail>header,.reader-notes-index>header{padding:var(--space-4);border-bottom:1px solid var(--color-rule)}.reader-chapter-rail h2,.reader-notes-index h2{margin:0;font-size:.875rem}.reader-chapter-rail ol,.reader-notes-index ul{padding:var(--space-2);margin:0;list-style:none}.reader-chapter-rail button,.reader-notes-index button{width:100%;color:var(--color-ink-muted);text-align:left;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-sm);background:0 0;border:0;padding:9px 10px;font-size:.8125rem;overflow:hidden}.reader-chapter-rail button[aria-current=page],.reader-chapter-rail button:hover,.reader-notes-index button:hover{color:var(--color-ink);background:#326c9b17}.reader-notes-index__empty{padding:var(--space-6) var(--space-4);color:var(--color-ink-muted);text-align:center;font-size:.75rem}.reader-mobile-nav{z-index:40;right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));border-radius:var(--radius-md);background:#292a25f5;grid-template-columns:repeat(4,1fr);height:50px;display:grid;position:fixed;box-shadow:0 8px 24px #20201c3d}.reader-mobile-nav button{color:#fffdfa;background:0 0;border:0;place-items:center;padding:0;display:grid}.reader-mobile-progress{z-index:70;right:50%;bottom:calc(max(12px, env(safe-area-inset-bottom)) + 62px);color:#fffdfa;border-radius:var(--radius-sm);background:#292a25f5;padding:7px 10px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.75rem;position:fixed;transform:translate(50%)}@media (width>=768px){.reader-shell--auto{grid-template-columns:minmax(180px,240px) minmax(0,1fr) minmax(280px,350px)}}@media (width<=767px){.reader-shell__left,.reader-shell__right{display:none}}
