@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/699bd79bf2b43bab-s.woff2) format("woff2");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 Thai;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/672d4d9b9d8d459a-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/b129d5638b5694d2-s.woff2) format("woff2");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 Thai;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/b88b793517a9d83f-s.p.woff2) format("woff2");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 Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/db9bfcd87f1d73a3-s.woff2) format("woff2");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 Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4e2312c98e240c05-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/feed52454563c595-s.woff2) format("woff2");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 Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f83e5507ec3854fa-s.p.woff2) format("woff2");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 Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8934311971e59087-s.woff2) format("woff2");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 Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bfdf244a9384e8b2-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b10e9fa1144bb4fb-s.woff2) format("woff2");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 Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d13ab8ed065835e4-s.p.woff2) format("woff2");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 Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d8c0f620f258dcc1-s.woff2) format("woff2");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 Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5fcb63deed33aab6-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e595057e1ab84c19-s.woff2) format("woff2");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 Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/861fabf8a4ffc042-s.p.woff2) format("woff2");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 Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/2b32cc5cb75c7a84-s.woff2) format("woff2");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 Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0d4277ce62acaedf-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/942c4903ae74b0f3-s.woff2) format("woff2");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 Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/66c5464579bf95d1-s.p.woff2) format("woff2");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 Thai Fallback;src:local("Arial");ascent-override:110.31%;descent-override:52.78%;line-gap-override:0.00%;size-adjust:101.17%}.__className_3237e5{font-family:IBM Plex Sans Thai,IBM Plex Sans Thai Fallback;font-style:normal}.__variable_3237e5{--font-sans:"IBM Plex Sans Thai","IBM Plex Sans Thai Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");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 Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_595324{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--bg:oklch(16% 0.018 264);--bg-elev:oklch(20% 0.022 264);--surface:oklch(24% 0.026 264);--surface-2:oklch(28% 0.03 264);--border:oklch(32% 0.028 264);--border-soft:oklch(27% 0.024 264);--text:oklch(96% 0.006 264);--muted:oklch(72% 0.018 264);--faint:oklch(58% 0.02 264);--primary:oklch(76% 0.12 210);--primary-strong:oklch(70% 0.13 215);--primary-soft:oklch(76% 0.12 210/0.15);--on-primary:oklch(20% 0.03 220);--accent:oklch(82% 0.13 78);--accent-soft:oklch(82% 0.13 78/0.16);--user:oklch(74% 0.1 270);--user-soft:oklch(74% 0.1 270/0.16);--success:oklch(74% 0.16 152);--danger:oklch(70% 0.2 25);--danger-soft:oklch(70% 0.2 25/0.13);--radius:14px;--radius-sm:10px;--radius-lg:18px;--font:var(--font-sans),ui-sans-serif,system-ui,"Segoe UI",sans-serif;--mono:var(--font-mono),ui-monospace,"Cascadia Code",monospace;--dur:180ms;--ease:cubic-bezier(0.2,0.6,0.2,1)}*{box-sizing:border-box}body,html{margin:0;height:100%;background:radial-gradient(900px 500px at 88% -8%,oklch(45% .09 210/.12),transparent 70%),radial-gradient(700px 500px at 5% 110%,oklch(50% .08 78/.06),transparent 70%),var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--surface-2);background-clip:content-box}button{font-family:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}.app{display:grid;grid-template-columns:296px 1fr;height:100dvh;overflow:hidden}.main-pane{min-width:0;height:100dvh}.chat-pane,.main-pane{display:flex;flex-direction:column}.chat-pane{width:100%;max-width:860px;margin:0 auto;padding:0 20px 18px}.chat-pane,.chat-pane .thread{flex:1 1 auto;min-height:0}.topbar{justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--border-soft);background:oklch(18% .02 264/.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand,.topbar{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:var(--on-primary);background:linear-gradient(150deg,var(--primary),var(--primary-strong));box-shadow:0 4px 16px oklch(70% .13 215/.25)}.brand h1{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.01em}.brand p{margin:2px 0 0;font-size:.76rem}.brand p,.status{color:var(--muted)}.status{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;border:1px solid var(--border);padding:6px 12px 6px 10px;border-radius:999px}.status .dot{width:7px;height:7px;border-radius:50%;background:var(--success)}.status.live{color:var(--accent);border-color:oklch(82% .13 78/.4);background:var(--accent-soft)}.status.live .dot{background:var(--accent);animation:pulse 1.4s var(--ease) infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.7)}}.sidebar{display:flex;flex-direction:column;gap:12px;padding:16px 14px 14px;border-right:1px solid var(--border-soft);background:oklch(18% .02 264);height:100dvh;overflow:hidden}.sidebar-head{display:flex;align-items:center;gap:10px;padding:2px 6px 4px}.sidebar-head .brand-mark{width:30px;height:30px;border-radius:9px}.sidebar-head span{font-weight:600;font-size:.92rem;letter-spacing:-.01em}.new-chat{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:.88rem;color:var(--on-primary);background:linear-gradient(150deg,var(--primary),var(--primary-strong));border:none;transition:filter var(--dur) var(--ease),transform var(--dur) var(--ease)}.new-chat:hover{filter:brightness(1.08)}.new-chat:active{transform:translateY(1px)}.search-wrap{position:relative;display:flex;align-items:center}.search-wrap .search-icon{position:absolute;left:11px;color:var(--faint);pointer-events:none}.search{width:100%;padding:10px 12px 10px 34px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:.86rem;font-family:inherit;outline:none;transition:border-color var(--dur) var(--ease)}.search::placeholder{color:var(--faint)}.search:focus{border-color:var(--primary)}.conv-list{flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column;gap:1px;margin:2px -4px 0;padding:0 4px}.conv-section-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding:10px 8px 6px}.conv-empty{color:var(--faint);font-size:.84rem;padding:14px 8px;text-align:center}.conv-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur) var(--ease)}.conv-item.active,.conv-item:hover{background:var(--surface)}.conv-item.active:before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:3px;border-radius:99px;background:var(--primary)}.conv-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;color:var(--muted)}.conv-item.active .conv-title,.conv-item:hover .conv-title{color:var(--text)}.conv-actions{display:flex;gap:1px;flex:none;opacity:0;transition:opacity var(--dur) var(--ease)}.conv-item:focus-within .conv-actions,.conv-item:hover .conv-actions{opacity:1}.icon-btn{display:grid;place-items:center;width:28px;height:28px;background:none;border:none;border-radius:8px;cursor:pointer;color:var(--faint);transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.icon-btn:hover{color:var(--text);background:var(--surface-2)}.icon-btn.danger:hover{color:var(--danger);background:var(--danger-soft)}.sidebar-foot{gap:10px;border-top:1px solid var(--border-soft);padding-top:12px}.sidebar-foot,.user-chip{display:flex;align-items:center}.user-chip{gap:9px;min-width:0;flex:1 1}.avatar-sm{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;font-size:.74rem;font-weight:600;color:var(--on-primary);background:linear-gradient(150deg,var(--user),oklch(64% .12 285))}.who{font-size:.84rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hamburger,.who{color:var(--text)}.hamburger{position:fixed;top:13px;left:13px;z-index:30;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:8px;cursor:pointer}.hamburger,.scrim{display:none}.thread{overflow-y:auto;padding:22px 2px 8px;display:flex;flex-direction:column;gap:20px}.empty{margin:auto;text-align:center;max-width:480px;padding:24px}.empty-mark{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border-radius:16px;color:var(--primary);background:var(--primary-soft);border:1px solid oklch(76% .12 210/.3)}.empty h2{margin:0 0 8px;font-size:1.3rem;font-weight:600;letter-spacing:-.01em}.empty p{margin:0 0 22px;color:var(--muted);font-size:.92rem}.chips{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.chip{background:var(--bg-elev);border:1px solid var(--border);color:var(--muted);padding:12px 14px;border-radius:var(--radius-sm);font-size:.86rem;text-align:left;cursor:pointer;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.chip:hover{border-color:var(--primary);color:var(--text);transform:translateY(-1px)}.msg{display:flex;gap:12px;align-items:flex-start}.msg-user{flex-direction:row-reverse}.avatar{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:.68rem;font-weight:600;background:var(--surface);border:1px solid var(--border);color:var(--muted)}.msg-assistant .avatar{color:var(--primary);border-color:oklch(76% .12 210/.35);background:var(--primary-soft)}.msg-user .avatar{color:var(--on-primary);background:linear-gradient(150deg,var(--user),oklch(64% .12 285));border-color:transparent}.bubble{max-width:80%;background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:var(--radius);border-top-left-radius:5px;padding:12px 15px}.msg-user .bubble{background:var(--user-soft);border-color:oklch(74% .1 270/.3);border-top-left-radius:var(--radius);border-top-right-radius:5px}.text{margin:0;white-space:pre-wrap;line-height:1.62}.text+.text{margin-top:.6em}.md{line-height:1.62;color:var(--text);overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:.62em 0}.md h1,.md h2,.md h3,.md h4{margin:1.1em 0 .5em;line-height:1.3;font-weight:650}.md h1{font-size:1.32em}.md h2{font-size:1.18em}.md h3{font-size:1.06em}.md h4{font-size:.98em;color:var(--muted)}.md ol,.md ul{margin:.55em 0;padding-left:1.35em}.md li{margin:.28em 0}.md li::marker{color:var(--primary)}.md strong{font-weight:680;color:oklch(99% .006 264)}.md em{font-style:italic}.md a{color:var(--primary);text-decoration:none;border-bottom:1px solid oklch(76% .12 210/.4);transition:border-color var(--dur) var(--ease)}.md a:hover{border-bottom-color:var(--primary)}.md hr{margin:1.1em 0;border:0;border-top:1px solid var(--border)}.md blockquote{margin:.7em 0;padding:2px 0 2px 13px;border-left:3px solid var(--primary-soft);color:var(--muted)}.md :not(pre)>code{font-family:var(--mono);font-size:.86em;padding:1px 6px;border-radius:6px;background:var(--surface);border:1px solid var(--border-soft);color:var(--accent)}.md pre{margin:.7em 0;padding:12px 14px;border-radius:var(--radius-sm);background:oklch(13% .016 264);border:1px solid var(--border);overflow-x:auto}.md pre code{font-family:var(--mono);font-size:.82rem;line-height:1.55;color:var(--text);background:none;border:0;padding:0}.md-table-wrap{margin:.8em 0;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.md-table-wrap table{width:100%;border-collapse:collapse;font-size:.86rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.md-table-wrap td,.md-table-wrap th{padding:8px 13px;text-align:left;border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-soft);white-space:nowrap}.md-table-wrap td:last-child,.md-table-wrap th:last-child{border-right:0}.md-table-wrap thead th{background:var(--surface-2);color:var(--muted);font-weight:600;font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;position:-webkit-sticky;position:sticky;top:0}.md-table-wrap tbody tr:nth-child(2n){background:oklch(22% .024 264/.5)}.md-table-wrap tbody tr:hover{background:var(--primary-soft)}.md-table-wrap tbody tr:last-child td{border-bottom:0}.md-table-wrap td[align=right],.md-table-wrap th[align=right]{text-align:right}.md-table-wrap td[align=center],.md-table-wrap th[align=center]{text-align:center}.err-bubble{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.bubble.thinking{padding:14px 16px}.thinking-dots{display:inline-flex;gap:5px}.thinking-dots i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.3s var(--ease) infinite both}.thinking-dots i:nth-child(2){animation-delay:.18s}.thinking-dots i:nth-child(3){animation-delay:.36s}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.tool{margin:8px 0 2px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.tool.is-open{border-color:color-mix(in oklch,var(--primary) 35%,var(--border));box-shadow:0 6px 20px -14px var(--primary)}.tool.has-err{border-color:color-mix(in oklch,var(--danger) 32%,var(--border))}.tool-head{width:100%;display:flex;align-items:center;gap:9px;padding:9px 13px;background:var(--surface);border:0;font:inherit;font-size:.8rem;text-align:left;cursor:pointer;color:var(--text);transition:background var(--dur) var(--ease)}.tool-head:hover{background:color-mix(in oklch,var(--surface) 86%,var(--primary))}.tool-head:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.tool-chevron{flex:none;color:var(--faint);transition:transform var(--dur) var(--ease),color var(--dur) var(--ease)}.tool.is-open .tool-chevron{transform:rotate(90deg);color:var(--primary)}.tool-tag{flex:none;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--primary);background:var(--primary-soft);padding:2px 7px;border-radius:6px}.tool-name{font-family:var(--mono);font-size:.82rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-state{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:500;padding:2px 8px 2px 7px;border-radius:999px;color:var(--faint);background:color-mix(in oklch,var(--faint) 14%,transparent)}.tool-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.tool-state.is-done{color:var(--success);background:color-mix(in oklch,var(--success) 15%,transparent)}.tool-state.is-err{color:var(--danger);background:var(--danger-soft)}.tool-state.is-run{color:var(--accent);background:var(--accent-soft)}.tool-state.is-run .tool-dot{animation:pulse 1.4s var(--ease) infinite}.tool-body{border-top:1px solid var(--border);padding:4px 0;animation:tool-reveal var(--dur) var(--ease)}@keyframes tool-reveal{0%{opacity:0;transform:translateY(-3px)}}.tool-section{padding:8px 13px 4px}.tool-label{display:block;margin-bottom:5px;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.tool-io{margin:0;padding:10px 12px;border-radius:9px;background:var(--surface);font-family:var(--mono);font-size:.76rem;line-height:1.55;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto;color:var(--muted)}.tool-out{color:var(--text)}.tool-err{color:var(--danger);background:var(--danger-soft)}.tool-pending{margin:0;padding:6px 13px 10px;font-size:.76rem;color:var(--faint)}.composer{display:flex;align-items:flex-end;gap:8px;padding:8px 8px 8px 16px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--dur) var(--ease)}.composer:focus-within{border-color:var(--primary)}.composer input{flex:1 1;background:transparent;border:none;outline:none;color:var(--text);font-size:.96rem;font-family:inherit;padding:9px 0}.composer input::placeholder{color:var(--faint)}.send-btn{flex:none;display:grid;place-items:center;width:38px;height:38px;background:linear-gradient(150deg,var(--primary),var(--primary-strong));color:var(--on-primary);border:none;border-radius:11px;cursor:pointer;transition:filter var(--dur) var(--ease),opacity var(--dur) var(--ease)}.send-btn:hover:not(:disabled){filter:brightness(1.08)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:372px;display:flex;flex-direction:column;gap:14px;padding:30px 28px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 30px 70px oklch(0 0 0/.45)}.login-brand{display:flex;align-items:center;gap:11px}.login-brand h1{margin:0;font-size:1.22rem;font-weight:600;letter-spacing:-.01em}.login-sub{margin:0 0 4px;font-size:.85rem;color:var(--muted)}.login-card input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;color:var(--text);font-size:.96rem;font-family:inherit;outline:none;transition:border-color var(--dur) var(--ease)}.login-card input:focus{border-color:var(--primary)}.login-card button{background:linear-gradient(150deg,var(--primary),var(--primary-strong));color:var(--on-primary);border:none;border-radius:var(--radius-sm);padding:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:filter var(--dur) var(--ease)}.login-card button:hover:not(:disabled){filter:brightness(1.08)}.login-card button:disabled{opacity:.45;cursor:not-allowed}.login-error{font-size:.85rem;color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-sm);padding:9px 12px}.login-brand .brand-mark{width:36px;height:36px}@media (max-width:860px){.app{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;z-index:25;width:296px;transform:translateX(-100%);transition:transform var(--dur) var(--ease);box-shadow:0 0 50px oklch(0 0 0/.55)}.app.sidebar-open .sidebar{transform:translateX(0)}.app.sidebar-open .scrim{display:block;position:fixed;inset:0;z-index:20;background:oklch(0 0 0/.5)}.hamburger{display:grid;place-items:center}.topbar{padding-left:60px}.chips{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}