@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-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:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-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:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-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:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-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:Montserrat Fallback;src:local("Arial");ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.00%;size-adjust:112.83%}.__className_ca911e{font-family:Montserrat,Montserrat Fallback;font-style:normal}.__variable_ca911e{--font-prometheus:"Montserrat","Montserrat Fallback"}:root,html[data-theme=matrix]{--bg:#020805;--bg-body:#000802;--bg-elevated:rgba(4,18,10,0.82);--bg-panel:rgba(3,14,8,0.88);--border:rgba(0,255,100,0.18);--border-soft:rgba(0,200,80,0.12);--text:#d8ffe8;--text-muted:#7fbf96;--text-dim:#4d7a5c;--accent:#00ff6a;--accent-dim:rgba(0,255,106,0.12);--accent-strong:#00d455;--user-bubble:rgba(0,48,28,0.75);--user-border:rgba(0,255,120,0.28);--assistant-bubble:rgba(4,16,10,0.88);--assistant-border:rgba(0,200,90,0.2);--danger:#ff6b7a;--danger-dim:rgba(255,107,122,0.12);--warning:#f0b429;--warning-dim:rgba(240,180,41,0.12);--success:#3dd68c;--code-bg:rgba(0,8,4,0.92);--code-header:rgba(0,20,10,0.95);--code-border:rgba(0,255,100,0.15);--shadow:0 8px 32px rgba(0,0,0,0.55);--radius:14px;--font-sans:var(--font-prometheus),"Montserrat","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-display:var(--font-prometheus),"Montserrat","Segoe UI",system-ui,sans-serif;--font-mono:"Cascadia Code","Fira Code","JetBrains Mono",Consolas,monospace;--title-color:#b8ffd0;--title-shadow:0 0 12px rgba(0,255,100,0.45);--logo-border:rgba(0,255,100,0.45);--logo-shadow:0 0 0 1px rgba(0,0,0,0.6),0 0 22px rgba(0,255,90,0.35),inset 0 0 12px rgba(0,255,80,0.08);--app-bg:linear-gradient(180deg,rgba(0,10,4,0.55),rgba(0,8,3,0.72) 40%,rgba(0,6,2,0.82));--app-border:rgba(0,255,100,0.08);--app-shadow:0 0 80px rgba(0,255,80,0.06);--header-bg:linear-gradient(180deg,rgba(0,20,8,0.35),transparent);--composer-wrap-bg:linear-gradient(180deg,transparent,rgba(0,8,3,0.75) 30%,rgba(0,6,2,0.9));--send-bg:linear-gradient(135deg,#00ff6a,#00b84a);--send-color:#021006;--send-shadow:0 0 16px rgba(0,255,100,0.3);--badge-border:rgba(0,255,100,0.35);--badge-shadow:0 0 14px rgba(0,255,90,0.2);--scrollbar:rgba(0,80,40,0.8);--overlay:rgba(0,0,0,0.55);--settings-bg:rgba(3,16,8,0.96);--hljs-fg:#c9e6d4;--hljs-comment:#4d7a5c;--hljs-keyword:#7dffb0;--hljs-string:#c3e88d;--hljs-title:#82ffaa;--hljs-number:#f0b429;--user-role:rgba(160,255,200,0.7);--inline-code-bg:rgba(0,255,100,0.1);--inline-code-border:rgba(0,255,100,0.22);--inline-code-fg:#8dffb5;--title-transform:uppercase;--title-tracking:0.18em;--title-weight:800;--tagline-tracking:0.22em;--app-backdrop:blur(2px);--panel-backdrop:blur(10px)}html[data-theme=dark]{--bg:#0b0f14;--bg-body:#0b0f14;--bg-elevated:#121820;--bg-panel:#0f141b;--border:#1e2a38;--border-soft:#1a2430;--text:#e7eef7;--text-muted:#8b9bb0;--text-dim:#5c6b7f;--accent:#3dd6c6;--accent-dim:rgba(61,214,198,0.15);--accent-strong:#2bb8a9;--user-bubble:linear-gradient(160deg,#1c4558,#153848);--user-border:#2a5a6e;--assistant-bubble:#141b24;--assistant-border:#243040;--code-bg:#0a0e13;--code-header:#10161f;--code-border:#243040;--shadow:0 8px 32px rgba(0,0,0,0.45);--title-color:var(--text);--title-shadow:none;--logo-border:rgba(61,214,198,0.35);--logo-shadow:0 0 24px rgba(61,214,198,0.25);--app-bg:transparent;--app-border:transparent;--app-shadow:none;--header-bg:transparent;--composer-wrap-bg:linear-gradient(180deg,transparent,var(--bg) 20%);--send-bg:linear-gradient(135deg,#3dd6c6,#2bb8a9);--send-color:#041018;--send-shadow:none;--badge-border:rgba(61,214,198,0.25);--badge-shadow:none;--scrollbar:#243040;--overlay:rgba(4,8,14,0.62);--settings-bg:#121820;--hljs-fg:#c9d7e6;--hljs-comment:#5c6b7f;--hljs-keyword:#c792ea;--hljs-string:#c3e88d;--hljs-title:#82aaff;--hljs-number:#f78c6c;--user-role:rgba(160,220,240,0.7);--inline-code-bg:rgba(61,214,198,0.1);--inline-code-border:rgba(61,214,198,0.18);--inline-code-fg:#9aefe4;--title-transform:uppercase;--title-tracking:0.16em;--title-weight:800;--tagline-tracking:0.2em;--app-backdrop:none;--panel-backdrop:none}html[data-theme=light]{--bg:#f4f7fb;--bg-body:#eef3f8;--bg-elevated:#ffffff;--bg-panel:#ffffff;--border:#d5dee8;--border-soft:#e2e8f0;--text:#152033;--text-muted:#5b6b80;--text-dim:#8494a8;--accent:#0d9f8f;--accent-dim:rgba(13,159,143,0.12);--accent-strong:#0b8578;--user-bubble:linear-gradient(160deg,#d9f3f0,#c8ebe7);--user-border:#9ad9d1;--assistant-bubble:#ffffff;--assistant-border:#d5dee8;--code-bg:#0f1720;--code-header:#15202b;--code-border:#243040;--shadow:0 8px 28px rgba(20,40,70,0.08);--title-color:#152033;--title-shadow:none;--logo-border:rgba(13,159,143,0.35);--logo-shadow:0 4px 16px rgba(13,159,143,0.18);--app-bg:transparent;--app-border:transparent;--app-shadow:none;--header-bg:transparent;--composer-wrap-bg:linear-gradient(180deg,transparent,#eef3f8 25%);--send-bg:linear-gradient(135deg,#14b8a6,#0d9f8f);--send-color:#ffffff;--send-shadow:0 4px 14px rgba(13,159,143,0.28);--badge-border:rgba(13,159,143,0.28);--badge-shadow:none;--scrollbar:#c5d0dc;--overlay:rgba(15,25,40,0.4);--settings-bg:#ffffff;--hljs-fg:#c9d7e6;--hljs-comment:#5c6b7f;--hljs-keyword:#c792ea;--hljs-string:#c3e88d;--hljs-title:#82aaff;--hljs-number:#f78c6c;--user-role:rgba(10,90,80,0.75);--inline-code-bg:rgba(13,159,143,0.1);--inline-code-border:rgba(13,159,143,0.22);--inline-code-fg:#0b7a6e;--title-transform:uppercase;--title-tracking:0.16em;--title-weight:800;--tagline-tracking:0.2em;--app-backdrop:none;--panel-backdrop:none;--danger:#d6455d;--danger-dim:rgba(214,69,93,0.1);--warning:#c98a12;--warning-dim:rgba(201,138,18,0.12)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;width:100%;height:100%;height:100dvh;max-height:100dvh;overflow:hidden;background:var(--bg-body);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body{position:relative}html[data-theme=dark] body{background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(61,214,198,.08),transparent),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(80,120,255,.05),transparent)}html[data-theme=light] body{background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(13,159,143,.08),transparent),radial-gradient(ellipse 50% 40% at 100% 100%,rgba(80,120,255,.05),transparent)}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}a{color:var(--accent)}.matrix-rain{position:fixed;inset:0;width:100vw;height:100dvh;z-index:0;pointer-events:none;background:#000802;display:block}.app-shell{height:100dvh}.app,.app-shell{position:relative;z-index:1;width:100%;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column}.app{height:100%;margin:0;padding:0;background:var(--app-bg);border:none;box-shadow:none;-webkit-backdrop-filter:var(--app-backdrop);backdrop-filter:var(--app-backdrop)}.app-inner{display:flex;flex-direction:column;width:100%;max-width:960px;height:100%;margin:0 auto;padding:0 20px;min-height:0;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 10px;border-bottom:1px solid var(--border-soft);flex-shrink:0;background:var(--header-bg)}.header-chatgpt{justify-content:flex-end;min-height:48px;border-bottom-color:transparent}.header-actions-end{margin-left:auto}.brand{display:flex;align-items:center;gap:12px;min-width:0}.logo{width:44px;height:44px;border-radius:12px;background:#ffffff;display:grid;place-items:center;border:1px solid var(--logo-border);box-shadow:var(--logo-shadow)}.brand-logo,.logo{overflow:hidden;flex-shrink:0}.brand-logo{width:44px;height:44px;max-width:44px;border-radius:12px;padding:0}.brand-logo,html[data-theme=light] .logo{background:#ffffff}.logo-img{width:100%;height:100%;display:block;background:#ffffff}.brand-logo-img,.logo-img{object-fit:contain;object-position:center;padding:3px}.brand-logo-img{width:100%!important;height:100%!important;max-width:none}html[data-theme=matrix] .logo-img{filter:none}.brand h1,.brand-wordmark{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:var(--title-weight);letter-spacing:var(--title-tracking);text-transform:var(--title-transform);color:var(--title-color);text-shadow:var(--title-shadow);line-height:1.15}.brand p{margin:3px 0 0;font-size:.62rem}.brand p,.brand-tagline{font-family:var(--font-display);font-weight:500;letter-spacing:var(--tagline-tracking);text-transform:uppercase;color:var(--text-muted)}.brand-tagline{font-size:.68rem}.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.badge{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border:1px solid var(--badge-border);padding:4px 10px;box-shadow:var(--badge-shadow);font-family:var(--font-mono)}.badge,.settings-trigger{font-weight:600;border-radius:999px}.settings-trigger{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);font-size:.78rem;transition:border-color .15s,color .15s,background .15s,box-shadow .15s}.settings-trigger:hover{color:var(--text);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.settings-gear{font-size:1rem;line-height:1}@media (max-width:560px){.settings-trigger-label{display:none}.settings-trigger{padding:8px 10px}.brand-logo{width:40px;height:40px;max-width:40px}.header{padding:12px 0}}.messages{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:16px 0 8px;scroll-behavior:smooth;overscroll-behavior:contain;scrollbar-gutter:stable}.messages::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:8px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;min-height:0;padding:12px 16px;gap:12px;overflow:hidden}.empty-logo{width:min(220px,42vw);height:auto;max-height:min(200px,28vh);object-fit:contain;border:none;border-radius:0;background:transparent;box-shadow:none;padding:0;margin:0;flex-shrink:1;display:block}html[data-theme=matrix] .empty-logo{filter:drop-shadow(0 0 18px rgba(0,255,90,.35)) drop-shadow(0 0 36px rgba(0,255,70,.15))}.empty-lead{margin:0;color:var(--text-muted);max-width:480px;line-height:1.45;font-size:.95rem;font-weight:500;flex-shrink:0}.empty-state .brand-wordmark,.empty-state h2{margin:0;font-family:var(--font-display);font-size:clamp(1.25rem,3vw,1.7rem);font-weight:var(--title-weight);letter-spacing:var(--title-tracking);text-transform:var(--title-transform);color:var(--title-color);text-shadow:var(--title-shadow);flex-shrink:0}.empty-state .brand-tagline{margin:2px 0 8px;max-width:480px;flex-shrink:0}.empty-state p{margin:0 0 10px;color:var(--text-muted);max-width:440px;line-height:1.45;font-size:.92rem;flex-shrink:0}.empty-state p.brand-tagline{margin:2px 0 8px;font-size:.68rem;line-height:1.4;max-width:520px}.starters{display:flex;flex-direction:column;gap:8px;width:100%;max-width:560px;max-height:min(42vh,280px);overflow:hidden;border:none;box-shadow:none;padding:0}.starter-btn,.starters{min-height:0;background:transparent;flex-shrink:1}.starter-btn{text-align:left;padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));color:var(--text);transition:border-color .15s,background .15s,transform .1s,box-shadow .15s,color .15s;line-height:1.35;font-size:.9rem;-webkit-backdrop-filter:none;backdrop-filter:none}.starter-btn:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent-dim) 55%,transparent);transform:translateY(-1px);box-shadow:0 0 22px var(--accent-dim);color:var(--text)}.starter-btn:disabled{opacity:.5;cursor:not-allowed}.starter-btn .label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:4px;font-weight:600}.message-row{display:flex;margin-bottom:16px}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.bubble{max-width:min(100%,720px);border-radius:var(--radius);padding:12px 14px;font-size:.95rem;line-height:1.55}.bubble.user{background:var(--user-bubble);border:1px solid var(--user-border);border-bottom-right-radius:4px;white-space:pre-wrap;word-break:break-word;-webkit-backdrop-filter:var(--panel-backdrop);backdrop-filter:var(--panel-backdrop)}html[data-theme=matrix] .bubble.user{background:linear-gradient(160deg,rgba(0,70,40,.85),rgba(0,40,24,.9));box-shadow:0 0 24px rgba(0,255,90,.08)}.bubble.assistant{background:var(--assistant-bubble);border:1px solid var(--assistant-border);border-bottom-left-radius:4px;width:100%;max-width:min(100%,820px);min-width:0;-webkit-backdrop-filter:var(--panel-backdrop);backdrop-filter:var(--panel-backdrop);overflow:hidden}html[data-theme=matrix] .bubble.assistant{box-shadow:0 0 24px rgba(0,255,70,.06)}.role-tag{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px}.bubble.user .role-tag{color:var(--user-role);text-align:right}.stream-meta{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border-soft);font-size:.8rem;color:var(--text-muted)}.stream-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.cursor-blink{display:inline-block;width:8px;height:1.05em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink .9s step-end infinite;border-radius:1px}@keyframes blink{50%{opacity:0}}.status-banner{margin-top:10px;padding:10px 12px;border-radius:10px;font-size:.85rem;line-height:1.45}.status-banner.error{background:var(--danger-dim);border:1px solid rgba(255,107,122,.35);color:#ffb3bb}html[data-theme=light] .status-banner.error{color:#b4233a;border-color:rgba(214,69,93,.35)}.status-banner.stopped{background:var(--warning-dim);border:1px solid rgba(240,180,41,.35);color:#f5d07a}html[data-theme=light] .status-banner.stopped{color:#8a5a00;border-color:rgba(201,138,18,.35)}.status-banner.success{background:rgba(61,214,140,.1);border:1px solid rgba(61,214,140,.3);color:#8eecc0}.md-p{margin:0 0 .75em}.md-p:last-child{margin-bottom:0}.md-h1,.md-h2,.md-h3{margin:.9em 0 .4em;line-height:1.25;letter-spacing:-.02em}.md-h1{font-size:1.2rem}.md-h2{font-size:1.08rem}.md-h3{font-size:1rem;color:var(--text-muted)}.md-ul{margin:.4em 0 .8em;padding-left:1.2em}.md-li{margin:.25em 0}.md-ol{margin:.4em 0 .8em;padding-left:1.2em}.md-blockquote{margin:.6em 0;padding:.4em 0 .4em .9em;border-left:3px solid var(--accent);color:var(--text-muted)}.md-hr{border:none;border-top:1px solid var(--border-soft);margin:1em 0}.md-a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.md-strong{font-weight:700}.md-em{font-style:italic}.inline-code{font-family:var(--font-mono);font-size:.86em;background:var(--inline-code-bg);border:1px solid var(--inline-code-border);padding:.1em .35em;border-radius:5px;color:var(--inline-code-fg)}.code-block{margin:12px 0;border-radius:12px;overflow:hidden;border:1px solid var(--code-border);background:var(--code-bg);max-width:100%;min-width:0}.code-header{justify-content:space-between;padding:8px 12px;background:var(--code-header);border-bottom:1px solid var(--code-border);position:-webkit-sticky;position:sticky;top:0;z-index:1}.code-header,.code-header-meta{display:flex;align-items:center;gap:8px}.code-header-meta{min-width:0}.code-lang{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#8aa0b8}.code-lang,.code-lines{font-family:var(--font-mono)}.code-lines{font-size:.68rem;color:#6b7f96;white-space:nowrap}.code-actions{display:flex;gap:6px;flex-shrink:0}.code-btn{font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:6px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:#a8c0d8;transition:background .12s,color .12s,border-color .12s}.code-btn:hover{background:rgba(255,255,255,.08);color:#e7eef7;border-color:rgba(255,255,255,.22)}.code-btn.primary{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:var(--accent-dim)}.code-btn.primary:hover{filter:brightness(1.08)}.code-btn-copy.is-copied{color:#8eecc0;border-color:rgba(61,214,140,.35)}.code-btn:disabled{opacity:.5;cursor:not-allowed}.code-pre{margin:0;padding:14px 16px;overflow:auto;max-height:min(58vh,520px);font-family:var(--font-mono);font-size:.82rem;line-height:1.55;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;-webkit-user-select:text;-moz-user-select:text;user-select:text;-moz-tab-size:2;tab-size:2}.code-block.is-long .code-pre{max-height:min(62vh,640px)}.code-pre code{display:block;font-family:inherit;white-space:pre;word-break:normal;overflow-wrap:normal;min-width:max-content;-webkit-user-select:text;-moz-user-select:text;user-select:text}.md-body{min-width:0;max-width:100%;overflow-wrap:anywhere}.md-body .code-block{overflow-wrap:normal}.code-open-hint{font-size:.72rem;color:#6b7f96;font-style:italic;padding:0 12px 10px}.run-output{border-top:1px solid var(--code-border);background:#080c10;padding:10px 14px;font-family:var(--font-mono);font-size:.78rem;color:#a8c0d8;max-height:180px;overflow-y:auto}.run-output .run-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7f96;margin-bottom:6px;font-weight:700}.run-output .err{color:#ff8a96}.composer-wrap{flex-shrink:0;padding:10px 0 14px;border-top:1px solid var(--border-soft);background:var(--composer-wrap-bg)}.composer{display:flex;gap:10px;align-items:flex-end;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;padding:10px 12px;box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s;-webkit-backdrop-filter:var(--panel-backdrop);backdrop-filter:var(--panel-backdrop)}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim),var(--shadow)}.composer textarea{flex:1 1;resize:none;border:none;outline:none;background:transparent;min-height:44px;max-height:160px;padding:8px 6px;line-height:1.45;color:var(--text);font:inherit}.composer textarea::placeholder{color:var(--text-dim)}.composer-actions{display:flex;gap:8px;align-items:center;padding-bottom:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:10px;font-weight:600;font-size:.9rem;transition:background .12s,opacity .12s,transform .1s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn-send{background:var(--send-bg);color:var(--send-color);min-width:88px;box-shadow:var(--send-shadow)}.btn-send:hover:not(:disabled){filter:brightness(1.06)}.btn-stop{background:var(--danger-dim);color:#ff9aa5;border:1px solid rgba(255,107,122,.4)}.btn-stop:hover{background:rgba(255,107,122,.22)}html[data-theme=light] .btn-stop{color:#b4233a}.hint{margin:8px 4px 0;font-size:.72rem;color:var(--text-dim);text-align:center}.dev-credit{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35rem;margin:0;width:100%;min-height:1.6em;padding:0;border:none;background:transparent;box-shadow:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:var(--font-mono),"Cascadia Code",Consolas,monospace;font-size:.92rem;font-weight:700;letter-spacing:.06em;line-height:1.45;text-align:center;color:#39ff14;text-shadow:0 0 6px rgba(57,255,20,.95),0 0 16px rgba(57,255,20,.65),0 0 32px rgba(0,255,100,.4),0 0 48px rgba(0,255,80,.2)}.dev-credit-prompt{color:#7cff5a;font-weight:800;text-shadow:0 0 8px rgba(124,255,90,1),0 0 18px rgba(57,255,20,.75),0 0 30px rgba(0,255,80,.4);flex-shrink:0}.dev-credit-text{white-space:pre-wrap;word-break:break-word;color:#b8ff9a;text-transform:none;text-shadow:0 0 6px rgba(184,255,154,.95),0 0 14px rgba(57,255,20,.7),0 0 28px rgba(0,255,100,.4),0 0 42px rgba(0,255,80,.22)}.dev-credit-caret{display:inline-block;width:.55em;height:1.1em;margin-left:1px;background:#39ff14;box-shadow:0 0 8px rgba(57,255,20,1),0 0 18px rgba(57,255,20,.85),0 0 28px rgba(0,255,100,.55);animation:dev-caret-blink .95s step-end infinite;vertical-align:text-bottom;flex-shrink:0}html[data-theme=light] .dev-credit{color:#1fe05a;text-shadow:0 0 6px rgba(31,224,90,.75),0 0 16px rgba(31,224,90,.45),0 0 28px rgba(0,200,80,.25)}html[data-theme=light] .dev-credit-prompt{color:#12d94a;text-shadow:0 0 8px rgba(18,217,74,.85),0 0 18px rgba(18,217,74,.45)}html[data-theme=light] .dev-credit-text{color:#0fbf48;text-shadow:0 0 6px rgba(15,191,72,.7),0 0 16px rgba(15,191,72,.4),0 0 28px rgba(0,180,70,.22)}html[data-theme=light] .dev-credit-caret{background:#1fe05a;box-shadow:0 0 8px rgba(31,224,90,.95),0 0 18px rgba(31,224,90,.55)}html[data-theme=dark] .dev-credit{color:#39ff14;text-shadow:0 0 6px rgba(57,255,20,.95),0 0 16px rgba(57,255,20,.65),0 0 32px rgba(0,255,100,.4)}html[data-theme=dark] .dev-credit-prompt{color:#7cff5a;text-shadow:0 0 8px rgba(124,255,90,1),0 0 18px rgba(57,255,20,.75)}html[data-theme=dark] .dev-credit-text{color:#c8ffb0;text-shadow:0 0 6px rgba(200,255,176,.95),0 0 14px rgba(57,255,20,.7),0 0 28px rgba(0,255,100,.4)}html[data-theme=dark] .dev-credit-caret{background:#39ff14;box-shadow:0 0 8px rgba(57,255,20,1),0 0 18px rgba(57,255,20,.85)}.dev-credit-chat{margin-top:8px;font-size:.72rem;font-weight:600;letter-spacing:.04em;opacity:.85;text-shadow:0 0 4px rgba(57,255,20,.45),0 0 12px rgba(57,255,20,.2)}.dev-credit-chat .dev-credit-text{color:#9dffb0;text-shadow:0 0 4px rgba(157,255,176,.5),0 0 10px rgba(57,255,20,.25)}.dev-credit-chat .dev-credit-caret{width:.42em;height:.95em}.dev-credit-login{margin-top:18px;font-size:.95rem}@keyframes dev-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.hljs{background:transparent!important;color:var(--hljs-fg);padding:0!important}.hljs-comment,.hljs-quote{color:var(--hljs-comment);font-style:italic}.hljs-keyword,.hljs-literal,.hljs-selector-tag{color:var(--hljs-keyword)}.hljs-doctag,.hljs-string{color:var(--hljs-string)}.hljs-name,.hljs-section,.hljs-title{color:var(--hljs-title)}.hljs-bullet,.hljs-number,.hljs-symbol{color:var(--hljs-number)}.hljs-attr,.hljs-attribute,.hljs-built_in,.hljs-type{color:#ffcb6b}.hljs-template-variable,.hljs-variable{color:#f07178}.hljs-meta{color:#89ddff}.hljs-function .hljs-title{color:var(--hljs-title)}.settings-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.settings-panel{width:min(100%,440px);max-height:min(90dvh,640px);overflow:auto;background:var(--settings-bg);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:18px 18px 20px}.settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.settings-header h2{margin:0;font-size:1.15rem;letter-spacing:var(--title-tracking)}.settings-sub{margin:4px 0 0;font-size:.82rem;color:var(--text-muted)}.settings-close{width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);font-size:.95rem;display:grid;place-items:center;transition:color .12s,border-color .12s,background .12s}.settings-close:hover{color:var(--text);border-color:var(--accent)}.settings-section h3{margin:0 0 6px;font-size:.92rem;font-weight:700}.settings-help{margin:0 0 14px;font-size:.8rem;color:var(--text-muted);line-height:1.45}.theme-options{display:flex;flex-direction:column;gap:10px}.theme-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;width:100%;text-align:left;padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);transition:border-color .15s,background .15s,box-shadow .15s}.theme-option:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.theme-option.is-selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 1px var(--accent-dim)}.theme-swatch{width:44px;height:44px;border-radius:12px;border:1px solid var(--border);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;flex-shrink:0}.theme-swatch .swatch-a,.theme-swatch .swatch-b,.theme-swatch .swatch-c{display:block}.theme-swatch .swatch-a{grid-column:1/-1}.theme-option--matrix .theme-swatch{background:#000802;border-color:rgba(0,255,100,.35)}.theme-option--matrix .swatch-a{background:linear-gradient(90deg,#003b1a,#00ff6a 55%,#003b1a)}.theme-option--matrix .swatch-b{background:#021408}.theme-option--matrix .swatch-c{background:#00b84a}.theme-option--dark .theme-swatch{background:#0b0f14;border-color:#2a3a4c}.theme-option--dark .swatch-a{background:linear-gradient(90deg,#153848,#3dd6c6)}.theme-option--dark .swatch-b{background:#141b24}.theme-option--dark .swatch-c{background:#2bb8a9}.theme-option--light .theme-swatch{background:#f4f7fb;border-color:#d5dee8}.theme-option--light .swatch-a{background:linear-gradient(90deg,#d9f3f0,#14b8a6)}.theme-option--light .swatch-b{background:#ffffff}.theme-option--light .swatch-c{background:#0d9f8f}.theme-option-text{display:flex;flex-direction:column;gap:2px;min-width:0}.theme-option-label{font-weight:700;font-size:.95rem}.theme-option-desc{font-size:.78rem;color:var(--text-muted);line-height:1.35}.theme-check{width:22px;text-align:center;color:var(--accent);font-weight:700;font-size:1rem}@media (max-width:560px){.app-inner{padding:0 12px}.bubble{max-width:100%}.btn-send{min-width:72px;padding:10px 12px}.badge{display:none}.usage-badge{display:inline-flex}.empty-state p:not(.empty-lead){display:none}.empty-logo{width:min(160px,48vw);max-height:min(140px,22vh)}.empty-lead{font-size:.88rem;max-width:92vw}.starters{max-width:100%;gap:6px;max-height:min(36vh,220px)}.starter-btn{font-size:.84rem}.starter-btn .label{display:none}.login-card{width:min(100%,460px);padding:28px 20px 22px}.login-logo{width:min(280px,78vw);height:min(280px,78vw)}.login-lead{font-size:1rem}.starter-btn{padding:10px 12px;font-size:.88rem}.settings-trigger-label{display:none}.chat-sidebar{position:absolute;inset:0 auto 0 0;z-index:5;height:100%;box-shadow:var(--shadow)}.sidebar-collapsed .chat-sidebar{display:none}}.login-shell{position:relative;align-items:center;justify-content:center;padding:24px;background:transparent}.login-card{position:relative;z-index:1;width:min(100%,520px);padding:34px 30px 28px;border-radius:22px;border:1px solid rgba(0,255,100,.22);background:rgba(6,14,10,.82);color:#e8fff0;box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 0 1px rgba(0,255,100,.08);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1)}.login-card .login-brand .brand-wordmark,.login-card .login-brand h1{color:#b8ffce;text-shadow:0 0 18px rgba(0,255,100,.35)}.login-card .login-brand .brand-tagline,.login-card .login-brand p,.login-card .login-hint{color:rgba(200,255,220,.72)}.login-card .btn-google{background:rgba(255,255,255,.96);color:#1f1f1f;border-color:rgba(255,255,255,.2)}.login-card .btn-google:hover:not(:disabled){border-color:rgba(0,255,100,.55);box-shadow:0 0 0 1px rgba(0,255,100,.25)}.login-loading{display:flex;align-items:center;justify-content:center;min-height:120px}.login-brand{text-align:center;margin-bottom:22px}.login-logo{width:min(360px,78vw);height:min(360px,78vw);margin:0 auto 18px;border-radius:28px;padding:0}.login-logo-img{width:100%;height:100%;padding:14px;object-fit:contain;border-radius:22px}.login-brand .brand-wordmark,.login-brand h1{margin:0 0 8px;font-family:var(--font-display);font-size:1.85rem;font-weight:var(--title-weight);letter-spacing:var(--title-tracking);text-transform:var(--title-transform);color:var(--title-color);text-shadow:var(--title-shadow)}.login-brand .brand-tagline{margin:0 0 10px;font-size:.78rem;line-height:1.45}.login-brand p,.login-lead{margin:0 auto;max-width:34ch;font-size:1.05rem;font-weight:500;color:var(--text-muted);line-height:1.5}.login-brand p.brand-tagline{font-size:.68rem;letter-spacing:var(--tagline-tracking);text-transform:uppercase;font-weight:500}.btn-google{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:12px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-weight:600;font-size:.95rem;transition:border-color .12s,background .12s,box-shadow .12s}.btn-google:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.btn-google:disabled{opacity:.65;cursor:not-allowed}.google-logo{flex-shrink:0;display:block}.login-error{margin-top:14px}.login-hint{margin:16px 0 0;font-size:.78rem;color:var(--text-dim);text-align:center;line-height:1.4}.app-with-sidebar{flex-direction:row;align-items:stretch}.app-main{position:relative;flex:1 1;min-width:0}.app-main,.chat-sidebar{min-height:0;display:flex;flex-direction:column;overflow:hidden}.chat-sidebar{width:260px;flex-shrink:0;border-right:1px solid var(--border-soft);background:var(--bg-panel)}.sidebar-collapsed .chat-sidebar{display:none}.chat-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 10px 10px;border-bottom:1px solid var(--border-soft);flex-shrink:0}.chat-sidebar-header-left{display:flex;align-items:center;gap:8px;min-width:0}.chat-sidebar-header h2{margin:0;font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.sidebar-edge-toggle,.sidebar-rail-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);display:grid;place-items:center;flex-shrink:0;transition:color .12s,border-color .12s,background .12s}.sidebar-edge-toggle:hover,.sidebar-rail-btn:hover{color:var(--text);border-color:var(--accent)}.sidebar-edge-toggle{position:absolute;top:12px;left:12px;z-index:4;box-shadow:var(--shadow)}.btn-new-chat{font-size:.78rem;font-weight:600;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--accent-dim);color:var(--accent);transition:border-color .12s,background .12s}.btn-new-chat:hover{border-color:var(--accent)}.chat-list{flex:1 1;overflow-y:auto;padding:8px;min-height:0}.chat-list-empty{margin:12px 8px;font-size:.8rem;color:var(--text-dim);line-height:1.4}.chat-list-item{width:100%;display:flex;align-items:stretch;gap:2px;margin-bottom:4px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text);transition:background .12s,border-color .12s}.chat-list-item:hover{background:var(--accent-dim);border-color:var(--border-soft)}.chat-list-item.is-active{background:var(--accent-dim);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.chat-list-main{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 6px 10px 10px;border:none;background:transparent;color:inherit;border-radius:10px}.chat-list-title{font-size:.86rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-list-meta{font-size:.72rem;color:var(--text-dim)}.chat-delete-btn{flex-shrink:0;align-self:center;width:30px;height:30px;margin-right:6px;display:grid;place-items:center;border:none;border-radius:8px;background:transparent;color:var(--text-dim);opacity:0;transition:opacity .12s,color .12s,background .12s}.chat-delete-btn:focus-visible,.chat-list-item.is-active .chat-delete-btn,.chat-list-item:hover .chat-delete-btn{opacity:1}.chat-delete-btn:hover:not(:disabled){color:var(--danger);background:var(--danger-dim)}.chat-delete-btn:disabled{opacity:.45;cursor:wait}.chat-sidebar-footer{position:relative;flex-shrink:0;padding:10px;border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:8px}.sidebar-profile-btn{width:100%;display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);min-width:0;text-align:left;transition:border-color .12s,background .12s}.sidebar-profile-btn.is-open,.sidebar-profile-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent-dim) 55%,var(--bg-elevated))}.sidebar-user-meta{min-width:0;flex:1 1;display:flex;flex-direction:column;gap:1px}.sidebar-user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-caret,.sidebar-user-email{font-size:.7rem;color:var(--text-dim)}.profile-caret{flex-shrink:0}.profile-menu{position:absolute;left:10px;right:10px;bottom:calc(100% + 8px);padding:6px;border-radius:12px;border:1px solid var(--border);background:var(--settings-bg);box-shadow:var(--shadow);z-index:12;display:flex;flex-direction:column;gap:2px}.profile-menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:.88rem;font-weight:600;text-align:left;transition:background .12s,color .12s}.profile-menu-item:hover{background:var(--accent-dim)}.profile-menu-item.is-danger{color:var(--danger)}.profile-menu-item.is-danger:hover{background:var(--danger-dim)}.sidebar-toggle{display:none}.usage-badge.is-limit{border-color:rgba(255,107,122,.45);color:var(--danger);background:var(--danger-dim)}.limit-banner{margin:0 0 10px}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-avatar-fallback{display:grid;place-items:center;background:var(--accent-dim);color:var(--accent);font-size:.78rem;font-weight:700}.user-name{font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;padding:8px;border-radius:12px;border:1px solid var(--border);background:var(--settings-bg);box-shadow:var(--shadow);z-index:20}.user-menu-email{padding:6px 8px 10px;font-size:.75rem;color:var(--text-muted);border-bottom:1px solid var(--border-soft);margin-bottom:6px;word-break:break-all}.user-menu-item{width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:var(--text);font-size:.86rem;font-weight:600}.user-menu-item:hover{background:var(--accent-dim);color:var(--accent)}.confirm-overlay{z-index:60}.confirm-panel{width:min(100%,380px);text-align:center;padding:22px 20px 18px}.confirm-icon{width:44px;height:44px;margin:0 auto 12px;display:grid;place-items:center;border-radius:12px;border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);background:var(--danger-dim);color:var(--danger)}.confirm-icon svg{width:18px;height:18px}.confirm-title{margin:0 0 8px;font-size:1.1rem;letter-spacing:var(--title-tracking)}.confirm-desc{margin:0 0 18px;font-size:.86rem;line-height:1.5;color:var(--text-muted)}.confirm-desc strong{color:var(--text);font-weight:600;word-break:break-word}.confirm-actions{display:flex;gap:10px;justify-content:stretch}.confirm-actions .btn{flex:1 1;min-height:40px;border-radius:10px;font-weight:600;font-size:.88rem}.confirm-cancel{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text)}.confirm-cancel:hover:not(:disabled){border-color:var(--accent)}.confirm-delete{border:1px solid color-mix(in srgb,var(--danger) 45%,transparent);background:var(--danger-dim);color:var(--danger)}.confirm-delete:hover:not(:disabled){border-color:var(--danger);filter:brightness(1.05)}.confirm-actions .btn:disabled{opacity:.65;cursor:wait}.confirm-icon-logout{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:var(--accent-dim);color:var(--accent)}.auth-transition-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse 72% 58% at 50% 42%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 72%),color-mix(in srgb,var(--bg) 94%,#000);animation:auth-transition-fade-in .28s ease-out both}.auth-transition-scanlines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0,transparent 2px,rgba(0,0,0,.14) 0,rgba(0,0,0,.14) 4px);opacity:.4;mix-blend-mode:soft-light;animation:auth-transition-scan 1.4s linear infinite}.auth-transition-grid{position:absolute;inset:-20%;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--accent) 14%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,transparent) 1px,transparent 1px);background-size:42px 42px;transform:perspective(600px) rotateX(58deg) translateY(-8%);opacity:.38;animation:auth-transition-grid-drift 1.6s ease-in-out both;-webkit-mask-image:radial-gradient(ellipse 55% 50% at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 55% 50% at 50% 40%,#000 20%,transparent 75%)}.auth-transition-glow{position:absolute;width:min(520px,80vw);height:120px;border-radius:50%;background:color-mix(in srgb,var(--accent) 22%,transparent);filter:blur(48px);opacity:.55;pointer-events:none;animation:auth-transition-glow-pulse 1.4s ease-in-out infinite}.auth-transition-core{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:22px;padding:24px;animation:auth-transition-rise .4s cubic-bezier(.2,.9,.2,1) both}.auth-transition-line{margin:0;display:flex;align-items:center;justify-content:center;gap:10px;min-height:1.2em;font-family:var(--font-mono,ui-monospace,"Cascadia Code",monospace);font-size:clamp(1.05rem,3.6vw,1.65rem);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);text-shadow:0 0 10px color-mix(in srgb,var(--accent) 55%,transparent),0 0 28px color-mix(in srgb,var(--accent) 35%,transparent)}.auth-transition-prompt{color:color-mix(in srgb,var(--accent) 75%,#fff);opacity:.9;animation:auth-transition-prompt-pulse 1.1s ease-in-out infinite}.auth-transition-text{white-space:pre}.auth-transition-caret{width:.55em;height:1.05em;margin-left:2px;background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 70%,transparent);flex-shrink:0}.auth-transition-caret.is-blink{animation:auth-transition-caret-blink .9s step-end infinite}.auth-transition-bar{width:min(280px,70vw);height:3px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--accent) 14%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.auth-transition-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 40%,transparent),var(--accent));box-shadow:0 0 12px color-mix(in srgb,var(--accent) 55%,transparent);transition:width .08s linear}.auth-transition-exit .auth-transition-line{color:color-mix(in srgb,var(--accent) 70%,#fff)}.auth-transition-enter .auth-transition-line{color:var(--accent)}@keyframes auth-transition-fade-in{0%{opacity:0}to{opacity:1}}@keyframes auth-transition-rise{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes auth-transition-scan{0%{background-position:0 0}to{background-position:0 8px}}@keyframes auth-transition-grid-drift{0%{opacity:0;transform:perspective(600px) rotateX(58deg) translateY(4%)}to{opacity:.38;transform:perspective(600px) rotateX(58deg) translateY(-8%)}}@keyframes auth-transition-glow-pulse{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:.7;transform:scale(1.05)}}@keyframes auth-transition-prompt-pulse{0%,to{opacity:.65}50%{opacity:1}}@keyframes auth-transition-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.auth-transition-caret.is-blink,.auth-transition-core,.auth-transition-glow,.auth-transition-grid,.auth-transition-overlay,.auth-transition-prompt,.auth-transition-scanlines{animation:none!important}.auth-transition-bar span{transition:none}}.toast-stack{position:fixed;right:16px;bottom:16px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:min(360px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--settings-bg);color:var(--text);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--panel-backdrop);backdrop-filter:var(--panel-backdrop);animation:toast-in .22s ease-out}.toast-msg{flex:1 1;font-size:.875rem;line-height:1.35}.toast-dismiss{border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 2px}.toast-dismiss:hover{color:var(--text)}.toast-success{border-color:rgba(61,214,140,.35)}.toast-error{border-color:rgba(255,107,122,.4)}.toast-warning{border-color:rgba(240,180,41,.4)}.toast-info{border-color:var(--border)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.shimmer{background:linear-gradient(90deg,rgba(127,191,150,.08),rgba(127,191,150,.18) 50%,rgba(127,191,150,.08));background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:12px;border-radius:6px;margin-bottom:12px}.skeleton-line.w-40{width:40%}.skeleton-bubble{height:72px;border-radius:var(--radius);margin-bottom:14px;max-width:78%;border:1px solid var(--border-soft)}.skeleton-bubble-user{margin-left:auto;max-width:55%;height:48px}.message-skeleton-list{padding:20px 8px;display:flex;flex-direction:column;gap:4px}.chat-list-skeleton{display:flex;flex-direction:column;gap:10px;padding:8px 4px}.skeleton-chat-row{height:48px;border-radius:10px;border:1px solid var(--border-soft)}.inline-revalidate{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-muted);padding:4px 8px 10px}.offline-badge{border-color:rgba(240,180,41,.45);color:var(--warning);background:var(--warning-dim)}.sync-badge{border-color:rgba(0,180,255,.35);color:#7ec8ff;background:rgba(0,140,255,.1)}.sidebar-sync-dot{display:inline-block;width:7px;height:7px;margin-left:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);vertical-align:middle;animation:pulse-dot 1s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:.35}50%{opacity:1}}.app-boot-shell{display:flex;flex-direction:column;gap:12px;min-width:min(320px,90vw)}