:root{color-scheme:light;--bg:#ffffff;--sidebar-bg:#f8f8f7;--surface:#ffffff;--surface-alt:#f7f7f8;--text:#202123;--muted:#6b6c72;--line:#e5e5e5;--accent:#111827;--accent-soft:#eef2ff;--accent-strong:#111827;--shadow:0 12px 30px rgba(15,23,42,0.08);--radius:18px;--font-sans:"IBM Plex Sans","Segoe UI",sans-serif;--font-serif:"Charter","Iowan Old Style",serif}*{box-sizing:border-box}html{min-height:100%}body,html{background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);font-family:var(--font-sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.chat-app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.app-sidebar{display:grid;grid-template-rows:auto auto 1fr auto;grid-gap:18px;gap:18px;padding:20px 14px;border-right:1px solid var(--line);background:var(--sidebar-bg)}.sidebar-top{display:grid;grid-gap:14px;gap:14px}.brand-mark{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px}.brand-mark:hover{background:rgba(17,24,39,.04)}.brand-mark-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#111827;color:white}.brand-mark-copy{display:grid}.brand-mark-copy small{color:var(--muted)}.sidebar-new-chat{width:100%;min-height:48px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);font-weight:700;cursor:pointer}.sidebar-utility-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.82);font-weight:700}.sidebar-chapter-picker{display:grid;grid-gap:8px;gap:8px}.sidebar-select-wrap{position:relative}.sidebar-select-wrap:after{content:"";position:absolute;top:50%;right:16px;width:9px;height:9px;border-right:1.5px solid #6b7280;border-bottom:1.5px solid #6b7280;transform:translateY(-65%) rotate(45deg);pointer-events:none}.sidebar-select{width:100%;min-height:48px;padding:0 44px 0 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0}.sidebar-select:focus{border-color:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.16)}.sidebar-meta{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.meta-card{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.8)}.meta-card span{color:var(--muted);font-size:13px}.sidebar-section{display:grid;align-content:start;grid-gap:10px;gap:10px}.sidebar-section.compact{align-self:end}.sidebar-section-title{padding:0 8px;color:var(--muted);font-size:13px;font-weight:700}.sidebar-list,.sidebar-mini-list{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.sidebar-item,.sidebar-mini-item{display:grid;grid-gap:3px;gap:3px;padding:10px 12px;border-radius:14px;color:var(--text)}.sidebar-item.is-active,.sidebar-item:hover,.sidebar-mini-item:hover{background:rgba(17,24,39,.06)}.sidebar-empty,.sidebar-item small{color:var(--muted)}.sidebar-empty{padding:10px 12px}.chat-main{min-width:0;display:flex;flex-direction:column;min-height:100vh;background:var(--bg)}.chat-home-main{justify-content:center}.chat-home-stage{width:min(980px,calc(100vw - 80px));margin:0 auto;padding:24px 0 48px}.chat-home-intro{display:grid;grid-gap:12px;gap:12px;text-align:center;margin-bottom:24px}.chat-header h1,.chat-home-intro h1{margin:0;font-size:clamp(32px,4vw,48px);letter-spacing:-.03em}.chat-home-model{font-size:18px;font-weight:700}.chat-home-composer-wrap{max-width:980px;margin:0 auto}.home-recent-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:28px}.home-recent-card{display:grid;grid-gap:6px;gap:6px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface-alt)}.home-recent-card:hover{background:#f1f1f2}.muted{color:var(--muted)}.chat-header{display:flex;justify-content:center;padding:28px 24px 18px;border-bottom:1px solid rgba(229,229,229,.6)}.chat-header>div{width:min(920px,100%)}.chat-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.chat-thread{width:min(920px,100%);margin:0 auto;padding:20px 24px 220px}.chat-empty-state{display:grid;place-items:center;min-height:40vh;text-align:center}.chat-row{display:grid;grid-template-columns:44px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start;padding:20px 0}.chat-row+.chat-row{border-top:1px solid rgba(229,229,229,.7)}.chat-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:#111827;color:white;font-size:13px;font-weight:700}.chat-row.user .chat-avatar{background:#4b5563}.chat-bubble{display:grid;grid-gap:10px;gap:10px}.chat-bubble-meta{display:flex;align-items:center;justify-content:space-between;gap:16px}.chat-bubble-body{white-space:pre-wrap;line-height:1.75}.stream-status{color:var(--muted);animation:stream-pulse 1.2s ease-in-out infinite}.chat-composer-dock{position:-webkit-sticky;position:sticky;bottom:0;padding:20px 24px 24px;background:linear-gradient(180deg,rgba(255,255,255,0),#ffffff 24%)}.chat-composer{width:min(920px,100%);margin:0 auto;display:grid;grid-gap:16px;gap:16px}.composer-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;padding:16px;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.composer-textarea{min-height:72px;max-height:220px;padding:10px 6px;border:0;resize:vertical;background:transparent;color:var(--text);outline:0}.composer-actions{display:flex;align-items:flex-end;gap:10px}.composer-submit{min-width:96px;border:0;border-radius:999px;background:#111827;color:white}.composer-stop,.composer-submit{min-height:48px;font-weight:700;cursor:pointer}.composer-stop{min-width:84px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text)}.composer-submit:disabled,.ghost-danger-button:disabled{cursor:not-allowed;opacity:.65}.composer-settings{display:grid;grid-gap:14px;gap:14px}.composer-settings-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px}.composer-settings-summary{display:flex;flex-wrap:wrap;gap:8px}.composer-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;background:rgba(255,255,255,.78);color:var(--muted);font-size:13px;font-weight:600}.composer-chip,.composer-settings-toggle{border:1px solid var(--line);border-radius:999px}.composer-settings-toggle{flex:0 0 auto;min-height:36px;padding:0 14px;background:white;color:var(--text);font-weight:700;cursor:pointer}.composer-settings.same-row{grid-template-columns:1.2fr 1.2fr .9fr;align-items:start}.setting-group{display:grid;grid-gap:10px;gap:10px}.setting-title{font-size:13px;color:var(--muted);font-weight:700}.option-grid{display:grid;grid-gap:12px;gap:12px}.option-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.option-card{display:grid;grid-template-columns:20px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start;padding:16px 18px;border:1px solid var(--line);border-radius:22px;background:var(--surface);cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.option-card:hover{border-color:#cbd5e1;box-shadow:var(--shadow)}.option-card.is-selected{border-color:#111827;background:#f9fafb}.checkbox-card{min-height:100%}.option-card input{position:absolute;opacity:0;pointer-events:none}.option-check{width:20px;height:20px;margin-top:2px;border:1.5px solid #9ca3af;border-radius:999px;background:white}.checkbox-card .option-check{border-radius:6px}.option-card.is-selected .option-check{border-color:#111827;background:linear-gradient(180deg,#111827,#374151);box-shadow:inset 0 0 0 5px #ffffff}.option-copy{display:grid;grid-gap:4px;gap:4px}.option-copy small{color:var(--muted)}.ghost-danger-button{min-height:42px;padding:0 14px;border:1px solid #ef4444;border-radius:999px;background:white;color:#b91c1c;font-weight:700}.stream-caret{display:inline-block;width:8px;height:1.2em;margin-left:3px;vertical-align:text-bottom;background:#111827;animation:stream-blink 1s step-end infinite}@keyframes stream-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@keyframes stream-pulse{0%,to{opacity:.45}50%{opacity:1}}.shell{min-height:100vh;background:radial-gradient(circle at top left,rgba(17,24,39,.04),transparent 28%),linear-gradient(180deg,#fcfcfb,#f7f7f5)}.layout-grid{width:min(1280px,calc(100vw - 48px));margin:0 auto;padding:28px 0 40px;display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.panel{border:1px solid rgba(17,24,39,.08);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stack{display:grid;grid-gap:14px;gap:14px}.layout-grid>.sidebar{position:-webkit-sticky;position:sticky;top:24px;padding:22px}.content{min-width:0}.chapter-layout-grid{align-items:stretch}.chapter-sidebar{max-height:calc(100vh - 48px);overflow:auto}.chapter-reader-content,.chapter-split-view{display:flex;min-height:calc(100vh - 68px)}.chapter-split-view{flex-direction:column;flex:1 1 auto;height:calc(100vh - 68px);overflow:hidden}.chapter-split-view.is-single{min-height:auto}.chapter-pane{display:flex;flex-direction:column;min-height:0}.chapter-pane.is-half{flex:0 0 50%;max-height:50%}.chapter-pane.is-half+.chapter-pane.is-half{border-top:1px solid rgba(17,24,39,.1)}.chapter-pane.is-full{flex:1 1 auto}.chapter-pane-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid rgba(17,24,39,.08);background:rgba(255,255,255,.92)}.chapter-pane-body{flex:1 1 auto;height:100%;min-height:0;overflow:auto;overscroll-behavior:contain}.chapter-language-controls{gap:12px}.chapter-language-option{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 18px;border:1px solid var(--line);border-radius:18px;background:white;font-size:18px;font-weight:700}.chapter-language-option.is-active{border-color:#111827;background:#f9fafb}.chapter-language-option input{width:18px;height:18px}.chapter-note-summary{gap:10px}.chapter-note-count{font-size:28px;font-weight:800;letter-spacing:-.03em}.chapter-note-hint{line-height:1.6}.chapter-recent-notes{display:grid;grid-gap:10px;gap:10px}.chapter-note-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;width:100%;padding:12px 14px;border:1px solid rgba(17,24,39,.08);border-radius:16px;background:rgba(255,255,255,.78);text-align:left}.chapter-note-card.is-active{border-color:rgba(245,158,11,.8);box-shadow:0 0 0 4px rgba(245,158,11,.14)}.chapter-note-main{display:grid;grid-gap:4px;gap:4px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.chapter-note-delete,.notes-delete-button{align-self:start;min-height:36px;padding:0 12px;border:1px solid rgba(239,68,68,.35);border-radius:999px;background:white;color:#b91c1c;font-weight:700;cursor:pointer}.chapter-note-card p,.chapter-note-card small{margin:0}.chapter-empty-language{display:grid;place-items:center;min-height:320px;text-align:center}.section-card{padding:28px}.pill{min-height:32px;padding:0 12px;border-radius:999px;font-size:12px;letter-spacing:.03em;text-transform:uppercase}.button,.pill{display:inline-flex;align-items:center;background:#111827;color:white;font-weight:700}.button{justify-content:center;min-height:46px;padding:0 16px;border:1px solid #111827;border-radius:16px}.button.secondary{border-color:var(--line);background:white;color:var(--text)}.chapter-content{width:100%;min-width:0;line-height:1.8;margin:0;padding:32px;overflow-x:hidden}.chapter-content>div{min-width:0}.chapter-content h1,.chapter-content h2,.chapter-content h3{margin:0 0 16px;line-height:1.2;letter-spacing:-.02em}.chapter-content h2{margin-top:28px;padding-top:24px;border-top:1px solid rgba(17,24,39,.08);font-size:clamp(26px,2.8vw,34px)}.chapter-content h3{margin-top:22px;font-size:22px}.chapter-content p{margin:0 0 1rem;max-width:78ch;overflow-wrap:anywhere}.chapter-content ol,.chapter-content ul{margin:0 0 1rem;padding-left:1.4rem;max-width:78ch}.chapter-content li{margin-bottom:.5rem}.chapter-content code,.chapter-content img,.chapter-content pre,.chapter-content svg,.chapter-content table{max-width:100%}.chapter-content pre{overflow-x:auto;padding:16px;border-radius:16px;background:#f7f7f8}.chapter-content blockquote{margin:0 0 1rem;padding:12px 16px;border-left:4px solid #cbd5e1;background:#f8fafc}.annotation-highlight{padding:0 .08em;border-radius:.28em;background:linear-gradient(180deg,rgba(250,204,21,.16),rgba(250,204,21,.68));box-shadow:inset 0 -.28em 0 rgba(250,204,21,.28)}.annotation-highlight.is-focused{outline:2px solid rgba(245,158,11,.95);box-shadow:inset 0 -.28em 0 rgba(250,204,21,.28),0 0 0 5px rgba(245,158,11,.16)}.annotation-popover{position:absolute;z-index:40;width:min(360px,calc(100vw - 32px));padding:16px;border:1px solid rgba(17,24,39,.1);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 18px 50px rgba(15,23,42,.18)}.annotation-popover-title{font-weight:800;margin-bottom:10px}.annotation-popover blockquote{margin:0 0 12px;padding:10px 12px;border-left:4px solid #f59e0b;border-radius:12px;background:#fff7ed;color:#7c2d12}.annotation-popover textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px;resize:vertical;min-height:110px}.annotation-popover-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.annotation-error{margin-top:10px;color:#b91c1c;font-size:14px;font-weight:600}.notes-main{min-width:0;min-height:100vh;background:var(--bg)}.notes-stage{width:min(1040px,calc(100vw - 64px));margin:0 auto;padding:32px 0 48px}.notes-header{display:grid;grid-gap:12px;gap:12px;margin-bottom:22px}.notes-header h1{margin:0;font-size:clamp(30px,4vw,44px);letter-spacing:-.03em}.notes-search-form{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;grid-gap:12px;gap:12px;margin-bottom:12px}.notes-filter-select,.notes-search-input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:16px;background:white}.notes-result-meta{margin-bottom:14px}.notes-list{display:grid;grid-gap:14px;gap:14px}.notes-card{display:grid;grid-gap:12px;gap:12px;padding:22px}.notes-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.notes-card-actions{display:flex;align-items:center;gap:10px}.notes-error{margin-bottom:14px}.notes-card blockquote,.notes-card p,.notes-card small{margin:0}.citation{padding:12px;border-radius:14px;background:rgba(10,108,116,.06);border:1px solid rgba(10,108,116,.12)}.inline-link{color:var(--accent);font-weight:600}@media (max-width:1024px){.chat-app-shell,.layout-grid{grid-template-columns:1fr}.layout-grid{width:min(100vw - 28px,1280px)}.layout-grid>.sidebar{position:static}.app-sidebar{border-right:0;border-bottom:1px solid var(--line)}.chapter-split-view{height:auto;min-height:auto}.chapter-pane.is-full,.chapter-pane.is-half{flex:1 1 auto;max-height:none}.composer-input-wrap,.home-recent-row,.notes-search-form,.option-grid.two-col{grid-template-columns:1fr}.composer-settings-bar{align-items:stretch;flex-direction:column}.composer-settings-toggle{width:100%}.composer-actions{justify-content:stretch}.chat-header-row,.composer-settings.same-row{grid-template-columns:1fr;display:grid}.composer-stop,.composer-submit{width:100%}}@media (max-width:640px){.chat-home-stage{width:min(100vw - 24px,980px)}.notes-stage{width:min(100vw - 24px,1040px)}.chapter-content,.chat-composer-dock,.chat-header,.chat-thread,.layout-grid{padding-left:14px;padding-right:14px}.chapter-content,.section-card{padding:20px}.chapter-pane-header,.notes-card{padding-left:16px;padding-right:16px}.chapter-pane-header,.notes-card-header{flex-direction:column;align-items:flex-start}.notes-card-actions{width:100%;justify-content:space-between}}