/* Marginalia: warm paper, ink, and deliberate space. */
:root{--ink:#263b34;--muted:#7b8275;--green:#2d6251;--line:#e2e4d9;--canvas:#edece4;--paper:#fffefa;--soft:#eff3e9;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#f8f9f4;font-size:14px}
.topbar{height:82px;background:#fafbf7;padding:0 28px}.brand{font-size:27px;gap:12px}.brand-sub{font-size:8px;letter-spacing:1.35px;margin-top:6px}.brand-mark{background:#294e41;color:#f9f5e8;border:0;border-radius:11px;width:42px;height:44px;line-height:40px;box-shadow:0 3px 6px #1f3e2010}.connection{font-size:11px;min-height:38px;background:var(--paper);border-radius:8px}.connection.ready{border-color:#d3e1d3}.topbar-toggle{background:transparent;border-color:transparent}.topbar-toggle:hover{background:var(--soft)}.focus-modes{padding:3px;border:1px solid var(--line);background:#f0f2e9;border-radius:8px}.focus-modes button{min-width:58px;padding:7px 12px;font-size:11px}.focus-modes [aria-pressed=true]{background:#fffefa;color:var(--ink);box-shadow:0 1px 4px #263b3410}.layout-controls{gap:12px}#layout-contents{font-size:11px}#layout-contents[aria-expanded=true]{background:transparent;color:var(--green)}
.sidebar{padding:26px 18px 0 20px;background:#f8f9f3}.section-label{font-size:9px;letter-spacing:1.3px}.sidebar .section-label>span{font-size:9px;letter-spacing:0;border:1px solid var(--line);padding:2px 5px;border-radius:4px;margin-left:auto;margin-right:8px}.sidebar select{font-size:12px;line-height:1.5;padding:12px 8px;border-color:#dce3d4;background:#eff3e9}.book-caption{font-size:10px;line-height:1.65;margin-bottom:24px}.sidebar-tabs{gap:23px}.sidebar-tabs button{font-size:11px}.outline-item{font-size:11px;line-height:1.65;padding:10px 9px;color:#687568;border-left:2px solid transparent;border-radius:0 5px 5px 0}.outline-item.active{border-left-color:#507454;background:#e9efdf}.outline-item small{font:10px var(--sans)}.sidebar-footer{padding:18px 0}.library-tools{width:100%;display:flex;justify-content:space-between;align-items:center;font-size:11px;border:1px solid var(--line);padding:11px 10px;border-radius:6px;background:#fbfcf7}.library-tools>span:first-child{font-size:17px;color:#758c6c}.library-tools:hover{background:var(--soft)}.panel-divider{background:#f0f2e9}.panel-divider:before{height:28px;background:#c3cdbb}.reader-toolbar{height:57px;background:#f9faf5;border-bottom-color:#e0e3d7}.icon-button{width:31px;height:32px;min-width:31px}.page-navigation input{padding:6px;border-color:var(--line)}.reading-location{padding:18px 28px 15px;font-size:10px}.reading-location span:last-child{font-size:8px;letter-spacing:1.1px}.page-scroller{padding:5px 30px 38px;background:var(--canvas)}.reader-footer{background:#f6f7ef;border-top-color:#e0e3d7;font-size:9px;padding:11px 25px}.pdf-page{box-shadow:0 3px 18px #28341d13}.pdf-page>canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.pdf-page .textLayer{z-index:1}.pdf-page .textLayer span{font-family:inherit;line-height:1}.textLayer ::selection{background:#86b59975;color:transparent}
.companion{background:#fcfdf8}.companion-header{padding:27px 25px 22px}.companion-header h1{font-size:26px;letter-spacing:-.65px;margin-top:10px}.companion-header .section-label{font-size:8px;letter-spacing:1.4px}.companion-header .panel-button{color:#899680}.companion-tabs{gap:25px;margin:0 25px}.companion-tabs button{font-size:12px;padding-bottom:14px}.messages{padding:27px 25px}.message-heading{font-size:9px;color:#728667;margin-bottom:13px}.message-body{font-size:14px;line-height:1.85}.message-body h1,.message-body h2,.message-body h3{font-size:22px}.message.user .message-body{font-size:13px;padding:15px 17px;background:#edf2e4}.message-body code{font-size:12px}.message-body pre{font-size:12px}.message-usage{font-size:10px;color:#829078;margin-top:12px}.answer-actions{gap:10px}.message{margin-bottom:29px}.citation{font-size:10px}.composer{padding:16px 21px 17px;background:#fcfdf8}.context-pill{margin-bottom:12px;font-size:10px}.context-pill span:first-child{color:#9baa90}#question-form{background:white;border:1px solid #dce3d1;border-radius:10px;padding:12px 13px;box-shadow:0 2px 4px #24341a03}#question-form:focus-within{box-shadow:0 0 0 3px #8bad6820;border-color:#9eb889}#question{font-size:13px;line-height:1.7;min-height:62px}.composer-bottom{margin-top:9px}#composer-hint{font-size:8px;letter-spacing:.1px}.send-button{width:34px;height:34px;border-radius:8px;background:#315b40}.voice-button{width:34px;height:34px;border-color:#e0e5d8}#stop-answer{font-size:11px;border:1px solid #d8e0cd;border-radius:5px;padding:8px}#voice-status{font-size:10px}.primary-button{padding:12px 18px;border-radius:7px;font-size:12px;background:#305c45}.primary-button:disabled{cursor:wait}.secondary-button{padding:11px 16px;border:1px solid var(--line);border-radius:7px;font-size:12px}.text-button{padding:10px 4px;font-size:11px;text-decoration:underline;text-underline-offset:4px;color:var(--green)}
.empty-library{display:flex;align-items:center;flex-direction:column;text-align:center;min-height:100%;padding:42px 22px 32px;justify-content:center}.empty-library .primary-button{min-width:215px;display:flex;justify-content:space-between;gap:20px}.empty-library .text-button{margin-top:7px;font-size:10px;color:#7d8d6f}.empty-library>small{font-size:9px;color:#9ba58f;margin-top:21px}.book-art{width:125px;height:143px;position:relative;transform:rotate(-8deg)}.book-cover{position:absolute;inset:0;background:#3c624d;border-radius:3px 9px 9px 3px;box-shadow:8px 12px 18px #233b2420;z-index:2;border-left:7px solid #31503f;text-align:left;color:#e1e4cf;padding:15px}.book-cover>span{font:italic 34px var(--serif)}.book-cover>i{height:1px;display:block;background:#829775;margin:6px 0 13px;width:30px}.book-leaf{position:absolute;background:#f8f8eb;inset:4px -6px -4px 9px;border-radius:3px 8px 8px 3px;box-shadow:0 1px 2px #0002;border:1px solid #dfe2d2}.book-leaf:after{content:'';position:absolute;right:3px;top:4px;bottom:4px;border-right:1px solid #d4d8c5}#import-progress{font-size:10px;color:var(--green);padding:0 0 15px}
dialog{padding:32px;background:#fcfdf8;border-radius:16px;max-height:90dvh;overflow:auto}dialog h2{font-size:34px;letter-spacing:-.8px;line-height:1.13;margin:16px 0 18px}dialog p{font-size:12px;line-height:1.8}.dialog-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.remember-label,#settings-form .remember-label{display:flex;align-items:center;gap:8px;font-size:11px;margin:15px 0}.remember-label input,#settings-form .remember-label input{width:15px;height:15px;padding:0;margin:0;display:inline-block;accent-color:#315b40}#settings-form .settings-note{font-size:10px}.backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.backup-card{text-align:left;padding:18px 14px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.backup-card strong{display:flex;justify-content:space-between;font-size:12px;font-weight:500}.backup-card small{font-size:10px;color:var(--muted);display:block;line-height:1.75;margin-top:12px}.migration-help{border-top:1px solid var(--line);padding-top:18px;margin:23px 0 16px;font-size:11px}.migration-help summary{cursor:pointer;color:var(--green)}.migration-help ol{padding-left:18px;color:var(--muted);line-height:1.9}.migration-help li{margin:10px 0}.key-status{font-size:11px;line-height:1.7}#import-summary{font-size:11px;color:var(--ink)}
:root[data-theme=dark]{--ink:#e1e9df;--muted:#a0ae9a;--green:#b4cda4;--line:#364331;--canvas:#161e16;--paper:#1d281c;--soft:#273525;background:#161e16}
[data-theme=dark] :is(.topbar,.companion,.composer,.reader-toolbar,dialog){background:#1d271c;color:var(--ink)}[data-theme=dark] .sidebar{background:#1a2419}[data-theme=dark] .focus-modes{background:#162014}[data-theme=dark] .focus-modes [aria-pressed=true]{background:#34462c;color:#d8e9cb}[data-theme=dark] .connection{background:#24321f}[data-theme=dark] .panel-divider{background:#263321}[data-theme=dark] .panel-divider:before{background:#516646}[data-theme=dark] .reader-footer{background:#1a2419;border-color:var(--line)}[data-theme=dark] .page-scroller{background:var(--canvas)}[data-theme=dark] .pdf-page>canvas{filter:invert(.9) hue-rotate(180deg)}[data-theme=dark] .library-tools{background:#24321f}[data-theme=dark] .topbar-toggle{background:transparent}[data-theme=dark] :is(.empty-library p,.empty-library>small){color:#9eae90}[data-theme=dark] .backup-card{background:#273525}[data-theme=dark] #question-form{background:#162015}[data-theme=dark] .message.user .message-body{background:#2b3c24}[data-theme=dark] .outline-item.active{border-color:#9bb787;background:#2b3d23}[data-theme=dark] .connection.ready{border-color:#4b6240}
@media(max-width:1200px){.topbar{padding:0 18px}.brand-sub{font-size:7px;letter-spacing:1px}.topbar-actions{gap:3px}.focus-modes button{min-width:48px;padding:7px 9px}.layout-controls{gap:5px}.messages{padding:24px 20px}.companion-header{padding:24px 20px}.companion-tabs{margin:0 20px}.page-scroller{padding-left:20px;padding-right:20px}}
@media(max-height:830px) and (min-width:701px){.empty-library{padding:26px 16px}.book-art{width:98px;height:115px}.book-cover{padding:11px}.book-cover>span{font-size:27px}}
@media(max-width:700px){.topbar{height:auto}.brand{font-size:23px}.empty-library{padding:32px 15px}.backup-actions{grid-template-columns:1fr}.companion-header h1{font-size:26px}.brand-sub{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Plain labels and a single chat surface. */
.brand-sub{font-size:11px;letter-spacing:.1px;margin-top:5px;color:var(--muted)}
.companion-header{padding:22px 25px;border-bottom:1px solid var(--line);min-height:76px}
.companion-header h1{font:500 18px/1.3 var(--sans);letter-spacing:0;margin:0}
.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:24px 10px;text-align:center}
.chat-empty p{max-width:275px;font-size:13px;line-height:1.8;color:var(--muted);margin:0}
.empty-library{gap:0;padding:40px 22px}
.book-art{width:100px;height:120px;margin-bottom:40px}
.book-cover{padding:13px}
.book-cover>span{font-size:32px}
.empty-library .primary-button{min-width:180px;align-items:center}
.empty-library .text-button{font-size:12px;margin-top:13px}
.empty-library>small{font-size:11px;color:var(--muted);line-height:1.7;margin-top:25px}
.reading-location #chapter-label{font-size:11px;letter-spacing:0;color:var(--muted)}
dialog h2{font:500 22px/1.3 var(--sans);letter-spacing:0;margin:0 0 14px}
#visual-dialog h2{font:500 20px/1.3 var(--sans);margin:0 0 18px;letter-spacing:0}
@media(max-width:1200px){.brand-sub{font-size:10px;letter-spacing:.1px}.companion-header{padding:22px 20px}}

.message>.answer-actions{justify-content:flex-end;margin-top:10px}
.reader-footer>span:last-child{margin-left:auto}

.prompt-examples{display:flex;flex-direction:column;gap:8px;width:100%;max-width:280px;margin-top:20px}
.prompt-example{text-align:left;padding:11px 13px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font-size:12px;line-height:1.6}
.prompt-example:hover{background:var(--soft);border-color:var(--green)}
