:root{color-scheme:dark;--bg:#08090c;--surface:#101116;--line:#262830;--ink:#f2f2f6;--muted:#9698a7;--violet:#a28aff;--blue:#548dff;--level:1;font-family:'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,textarea{font:inherit}button,a,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid #bcaaff;outline-offset:5px}button{color:inherit}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.app{width:min(100%,780px);min-height:100svh;margin:auto;padding:0 36px;display:flex;flex-direction:column}header{display:flex;align-items:center;height:100px;gap:14px}.wordmark{font-weight:650;font-size:32px;letter-spacing:-2px;line-height:1;text-decoration:none;color:var(--ink)}.brand-dot{display:inline-block;background:var(--violet);width:5px;height:5px;border-radius:50%;margin:0 0 1px 4px}.private-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;letter-spacing:.1px}.private-label svg{width:13px;height:13px}.sign-in{margin-left:auto;background:transparent;border:1px solid #363741;border-radius:24px;padding:0 19px;min-height:44px;font-size:12px}.sign-in:disabled{color:#8d8f9b;border-color:#272933}.voice{text-align:center;padding:13px 0 24px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px}.status-dot{width:5px;height:5px;border-radius:50%;background:#777988}.orb{position:relative;margin:34px auto 28px;width:222px;height:222px;isolation:isolate}#spectrum{position:absolute;width:140%;height:140%;inset:-20%;pointer-events:none}.ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 35deg,#548dff,#6555df 24%,#b887fa 46%,#6545d0 65%,#8fbeff 82%,#548dff);mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 5px));animation:orbit 13s linear infinite;opacity:.9}.ring-glow{inset:-3px;filter:blur(11px);mask:radial-gradient(farthest-side,transparent 83%,#000 88%);opacity:.42;z-index:-1}.ring-inner{position:absolute;inset:13px;border:1px solid #56529655;border-radius:50%}.orb-core{position:absolute;inset:28px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#171427 0,#0b0b10 68%);color:#bdb4d7}.orb-core span{font-size:44px;letter-spacing:-4px;font-weight:300;padding-right:5px}.recording .ring{animation-duration:3s;opacity:1}.speaking .ring{animation-duration:5s}h1{font-size:27px;font-weight:400;letter-spacing:-.8px;margin:0 0 10px}#voice-state{margin:0;color:var(--muted);font-size:13px;line-height:1.6;min-height:21px}.controls{display:flex;justify-content:center;gap:24px;align-items:center;margin:24px 0 16px}.control{height:64px;min-width:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:var(--surface);border:1px solid var(--line);border-radius:50%;font-size:9px;letter-spacing:.2px}.control.primary{height:78px;min-width:78px;background:#c5b6ff;color:#171221;border-color:#c5b6ff;font-weight:600}.control.primary:disabled{background:#282338;color:#b5a9d5;border-color:#38304d}.control.secondary:disabled,.control.end:disabled{color:#8b8b99}.control.end{color:#e9a3b0}.control[aria-pressed=true]{border-color:#d69baf;color:#ffbdcc;background:#321d2a}.voice-hint{font-size:11px;line-height:1.6;color:#9798a8;margin:0}.chat{border-top:1px solid var(--line);padding-top:20px;display:flex;flex:1;flex-direction:column;min-height:260px}.chat-heading{display:flex;align-items:center;justify-content:space-between}.chat-heading h2{font-size:13px;font-weight:500;margin:0}.chat-heading>span{font-size:9px;letter-spacing:1.4px;color:var(--muted)}.notice{margin-top:16px;font-size:11px;line-height:1.6;color:#b2a6d2;background:#15121e;padding:12px 14px;border-radius:8px}.messages{flex:1;min-height:108px;max-height:310px;overflow-y:auto;padding:15px 0}.empty{padding:14px 0;color:#a0a0af}.empty p{font-size:15px;margin:0 0 6px}.empty span{font-size:12px;color:var(--muted)}.message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7;margin:0 0 15px}.message strong{display:block;font-size:10px;letter-spacing:1px;margin-bottom:5px;color:#bcb1dc;text-transform:uppercase}.message.user{padding-left:18px;color:#c3c3ce}.message.user strong{color:var(--muted)}#composer{display:flex;align-items:flex-end;padding:8px;border:1px solid #32333f;background:var(--surface);border-radius:16px;gap:8px}textarea{flex:1;resize:none;border:0;background:transparent;color:var(--ink);min-width:0;min-height:44px;max-height:120px;padding:12px 8px;font-size:14px;line-height:20px}textarea::placeholder{color:#8e8e9f}#send{height:44px;min-width:44px;border:0;background:#bba4ff;color:#17121d;border-radius:11px;display:grid;place-items:center}#send:disabled{background:#24222c;color:#777383}.privacy{font-size:10px;text-align:center;color:var(--muted);margin:11px 0 0}footer{display:flex;justify-content:space-between;align-items:center;color:#888b9a;gap:12px;min-height:66px;font-size:9px;letter-spacing:.6px}footer button{background:transparent;border:0;font-size:11px;min-height:44px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@keyframes orbit{to{transform:rotate(360deg)}}@media(min-width:1000px){.app{padding-top:10px}.voice{padding-top:25px;padding-bottom:32px}.orb{width:245px;height:245px;margin-top:40px}.chat{min-height:300px}}@media(max-width:520px){.app{padding:0 22px;padding-bottom:env(safe-area-inset-bottom)}header{height:79px}.voice{padding-top:4px;padding-bottom:23px}.orb{width:195px;height:195px;margin:29px auto 25px}.controls{gap:23px;margin-top:21px}h1{font-size:25px}.chat{padding-top:19px;min-height:254px}.notice{margin-top:14px;padding:10px 12px}.messages{min-height:94px}.private-label{font-size:11px}footer{min-height:52px;font-size:8px}.voice-hint{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.orb{transform:none}}
