:root{
  --bg:#f5f7fa;--panel:#ffffff;--ink:#111827;--muted:#667085;--line:#e5e7eb;
  --dark:#0b1220;--accent:#1f2937;--soft:#eef2f6;--danger:#b42318;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}
body{min-height:100vh}.shell{min-height:100vh;display:flex;flex-direction:column}
.topbar{height:72px;padding:0 max(20px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brand-mark,.welcome-mark{display:grid;place-items:center;background:var(--dark);color:#fff;border-radius:13px;font-weight:700}
.brand-mark{width:38px;height:38px;font-size:17px}.brand strong{display:block;font-size:14px;letter-spacing:-.01em}.brand small{display:block;margin-top:2px;color:var(--muted);font-size:11px}
.connection-state{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.state-dot{width:7px;height:7px;border-radius:50%;background:#98a2b3}.connection-state.live .state-dot{background:#12b76a}.connection-state.busy .state-dot{background:#f79009}
.workspace{width:min(920px,100%);margin:auto;flex:1;padding:44px 20px 24px;display:flex;flex-direction:column}
.welcome{text-align:center;padding:16px 0 26px}.welcome-mark{width:52px;height:52px;margin:0 auto 15px;border-radius:17px;font-size:22px}
.kicker{margin:0 0 8px;font-size:10px;letter-spacing:.16em;font-weight:800;color:#98a2b3}.welcome h1{margin:0;font-size:clamp(27px,5vw,40px);letter-spacing:-.035em;line-height:1.08}.lead{max-width:540px;margin:11px auto 0;color:var(--muted);font-size:14px;line-height:1.6}
.chat{display:flex;flex-direction:column;flex:1;min-height:430px}.messages{flex:1;min-height:330px;padding:8px 2px 18px;overflow:auto;scroll-behavior:smooth}.empty-state{text-align:center;color:#98a2b3;padding:80px 15px}.empty-icon{display:block;font-size:20px;margin-bottom:8px;color:#667085}.empty-state p{margin:0;font-size:13px}
.message{max-width:min(78%,680px);padding:12px 14px;border-radius:16px;margin:9px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.55}.message.user{margin-left:auto;background:var(--dark);color:#fff;border-bottom-right-radius:5px}.message.assistant{background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px;box-shadow:0 2px 12px rgba(16,24,40,.035)}.message.error{background:#fff3f2;color:var(--danger);border:1px solid #fecdca}.message-meta{margin-top:6px;font-size:10px;opacity:.58}
.composer{padding-top:5px}.composer-box{background:#fff;border:1px solid #d7dce3;border-radius:18px;box-shadow:0 8px 30px rgba(16,24,40,.06);padding:10px}.composer textarea{width:100%;resize:none;min-height:48px;max-height:160px;border:0;outline:0;background:transparent;padding:7px 8px;font:inherit;font-size:14px;line-height:1.45;color:var(--ink)}.composer textarea::placeholder{color:#98a2b3}
.composer-tools{display:flex;align-items:center;gap:8px;padding:3px 2px 0}.icon-button,.send-button,.diagnostics-button,.close-button,.secondary-button,.primary-button{font:inherit;border:0;cursor:pointer}.icon-button{width:34px;height:34px;border-radius:10px;background:var(--soft);color:#667085;font-size:19px}.icon-button:disabled{cursor:not-allowed;opacity:.55}.composer-hint{flex:1;color:#98a2b3;font-size:10px}.send-button{height:34px;border-radius:10px;padding:0 12px;background:var(--dark);color:#fff;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.send-button:disabled{opacity:.55;cursor:wait}
.footer{width:min(920px,100%);margin:auto;padding:15px 20px 20px;display:flex;align-items:center;gap:7px;color:#98a2b3;font-size:10px}.footer-sep{opacity:.5}.diagnostics-button{margin-left:auto;background:transparent;color:#98a2b3;font-size:10px;padding:5px}.diagnostics-button:hover{color:#344054}
dialog{width:min(480px,calc(100% - 32px));border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff;color:var(--ink);box-shadow:0 24px 80px rgba(16,24,40,.22)}dialog::backdrop{background:rgba(11,18,32,.38);backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;gap:15px}.dialog-head h2{margin:0;font-size:20px;letter-spacing:-.02em}.close-button{background:transparent;font-size:25px;color:#667085}.dialog-copy{font-size:12px;line-height:1.55;color:var(--muted);margin:10px 0 18px}dialog label{display:block;font-size:11px;font-weight:700;color:#475467;margin-top:12px}dialog input{display:block;width:100%;margin-top:6px;padding:10px 11px;border:1px solid #d0d5dd;border-radius:9px;font:inherit;font-size:12px;outline:none}dialog input:focus{border-color:#667085}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.secondary-button,.primary-button{padding:9px 12px;border-radius:9px;font-size:12px;font-weight:700}.secondary-button{background:var(--soft);color:#344054}.primary-button{background:var(--dark);color:#fff}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:var(--dark);color:#fff;padding:9px 13px;border-radius:10px;font-size:11px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:640px){.topbar{height:64px;padding:0 15px}.workspace{padding:25px 14px 12px}.welcome{padding:8px 0 20px}.lead{font-size:13px}.chat{min-height:400px}.message{max-width:88%}.composer-hint{display:none}.footer{padding:12px 15px 15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
