@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--site-bg:#f5f6f8;--site-surface:#fff;--site-surface-alt:#f0f4f8;--site-surface-muted:#f8f9fb;--site-text:#111827;--site-text-2:#374151;--site-text-3:#6b7280;--site-border:#e5e7eb;--site-border-strong:#d1d5db;--site-accent:#bf3f56;--site-accent-soft:#fdf2f4;--site-accent-grad:linear-gradient(135deg, #bf3f56 0%, #a5354a 100%);--site-blue-soft:#eff6ff;--site-dark-grad:linear-gradient(180deg, #1e293beb 0%, #0f172aeb 100%);--site-accent-ink:#bf3f56;--site-border-interactive:#6b7280;--site-hover:#f0f4f8;--site-danger:#b42318}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--site-bg:#0f172a;--site-surface:#1e293b;--site-surface-alt:#273449;--site-surface-muted:#1e293b;--site-text:#f1f5f9;--site-text-2:#cbd5e1;--site-text-3:#94a3b8;--site-border:#334155;--site-border-strong:#475569;--site-accent:#bf3f56;--site-accent-soft:#bf3f5624;--site-accent-grad:linear-gradient(135deg, #bf3f56 0%, #a5354a 100%);--site-blue-soft:#3b82f61f;--site-dark-grad:linear-gradient(180deg, #1e293beb 0%, #0f172aeb 100%);--site-accent-ink:#e5738a;--site-border-interactive:#94a3b8;--site-hover:#273449;--site-danger:#fda29b}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--site-bg);color:var(--site-text);font-family:DM Sans Variable,-apple-system,system-ui,Segoe UI,Roboto,sans-serif}.boot-screen{height:100%;color:var(--site-text-2);place-items:center;font-size:14px;display:grid}.app{flex-direction:column;height:100%;display:flex}.header{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--site-border);background:#ffffffe6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 20px;display:flex;position:sticky;top:0}@media (prefers-color-scheme:dark){.header{background:#0f172ae6}}.brand{letter-spacing:-.01em;color:var(--site-text);white-space:nowrap;align-items:center;gap:10px;margin:0;font-size:16px;font-weight:600;display:inline-flex}.brand img{border-radius:6px;width:24px;height:24px;display:block}.brand-suffix{color:var(--site-text-2);font-weight:400}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.header .user{color:var(--site-text-3);font-size:13px}.btn,.new-chat-btn,.prompt-chip,.composer button.send,.composer .attach-btn{cursor:pointer;font:inherit;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;line-height:1;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,filter .15s,opacity .15s;display:inline-flex}.btn-primary,.composer button.send{background:var(--site-accent);color:#fff;border:1px solid #0000}.btn-primary:hover:not(:disabled),.composer button.send:hover:not(:disabled){filter:brightness(.95)}.btn-secondary,.new-chat-btn,.prompt-chip,.composer button.send.stop,.composer .attach-btn{background:var(--site-surface);border:1px solid var(--site-border-interactive);color:var(--site-text);box-shadow:0 1px 2px #0f172a0d}.btn-secondary:hover:not(:disabled),.new-chat-btn:hover:not(:disabled),.prompt-chip:hover:not(:disabled),.composer button.send.stop:hover:not(:disabled),.composer .attach-btn:hover:not(:disabled){background:var(--site-hover);border-color:var(--site-text-2);filter:none}.btn:active:not(:disabled),.new-chat-btn:active:not(:disabled),.prompt-chip:active:not(:disabled),.composer button.send:active:not(:disabled),.composer .attach-btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.btn:disabled,.new-chat-btn:disabled,.prompt-chip:disabled,.composer button.send:disabled,.composer .attach-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.new-chat-btn svg{flex-shrink:0}.feedback-link{align-items:center;text-decoration:none;display:inline-flex}.link-btn{color:var(--site-text-3);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:12px;transition:color .15s}.link-btn:hover{color:var(--site-text)}.model-status{border:1px solid var(--site-border);background:var(--site-surface);border-radius:16px;width:min(960px,100% - 24px);margin:10px auto 0;padding:8px 12px;font-size:12px;box-shadow:0 1px 2px #0f172a0d}.model-status-error{border-color:var(--site-danger);color:var(--site-danger)}.model-progress-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;font-size:12px;display:flex}.model-progress-time{font-variant-numeric:tabular-nums;font-weight:600}.model-progress-text{color:var(--site-text-2)}.model-progress-skill{color:var(--site-accent-ink);font-size:12px}.context-notice{border:1px solid var(--site-border);width:min(960px,100% - 24px);color:var(--site-text-3);background:var(--site-surface);border-radius:16px;margin:10px auto 0;padding:8px 12px;font-size:12px;box-shadow:0 1px 2px #0f172a0d}.chat{flex-direction:column;flex:1;gap:20px;padding:16px max(12px,50% - 480px);display:flex;overflow-y:auto}.empty-state{border:1px solid var(--site-border);background:var(--site-surface);border-radius:16px;padding:16px;box-shadow:0 1px 2px #0f172a0d}.empty-state h2{letter-spacing:-.01em;margin:0 0 6px;font-size:16px}.empty-state p{color:var(--site-text-3);margin:0;font-size:13px}.empty-state-prompts{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.prompt-chip{text-align:left;white-space:normal;padding:6px 12px;font-size:12px;font-weight:500}.msg{border-radius:12px;padding:10px 14px;line-height:1.5}.msg.user{background:var(--site-accent-soft);border:1px solid var(--site-border);white-space:pre-wrap;align-self:flex-end;max-width:85%}.msg.assistant{background:0 0;align-self:stretch;max-width:100%;padding:0 2px}.msg-meta{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.msg.user .msg-meta{justify-content:flex-end}.msg-role{text-transform:uppercase;letter-spacing:.04em;color:var(--site-text-2);font-size:11px}.msg-time{color:var(--site-text-2);font-size:11px}.msg-generation-time{color:var(--site-text-2);margin-top:8px;font-size:11px}.msg.user p,.msg.assistant p{margin:0}.msg .attachments,.msg .skill-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.skill-chip{color:var(--site-accent-ink);background:var(--site-surface);border:1px solid var(--site-border);border-radius:999px;padding:2px 10px;font-size:12px}.typing-indicator{align-items:center;gap:4px;display:inline-flex}.typing-indicator span{background:var(--site-text-3);border-radius:999px;width:7px;height:7px;animation:1s ease-in-out infinite typingDot}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.typing-indicator span{opacity:.5;animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.msg.assistant>:first-child{margin-top:0}.msg.assistant>:last-child{margin-bottom:0}.msg.assistant p{margin:.35em 0}.msg.assistant ul,.msg.assistant ol{margin:.35em 0;padding-left:1.4em}.msg.assistant li{margin:.15em 0}.msg.assistant li>p{margin:0}.msg.assistant li>ul,.msg.assistant li>ol{margin:.15em 0}.msg.assistant h1,.msg.assistant h2,.msg.assistant h3,.msg.assistant h4{letter-spacing:-.01em;margin:.6em 0 .3em;line-height:1.3}.msg.assistant h1{font-size:1.25em}.msg.assistant h2{font-size:1.15em}.msg.assistant h3{font-size:1.05em}.msg.assistant h4{font-size:1em}.msg.assistant code{background:var(--site-surface);border:1px solid var(--site-border);border-radius:4px;padding:1px 5px;font-size:.9em}.msg.assistant pre{background:var(--site-surface);border:1px solid var(--site-border);border-radius:12px;margin:.5em 0;padding:10px 12px;overflow-x:auto}.msg.assistant pre code{background:0 0;border:none;padding:0;font-size:.9em}.msg.assistant blockquote{border-left:3px solid var(--site-border-strong);color:var(--site-text-2);margin:.4em 0;padding:2px 10px}.msg.assistant hr{border:none;border-top:1px solid var(--site-border);margin:.6em 0}.msg.assistant table{border-collapse:collapse;margin:.4em 0}.msg.assistant th,.msg.assistant td{border:1px solid var(--site-border-strong);padding:4px 8px}.msg.assistant th{background:var(--site-surface-alt)}.chip{background:var(--site-surface-muted);border:1px solid var(--site-border);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.chip button{cursor:pointer;color:var(--site-text-3);background:0 0;border:none;font-size:14px;transition:color .15s}.chip button:hover{color:var(--site-text)}.composer{border:1px solid var(--site-border-interactive);background:var(--site-surface);border-radius:16px;flex-direction:column;gap:8px;width:min(960px,100% - 24px);margin:0 auto 12px;padding:10px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #0f172a0d}.composer-error{border:1px solid var(--site-danger);color:var(--site-danger);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:12px;display:flex}.composer-error-actions{align-items:center;gap:10px;display:inline-flex}.composer .row{align-items:flex-end;gap:8px;display:flex}.composer textarea{resize:none;min-height:44px;max-height:180px;color:var(--site-text);font:inherit;background:0 0;border:none;outline:none;flex:1;line-height:1.5;overflow-y:auto}.composer button.send{min-height:36px;padding:8px 18px}.composer .attach-btn{width:36px;height:36px;padding:0;font-size:15px}.hero-canvas{background-image:radial-gradient(#94a3b833 1px, transparent 1.5px), radial-gradient(700px 360px at 88% -5%, var(--site-accent-soft), transparent 70%), radial-gradient(560px 320px at -5% 105%, var(--site-blue-soft), transparent 70%);background-size:24px 24px,auto,auto}.section-shell{border:1px solid var(--site-border);background:var(--site-surface);border-radius:24px;box-shadow:0 20px 50px #0f172a0f}.eyebrow{background:var(--site-accent-soft);color:var(--site-accent-ink);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:4px 12px;font-size:11px;font-weight:600;display:inline-flex}.login-screen{justify-content:center;align-items:center;min-height:100%;padding:24px 16px;display:flex}.login-card{text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:480px;padding:40px 28px;display:flex}.login-logo{border-radius:14px;width:56px;height:56px;display:block}.login-card h1{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700}.login-screen button{background:var(--site-accent-grad);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:12px 24px;font-size:15px;font-weight:600;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 10px 25px #bf3f564d}.login-screen button:hover{transform:translateY(-2px);box-shadow:0 14px 30px #bf3f5659}.login-screen .note{color:var(--site-text-3);max-width:420px;margin:0;font-size:13px;line-height:1.45}.login-screen .note-sub{margin-top:6px;font-size:12px;font-style:italic;display:block}.file-link{color:var(--site-accent-ink);text-decoration:underline}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:focus-visible,.new-chat-btn:focus-visible,.prompt-chip:focus-visible,.file-link:focus-visible{outline:2px solid var(--site-accent-ink);outline-offset:2px}.composer:focus-within{border-color:var(--site-accent-ink);box-shadow:0 0 0 1px var(--site-accent-ink)}
