:root{--bg: #eef1f4;--surface: #ffffff;--surface-2: #f6f8fa;--border: #dce3eb;--text: #1c2128;--muted: #5c6570;--accent: #0d9f78;--accent-hover: #0b855f;--accent-tint: #cff7ea;--accent-soft: rgba(13, 159, 120, .12);--user-accent: #5b4cdb;--user-accent-soft: rgba(91, 76, 219, .12);--shadow: 0 12px 40px rgba(28, 33, 40, .1);--radius-lg: 18px;--radius-md: 14px;--font: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--sb-bg: #121418;--sb-hover: #1c2028;--sb-border: #2a3038;--sb-text: #eef1f5;--sb-muted: #8b95a3;--canvas: #eef2f6;--msg-user: #f6f8fb;--msg-assist: #ffffff;--composer-card-bg: #ffffff;--composer-card-edge: rgba(28, 33, 40, .1);--composer-card-glow: 0 1px 2px rgba(28, 33, 40, .04), 0 20px 56px rgba(28, 33, 40, .08);--composer-toolbar-bg: linear-gradient(180deg, #fafcfd 0%, #eef2f6 100%);--action-bar-bg: rgba(255, 255, 255, .88);--action-bar-border: rgba(28, 33, 40, .08);--bg-glow-1: rgba(91, 76, 219, .07);--bg-glow-2: rgba(13, 159, 120, .09);--auth-glow-1: rgba(13, 159, 120, .14);--auth-glow-2: rgba(91, 76, 219, .08);color-scheme:light}:root[data-theme=dark]{--bg: #0b1117;--surface: #111827;--surface-2: #111827;--border: #243041;--text: #e5edf7;--muted: #9aa8ba;--accent: #20c997;--accent-hover: #1ca47d;--accent-tint: rgba(32, 201, 151, .2);--accent-soft: rgba(32, 201, 151, .15);--user-accent-soft: rgba(124, 108, 240, .18);--shadow: 0 12px 40px rgba(0, 0, 0, .35);--sb-bg: #0a0f14;--sb-hover: #121922;--sb-border: #1f2a38;--sb-text: #e6edf6;--sb-muted: #93a0b2;--canvas: #0b1117;--msg-user: #131b24;--msg-assist: #101821;--composer-card-bg: #0f1722;--composer-card-edge: rgba(148, 163, 184, .2);--composer-card-glow: 0 1px 2px rgba(0, 0, 0, .2), 0 20px 56px rgba(0, 0, 0, .4);--composer-toolbar-bg: linear-gradient(180deg, #131d29 0%, #0f1722 100%);--action-bar-bg: rgba(15, 23, 34, .85);--action-bar-border: rgba(148, 163, 184, .22);--bg-glow-1: rgba(124, 108, 240, .18);--bg-glow-2: rgba(32, 201, 151, .16);--auth-glow-1: rgba(32, 201, 151, .2);--auth-glow-2: rgba(124, 108, 240, .15);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;height:100%;font-family:var(--font);font-size:16px;line-height:1.55;color:var(--text);background:radial-gradient(1000px 520px at 88% -8%,var(--bg-glow-1),transparent 55%),radial-gradient(820px 480px at 5% 0%,var(--bg-glow-2),transparent 50%),var(--canvas);-webkit-font-smoothing:antialiased}#root{min-height:100%;min-height:100vh;height:100%;display:flex;flex-direction:column}button,input,select,textarea{font:inherit;color:inherit}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(ellipse 80% 60% at 50% -20%,var(--auth-glow-1),transparent),radial-gradient(ellipse 60% 50% at 100% 100%,var(--auth-glow-2),transparent),var(--bg)}.auth-card{width:min(400px,100%);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border);padding:2rem 2rem 1.75rem}.auth-brand{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.75rem}.auth-logo{width:44px;height:44px;border-radius:12px;background:linear-gradient(145deg,var(--accent),#1d4a50);flex-shrink:0;box-shadow:0 4px 14px #2a6b7359}.auth-brand h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.auth-tagline{margin:.25rem 0 0;font-size:.9rem;color:var(--muted)}.auth-form{display:flex;flex-direction:column;gap:1rem}.label{display:flex;flex-direction:column;gap:.35rem}.label span{font-size:.8rem;font-weight:600;color:var(--muted)}.label input{border:1px solid var(--border);border-radius:var(--radius-md);padding:.65rem .75rem;background:var(--surface-2);transition:border-color .15s,box-shadow .15s}.label input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.inline-error{font-size:.875rem;color:#9b3b3b;background:#fcefef;border-radius:var(--radius-md);padding:.6rem .75rem}.btn-primary{margin-top:.25rem;border:none;border-radius:var(--radius-md);padding:.75rem 1rem;font-weight:600;cursor:pointer;background:var(--accent);color:#fff;transition:background .15s,transform .1s}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.shell{display:flex;flex:1;min-height:0;width:100%;max-height:100dvh;background:transparent;position:relative}.shell-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:40}.sidebar{--sidebar-ease: cubic-bezier(.22, 1, .36, 1);width:260px;flex-shrink:0;flex-basis:260px;background:var(--sb-bg);color:var(--sb-text);display:flex;flex-direction:column;border-right:1px solid var(--sb-border);transition:width .45s var(--sidebar-ease),flex-basis .45s var(--sidebar-ease),opacity .34s cubic-bezier(.4,0,.2,1),border-color .4s ease}.shell--sidebar-collapsed:not(.shell--drawer) .sidebar{width:0;flex-basis:0;min-width:0;opacity:0;overflow:hidden;border-right-color:transparent;pointer-events:none}.shell--drawer .sidebar{position:fixed;left:0;top:0;bottom:0;z-index:50;transform:translate(-100%);transition:transform .4s cubic-bezier(.32,.72,0,1),box-shadow .35s ease;box-shadow:8px 0 32px #00000059;pointer-events:none}.shell--drawer.shell--sidebar .sidebar{transform:translate(0);pointer-events:auto}.sidebar-top{padding:.65rem .75rem}.sidebar-actions{display:flex;flex-direction:column;gap:.4rem}.sidebar-search{margin-top:.5rem;padding:0 .1rem}.sidebar-search input{width:100%;border:1px solid var(--sb-border);border-radius:10px;background:var(--sb-hover);color:var(--sb-text);padding:.5rem .65rem;font-size:.82rem;outline:none}.sidebar-search input::placeholder{color:var(--sb-muted)}.sidebar-search input:focus{border-color:#0d9f7873;box-shadow:0 0 0 2px var(--accent-tint)}.sidebar-brand{font-size:.95rem;font-weight:700;letter-spacing:-.02em;color:var(--sb-text);padding:.35rem .5rem .6rem}.btn-new-chat{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--sb-border);background:transparent;color:var(--sb-text);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-new-chat svg{width:1rem;height:1rem;opacity:.95}.btn-new-chat:hover{background:var(--sb-hover)}.btn-new-folder{width:100%;display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.52rem .75rem;border-radius:10px;border:1px dashed var(--sb-border);background:transparent;color:var(--sb-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn-new-folder svg{width:.95rem;height:.95rem;opacity:.95}.btn-new-folder:hover{background:var(--sb-hover);color:var(--sb-text);border-color:var(--sb-muted)}.sidebar-nav{flex:1;overflow-y:auto;padding:.25rem .5rem .75rem}.folder-block{margin-bottom:.55rem}.folder-head{display:flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sb-text);padding:.3rem .35rem}.folder-toggle-btn{border:none;background:transparent;color:var(--sb-text);width:1.1rem;height:1.1rem;display:grid;place-items:center;border-radius:6px;cursor:pointer;padding:0}.folder-toggle-btn:hover{background:var(--sb-hover);color:var(--sb-text)}.folder-head-name{display:inline-flex;align-items:center;gap:.35rem;flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.folder-head-name svg{width:.92rem;height:.92rem;opacity:.95}.folder-head-actions{display:inline-flex;align-items:center;gap:.15rem}.folder-head-btn{border:none;background:transparent;color:var(--sb-text);width:1.2rem;height:1.2rem;display:grid;place-items:center;border-radius:6px;cursor:pointer;padding:0;font-size:.78rem;border:1px solid var(--sb-border);background:#ffffff08}.folder-head-btn:hover:not(:disabled){background:var(--sb-hover);color:var(--sb-text)}.folder-head-btn:disabled{opacity:.35;cursor:default}.folder-head-btn--danger:hover{color:#f4a4a4;background:#ffffff0f}.folder-separator{margin:.5rem .35rem;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--sb-muted);border-top:1px dashed var(--sb-border);padding-top:.45rem}.thread-item{display:flex;align-items:center;gap:.5rem;padding:.55rem .5rem;border-radius:10px;cursor:pointer;color:var(--sb-text);border:1px solid transparent;position:relative}.thread-item:hover{background:var(--sb-hover)}.thread-item--active{background:var(--sb-hover);border-color:#3a3a3a}.thread-item__icon{flex-shrink:0;opacity:.95;color:var(--sb-text)}.thread-item__icon svg{width:.95rem;height:.95rem}.thread-item__title{flex:1;min-width:0;font-size:.875rem;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.thread-item__pin{margin-left:.35rem;font-size:.78rem;vertical-align:middle}.thread-item__del{flex-shrink:0;opacity:.72;border:none;background:#ffffff08;color:var(--sb-text);padding:.25rem;border-radius:6px;cursor:pointer;display:grid;place-items:center;transition:opacity .12s,color .12s,background .12s}.thread-item:hover .thread-item__del,.thread-item:focus-within .thread-item__del{opacity:1}.thread-item__del:hover{color:#f4a4a4;background:#ffffff0f}.thread-context-menu{position:fixed;z-index:120;min-width:190px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 30px #00000038;padding:.35rem}.thread-context-menu__item{width:100%;border:none;border-radius:8px;background:transparent;color:var(--text);text-align:left;padding:.48rem .55rem;cursor:pointer;font-size:.86rem}.thread-context-menu__item:hover{background:#0d9f781f}.thread-context-menu__group{margin-top:.25rem;border-top:1px solid var(--border);padding-top:.25rem}.thread-context-menu__label{font-size:.7rem;color:var(--muted);padding:.2rem .4rem .35rem}.sidebar-footer{border-top:1px solid var(--sb-border);padding:.5rem .65rem .75rem;display:flex;flex-direction:column;gap:.5rem}.privacy-note{margin:.2rem 0 0;padding:.7rem .85rem;border-radius:12px;border:1px solid rgba(13,159,120,.28);background:linear-gradient(180deg,#0d9f781f,#0d9f780f);color:#1a6653;font-size:.98rem;font-weight:300;line-height:1.5}.privacy-note--auth{margin-top:.9rem;border-color:var(--border);color:var(--muted)}.privacy-note--hero{width:min(760px,100%);margin:.45rem auto .35rem;text-align:center;box-shadow:0 10px 28px #0d9f781f}.sidebar-footer-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .6rem;border-radius:10px;border:none;background:transparent;color:var(--sb-muted);font-size:.8rem;cursor:pointer;text-align:left}.sidebar-footer-btn svg{width:.95rem;height:.95rem;opacity:.95}.sidebar-footer-btn:hover{background:var(--sb-hover);color:var(--sb-text)}.sidebar-user{display:flex;align-items:center;gap:.6rem;padding:.35rem .25rem}.sidebar-user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#444,#2a2a2a);display:grid;place-items:center;font-size:.85rem;font-weight:600;color:#fff}.sidebar-user-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:.15rem}.sidebar-user-email{font-size:.72rem;color:var(--sb-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{align-self:flex-start;border:none;background:none;padding:0;font-size:.72rem;color:var(--sb-muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.sidebar-logout:hover{color:var(--sb-text)}.sidebar-login-link{align-self:flex-start;font-size:.72rem;font-weight:600;color:var(--accent);text-decoration:none}.sidebar-login-link:hover{text-decoration:underline;text-underline-offset:2px}.sidebar-premium-badge{display:inline-block;margin-left:.35rem;padding:.1rem .35rem;font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#0a5c49;background:#0d9f783d;border-radius:4px;vertical-align:middle}.main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:linear-gradient(165deg,#ffffffb8,#eef2f773 55%,#ecf1f78c);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:relative}.main-topbar{flex-shrink:0;height:48px;display:flex;align-items:center;padding:0 .5rem 0 .35rem;border-bottom:1px solid rgba(28,33,40,.06);background:#ffffff8c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative}.main-topbar-center{flex:1;display:flex;justify-content:center}.main-topbar-spacer{width:44px}.model-pill{font-size:.72rem;font-weight:600;letter-spacing:.01em;color:#4a5568;background:linear-gradient(180deg,#fff,#f4f7fa);border:1px solid rgba(28,33,40,.08);padding:.32rem .75rem;border-radius:999px;max-width:min(90vw,420px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 1px 3px #1c21280f}.main-body{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.toast-error{position:absolute;top:.75rem;left:50%;transform:translate(-50%);z-index:20;max-width:min(520px,92vw);padding:.65rem 1rem;font-size:.875rem;color:#7a2222;background:#fff5f5;border:1px solid #f0caca;border-radius:12px;box-shadow:0 8px 30px #00000014}.toast-ok{position:absolute;top:.75rem;left:50%;transform:translate(-50%);z-index:21;max-width:min(520px,92vw);padding:.65rem 1rem;font-size:.875rem;color:#1d5c45;background:#ecfbf6;border:1px solid #b8e8dc;border-radius:12px;box-shadow:0 8px 30px #00000014}.main-body:has(.toast-error) .toast-ok{top:3.35rem}.stream{flex:1;overflow-y:auto;padding:1.1rem 0 8rem}.hero{max-width:46rem;margin:0 auto;padding:clamp(2rem,8vh,4rem) 1.25rem 2rem;text-align:center}.hero-title{margin:0 0 .75rem;font-size:clamp(1.55rem,4.2vw,2.05rem);font-weight:650;letter-spacing:-.035em;line-height:1.15;color:#141820}.hero-sub{margin:0 0 1.75rem;font-size:.97rem;line-height:1.55;color:#5c6570}.suggestions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.suggestion-chip{text-align:left;max-width:100%;padding:.7rem 1rem;font-size:.8125rem;line-height:1.4;color:#2a3038;background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid rgba(28,33,40,.09);border-radius:var(--radius-md);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .15s ease,background .18s ease;box-shadow:0 1px 2px #1c21280a}.suggestion-chip:hover{border-color:#0d9f7859;box-shadow:0 4px 20px #0d9f781a,0 1px 3px #1c21280f;background:#fff;transform:translateY(-1px)}.turns{list-style:none;margin:0 auto;padding:0 1rem 2rem;max-width:min(92rem,98vw);display:flex;flex-direction:column;gap:.35rem}.turn{display:flex;gap:.95rem;padding:1rem 0;border-bottom:none}.turn:last-child{border-bottom:none}.turn-avatar{flex-shrink:0;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;margin-top:3px;box-shadow:0 2px 8px #1c21281f}.turn--assistant .turn-avatar{background:linear-gradient(145deg,#12c08e,#0a8f6a 55%,#067a5c);color:#fff}.turn--user .turn-avatar{background:linear-gradient(145deg,#7c6cf0,#5b4cdb,#4536b0);color:#fff}.turn-body{min-width:0;flex:1;padding-top:1px}.turn-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#7a8494;margin-bottom:.4rem}.turn-content{font-size:.96rem;line-height:1.65;color:#252b33;white-space:pre-wrap;word-break:break-word}.turn--assistant .turn-content{background:linear-gradient(165deg,#fff,#fafbfd 45%,#f5f7fa);border:1px solid rgba(28,33,40,.07);border-radius:var(--radius-lg);padding:.95rem 1.1rem;box-shadow:0 1px #ffffffe6 inset,0 4px 24px #1c21280f}.turn--user .turn-content{background:linear-gradient(155deg,#ffffff 0%,var(--msg-user) 100%);padding:.7rem .95rem;border-radius:16px 16px 6px;border:1px solid rgba(91,76,219,.14);box-shadow:0 1px #ffffffd9 inset,0 3px 16px var(--user-accent-soft)}.turn-actions{display:inline-flex;flex-wrap:wrap;gap:.15rem;margin-top:.55rem;align-items:center;padding:.28rem;background:var(--action-bar-bg);border:1px solid var(--action-bar-border);border-radius:13px;box-shadow:0 2px 14px #1c21280d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.turn-action-btn{display:inline-flex;align-items:center;gap:.32rem;padding:.38rem .62rem;font-size:.72rem;font-weight:600;color:#5c6570;background:transparent;border:none;border-radius:10px;cursor:pointer;transition:background .16s ease,color .16s ease,transform .12s ease}.turn-action-btn:hover:not(:disabled){background:#1c21280f;color:#1c2128}.turn-action-btn:disabled{opacity:.42;cursor:not-allowed}.turn-action-btn--active{color:#0a6b52;background:var(--accent-tint);box-shadow:inset 0 0 0 1px #0d9f7838}.turn-action-btn--active-down{color:#8f2f2f;background:#fdecec;box-shadow:inset 0 0 0 1px #b43c3c2e}.turn-action-label{line-height:1}@media(max-width:420px){.turn-action-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.turn-action-btn{position:relative;padding:.4rem}}.md-body{font-size:.97rem;line-height:1.65;color:#2d333b;word-wrap:break-word}.md-body--assistant{max-width:100%}.md-body--assistant .md-h1,.md-body--assistant .md-h2,.md-body--assistant .md-h3{color:#1a1d21;font-weight:650;letter-spacing:-.02em;margin:1.35em 0 .5em;line-height:1.25}.md-body--assistant .md-h1:first-child,.md-body--assistant .md-h2:first-child,.md-body--assistant .md-h3:first-child,.md-body--assistant .md-p:first-child{margin-top:0}.md-body--assistant .md-h1{font-size:1.35rem;border-bottom:1px solid #ececf0;padding-bottom:.35rem}.md-body--assistant .md-h2{font-size:1.15rem}.md-body--assistant .md-h3{font-size:1.02rem}.md-body--assistant .md-p{margin:.65em 0}.md-body--assistant .md-ul,.md-body--assistant .md-ol{margin:.6em 0;padding-left:1.35rem}.md-body--assistant .md-li{margin:.35em 0}.md-body--assistant .md-li::marker{color:var(--accent)}.md-body--assistant .md-bq{margin:.85em 0;padding:.65rem .85rem .65rem 1rem;border-left:4px solid var(--accent);background:linear-gradient(90deg,var(--accent-soft),transparent);border-radius:0 10px 10px 0;color:#454b54}.md-body--assistant .md-hr{border:none;border-top:1px solid #e8e8ed;margin:1.25rem 0}.md-body--assistant .md-strong{color:#1a1d21;font-weight:650}.md-body--assistant .md-em{color:#454b54}.md-body--assistant .md-a{color:#067056;text-decoration:none;font-weight:600;border-bottom:1px solid rgba(13,159,120,.35)}.md-body--assistant .md-a:hover{color:var(--accent-hover);border-bottom-color:var(--accent)}.md-pre-wrap{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;margin:.85em 0}.md-pre-toolbar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;padding:.45rem .65rem .45rem .75rem}.md-pre-toolbar-label{font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;user-select:none}.md-pre-copy{flex-shrink:0;font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.38rem .65rem;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease}.md-pre-copy:hover{transform:translateY(-.5px)}.md-body--assistant .md-pre-wrap{border:1px solid #2a3140;background:#12151c;box-shadow:0 4px 24px #1c21281f}.md-body--assistant .md-pre-toolbar{background:#181c24;border-bottom:1px solid rgba(255,255,255,.07)}.md-body--assistant .md-pre-toolbar-label{color:#8b95a8}.md-body--assistant .md-pre-copy{border-color:#ffffff24;background:#ffffff1a;color:#f1f5f9}.md-body--assistant .md-pre-copy:hover{background:#ffffff29;border-color:#ffffff38}.md-body--assistant .md-pre-wrap .md-pre{margin:0;padding:.95rem 1rem 1.05rem;max-height:min(68vh,44rem);overflow:auto;background:#141820;color:#cbd5e1;border:none;border-radius:0;font-size:.84rem;line-height:1.55;box-shadow:none}.md-body--assistant .md-code-block{display:block;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace;background:transparent}.md-body--assistant .md-code-inline{font-family:ui-monospace,Cascadia Code,Menlo,Consolas,monospace;font-size:.88em;background:#0f172a0f;color:#334155;padding:.12em .38em;border-radius:6px;border:1px solid rgba(15,23,42,.08)}.md-body--assistant .md-table-wrap{margin:1em 0;overflow-x:auto;border-radius:10px;border:1px solid #e8e8ed;background:#fff}.md-body--assistant .md-table{width:100%;border-collapse:collapse;font-size:.88rem}.md-body--assistant .md-table th,.md-body--assistant .md-table td{border:1px solid #ececf0;padding:.5rem .65rem;text-align:left}.md-body--assistant .md-table th{background:#f4f6f9;font-weight:600;color:#1a1d21}.md-body--assistant .md-table tr:nth-child(2n) td{background:#fafbfc}.md-body--user{font-size:.95rem;line-height:1.55;color:#2d333b}.md-body--user .md-p{margin:.45em 0}.md-body--user .md-p:first-child{margin-top:0}.md-body--user .md-p:last-child{margin-bottom:0}.md-body--user .md-code-inline{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88em;background:#0000000f;padding:.1em .35em;border-radius:4px}.md-body--user .md-pre-wrap{margin:.5em 0;border:1px solid rgba(28,33,40,.1);background:#f8fafc;box-shadow:0 2px 12px #1c21280d}.md-body--user .md-pre-toolbar{background:#eef2f6;border-bottom:1px solid rgba(28,33,40,.08)}.md-body--user .md-pre-toolbar-label{color:#64748b}.md-body--user .md-pre-copy{border-color:#1c21281a;background:#fff;color:#334155}.md-body--user .md-pre-copy:hover{background:#fafbfc;border-color:#1c212829}.md-body--user .md-pre-wrap .md-pre{margin:0;padding:.75rem .85rem;max-height:min(62vh,36rem);overflow:auto;background:#f8fafc;color:#1e293b;border:none;border-radius:0;font-size:.82rem;line-height:1.5}.md-stream-plain{font-size:.97rem;line-height:1.65;color:#2d333b;white-space:pre-wrap;word-break:break-word}.stream-wrap{display:inline}.stream-cursor{display:inline-block;width:2px;height:1em;margin-left:1px;vertical-align:-.12em;background:var(--accent);border-radius:2px;animation:streamBlink .85s ease-in-out infinite}@keyframes streamBlink{0%,45%{opacity:1}50%,to{opacity:.15}}.typing-dots{display:flex;gap:6px;padding:.4rem 0}.typing-dots span{width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.4;animation:dotBounce 1.15s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes dotBounce{0%,80%,to{transform:translateY(0);opacity:.35}40%{transform:translateY(-5px);opacity:.95}}.composer-wrap{position:sticky;bottom:0;left:0;right:0;padding:.65rem 1rem .85rem;background:linear-gradient(to top,var(--canvas) 55%,rgba(247,247,248,0));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.composer-stack{max-width:min(92rem,98vw);margin:0 auto;background:var(--composer-card-bg);border:1px solid var(--composer-card-edge);border-radius:1.2rem;box-shadow:var(--composer-card-glow);overflow:hidden;transition:border-color .22s ease,box-shadow .22s ease}.composer-stack:focus-within{border-color:#0d9f7866;box-shadow:var(--composer-card-glow),0 0 0 3px var(--accent-tint)}.composer-stack--with-toolbar .composer{border-top:1px solid rgba(15,23,42,.06)}.composer-toolbar{display:flex;align-items:center;gap:.55rem;padding:.55rem .85rem .55rem .95rem;background:var(--composer-toolbar-bg)}.composer-mode-icon{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(13,159,120,.22)}.composer-mode{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.composer-mode-label{flex-shrink:0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6e6e80}.composer-mode-select{flex:1;min-width:0;max-width:min(100%,24rem);font-family:inherit;font-size:.875rem;font-weight:600;color:#2d333b;padding:.45rem 2rem .45rem .75rem;border-radius:10px;border:1px solid rgba(15,23,42,.1);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236e6e80' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .55rem center;background-size:14px;cursor:pointer;box-shadow:inset 0 1px #ffffffd9;transition:border-color .18s ease,box-shadow .18s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none}.composer-mode-select:hover:not(:disabled){border-color:#0d9f7861}.composer-mode-select:focus{outline:none;border-color:#0d9f787a;box-shadow:inset 0 1px #ffffffd9,0 0 0 2px var(--accent-tint)}.composer-mode-select:disabled{opacity:.6;cursor:not-allowed}.composer-mode-gate{flex:1;min-width:0;display:flex;align-items:center}.composer-mode-gate-text{margin:0;font-size:.78rem;line-height:1.45;color:#5c5f6e}.composer-mode-gate-strong{color:#2d333b}.composer-mode-gate-link{font-weight:600;color:var(--accent);text-decoration:none}.composer-mode-gate-link:hover{text-decoration:underline;text-underline-offset:2px}.composer{max-width:none;margin:0;display:flex;align-items:flex-end;gap:.5rem;padding:.6rem .75rem .6rem 1rem;background:#fff;border:none;border-radius:0;box-shadow:none;transition:background .15s ease}.composer-input{flex:1;border:none;outline:none;background:transparent;resize:none;min-height:44px;max-height:200px;padding:.55rem .25rem;font-size:.95rem;line-height:1.45;color:#353740}.composer-input::placeholder{color:#8e8ea0}.composer-input:disabled{opacity:.55}.composer-send{flex-shrink:0;width:42px;height:42px;border:none;border-radius:50%;background:linear-gradient(145deg,var(--accent),#0d8f6e);color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 16px #0d9f7861;transition:background .18s ease,transform .12s ease,box-shadow .18s ease}.composer-mic{flex-shrink:0;width:42px;height:42px;border:1px solid rgba(13,159,120,.24);border-radius:50%;background:#f4fbf8;color:#0b7b5c;cursor:pointer;display:grid;place-items:center;transition:background .18s ease,color .18s ease,transform .12s ease,box-shadow .18s ease,border-color .18s ease}.composer-mic:hover:not(:disabled){background:#e9f8f2;border-color:#0d9f7861;box-shadow:0 4px 12px #0d9f782e}.composer-mic:active:not(:disabled){transform:scale(.94)}.composer-mic.is-listening{color:#fff;background:linear-gradient(145deg,#ef4444,#dc2626);border-color:#dc262659;box-shadow:0 0 #dc26266b;animation:micPulse 1.5s ease-in-out infinite}.composer-mic.is-unsupported{background:#f3f4f6;border-color:#1c21281f;color:#9ca3af}.composer-mic:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.composer-send:hover:not(:disabled){background:linear-gradient(145deg,var(--accent-hover),#0a7a60);box-shadow:0 6px 22px #0d9f7873}@keyframes micPulse{0%{box-shadow:0 0 #dc262659}70%{box-shadow:0 0 0 10px #dc262600}to{box-shadow:0 0 #dc262600}}.composer-send:active:not(:disabled){transform:scale(.94)}.composer-send:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.composer-hint{max-width:min(92rem,98vw);margin:.55rem auto 0;padding:0 .5rem;text-align:center;font-size:.68rem;line-height:1.45;color:#8b939e}.voice-interim{margin:.4rem .85rem .2rem;padding:.45rem .6rem;border-radius:10px;font-size:.8rem;line-height:1.4;color:#475569;background:#0d9f7814;border:1px solid rgba(13,159,120,.18)}.voice-interim-label{font-weight:700;color:#0b7b5c;margin-right:.35rem}.icon-btn{border:none;background:transparent;border-radius:10px;color:#3d4654;cursor:pointer;display:grid;place-items:center;transition:background .15s ease,color .15s ease}.icon-btn:hover{background:#1c21280f;color:#1c2128}.icon-btn.main-menu-btn{width:44px;height:44px;flex-shrink:0}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f0f1473;display:grid;place-items:center;padding:1rem}.modal-sheet{width:min(440px,100%);background:#fff;border-radius:16px;box-shadow:0 24px 80px #0003;border:1px solid #ececf0;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .75rem;border-bottom:1px solid #ececf0}.modal-head h2{margin:0;font-size:1.05rem;font-weight:600}.modal-body{padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem}.modal-foot{padding:.75rem 1rem 1rem;border-top:1px solid #ececf0;display:flex;justify-content:flex-end;gap:.5rem}.field{display:flex;flex-direction:column;gap:.35rem}.field span{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6e6e80}.field input,.field select,.field textarea{border:1px solid #e3e3e8;border-radius:10px;padding:.55rem .65rem;font-size:.9rem;background:#fafafa}.field textarea{resize:vertical;min-height:72px}.field-check{display:flex;align-items:center;gap:.55rem;margin-top:-.2rem}.field-check input{width:auto;margin:0}.field-check span{font-size:.85rem;color:#4b5563}:root[data-theme=dark] .main{background:linear-gradient(165deg,#0d1723e6,#091019f2)}:root[data-theme=dark] .main-topbar{background:#0b1119b3;border-bottom-color:#94a3b826}:root[data-theme=dark] .model-pill{background:#0f1722;color:#c5d2e4;border-color:#94a3b838}:root[data-theme=dark] .hero-title{color:#e8eef7}:root[data-theme=dark] .hero-sub{color:#9fb0c4}:root[data-theme=dark] .suggestion-chip{background:linear-gradient(145deg,#101925,#0f1722);color:#d5e0ef;border-color:#94a3b833}:root[data-theme=dark] .suggestion-chip:hover{background:#13202d}:root[data-theme=dark] .turn-label{color:#9fb0c4}:root[data-theme=dark] .turn--assistant .turn-content{background:linear-gradient(165deg,#101925,#0e1722);border-color:#94a3b82e;color:#dbe7f7}:root[data-theme=dark] .turn--user .turn-content{background:linear-gradient(155deg,#111a24,#0f1823);border-color:#7c6cf04d;color:#dbe7f7}:root[data-theme=dark] .md-body,:root[data-theme=dark] .md-body--assistant,:root[data-theme=dark] .md-body--user{color:#dbe7f7}:root[data-theme=dark] .md-body--assistant .md-h1,:root[data-theme=dark] .md-body--assistant .md-h2,:root[data-theme=dark] .md-body--assistant .md-h3,:root[data-theme=dark] .md-body--assistant .md-strong{color:#f1f6fd;border-bottom-color:#94a3b833}:root[data-theme=dark] .md-body--assistant .md-p,:root[data-theme=dark] .md-body--assistant .md-li,:root[data-theme=dark] .md-body--assistant .md-em{color:#d3dfef}:root[data-theme=dark] .md-body--assistant .md-a{color:#7ce7c7;border-bottom-color:#7ce7c766}:root[data-theme=dark] .md-body--assistant .md-a:hover{color:#a7f3db;border-bottom-color:#a7f3db}:root[data-theme=dark] .md-body--assistant .md-bq{color:#d3dfef;background:linear-gradient(90deg,rgba(32,201,151,.18),transparent)}:root[data-theme=dark] .md-body--assistant .md-hr{border-top-color:#94a3b83d}:root[data-theme=dark] .md-body--assistant .md-code-inline{background:#94a3b829;color:#eaf2ff;border-color:#94a3b83d}:root[data-theme=dark] .md-body--assistant .md-table-wrap,:root[data-theme=dark] .md-body--assistant .md-table{background:#0f1722;border-color:#94a3b840}:root[data-theme=dark] .md-body--assistant .md-table th,:root[data-theme=dark] .md-body--assistant .md-table td{border-color:#94a3b833;color:#dbe7f7}:root[data-theme=dark] .md-body--assistant .md-table th{background:#131f2e;color:#f1f6fd}:root[data-theme=dark] .md-body--assistant .md-table tr:nth-child(2n) td{background:#101925}:root[data-theme=dark] .md-body--user .md-code-inline{background:#94a3b829;color:#eaf2ff}:root[data-theme=dark] .md-body--user .md-pre-wrap{border-color:#94a3b838;background:#101925}:root[data-theme=dark] .md-body--user .md-pre-toolbar{background:#152233;border-bottom-color:#94a3b838}:root[data-theme=dark] .md-body--user .md-pre-toolbar-label{color:#a8b8cb}:root[data-theme=dark] .md-body--user .md-pre-wrap .md-pre{background:#101925;color:#dbe7f7}:root[data-theme=dark] .turn-action-btn{color:#b6c4d7}:root[data-theme=dark] .turn-action-btn:hover:not(:disabled){background:#94a3b829;color:#e7eef8}:root[data-theme=dark] .voice-interim{background:#20c9971f;border-color:#20c9974d;color:#cbe9df}:root[data-theme=dark] .voice-interim-label{color:#7ce7c7}:root[data-theme=dark] .composer{background:#0f1722}:root[data-theme=dark] .composer-input{color:#e5edf7}:root[data-theme=dark] .composer-input::placeholder{color:#8ea0b8}:root[data-theme=dark] .composer-mode-label{color:#8ea0b8}:root[data-theme=dark] .composer-mode-select{color:#e5edf7;border-color:#94a3b842;background-color:#101925;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238ea0b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");box-shadow:inset 0 1px #ffffff08}:root[data-theme=dark] .composer-mode-select:hover:not(:disabled){border-color:#20c99773}:root[data-theme=dark] .composer-mode-select:focus{border-color:#20c99799;box-shadow:inset 0 1px #ffffff08,0 0 0 2px #20c99738}:root[data-theme=dark] .composer-mic{background:#13202c;border-color:#20c99759;color:#7ce7c7}:root[data-theme=dark] .composer-hint{color:#8ea0b8}:root[data-theme=dark] .privacy-note{border-color:#20c9976b;background:linear-gradient(180deg,#20c99733,#20c99714);color:#dbfff3;box-shadow:0 10px 30px #05141059}:root[data-theme=dark] .modal-sheet{background:#0f1722;border-color:#94a3b833}:root[data-theme=dark] .modal-head,:root[data-theme=dark] .modal-foot{border-color:#94a3b833}:root[data-theme=dark] .field span,:root[data-theme=dark] .field-check span{color:#a8b8cb}:root[data-theme=dark] .field input,:root[data-theme=dark] .field select,:root[data-theme=dark] .field textarea{background:#101925;border-color:#94a3b838;color:#e5edf7}:root[data-theme=dark] .btn-secondary{background:#13202c;border-color:#94a3b838;color:#d8e4f4}:root[data-theme=dark] .btn-secondary:hover{background:#182838}:root[data-theme=dark] .toast-ok{background:#20c9971f;border-color:#20c99740;color:#bfeede}:root[data-theme=dark] .toast-error{background:#ef444424;border-color:#ef44444d;color:#ffc7c7}.btn-secondary{border:1px solid #e3e3e8;background:#fff;padding:.5rem 1rem;border-radius:10px;font-weight:500;cursor:pointer}.btn-secondary:hover{background:#f7f7f8}.btn-secondary--danger{border-color:#f0caca;color:#9b2c2c;background:#fff5f5}.btn-secondary--danger:hover{background:#feeaea}:root[data-theme=dark] .btn-secondary--danger{border-color:#ef444459;color:#ffc7c7;background:#ef444424}:root[data-theme=dark] .btn-secondary--danger:hover{background:#ef444433}@media(max-width:900px){.main-topbar{height:44px;padding-inline:.35rem}.main-topbar-spacer{width:36px}.model-pill{max-width:min(74vw,300px);font-size:.68rem;padding:.28rem .62rem}.stream{padding:.75rem 0 calc(7.2rem + env(safe-area-inset-bottom))}.hero{padding:clamp(1.25rem,6vh,2.2rem) .8rem 1.2rem}.turns{padding:0 .72rem 1rem}.turn{gap:.7rem;padding:.72rem 0}.turn-avatar{width:34px;height:34px;border-radius:10px}.turn--assistant .turn-content{padding:.8rem .85rem}.turn--user .turn-content{padding:.62rem .78rem}.composer-wrap{padding:.45rem .55rem calc(.55rem + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--canvas) 68%,rgba(247,247,248,0))}.composer-stack{border-radius:1rem}.composer-toolbar{padding:.45rem .6rem .45rem .68rem;gap:.45rem}.composer-mode-icon{width:30px;height:30px;border-radius:9px}.composer-mode-label{font-size:.63rem;letter-spacing:.06em}.composer-mode-select{max-width:none;font-size:.84rem;padding:.4rem 1.8rem .4rem .62rem}.composer{padding:.5rem .55rem .5rem .7rem;gap:.4rem}.composer-input{min-height:40px;max-height:150px;padding:.42rem .12rem;font-size:.9rem}.composer-mic,.composer-send{width:39px;height:39px}.composer-hint{font-size:.64rem;margin-top:.45rem;padding-inline:.25rem}}@media(max-width:420px){.shell{max-height:100svh}.sidebar{width:min(86vw,320px);flex-basis:min(86vw,320px)}.main-topbar{height:42px}.model-pill{max-width:min(68vw,250px);font-size:.66rem}.hero-title{font-size:clamp(1.28rem,7vw,1.56rem)}.hero-sub{font-size:.9rem;margin-bottom:1.1rem}.suggestions{gap:.38rem}.suggestion-chip{width:100%;font-size:.79rem;padding:.62rem .78rem}.turns{padding:0 .55rem .8rem}.turn-label{font-size:.61rem;margin-bottom:.32rem}.turn-content{font-size:.91rem;line-height:1.58}.turn-actions{margin-top:.45rem}.privacy-note--hero{font-size:.88rem;line-height:1.45}.composer-wrap{padding-left:.45rem;padding-right:.45rem}.composer-toolbar{gap:.35rem;padding:.38rem .45rem}.composer-mode-label{display:none}.composer-mode-icon{width:28px;height:28px}.composer-mode-select{font-size:.82rem;min-height:36px}.composer{padding:.45rem .45rem .45rem .6rem}.composer-input{min-height:38px;max-height:120px;font-size:.88rem}.composer-mic,.composer-send{width:36px;height:36px}}
