:root{--bg:#f8f8f8;--surface:#fff;--text:#1a1d24;--muted:#5f6673;--border:#dde1e7;--primary:#1c376f;--primary-text:#fff;--user-bubble:#e8edf7;--error:#b42318}@media (prefers-color-scheme:dark){:root{--bg:#12151b;--surface:#1b1f27;--text:#e8eaee;--muted:#9aa1ad;--border:#2c323d;--primary:#6f93d9;--primary-text:#0d1117;--user-bubble:#243150;--error:#f97066}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:16px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1{margin:0;font-size:1.15rem}button,textarea,input{font:inherit;color:inherit}button{background:var(--primary);color:var(--primary-text);cursor:pointer;border:0;border-radius:10px;padding:.6rem 1.1rem}button:disabled{opacity:.5;cursor:default}button.link{color:var(--primary);background:0 0;padding:.25rem}.muted{color:var(--muted)}.error{color:var(--error)}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.login{place-items:center;min-height:100dvh;padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;gap:.6rem;width:100%;max-width:360px;padding:1.5rem;display:grid}.card input{border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:.6rem .75rem}.chat{flex-direction:column;max-width:760px;min-height:100dvh;margin:0 auto;padding:0 16px;display:flex}.chat header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.log{flex-direction:column;flex:1;gap:14px;padding:16px 0;display:flex}.turn{overflow-wrap:anywhere;max-width:100%}.turn.user{background:var(--user-bubble);border-radius:14px 14px 4px;align-self:flex-end;max-width:85%;padding:.55rem .9rem}.turn.user p{white-space:pre-wrap;margin:0}.turn.assistant{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:.2rem 1rem}.turn.assistant pre{overflow-x:auto}.turn.assistant table{border-collapse:collapse;display:block;overflow-x:auto}.turn.assistant td,.turn.assistant th{border:1px solid var(--border);padding:4px 8px}.empty p{margin-top:0}.starters{gap:8px;display:grid}.starters button{background:var(--surface);color:var(--text);border:1px solid var(--border);text-align:left}.composer{background:var(--bg);gap:8px;padding:12px 0;display:flex;position:sticky;bottom:0}.composer textarea{resize:none;border:1px solid var(--border);background:var(--surface);border-radius:10px;flex:1;padding:.6rem .75rem}footer{padding-bottom:14px;font-size:.8rem}a{color:var(--primary)}.nav{align-items:center;gap:12px;display:flex}.doc{max-width:820px;margin:0 auto;padding:0 16px 48px}.doc .bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:12px;padding:14px 0;display:flex}.doc-title{margin:12px 0 4px;font-size:1.4rem}.small{font-size:.85rem}.note{background:var(--user-bubble);border-radius:10px;padding:.6rem .9rem;font-size:.9rem}.group h2{margin:24px 0 2px;font-size:1rem}.group>p{margin:0 0 8px;font-size:.9rem}.source-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.source-list li{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:2px;padding:.6rem .9rem;display:grid}.source-list .path{overflow-wrap:anywhere;font-size:.8rem}.contents{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin:12px 0;padding:.5rem .9rem}.contents summary{cursor:pointer;font-weight:600}.contents ul{max-height:50vh;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.contents li{padding:2px 0;font-size:.9rem}.contents li.lvl3{padding-left:1rem}.prose{overflow-wrap:anywhere}.prose h1,.prose h2,.prose h3,.prose h4{scroll-margin-top:16px;line-height:1.3}.prose h1{font-size:1.3rem}.prose h2{font-size:1.15rem}.prose h3{font-size:1.02rem}.prose :target{background:var(--user-bubble);border-radius:6px}.prose .anchor{color:var(--muted);margin-right:6px;font-weight:400;text-decoration:none}.prose pre{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px;overflow-x:auto}.prose code{font-size:.88em}.prose blockquote{border-left:3px solid var(--border);color:var(--muted);margin:0;padding-left:12px}.table-wrap{overflow-x:auto}.table-wrap table{border-collapse:collapse;font-size:.9rem}.table-wrap td,.table-wrap th{border:1px solid var(--border);vertical-align:top;padding:4px 8px}.dead-link{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.app{min-height:100dvh}.threads{z-index:20;background:var(--surface);border-right:1px solid var(--border);visibility:hidden;flex-direction:column;gap:10px;width:min(320px,86vw);padding:14px 12px;transition:transform .2s,visibility .2s;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.threads.open{visibility:visible;transform:none}.scrim{z-index:10;background:#00000059;position:fixed;inset:0}.threads-head{justify-content:space-between;align-items:center;min-height:32px;display:flex}.threads-head h2{margin:0;font-size:1rem}.thread-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.thread-list li{border-radius:8px;align-items:center;display:flex}.thread-list li.active{background:var(--user-bubble)}.thread-open{min-width:0;color:var(--text);text-align:left;background:0 0;border-radius:8px;flex:1;padding:.45rem .6rem;display:grid}.thread-list li:not(.active) .thread-open:hover{background:var(--bg)}.thread-title{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;display:block;overflow:hidden}.thread-delete{color:var(--muted);min-width:36px;min-height:36px;font-size:1.15rem;line-height:1}.confirm{gap:6px;width:100%;padding:.45rem .6rem;font-size:.9rem;display:grid}.confirm-actions{align-items:center;gap:8px;display:flex}button.danger{background:var(--error);color:var(--surface);padding:.3rem .8rem}.confirm-title{overflow-wrap:anywhere}.threads-note{margin-top:auto}.recent{margin-top:20px}.recent h2{margin:0 0 8px;font-size:.95rem}.recent .starters button{gap:0;display:grid}@media (min-width:960px){.app{grid-template-columns:280px minmax(0,1fr);display:grid}.threads{visibility:visible;width:auto;height:100dvh;transition:none;position:sticky;top:0;transform:none}.scrim,.narrow-only{display:none!important}}@media (prefers-reduced-motion:reduce){.threads{transition:none}}.chat header h1,.nav>*{white-space:nowrap}
