@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-cyrillic-ext-400-normal.fe77cf74.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-ext-400-normal.c53594e1.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-cyrillic-400-normal.03c3c250.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-400-normal.f9650ffc.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-greek-400-normal.5f160bba.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-greek-400-normal.bedb8549.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-vietnamese-400-normal.7f721ef5.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-vietnamese-400-normal.072f5433.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-latin-ext-400-normal.20dd57fa.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-ext-400-normal.40b9fc05.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-latin-400-normal.13a15bcd.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-400-normal.48b78688.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-sans-cyrillic-ext-500-normal.926ddd5b.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-ext-500-normal.cfe07773.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-sans-cyrillic-500-normal.8f83abe5.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-500-normal.b36047ca.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-sans-greek-500-normal.e5c8b350.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-greek-500-normal.0f811c39.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-sans-vietnamese-500-normal.4e93e369.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-vietnamese-500-normal.7649f465.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-sans-latin-ext-500-normal.91b576dd.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-ext-500-normal.e617d40b.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-sans-latin-500-normal.4cdcd386.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-500-normal.f8dd458c.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/ibm-plex-sans-cyrillic-ext-600-normal.399ec1c9.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-ext-600-normal.a53cdf56.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/ibm-plex-sans-cyrillic-600-normal.015f312d.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-600-normal.fdcd15f2.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/ibm-plex-sans-greek-600-normal.6cd27d8b.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-greek-600-normal.30fba19a.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/ibm-plex-sans-vietnamese-600-normal.4aa57cdf.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-vietnamese-600-normal.ea0cd549.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/ibm-plex-sans-latin-ext-600-normal.cb6ca6c6.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-ext-600-normal.73c474de.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/ibm-plex-sans-latin-600-normal.1cdb9a2c.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-600-normal.0eddcd6d.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.66a2e865.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.88f8fd5b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.651bc97e.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.9533b520.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.110e2a76.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.7d495472.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.9faee8e8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.f14ffb91.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-400-normal.06ac09dc.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-400-normal.e32cf7a4.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-500-normal.60bbe6c8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-500-normal.994c9659.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-cyrillic-500-normal.2a0db536.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-500-normal.d2ac083e.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-vietnamese-500-normal.cd8df815.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-500-normal.e53d79b9.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.5a49cbe3.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.f9f2cfdc.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-latin-500-normal.dece0821.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-500-normal.2258ff2f.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--bg:#0f1b24;--panel:#142430;--panel-2:#1a2e3c;--line:#26404f;--text:#dce7ee;--muted:#8ba3b3;--accent:#f0a43a;--accent-ink:#1d1406;--accent-soft:rgba(240,164,58,0.14);--ok:#43c07f;--bad:#e0605a;--code-bg:#0b151c;--sans:"IBM Plex Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;color-scheme:dark}:root[data-theme=light]{--bg:#eef2f4;--panel:#ffffff;--panel-2:#f4f7f9;--line:#d3dde3;--text:#14232e;--muted:#56707f;--accent:#a8620a;--accent-ink:#ffffff;--accent-soft:rgba(168,98,10,0.1);--ok:#1f8a55;--bad:#c0392b;--code-bg:#f1f4f6;color-scheme:light}*{box-sizing:border-box}body,html{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--panel-2);padding:6px 10px;border-radius:6px;font-size:13px;line-height:1.2}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:500}.btn.primary:disabled{background:var(--panel-2);color:var(--muted);border-color:var(--line);opacity:1}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{color:var(--text);background:var(--panel-2)}.btn.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn.danger:hover{color:var(--bad);border-color:var(--bad)}.icon-btn{padding:6px}.field{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px 10px}.field:focus{border-color:var(--accent);outline:none}select.field{padding:5px 8px;font-size:13px}.shell{display:grid;grid-template-columns:272px 1fr auto;height:100dvh}.shell.no-side{grid-template-columns:0 1fr auto}@media (max-width:640px){.shell,.shell.no-side{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:86vw;max-width:320px;z-index:30;box-shadow:0 0 40px rgba(0,0,0,.4)}.shell.no-side .sidebar{display:none}.toolkit{position:fixed;inset:0 0 0 auto;width:92vw;max-width:380px;z-index:30}}.side-backdrop{display:none}.sidebar{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;overflow:hidden}.brand{display:flex;align-items:center;gap:10px;padding:14px 14px 10px}.brand-name{font-family:var(--mono);font-weight:500;font-size:16px;letter-spacing:.02em}.brand-sub{font-size:12px;color:var(--muted)}.side-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;padding:0 12px 10px}.side-actions .btn{justify-content:center;white-space:nowrap;padding-left:8px;padding-right:8px}.side-actions .btn.primary{grid-column:1/-1}.side-actions .btn.lib-btn{grid-column:auto}.dev-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 14px;gap:0 14px}.dev-table{border-collapse:collapse;margin:10px 14px;font-size:13.5px}.dev-table th{text-align:left;color:var(--muted);font-weight:500;padding:3px 14px 3px 0;white-space:nowrap;vertical-align:top}.dev-table td{padding:3px 0}.dev-notes{white-space:pre-wrap;font-family:var(--mono);font-size:12.5px;margin:6px 14px;padding:10px;border:1px solid var(--line);border-radius:6px;background:rgba(127,127,127,.05)}.side-search{padding:0 12px 8px}.chat-list{flex:1 1;overflow-y:auto;padding:4px 6px 12px}.group-label{font-size:12px;color:var(--muted);padding:10px 8px 4px}.chat-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;grid-gap:10px;gap:10px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:6px;padding:7px 8px;font-size:13.5px}.chat-row.active,.chat-row:hover{background:var(--panel-2)}.chat-row.active{border-color:var(--line)}.chat-row .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-row .row-actions{display:none;gap:2px}.chat-row.active .row-actions,.chat-row:hover .row-actions{display:flex}.row-actions button{background:none;border:0;color:var(--muted);padding:2px;border-radius:4px}.row-actions button:hover{color:var(--text)}.led{width:8px;height:8px;border-radius:2px;background:var(--line)}.led.up{background:var(--ok);box-shadow:0 0 6px var(--ok)}.led.ctx{background:var(--accent)}.side-foot{border-top:1px solid var(--line);padding:10px 12px;display:flex;align-items:center;gap:6px;font-size:12px}.side-foot .who{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.main{display:flex;flex-direction:column;min-width:0;height:100dvh}.topbar{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--panel)}.topbar .chat-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1;min-width:0}.topbar select.field{width:auto}.status-strip{display:flex;flex-wrap:wrap;gap:4px 18px;padding:5px 14px;font-family:var(--mono);font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);background:var(--bg)}.status-strip b{font-weight:500;color:var(--text)}.status-strip .up{color:var(--ok)}.status-strip .down{color:var(--bad)}.status-strip .amber{color:var(--accent)}.banner{margin:10px 14px 0;padding:10px 12px;border:1px solid var(--bad);border-radius:6px;font-size:13.5px;background:rgba(224,96,90,.08)}.ctx-bar{display:flex;flex-wrap:wrap;padding:8px 14px 0}.chip,.ctx-bar{gap:6px;align-items:center}.chip{display:inline-flex;max-width:320px;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--panel);border-radius:4px;padding:3px 6px 3px 8px;font-size:12.5px}.chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip button{background:none;border:0;color:var(--muted);padding:1px;display:inline-flex}.chip button:hover{color:var(--text)}.feed{flex:1 1;overflow-y:auto;padding:18px 14px 8px}.feed-inner{max-width:880px;margin:0 auto}.msg{margin:0 0 22px}.msg-head{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:4px;font-family:var(--mono)}.msg-head .who-user{color:var(--accent)}.msg-head .who-ai{color:var(--ok)}.msg-head .tools{margin-left:auto;display:flex;gap:2px;opacity:0;transition:opacity .15s}.msg.served .msg-head .tools,.msg:hover .msg-head .tools{opacity:1}.msg.user .body{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 14px;white-space:pre-wrap;word-break:break-word}.msg.error .body{border-color:var(--bad);color:var(--bad)}.att-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.att{font-size:12px;border:1px dashed var(--line);border-radius:4px;padding:2px 6px}.att,.working{font-family:var(--mono);color:var(--muted)}.working{font-size:13px;display:flex;align-items:center;gap:8px}.pulse{width:8px;height:8px;border-radius:2px;background:var(--ok);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:.2}}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}.searches{font-family:var(--mono);font-size:12px;color:var(--muted);margin:4px 0 8px}.sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.sources a{font-size:12px;text-decoration:none;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:2px 8px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sources a:hover{color:var(--text);border-color:var(--muted)}.md{word-wrap:break-word}.md>:first-child{margin-top:0}.md ol,.md p,.md ul{margin:0 0 10px}.md ol,.md ul{padding-left:22px}.md li{margin:2px 0}.md h1,.md h2,.md h3,.md h4{line-height:1.3;margin:18px 0 8px;font-weight:600}.md h1{font-size:20px}.md h2{font-size:17px}.md h3{font-size:15.5px}.md h4{font-size:15px}.md code{font-family:var(--mono);font-size:.9em;background:var(--code-bg);border:1px solid var(--line);border-radius:4px;padding:0 4px}.md table{border-collapse:collapse;margin:8px 0 12px;font-size:13.5px;display:block;overflow-x:auto}.md td,.md th{border:1px solid var(--line);padding:5px 9px;text-align:left;vertical-align:top}.md th{background:var(--panel-2);font-weight:500}.md blockquote{margin:0 0 10px;padding:2px 12px;border-left:3px solid var(--line);color:var(--muted)}.md hr{border:0;border-top:1px solid var(--line);margin:16px 0}.codeblock{margin:8px 0 12px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--code-bg)}.codeblock-head{display:flex;align-items:center;justify-content:space-between;padding:3px 6px 3px 10px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11.5px;color:var(--muted)}.codeblock pre{margin:0;padding:10px 12px;overflow-x:auto}.codeblock pre code{background:none;border:0;padding:0;font-size:13px;line-height:1.55}.empty{max-width:720px;margin:8vh auto 0}.empty h1{font-family:var(--mono);font-weight:500;font-size:26px;margin:0 0 4px}.empty .prompt-caret{color:var(--accent)}.starter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:8px;gap:8px;margin-top:22px}.starter{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:13.5px}.starter:hover{border-color:var(--accent)}.starter small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.composer{padding:8px 14px 14px}.composer-box{max-width:880px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:8px}.composer-box:focus-within{border-color:var(--accent)}.composer textarea{width:100%;border:0;background:transparent;resize:none;outline:none;padding:12px 14px 4px;max-height:40vh;font-size:15px}.composer textarea.cli{font-family:var(--mono);font-size:14px}.composer-row{display:flex;align-items:center;gap:6px;padding:6px 8px 8px;flex-wrap:wrap}.composer-row .spacer{flex:1 1}.staged{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px 0}.hint{max-width:880px;margin:6px auto 0;font-size:12px;color:var(--muted);text-align:center}.toolkit{width:360px;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;height:100dvh}.tk-tabs{display:flex;border-bottom:1px solid var(--line)}.tk-tabs button{flex:1 1;background:none;border:0;border-bottom:2px solid transparent;padding:10px 4px;font-size:13px;color:var(--muted)}.tk-tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.tk-body{flex:1 1;overflow-y:auto;padding:14px;font-size:13.5px}.tk-body label{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px}.kv{width:100%;border-collapse:collapse;margin-top:12px;font-family:var(--mono);font-size:12.5px}.kv td{padding:4px 0;border-bottom:1px solid var(--line);vertical-align:top}.kv td:first-child{color:var(--muted);font-family:var(--sans);width:118px;white-space:nowrap;padding-right:10px}.kv td:last-child{word-break:break-all;cursor:copy}.err{color:var(--bad);font-size:12.5px;margin-top:8px}.cmd-group h4{margin:14px 0 6px;font-size:13px;font-weight:600}.cmd{display:flex;align-items:center;gap:6px;width:100%;border:1px solid var(--line);background:var(--bg);border-radius:4px;padding:4px 4px 4px 8px;margin-bottom:4px}.cmd code{flex:1 1;font-family:var(--mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd button{background:none;border:0;color:var(--muted);padding:3px;border-radius:3px;display:inline-flex}.cmd button:hover{color:var(--accent)}.overlay{position:fixed;inset:0;background:rgba(5,10,14,.6);z-index:50;display:grid;place-items:center;padding:16px}.modal{width:min(760px,100%);max-height:88dvh;background:var(--panel);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:16px;font-weight:600}.modal-body{padding:14px 16px;overflow-y:auto}.modal-foot{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line)}.drop{border:1.5px dashed var(--line);border-radius:8px;padding:22px;text-align:center;color:var(--muted);font-size:13.5px}.drop.over{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.convo-list{margin-top:12px;border:1px solid var(--line);border-radius:6px;max-height:42dvh;overflow-y:auto}.convo-item{display:grid;grid-template-columns:auto 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:7px 10px;border-bottom:1px solid var(--line);font-size:13.5px}.convo-item:last-child{border-bottom:0}.convo-item .meta{font-size:12px;color:var(--muted)}.tag{font-size:11px;border:1px solid var(--line);border-radius:3px;padding:0 5px;color:var(--muted);white-space:nowrap}.login-wrap{min-height:100dvh;display:grid;grid-template-columns:1.1fr 1fr;overflow:auto}.login-art{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:48px;gap:26px}.login-art h1{font-family:var(--mono);font-weight:500;font-size:34px;margin:0}.login-art p{color:var(--muted);max-width:44ch;margin:6px 0 0}.ports{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:6px;gap:6px;max-width:420px}.port{aspect-ratio:1.3;border:1px solid var(--line);border-radius:3px;background:var(--bg);position:relative}.port:after{content:"";position:absolute;top:3px;left:3px;width:5px;height:5px;border-radius:1px;background:var(--line)}.port.up:after{background:var(--ok)}.port.act:after{background:var(--accent)}@media (max-width:860px){.login-wrap{grid-template-columns:1fr;align-content:start}.login-art{border-right:0;border-bottom:1px solid var(--line);padding:28px 24px;gap:14px}.login-art h1{font-size:26px}.ports{max-width:240px;gap:4px}}.login-foot{margin-top:22px;font-size:12px;color:var(--muted);text-align:center}.login-form-side{display:grid;place-items:center;padding:32px 20px}.login-card{width:min(380px,100%)}.login-card h2{margin:0 0 4px;font-size:20px;font-weight:600}.login-card label{display:block;font-size:13px;margin:14px 0 5px}.login-card .btn.primary{width:100%;justify-content:center;padding:10px;margin-top:18px;font-size:14px}.pw-wrap{position:relative}.pw-wrap button{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--muted);display:inline-flex;padding:4px}.file-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.file-card{display:flex;align-items:center;gap:10px;max-width:520px;border:1px solid var(--line);border-left:3px solid var(--ok);background:var(--panel);border-radius:6px;padding:8px 8px 8px 10px}.file-icon{color:var(--ok);display:inline-flex}.file-meta{flex:1 1;min-width:0;display:flex;flex-direction:column;font-size:12px}.file-name{font-size:13.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}@media (max-width:600px){.hint{display:none}.file-card .btn.ghost{padding:6px}}.boot{height:100dvh;display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--mono);color:var(--muted)}.file-card-wrap{display:flex;flex-direction:column;gap:6px;max-width:520px}.file-preview{display:block;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.file-preview img{display:block;width:100%;max-height:420px;object-fit:contain}a.btn{color:inherit}a.att,a.btn{text-decoration:none}a.att:hover{color:var(--text);border-color:var(--muted)}.steps{margin:2px 0 10px;border:1px solid var(--line);border-radius:6px;background:var(--code-bg)}.steps summary{cursor:pointer;padding:5px 10px;font-family:var(--mono);font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;list-style:none}.steps summary::-webkit-details-marker{display:none}.steps[open] summary{border-bottom:1px solid var(--line)}.steps pre{margin:0;padding:8px 12px;font-family:var(--mono);font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto;border-bottom:1px dashed var(--line)}.steps pre:last-child{border-bottom:0}.steps pre.edit{color:var(--muted)}.pv-modal{width:min(1180px,100%);height:min(88dvh,900px);max-height:none}.pv-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);font-size:14px!important}.modal-head{gap:10px}.pv-body{flex:1 1;display:flex;flex-direction:column;min-height:0;padding:0}.pv-body>.err,.pv-body>.muted,.pv-body>.working{padding:16px}.pv-sheet{display:flex;flex-direction:column;min-height:0;flex:1 1}.pv-tabs{display:flex;gap:2px;padding:8px 10px 0;border-bottom:1px solid var(--line);overflow-x:auto;flex-shrink:0}.pv-tabs button{background:none;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0;padding:6px 12px;font-size:13px;color:var(--muted);white-space:nowrap}.pv-tabs button.on{background:var(--bg);border-color:var(--line);color:var(--text);margin-bottom:-1px}.pv-grid-wrap{flex:1 1;overflow:auto;background:var(--bg)}.pv-grid{border-collapse:collapse;font-size:12.5px;background:#fff;color:#1b1f23}.pv-grid th{top:0;background:#eef2f4;color:#56707f;font-weight:500;font-size:11.5px;border:1px solid #d3dde3;padding:2px 6px;z-index:1}.pv-grid tbody th,.pv-grid th{position:-webkit-sticky;position:sticky}.pv-grid tbody th{left:0;top:auto;text-align:right;min-width:36px}.pv-grid td{border:1px solid #e1e7eb;padding:3px 7px;white-space:pre;max-width:420px;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.pv-foot{font-size:12px;margin:0;padding:6px 12px;border-top:1px solid var(--line);flex-shrink:0}.pv-doc{flex:1 1;width:100%;border:0;background:#fff}.pv-img{max-width:100%;max-height:100%;object-fit:contain;margin:auto;display:block;padding:12px}.pv-text{margin:0;padding:14px 16px;font-family:var(--mono);font-size:12.5px;line-height:1.5;white-space:pre;background:var(--code-bg)}.pv-md,.pv-text{flex:1 1;overflow:auto}.pv-md{padding:16px 22px}.pv-slides{flex:1 1;overflow:auto;padding:16px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-content:start}.pv-slide{border:1px solid var(--line);border-radius:8px;background:#fff;color:#14232e;overflow:hidden;display:flex;flex-direction:column;aspect-ratio:16/10}.pv-slide-n{font-size:11px;color:#56707f;padding:5px 10px;border-bottom:3px solid #a8620a;font-family:var(--mono)}.pv-slide-body{padding:10px 14px;overflow:auto;flex:1 1;font-size:12.5px}.pv-slide-body h3{margin:0 0 6px;font-size:16px}.pv-slide-body p{margin:2px 0}.pv-notes{font-size:11.5px;color:#56707f;padding:6px 10px;border-top:1px solid #e1e7eb;max-height:30%;overflow:auto}@media (max-width:600px){.pv-modal{height:94dvh}.modal-head .btn.ghost:not(.icon-btn){display:none}}.msg-head .cost{border:1px solid var(--line);border-radius:3px;padding:0 5px;font-size:11px;color:var(--muted);cursor:help}.set-h{font-size:14px;font-weight:600;margin:22px 0 8px;padding-top:14px;border-top:1px solid var(--line)}.spend-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.spend-row>div{border:1px solid var(--line);border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;font-size:12px}.spend-row strong{font-family:var(--mono);font-size:16px;font-weight:500}@media (max-width:600px){.spend-row{grid-template-columns:repeat(2,1fr)}}.file-open{background:none;border:0;padding:0;text-align:left;cursor:pointer;color:inherit}.file-open:hover .file-name{text-decoration:underline}button.file-preview{padding:0;cursor:zoom-in}button.att{background:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px}button.att:hover{color:var(--text);border-color:var(--muted)}.chip-open{background:none;border:0;padding:0;color:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.chip-open:hover{text-decoration:underline}.tpl{position:relative}.tpl-menu{position:absolute;bottom:calc(100% + 6px);left:0;z-index:20;width:min(380px,86vw);background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px rgba(0,0,0,.35);max-height:55dvh;overflow-y:auto;padding:4px}.tpl-item{display:flex;align-items:center;border-radius:6px}.tpl-item:hover{background:var(--panel-2)}.tpl-pick{flex:1 1;min-width:0;background:none;border:0;text-align:left;padding:7px 9px;display:flex;flex-direction:column}.tpl-pick span{font-size:13.5px}.tpl-pick small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpl-del{background:none;border:0;color:var(--muted);padding:6px 8px;opacity:0}.tpl-item:hover .tpl-del{opacity:1}.tpl-del:hover{color:var(--bad)}.tpl-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.switch-row{display:flex;gap:10px;align-items:flex-start;font-size:13px}.switch-row input{margin-top:3px;accent-color:var(--accent)}.tf-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tf-row .field{width:120px;letter-spacing:.2em}.tf-setup{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.tf-setup img{border-radius:6px;background:#fff;padding:6px}.proj-bar{padding:0 12px 8px;display:flex;gap:6px}.proj-bar select{flex:1 1;min-width:0}.queue{max-width:880px;margin:0 auto 6px;display:flex;flex-direction:column;gap:4px}.queued{display:flex;align-items:center;gap:8px;border:1px dashed var(--line);border-radius:6px;padding:5px 6px 5px 10px;font-size:13px;background:var(--panel)}.queued .q-label{font-family:var(--mono);font-size:11px;color:var(--accent);flex-shrink:0}.queued .q-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-chip{font-size:11.5px;font-weight:500;border:1px solid var(--accent);color:var(--accent);border-radius:3px;padding:0 6px;margin-right:8px;vertical-align:1px}.proj-move{width:auto;max-width:150px}@media (max-width:700px){.proj-move{display:none}}.feed-wrap{position:relative;flex:1 1;min-height:0;display:flex;flex-direction:column}.feed-wrap .feed{flex:1 1;min-height:0}.jump{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:5;display:inline-flex;align-items:center;gap:6px;height:34px;min-width:34px;padding:0 9px;justify-content:center;border-radius:17px;border:1px solid var(--line);background:var(--panel);color:var(--text);box-shadow:0 4px 14px rgba(0,0,0,.3);font-size:12.5px;font-weight:500}.jump:hover{border-color:var(--muted)}.jump.new{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}@media (prefers-reduced-motion:no-preference){.jump{animation:jump-in .15s ease-out}}@keyframes jump-in{0%{opacity:0;transform:translate(-50%,6px)}}.credit-row{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:8px}.credit-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:13.5px}.msg-head .who-gpt{color:#6fb3c9}.msg-head .who-lib{color:#c58bf2}.msg-head .cost.lib{color:#c58bf2;border-color:rgba(197,139,242,.45);cursor:default}.msg-head .tools .btn.small{font-size:11px;padding:1px 7px;font-family:var(--mono)}.msg-head .tools .icon-btn.saved{color:#c58bf2}.searches.lib{color:#c58bf2}.searches.lib,.searches.route{display:flex;align-items:center;gap:6px}.searches.route{color:var(--muted)}.small-toggle{font-size:12px;padding:3px 8px}.parse-chip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);padding:6px 8px;border:1px dashed var(--line);border-radius:6px;margin-bottom:6px}.parse-chip span{flex:1 1;min-width:160px}.small-toggle.on{color:var(--accent);border-color:var(--accent)}.lib-btn{position:relative}.lib-btn .count{margin-left:6px;font-size:11px;font-family:var(--mono);background:var(--accent-soft);color:var(--accent);border-radius:10px;padding:0 6px}.lib-modal{width:min(1040px,100%);height:min(88dvh,760px)}.lib-modal .modal-head{gap:12px}.lib-toggle{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);margin-left:auto;cursor:pointer}.lib-body{display:grid;grid-template-columns:300px 1fr;grid-gap:0;gap:0;padding:0!important;overflow:hidden;flex:1 1;min-height:0}.lib-list{border-right:1px solid var(--line);overflow-y:auto;display:flex;flex-direction:column;min-height:0}.lib-search{display:flex;align-items:center;gap:6px;padding:10px;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:var(--panel);color:var(--muted)}.lib-search .field{flex:1 1;min-width:0}.lib-item{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:9px 12px;color:var(--ink);cursor:pointer;font:inherit}.lib-item.on,.lib-item:hover{background:var(--accent-soft)}.lib-item .t{display:flex;align-items:center;gap:5px;font-size:13.5px}.lib-item .t .ok{color:var(--ok);flex:none}.lib-item .meta{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}.lib-view{overflow-y:auto;min-height:0;padding:0 0 12px}.lib-view-head{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:var(--panel)}.lib-view-head .meta{font-size:12px;color:var(--muted);margin-top:2px}.lib-view-head .tools{margin-left:auto;display:flex;gap:2px}.lib-q{padding:10px 14px;font-size:13.5px;border-bottom:1px solid var(--line);background:rgba(127,127,127,.05)}.lib-q .who-user{font-family:var(--mono);font-size:12px;margin-right:6px}.lib-a{padding:8px 14px}.lbl{display:block;font-weight:500;margin:12px 0 6px;font-size:13.5px}.scan-item{grid-template-columns:auto 1fr!important;cursor:pointer}.scan-item input{margin-top:2px}.lbl:first-of-type{margin-top:0}.field.mono{font-family:var(--mono);font-size:12.5px}@media (max-width:640px){.side-backdrop{display:block;position:fixed;inset:0;background:rgba(5,10,14,.55);z-index:25}.sidebar{width:88vw;max-width:340px}.topbar{flex-wrap:wrap;gap:6px 8px;padding:7px 10px}.topbar .chat-title{order:1;flex:1 1 auto;font-size:15px}.topbar>button[aria-label="Toggle chat list"]{order:0}.topbar>button[aria-label="Toggle toolkit"]{order:2}.topbar #mode,.topbar #model{order:3;flex:1 1 45%;min-width:0}.topbar .proj-move{display:none}.topbar select.field{font-size:13px;padding:8px 6px}.status-strip{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:5px 10px;gap:14px;scrollbar-width:none}.status-strip::-webkit-scrollbar{display:none}.status-strip>span{flex:0 0 auto;white-space:nowrap}.feed{padding:12px 10px 6px}.msg{margin-bottom:18px}.msg.user .body{padding:10px 12px}.md table{font-size:12.5px}.codeblock pre{padding:9px 10px}.codeblock pre code{font-size:12px}.file-card{flex-wrap:wrap}.file-card .file-meta{flex:1 1 100%;margin-bottom:4px}.composer{padding:6px 10px 10px}.composer textarea{font-size:16px;padding:11px 12px 4px}.composer-row{gap:4px;padding:5px 6px 7px}.composer-row .btn{padding:9px 10px}.icon-btn{padding:9px}.modal{max-height:92dvh;border-radius:12px 12px 0 0;align-self:end;width:100%}.lib-modal{height:92dvh}.lib-body{grid-template-columns:1fr;grid-template-rows:40% 1fr}.lib-list{border-right:0;border-bottom:1px solid var(--line)}.lib-toggle{display:none}.dev-grid{grid-template-columns:1fr}.overlay{padding:0;align-items:end}.modal-foot{position:-webkit-sticky;position:sticky;bottom:0;background:var(--panel)}.jump{bottom:10px;height:38px}.tpl-menu{width:min(92vw,380px)}}