:root{color-scheme:light dark;--bg:#f7f3ec;--ambient:#ece2d2;--surface:#f0eadf;--text:#33302a;--subtext:#6e665a;--accent:#a1543a;--onAccent:#fdf8f2;--theirsBg:#ece4d6;--border:#ddd3c4;--r-bubble:16px;--r-field:12px;--serif:ui-serif,Georgia,"Iowan Old Style","Times New Roman",serif}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--bg:#131215;--ambient:#171619;--surface:#1d1c21;--text:#ededed;--subtext:#a3a0a8;--accent:#c67a54;--onAccent:#17161a;--theirsBg:#201f25;--border:#2c2b32}*{box-sizing:border-box}html,body,#app{height:100%}html{background-color:var(--bg)}body{margin:0;font-family:system-ui,-apple-system,sans-serif;color:var(--text);background:radial-gradient(120% 82% at 50% -12%,var(--ambient),var(--bg) 62%)}#app{display:flex;flex-direction:column;max-width:720px;margin:0 auto;height:100%}.topbar{display:flex;align-items:center;gap:14px;padding:18px 20px 12px}.topbar .icon{background:none;border:none;font-size:19px;color:var(--subtext);cursor:pointer;line-height:1;padding:4px;border-radius:8px;transition:color .2s,background .2s}.topbar .icon:hover{color:var(--text);background:var(--surface)}.topbar .title{flex:1;font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:.01em;color:var(--text)}.thread{flex:1;overflow-y:auto;padding:12px 20px 104px;display:flex;flex-direction:column;gap:12px}.bubble{max-width:76%;padding:11px 15px;border-radius:var(--r-bubble);line-height:1.5;white-space:pre-wrap;word-break:break-word;box-shadow:0 1px 2px #33302a0d;animation:rise .32s cubic-bezier(.16,1,.3,1) both}.bubble.user{align-self:flex-end;background:var(--accent);color:var(--onAccent);border-bottom-right-radius:5px}.bubble.model{align-self:flex-start;background:var(--theirsBg);color:var(--text);border-bottom-left-radius:5px}.empty{color:var(--subtext);text-align:center;margin-top:42vh;font-family:var(--serif);font-size:17px;font-style:italic}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.bubble{animation:none}}.banner{margin:0 20px;padding:11px 15px;border-radius:var(--r-field);background:var(--surface);color:var(--subtext);cursor:pointer;border:1px solid var(--border)}.phase{margin:2px 20px;padding:2px 4px;font-size:.82rem;color:var(--subtext);font-style:italic;letter-spacing:.01em}.composer{position:fixed;left:0;right:0;bottom:0;max-width:720px;margin:0 auto;display:flex;gap:10px;padding:12px 20px 18px;background:linear-gradient(transparent,var(--bg) 34%)}.composer textarea{flex:1;resize:none;max-height:140px;padding:12px 16px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;line-height:1.45;transition:border-color .2s}.composer textarea::placeholder{color:var(--subtext)}.composer textarea:focus{outline:none;border-color:var(--accent)}.composer .send{width:44px;height:44px;flex:none;border:none;border-radius:50%;background:var(--accent);color:var(--onAccent);font-size:18px;cursor:pointer;transition:transform .12s,opacity .2s}.composer .send:hover:not(:disabled){transform:translateY(-1px)}.composer .send:active:not(:disabled){transform:scale(.96)}.composer .send:disabled{opacity:.45;cursor:default}#drawer{position:fixed;top:0;left:0;height:100%;width:min(82vw,320px);background:var(--surface);color:var(--text);transform:translate(-100%);transition:transform .32s cubic-bezier(.32,.72,0,1);z-index:50;padding:24px 20px;overflow-y:auto;border-right:1px solid var(--border)}#drawer[data-uip-open=true]{transform:translate(0)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1a146b;opacity:0;visibility:hidden;transition:opacity .32s;z-index:40}.backdrop.uip-backdrop-open{opacity:1;visibility:visible}.drawer-section{margin-bottom:24px}.drawer-section h3{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--subtext);margin:0 0 10px}.drawer-label{display:block;font-size:12px;color:var(--subtext);margin-top:12px}.drawer-row{display:block;width:100%;text-align:left;padding:11px 13px;border:none;border-radius:var(--r-field);background:transparent;color:var(--text);cursor:pointer;font:inherit;transition:background .18s}.drawer-row:hover{background:var(--bg)}.drawer-row.active{background:var(--accent);color:var(--onAccent)}.drawer-row.active:hover{background:var(--accent)}#drawer input,#drawer select{width:100%;padding:11px;border-radius:var(--r-field);border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;margin-top:6px}#mem-drawer{position:fixed;top:0;right:0;height:100%;width:min(92vw,420px);background:var(--surface);color:var(--text);transform:translate(100%);transition:transform .32s cubic-bezier(.32,.72,0,1);z-index:50;padding:24px 20px;overflow-y:auto;border-left:1px solid var(--border)}#mem-drawer[data-uip-open=true]{transform:translate(0)}.mem-stat{font-size:11px;color:var(--subtext);margin-top:2px}.mem-card{padding:9px 11px;border:1px solid var(--border);border-radius:var(--r-field);margin-top:7px;font-size:13px;background:var(--bg)}.mem-bar{height:4px;border-radius:2px;background:var(--accent);margin-top:6px;min-width:2px}.mem-tap{width:100%;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-field);padding:11px;margin-top:8px;max-height:40vh;overflow-y:auto}#mem-drawer input[type=text],#mem-drawer select{width:100%;padding:11px;border-radius:var(--r-field);border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;margin-top:6px}.mem-toggle{display:block;margin:7px 0;font-size:13px;cursor:pointer}.mem-toggle input{margin-right:7px}.mem-wipe{color:#b23b2a}#drawer textarea,#mem-drawer textarea{width:100%;padding:11px;border-radius:var(--r-field);border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;margin-top:6px;resize:vertical}.why-section h3{font-size:14px;color:var(--text)}.why-query{font-family:var(--serif);font-style:italic;color:var(--subtext);margin:2px 0 9px;font-size:14px;line-height:1.4}.why-lead{font-size:13px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-field);padding:11px 14px;margin-bottom:20px;line-height:1.55}.why-head{font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin:20px 0 8px}.why-head.used{color:var(--accent)}.why-head.available{color:var(--subtext)}.why-group{margin-bottom:14px}.why-source{display:flex;align-items:center;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--subtext);margin:11px 0 6px}.src-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--subtext)}.src-memory .src-dot{background:#86709e}.src-live .src-dot{background:#5f8f6e}.src-plan .src-dot{background:#567f9c}.why-item{display:flex;gap:11px;align-items:flex-start;font-size:13px;line-height:1.5;padding:5px 0}.why-item .why-mark{flex:none;width:15px;font-size:12px;line-height:1.5;text-align:center}.why-item.used{color:var(--text)}.why-item.used .why-mark{color:var(--accent)}.why-item.available{color:var(--subtext)}.why-item.available .why-mark{color:var(--border)}.why-none,.why-empty{font-size:13px;color:var(--subtext);font-style:italic;line-height:1.5}details.advanced{margin-top:18px;border-top:1px solid var(--border)}details.advanced>summary{cursor:pointer;list-style:none;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--subtext);padding:12px 0 8px;-webkit-user-select:none;user-select:none;transition:color .18s}details.advanced>summary:hover{color:var(--text)}details.advanced>summary::-webkit-details-marker{display:none}details.advanced>summary:before{content:"▸  "}details.advanced[open]>summary:before{content:"▾  "}details.advanced[open]>summary{color:var(--text)}.pane-head{margin-bottom:22px}.pane-head .mem-stat{margin-bottom:14px}.pane-actions{display:flex;flex-wrap:wrap;gap:8px}.pane-btn{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:var(--r-field);background:var(--bg);color:var(--text);font:inherit;font-size:13px;line-height:1;cursor:pointer;transition:background .18s,border-color .18s,transform .1s}.pane-btn:hover{background:var(--surface);border-color:var(--subtext)}.pane-btn:active{transform:scale(.97)}.pane-btn.danger{color:#b23b2a}.pane-btn.danger:hover{border-color:#b23b2a;background:color-mix(in srgb,#b23b2a 8%,var(--bg))}.advanced .pane-btn{margin-top:8px}.sys-error{align-self:center;max-width:88%;margin:8px 0;padding:11px 15px;border-radius:var(--r-field);border:1px solid color-mix(in srgb,#b23b2a 40%,var(--border));background:color-mix(in srgb,#b23b2a 7%,var(--surface));color:var(--text);font:inherit;font-size:13px;line-height:1.45;text-align:left;cursor:pointer;transition:background .18s}.sys-error:hover{background:color-mix(in srgb,#b23b2a 12%,var(--surface))}.why-tagline{font-family:var(--serif);font-style:italic;color:var(--subtext);font-size:14px;margin:-6px 0 14px}.bctx{margin:2px 0 16px}.bctx-row{margin-bottom:11px}.bctx-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:5px}.bctx-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text)}.bctx-val{font-size:12px;color:var(--subtext)}.bctx-track{height:10px;border-radius:5px;background:var(--bg);border:1px solid var(--border);overflow:hidden}.bctx-bar{height:100%;border-radius:5px}.bctx-bar.full{background:color-mix(in srgb,var(--subtext) 45%,var(--border))}.bctx-bar.work{background:var(--accent);min-width:3px}.why-subhead{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--subtext);margin:18px 0 6px;padding-top:14px;border-top:1px solid var(--border)}.bubble.model strong{font-weight:650}.bubble.model em{font-style:italic}.bubble.model a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.bubble.model code.md-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:color-mix(in srgb,var(--text) 9%,transparent);padding:1px 6px;border-radius:6px}.bubble.model pre.md-pre{margin:9px 0 4px;padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--text) 9%,transparent);overflow-x:auto}.bubble.model pre.md-pre code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;line-height:1.5;white-space:pre;background:none;padding:0;border:0}
