@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/fraunces-vietnamese-wght-normal.9ea1ffad.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/fraunces-latin-ext-wght-normal.df252a37.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/fraunces-latin-wght-normal.7d78925e.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-cyrillic-ext-wght-normal.8bbfa6e0.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-cyrillic-wght-normal.12b57c6b.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-vietnamese-wght-normal.c6a3f4e5.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-latin-ext-wght-normal.b921df26.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-latin-wght-normal.9ff55a8a.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-ext-wght-normal.460bdf14.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-wght-normal.491cbc05.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-ext-wght-normal.23aae568.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-wght-normal.4449bf7a.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-vietnamese-wght-normal.113a630f.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-ext-wght-normal.3835a68e.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-wght-normal.6c596dfc.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-ext-wght-normal.0d2c2f66.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-wght-normal.23645aad.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-greek-wght-normal.c6c31cb1.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-vietnamese-wght-normal.93fc40a8.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-ext-wght-normal.9c9751ca.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-wght-normal.a865edea.woff2) format("woff2-variations");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,[data-theme=light]{--bg:#fbfbfd;--surface:#ffffff;--surface-2:#f4f5f9;--surface-3:#eceef6;--border:#e6e8f2;--border-strong:#d6d9e6;--fg:#191d27;--fg-soft:#3a4152;--muted:#5b6478;--dim:#8b93a7;--card-bg:#f8fafc;--error:#dc2626;--accent:#6366f1;--accent-2:#4f46e5;--accent-hi:#818cf8;--accent-fg:#ffffff;--grad-accent:linear-gradient(135deg,#6366f1,#4f46e5);--grad-iris:radial-gradient(circle at 27% 22%,#ffa6e4 0%,transparent 55%),radial-gradient(circle at 75% 26%,#a498ff 0%,transparent 55%),radial-gradient(circle at 25% 80%,#6fabff 0%,transparent 55%),radial-gradient(circle at 80% 74%,#5ee9cc 0%,transparent 55%),linear-gradient(135deg,#b6a5fb,#7c83f7);--grad-iris-ring:conic-gradient(from 200deg,#ffa6e4,#a498ff,#6fabff,#5ee9cc,#ffa6e4);--glow-iris:0 4px 22px rgba(129,140,248,0.3),0 2px 12px rgba(255,160,225,0.2);--glass:rgba(255,255,255,0.66);--glass-brd:rgba(255,255,255,0.9);--glass-blur:blur(18px) saturate(160%);--glow:rgba(99,102,241,0.24);--soft:rgba(99,102,241,0.08);--ring:rgba(99,102,241,0.32);--shadow-sm:0 1px 2px rgba(20,24,44,0.05),0 1px 3px rgba(20,24,44,0.05);--shadow-md:0 6px 22px rgba(20,24,44,0.08);--shadow-glow:0 8px 26px rgba(99,102,241,0.18);--ok:#16a34a;--warn:#d97706;--err:#dc2626;--idle:#94a3b8;--radius:8px;--radius-lg:14px;--radius-pill:999px;--font:"Geist","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--ui:"Geist","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--display:"Fraunces","Iowan Old Style",Georgia,"Times New Roman",serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}.dark,[data-theme=dark]{--bg:#14161f;--surface:#1b1e29;--surface-2:#232735;--surface-3:#2c3140;--border:#333850;--border-strong:#434964;--fg:#f3f5fa;--fg-soft:#cdd3e2;--muted:#a6afc4;--dim:#8f98ad;--card-bg:#1b1e29;--error:#f87171;--accent:#818cf8;--accent-2:#6366f1;--accent-hi:#a5b4fc;--accent-fg:#14161f;--grad-accent:linear-gradient(135deg,#818cf8,#6366f1);--grad-iris:radial-gradient(circle at 27% 22%,#ffb0e8 0%,transparent 55%),radial-gradient(circle at 75% 26%,#b3c0ff 0%,transparent 55%),radial-gradient(circle at 25% 80%,#7fb4ff 0%,transparent 55%),radial-gradient(circle at 80% 74%,#6ff0d6 0%,transparent 55%),linear-gradient(135deg,#b6a5fb,#7c83f7);--grad-iris-ring:conic-gradient(from 200deg,#ffb0e8,#b3c0ff,#7fb4ff,#6ff0d6,#ffb0e8);--glow-iris:0 4px 26px rgba(179,192,255,0.4),0 2px 14px rgba(255,176,232,0.24);--glass:rgba(38,43,60,0.74);--glass-brd:rgba(255,255,255,0.14);--glass-blur:blur(20px) saturate(150%);--glow:rgba(129,140,248,0.5);--soft:rgba(129,140,248,0.16);--ring:rgba(129,140,248,0.55);--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 12px 34px rgba(6,8,16,0.5);--shadow-glow:0 8px 30px rgba(99,102,241,0.4);--ok:#22c55e;--warn:#f59e0b;--err:#f87171;--idle:#7681a0}.tanya-emblem{position:relative;border-radius:50%;background:var(--surface);border:1px solid var(--glass-brd);box-shadow:var(--glow-iris);width:40px;height:40px;flex:none}.tanya-emblem:before{background:var(--grad-iris);filter:saturate(1.12);animation:tanya-iris 9s ease-in-out infinite}.tanya-emblem:after,.tanya-emblem:before{content:"";position:absolute;inset:3px;border-radius:50%}.tanya-emblem:after{background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.68),transparent 46%);mix-blend-mode:screen}@keyframes tanya-iris{0%,to{filter:saturate(1.08) hue-rotate(0deg)}50%{filter:saturate(1.3) hue-rotate(20deg)}}@media (prefers-reduced-motion:reduce){.tanya-emblem:before{animation:none}}.tui-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;color:var(--fg);box-shadow:var(--shadow-sm)}.tui-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;font-family:var(--ui);border:1px solid var(--border)}.tui-badge-dot{width:.5rem;height:.5rem;border-radius:999px}.tui-table{width:100%;border-collapse:collapse;color:var(--fg)}.tui-table td,.tui-table th{padding:.5rem .75rem;border-bottom:1px solid var(--border);text-align:left;font-size:.875rem}.tui-table th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:600;font-family:var(--ui)}.tui-sidebar{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background:var(--surface);border-right:1px solid var(--border);min-height:100vh;width:240px}.tui-sidebar a{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius);color:var(--fg);text-decoration:none;font-size:.875rem;font-family:var(--ui)}.tui-sidebar a:hover{background:var(--surface-2)}.tui-sidebar a[aria-current=page]{background:var(--soft);color:var(--accent);font-weight:500}.tui-topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg);color:var(--fg)}.tui-skeleton{display:inline-block;background:linear-gradient(90deg,var(--border) 0,var(--surface-2) 50%,var(--border) 100%);background-size:200% 100%;animation:tui-skeleton 1.4s ease-in-out infinite;border-radius:4px}@keyframes tui-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.tui-modal-backdrop{position:fixed;inset:0;background:rgba(10,12,22,.5);display:flex;align-items:center;justify-content:center;z-index:50}.tui-modal{border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;min-width:320px;max-width:560px;box-shadow:var(--shadow-md)}.tui-modal,.tui-toast{background:var(--surface);color:var(--fg)}.tui-toast{padding:.75rem 1rem;border-radius:var(--radius);border:1px solid var(--border);font-size:.875rem;box-shadow:var(--shadow-sm)}.tui-toast[data-variant=success]{border-color:var(--ok)}.tui-toast[data-variant=error]{border-color:var(--err)}.tui-toast[data-variant=info]{border-color:var(--accent)}.tui-empty{text-align:center;padding:2rem;color:var(--muted)}.tui-btn{padding:.5rem .875rem;border-radius:var(--radius-pill);border:1px solid transparent;background:var(--grad-accent);color:var(--accent-fg);font-size:.875rem;font-weight:600;font-family:var(--ui);cursor:pointer;box-shadow:var(--shadow-glow)}.tui-btn-ghost{background:var(--surface);border-color:var(--border-strong);color:var(--fg-soft);box-shadow:var(--shadow-sm)}.tui-btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.tui-metric{display:flex;flex-direction:column;gap:.25rem}.tui-metric-title{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-family:var(--ui)}.tui-metric-value{font-family:var(--display);font-size:1.75rem;font-weight:600}.tui-metric-trend{font-size:.75rem}.tui-metric-trend[data-dir=up]{color:var(--ok)}.tui-metric-trend[data-dir=down]{color:var(--err)}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body,html{padding:0;margin:0;font-family:var(--font);font-optical-sizing:auto;background:var(--bg);color:var(--fg)}a{color:inherit}h1,h2,h3{font-family:var(--display)}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.app-content,.app-main{display:flex;flex-direction:column}.app-content{padding:1.5rem;gap:1.5rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem}.status-strip{display:flex;flex-wrap:wrap;gap:.5rem}.page-title{font-family:var(--display);font-size:1.5rem;margin:0}button,input,label,nav,select,textarea{font-family:var(--ui)}.form-card{max-width:360px;margin:4rem auto}.form-card label{display:block;font-size:.875rem;margin-bottom:.25rem;color:var(--muted)}.form-card input,.form-card select{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);margin-bottom:.875rem;font-size:.875rem}.usage-bar{width:100%;height:8px;background:var(--border);border-radius:999px;overflow:hidden}.usage-bar>div{height:100%;background:var(--accent)}.chat-shell{display:flex;height:calc(100vh - 4rem)}.chat-sidebar{width:260px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface)}.chat-sidebar-header{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.chat-sidebar-title{font-size:.8125rem;font-weight:600;color:var(--fg)}.chat-sidebar-list{flex:1 1;overflow-y:auto}.chat-sidebar-empty{font-size:.75rem;color:var(--dim);padding:12px 14px}.chat-sidebar-item{width:100%;text-align:left;padding:8px 14px;font-size:.8125rem;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--fg);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-sidebar-item:hover{background:var(--surface-2)}.chat-sidebar-item[data-active=true]{background:var(--soft);color:var(--accent);font-weight:500}.chat-sidebar-item-count{font-size:.6875rem;color:var(--dim);margin-left:4px}.chat-main{flex:1 1;display:flex;flex-direction:column;max-width:768px;margin:0 auto;width:100%;padding:20px 24px}.chat-header{justify-content:space-between;margin-bottom:16px;flex-wrap:wrap}.chat-header,.chat-header-left,.chat-header-right{display:flex;align-items:center;gap:8px}.chat-title{font-family:var(--display);font-size:1.25rem;font-weight:700;color:var(--fg);margin:0}.chat-status-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0;position:relative}.chat-status-dot[data-state=connected]{background:var(--ok)}.chat-status-dot[data-state=connected]:after{content:"";position:absolute;inset:-3px;border-radius:999px;border:2px solid var(--ok);opacity:0;animation:chat-breathe 2.4s ease-out infinite}.chat-status-dot[data-state=connecting]{background:#eab308}.chat-status-dot[data-state=disconnected]{background:var(--err)}.chat-btn-ghost,.chat-status-text{font-size:.75rem;color:var(--dim)}.chat-btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.chat-btn-ghost:hover{background:var(--surface-2);border-color:var(--accent);color:var(--fg)}.chat-btn-ghost:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-btn-accent{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;font-size:.75rem;border:none;border-radius:var(--radius);background:var(--accent);color:var(--accent-fg);cursor:pointer;transition:filter .15s}.chat-btn-accent:hover{filter:brightness(1.1)}.chat-btn-accent:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-transcript{flex:1 1;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:16px;margin-bottom:12px}.chat-messages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.chat-empty{text-align:center;color:var(--dim);padding:80px 16px}.chat-empty-heading{font-family:var(--display);font-size:1.125rem;margin:0 0 8px;color:var(--muted)}.chat-empty-desc{font-size:.8125rem;margin:0 0 12px;color:var(--dim)}.chat-empty-hint{font-size:.75rem;color:var(--dim);margin:4px 0 0}.chat-empty-code{font-family:var(--mono);background:var(--surface-2);padding:1px 6px;border-radius:4px;font-size:.6875rem}.chat-bubble-row{display:flex}.chat-bubble-row[data-role=user]{justify-content:flex-end}.chat-bubble-row[data-role=assistant],.chat-bubble-row[data-role=error]{justify-content:flex-start}.chat-bubble{max-width:85%;border-radius:14px;padding:8px 14px;font-size:.875rem;line-height:1.6}.chat-bubble[data-role=user]{background:linear-gradient(140deg,#9b3ff0,#5b21b6);color:#fff;border-radius:14px 14px 4px 14px;border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 22px -8px rgba(91,33,182,.6)}.chat-bubble[data-role=assistant]{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-brd);border-radius:4px 14px 14px 14px;color:var(--fg)}.chat-bubble[data-role=error]{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.3);border-radius:4px 14px 14px 14px;color:var(--err)}[data-theme=dark] .chat-bubble[data-role=error]{color:#fca5a5}.chat-thinking{display:inline-flex;align-items:center;gap:8px;color:var(--dim);font-style:italic}.chat-thinking-dot{width:6px;height:6px;border-radius:999px;background:var(--accent);animation:chat-wave 1.1s ease-in-out infinite}.chat-thinking-dot:nth-child(2){animation-delay:.15s}.chat-thinking-dot:nth-child(3){animation-delay:.3s}.chat-bubble-trace{margin-top:6px;padding-top:6px;border-top:1px solid var(--glass-brd);display:flex;align-items:center;gap:8px;font-size:.625rem;color:var(--dim)}.chat-bubble-trace-id{font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-bubble-trace-link{color:var(--accent);text-decoration:none;flex-shrink:0}.chat-bubble-trace-link:hover{text-decoration:underline}.chat-action-bar{display:flex;justify-content:center;gap:8px;margin-bottom:8px}.chat-btn-stop{display:inline-flex;align-items:center;padding:4px 12px;font-size:.75rem;border:1px solid rgba(220,38,38,.55);border-radius:var(--radius);background:rgba(220,38,38,.1);color:var(--err);cursor:pointer}[data-theme=dark] .chat-btn-stop{color:#fca5a5}.chat-btn-regen:focus-visible,.chat-btn-stop:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-btn-regen{display:inline-flex;align-items:center;padding:4px 12px;font-size:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--dim);cursor:pointer}.chat-btn-regen:hover{border-color:var(--accent);color:var(--fg)}.chat-consent-banner{margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d97706;background:rgba(217,119,6,.08);border-radius:var(--radius);padding:8px 12px;font-size:.75rem;color:var(--fg)}.chat-consent-link{text-decoration:underline;color:var(--accent)}.chat-consent-link:hover{color:var(--accent-2)}.chat-reconnect-banner{margin-bottom:8px;display:flex;align-items:center;gap:8px;border:1px solid var(--accent);background:var(--soft);border-radius:var(--radius);padding:8px 12px;font-size:.75rem;color:var(--fg)}.chat-reconnect-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--accent);border-top:2px solid transparent;border-radius:999px;animation:chat-spin .8s linear infinite}.chat-auth-error{font-size:.75rem;color:var(--err);margin-left:8px}[data-theme=dark] .chat-auth-error{color:#fca5a5}.chat-input-form{display:flex;gap:8px;align-items:flex-end}.chat-textarea{flex:1 1;border:1px solid var(--glass-brd);border-radius:var(--radius);padding:10px 14px;font-size:.875rem;font-family:inherit;background:var(--surface);color:var(--fg);resize:none;min-height:40px;max-height:132px;transition:border-color .15s}.chat-textarea::placeholder{color:var(--dim)}.chat-textarea:focus{outline:none;border-color:var(--accent)}.chat-textarea:focus-visible{box-shadow:0 0 0 2px var(--glow)}.chat-textarea:disabled{opacity:.5;cursor:not-allowed}.chat-send-btn{width:38px;height:38px;border:none;border-radius:var(--radius);background:linear-gradient(140deg,var(--accent),var(--accent-2));color:var(--accent-fg);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:filter .15s,transform .1s;box-shadow:0 6px 16px -6px var(--glow);flex-shrink:0}.chat-send-btn:hover:not(:disabled){filter:brightness(1.08)}.chat-send-btn:active:not(:disabled){transform:scale(.95)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.chat-send-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-send-hint{font-size:.6875rem;color:var(--dim);margin-top:4px;text-align:right}.chat-markdown code{background:var(--surface-2);padding:1px 5px;border-radius:4px;font-size:.85em;font-family:var(--mono)}.chat-bubble[data-role=user] .chat-markdown code{background:rgba(255,255,255,.18)}.chat-markdown-codeblock{margin:8px 0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.chat-markdown-codeblock-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:var(--surface-2);font-size:.625rem;color:var(--dim)}.chat-markdown-codeblock-lang{font-family:var(--mono)}.chat-markdown-codeblock-copy{background:none;border:none;color:var(--dim);cursor:pointer;font-size:.625rem;padding:2px 4px}.chat-markdown-codeblock-copy:hover{color:var(--fg)}.chat-markdown-codeblock pre{margin:0;padding:12px;overflow-x:auto;font-size:.75rem;line-height:1.6;background:var(--surface)}.chat-markdown table{min-width:100%;border-collapse:collapse;font-size:.75rem}.chat-markdown th{text-align:left;font-weight:600}.chat-markdown td,.chat-markdown th{padding:4px 8px;border-bottom:1px solid var(--border)}.chat-markdown blockquote{border-left:2px solid var(--accent);padding-left:12px;margin:4px 0;font-style:italic;color:var(--dim)}.chat-markdown ul{list-style:disc;padding-left:20px;margin:4px 0}.chat-markdown ol{list-style:decimal;padding-left:20px;margin:4px 0}.chat-markdown li,.chat-markdown p{margin:2px 0}.chat-markdown .md-heading{font-weight:700;margin-top:12px;margin-bottom:4px}.chat-markdown .md-heading-sm{font-size:.875rem;font-weight:600;margin-top:8px;margin-bottom:2px}@keyframes chat-breathe{0%{transform:scale(.7);opacity:.7}to{transform:scale(2.1);opacity:0}}@keyframes chat-wave{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}@keyframes chat-spin{to{transform:rotate(1turn)}}.chat-drop-overlay{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:rgba(109,40,217,.12);border:2px dashed var(--accent);border-radius:var(--radius);pointer-events:none}.chat-drop-label{font-size:1.25rem;font-weight:600;color:var(--accent)}.chat-attach-btn{width:38px;height:38px;border:1px solid var(--glass-brd);border-radius:var(--radius);background:var(--glass);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;transition:background .15s}.chat-attach-btn:hover:not(:disabled){background:var(--surface-2)}.chat-attach-btn:disabled{opacity:.4;cursor:not-allowed}.chat-attachment-strip{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}.chat-attachment-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--soft);border:1px solid var(--glass-brd);border-radius:12px;font-size:.75rem;color:var(--fg)}.chat-attachment-remove{background:none;border:none;color:var(--dim);cursor:pointer;font-size:.875rem;padding:0 2px;line-height:1}.chat-attachment-remove:hover{color:var(--err)}.chat-upload-error{font-size:.75rem;color:var(--err);padding:2px 0}.chat-attachments{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.chat-attachment-badge{font-size:.6875rem;background:rgba(255,255,255,.15);padding:1px 6px;border-radius:8px}.chat-tool-trail{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;padding-top:4px;border-top:1px solid var(--glass-brd)}.chat-tool-step{font-size:.6875rem;color:var(--dim);display:inline-flex;align-items:center;gap:2px}.chat-tool-query{font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}.chat-markdown-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.chat-markdown-link:hover{filter:brightness(1.2)}.chat-bubble[data-role=user] .chat-markdown-link{color:rgba(255,255,255,.9)}.chat-sidebar-item-row{display:flex;align-items:center;gap:0}.chat-sidebar-item-row .chat-sidebar-item{flex:1 1;min-width:0}.chat-sidebar-delete{background:none;border:none;color:var(--dim);cursor:pointer;font-size:1rem;padding:4px 6px;opacity:0;transition:opacity .15s,color .15s}.chat-sidebar-item-row:hover .chat-sidebar-delete{opacity:1}.chat-sidebar-delete:hover{color:var(--err)}.chat-artifact-card{max-width:85%;margin-top:6px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--soft);overflow:hidden}.chat-artifact-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid var(--glass-brd)}.chat-artifact-label{font-size:.75rem;font-weight:600;color:var(--accent)}.chat-artifact-preview{margin:0;padding:8px 12px;font-size:.6875rem;line-height:1.5;overflow:hidden;max-height:60px;color:var(--dim);font-family:var(--mono)}.chat-artifact-panel{width:420px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--surface)}.chat-artifact-panel-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.chat-artifact-panel-title{font-size:.8125rem;font-weight:600;color:var(--fg)}.chat-artifact-panel-code{flex:1 1;margin:0;padding:16px;overflow:auto;font-size:.75rem;line-height:1.6;font-family:var(--mono);color:var(--fg)}@media (max-width:768px){.chat-shell{height:calc(100vh - 3.5rem)}.chat-sidebar{position:fixed;inset:0;width:100%;z-index:30;background:var(--bg)}.chat-main{padding:12px 16px}.chat-title{font-size:1rem}.chat-bubble{max-width:92%}.chat-artifact-panel{position:fixed;inset:0;width:100%;z-index:30;background:var(--bg)}}.chat-shell :focus-visible{outline:2px solid var(--accent);outline-offset:2px}