:root{color:#edf3f7;font-synthesis:none;text-rendering:optimizelegibility;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09131f;--panel:#101d2b;--panel-soft:#132335;--border:#b1cbde21;--text:#edf3f7;--muted:#8fa3b5;--accent:#79ddc1;--accent-strong:#4bc6a3;--danger:#ff9d9d;background:#09131f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(ellipse at 50% -15%, #153048 0, var(--bg) 58%);min-height:100vh}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #79ddc16b}.app-shell{min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) 24px max(16px, env(safe-area-inset-bottom));flex-direction:column;display:flex}.topbar{justify-content:space-between;align-items:center;gap:18px;width:min(100%,1120px);min-height:64px;margin:0 auto;display:flex}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-mark{color:#061915;background:linear-gradient(145deg,#a2f0d9,#49bc9d);border-radius:13px;place-items:center;width:38px;height:38px;font-size:21px;font-weight:850;display:grid;box-shadow:0 8px 30px #32be9a2e}.brand-name{gap:2px;display:grid}.brand-name strong{letter-spacing:.16em;font-size:13px}.brand-name span,.brand-lockup>span{color:var(--muted);font-size:12px}.account-area{align-items:center;gap:16px;display:flex}.account-email{text-overflow:ellipsis;white-space:nowrap;color:#b1c2cf;max-width:260px;font-size:13px;overflow:hidden}.quiet-button{border:1px solid var(--border);color:#c7d4dd;cursor:pointer;background:#101d2bb8;border-radius:12px;min-height:42px;padding:0 14px}.quiet-button:hover{color:var(--text);border-color:#79ddc161}.chat-panel{border:1px solid var(--border);background:linear-gradient(#101d2bf0,#0c1723f7);border-radius:28px;flex-direction:column;flex:1;width:min(100%,900px);min-height:0;margin:18px auto 0;display:flex;overflow:hidden;box-shadow:0 30px 90px #00000040}.chat-heading{border-bottom:1px solid var(--border);padding:34px 42px 24px}.status-line{color:var(--accent);letter-spacing:.16em;align-items:center;gap:9px;font-size:10px;font-weight:750;display:flex}.status-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 14px #79ddc1b3}.chat-heading h1{letter-spacing:-.035em;margin:16px 0 7px;font-size:clamp(22px,3vw,29px);font-weight:620}.chat-heading p{color:var(--muted);margin:0;font-size:14px}.message-list{overscroll-behavior:contain;scroll-behavior:smooth;flex-direction:column;flex:1;gap:22px;min-height:200px;padding:28px clamp(18px,6vw,68px);display:flex;overflow-y:auto}.empty-chat{text-align:center;min-height:240px;color:var(--muted);flex:1;place-content:center;justify-items:center;gap:8px;display:grid}.empty-orbit{width:70px;height:70px;color:var(--accent);background:radial-gradient(circle,#79ddc126,#0000 68%);border:1px solid #79ddc13d;border-radius:50%;place-items:center;margin-bottom:8px;font-size:27px;font-weight:700;display:grid;box-shadow:0 0 42px #3cc49f17}.empty-chat p{color:#d8e3e9;margin:0;font-size:16px}.empty-chat>span{max-width:360px;font-size:12px;line-height:1.6}.message-row{align-items:flex-start;gap:10px;width:100%;display:flex}.message-row.user{justify-content:flex-end}.message-avatar{width:30px;height:30px;color:var(--accent);border:1px solid #79ddc14d;border-radius:10px;flex:0 0 30px;place-items:center;font-size:13px;font-weight:700;display:grid}.message-bubble{border:1px solid var(--border);background:#172839d4;border-radius:16px;max-width:min(78%,650px);padding:12px 15px 13px}.user .message-bubble{background:#25504c59;border-color:#79ddc130;border-top-right-radius:5px}.assistant .message-bubble{border-top-left-radius:5px}.message-label{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:750;display:block}.user .message-label{color:#a4c5c4;text-align:right}.message-bubble p{color:#e0e9ee;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.65}.thinking{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.thinking span{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite pulse}.thinking span:nth-child(2){animation-delay:.15s}.thinking span:nth-child(3){margin-right:5px;animation-delay:.3s}@keyframes pulse{0%,80%,to{opacity:.32;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chat-error{color:var(--danger);margin:0 28px 10px;font-size:13px}.composer{background:#0b1723;border:1px solid #b1cbde33;border-radius:18px;grid-template-columns:1fr 48px;align-items:center;gap:10px;margin:0 28px;padding:10px 10px 34px 17px;display:grid;position:relative}.composer:focus-within{border-color:#79ddc180;box-shadow:0 0 0 3px #79ddc112}.composer textarea{resize:vertical;width:100%;min-height:44px;max-height:160px;color:var(--text);background:0 0;border:0;outline:0;padding:12px 0 4px;line-height:1.45}.composer textarea::placeholder{color:#71889b}.composer textarea:focus-visible{outline:0}.send-button{color:#062119;background:var(--accent);cursor:pointer;border:0;border-radius:14px;place-items:center;width:44px;height:44px;font-size:23px;font-weight:750;transition:transform .15s,background .15s;display:grid}.send-button:hover:not(:disabled){background:#9af0d7;transform:translateY(-1px)}.send-button:disabled{color:#68877e;cursor:not-allowed;background:#1b3734}.composer-hint{color:#71889b;font-size:10px;position:absolute;bottom:10px;left:18px}.composer-hint span{color:#4c6273;padding:0 4px}.privacy-note{color:#6f8293;text-align:center;margin:12px 28px 16px;font-size:10px}.login-screen,.state-screen{min-height:100dvh;padding:max(22px, env(safe-area-inset-top)) 18px max(20px, env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 10%, #153048 0, var(--bg) 58%);place-items:center;display:grid}.login-screen{grid-template-rows:1fr auto}.login-card{border:1px solid var(--border);background:#101d2be8;border-radius:28px;width:min(100%,440px);padding:clamp(24px,6vw,42px);box-shadow:0 32px 90px #00000052}.login-card .brand-lockup{margin-bottom:46px}.eyebrow{color:var(--accent);letter-spacing:.18em;margin:0 0 12px;font-size:10px;font-weight:760}.login-card h1{letter-spacing:-.04em;margin:0;font-size:clamp(27px,7vw,34px);font-weight:630}.login-intro{color:var(--muted);margin:10px 0 28px;font-size:14px;line-height:1.55}.login-form{gap:10px;display:grid}.login-form label{color:#c7d3dc;margin-top:5px;font-size:12px;font-weight:620}.login-form input{border:1px solid var(--border);width:100%;min-height:48px;color:var(--text);background:#0b1723;border-radius:13px;padding:0 14px}.login-form input::placeholder{color:#60778b}.form-error{color:var(--danger);margin:1px 0 2px;font-size:12px;line-height:1.5}.primary-button{color:#062119;background:var(--accent);cursor:pointer;border:0;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 16px;font-weight:730;display:flex}.primary-button:hover:not(:disabled){background:#9af0d7}.primary-button:disabled{opacity:.55;cursor:not-allowed}.login-button{margin-top:12px}.login-button span{font-size:20px}.login-footnote{border-top:1px solid var(--border);color:var(--muted);align-items:flex-start;gap:10px;margin-top:24px;padding-top:18px;display:flex}.login-footnote p{margin:0;font-size:11px;line-height:1.55}.lock-icon{color:var(--accent);margin-top:1px;font-size:9px}.screen-footer{color:#6f8293;text-align:center;margin:22px 0 0;font-size:11px}.state-screen{text-align:center;align-content:center}.state-screen .brand-mark,.loading-mark{color:#062119;background:linear-gradient(145deg,#a2f0d9,#49bc9d);border-radius:17px;place-items:center;width:52px;height:52px;margin:0 auto 16px;font-size:26px;font-weight:850;display:grid}.state-screen h1{letter-spacing:.14em;margin:0 0 8px;font-size:15px}.state-screen p{color:var(--muted);font-size:13px}.state-copy{max-width:320px;line-height:1.6}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=640px){.app-shell{padding:max(8px, env(safe-area-inset-top)) 10px max(8px, env(safe-area-inset-bottom))}.topbar{min-height:54px;padding:0 3px}.brand-mark{border-radius:11px;width:34px;height:34px;font-size:18px}.brand-lockup{gap:9px}.brand-name span{font-size:10px}.account-area{gap:7px}.account-email{max-width:112px;font-size:10px}.quiet-button{min-height:40px;padding:0 10px;font-size:11px}.chat-panel{border-radius:20px;min-height:0;margin-top:9px}.chat-heading{padding:23px 20px 18px}.chat-heading h1{margin-top:12px;font-size:22px}.chat-heading p{font-size:12px}.message-list{gap:17px;padding:20px 13px}.message-bubble{max-width:86%;padding:10px 12px}.message-bubble p{font-size:13px}.composer{border-radius:15px;grid-template-columns:1fr 44px;gap:7px;margin:0 10px;padding:7px 7px 31px 12px}.composer textarea{min-height:46px;font-size:16px}.send-button{border-radius:13px;width:42px;height:42px}.composer-hint{font-size:9px;bottom:9px;left:13px}.privacy-note{margin:9px 10px 10px;font-size:9px}.chat-error{margin:0 14px 8px}.login-card{border-radius:22px}.login-card .brand-lockup{margin-bottom:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
