:root{--bg: #ffffff;--panel: #ffffff;--panel-subtle: #f8f8f7;--border: #e5e5e3;--border-strong: #cfcfcb;--text: #171717;--muted: #70706c;--accent: #171717;--accent-2: #227a57;--danger: #b42318;--warn: #9a6700}*{box-sizing:border-box}body{margin:0;min-width:320px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}.app{max-width:800px;margin:0 auto;padding:36px 20px 56px}.app__header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--border)}.app__title{font-size:20px;font-weight:650;letter-spacing:-.025em}.app__subtitle{margin-top:5px;color:var(--muted);font-size:13px}.panel{margin-bottom:14px;padding:18px;background:var(--panel);border:1px solid var(--border);border-radius:10px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pipeline-switch{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 4px 0 1px;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.pipeline-switch input{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.pipeline-switch__track{position:relative;width:32px;height:18px;border-radius:999px;background:#c9c9c5;transition:background-color .15s ease}.pipeline-switch__track:after{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;content:"";transition:transform .15s ease}.pipeline-switch input:checked+.pipeline-switch__track{background:#171717}.pipeline-switch input:checked+.pipeline-switch__track:after{transform:translate(14px)}.pipeline-switch input:focus-visible+.pipeline-switch__track{outline:2px solid #171717;outline-offset:2px}.pipeline-switch input:disabled+.pipeline-switch__track{opacity:.45}.pipeline-switch:has(input:disabled){cursor:not-allowed}.btn{min-height:38px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:7px;background:#fff;color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.btn:hover:not(:disabled){background:var(--panel-subtle);border-color:#999995}.btn:focus-visible,.input:focus-visible,.select:focus-visible{outline:2px solid #171717;outline-offset:2px}.btn:disabled{opacity:.42;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:#343434;border-color:#343434}.btn--danger{color:var(--danger);border-color:#e7b9b4}.btn--danger:hover:not(:disabled){background:#fff8f7;border-color:var(--danger)}.status{display:inline-flex;flex-shrink:0;align-items:center;gap:7px;padding:6px 9px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:#fff;font-size:12px}.status__dot{width:7px;height:7px;border-radius:50%;background:#a3a3a0}.status--listening .status__dot,.status--ready .status__dot{background:var(--accent-2)}.status--assistant_speaking .status__dot,.status--synthesizing .status__dot{background:#171717;animation:pulse 1s infinite}.status--thinking .status__dot,.status--transcribing .status__dot,.status--tool_executing .status__dot{background:var(--warn);animation:pulse 1s infinite}.status--error .status__dot,.status--interrupted .status__dot{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.meter{flex:1;min-width:120px;height:5px;overflow:hidden;border-radius:999px;background:#ececea}.meter__fill{height:100%;background:#171717;transition:width 60ms linear}.messages{display:flex;flex-direction:column;gap:8px;min-height:160px}.msg{max-width:82%;padding:10px 12px;border-radius:8px;white-space:pre-wrap;line-height:1.5;font-size:14px}.msg--user{align-self:flex-end;background:#171717;color:#fff}.msg--assistant{align-self:flex-start;background:var(--panel-subtle);border:1px solid var(--border)}.msg--interrupted{opacity:.56}.msg__tag{margin-top:4px;color:var(--warn);font-size:11px}.partial{align-self:flex-end;color:var(--muted);font-size:13px;font-style:italic}.input,.select{min-height:38px;border:1px solid var(--border-strong);border-radius:7px;background:#fff;color:var(--text)}.input{flex:1;min-width:180px;padding:8px 11px;font-size:14px}.input::placeholder{color:#959590}.select{padding:7px 9px;font-size:13px}.audio-controls{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.volume-control{display:inline-flex;align-items:center;gap:7px}.barge-in-control{display:inline-flex;align-items:center;gap:6px}.barge-in-control input:disabled+.note{opacity:.65}.volume-control input{width:120px}.mic-paused{padding:4px 8px;border-radius:999px;background:#fff7df;color:var(--warn);font-size:12px;font-weight:600}.diag{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.diag__grid{display:grid;grid-template-columns:1fr auto;gap:3px 16px}.note{color:var(--muted);font-size:12px;line-height:1.5}.error{border-color:#e7b9b4;background:#fff8f7;color:var(--danger)}summary{color:#444440;font-size:13px;font-weight:600;cursor:pointer}@media (max-width: 560px){.app{padding:24px 14px 40px}.app__header{align-items:flex-start;flex-direction:column;padding-bottom:18px;margin-bottom:18px}.panel{padding:14px}.msg{max-width:92%}.btn{flex:1 1 auto}}.avatar-view__stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:240px;background:#111;overflow:hidden}.avatar-view__video{width:100%;height:100%;max-height:none;object-fit:cover}.call-app{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;overflow:hidden}@media (min-width: 701px){.call-app{position:relative;inset:auto;min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0b0b0b;padding:40px 20px}.call-screen--idle,.call-screen--live{position:relative;inset:auto;width:min(420px,90vw);height:min(760px,88vh);border-radius:24px;overflow:hidden;box-shadow:0 24px 60px #0000008c}}.call-app__error{position:absolute;top:max(12px,env(safe-area-inset-top));left:12px;right:12px;z-index:30;padding:10px 14px;background:#b42318f0;color:#fff;border-radius:10px;font-size:13px}.call-screen--idle{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:linear-gradient(160deg,#7a1810,#2b0906 55%,#0d0403)}.call-screen--idle .call-screen__hint{color:#ffffffc7}.call-screen--live{position:fixed;top:0;right:0;bottom:0;left:0;background:#000}.call-screen__video-stage{position:absolute;top:0;right:0;bottom:0;left:0}.call-screen__ringing{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#111;color:#fff}.call-screen__pulse{width:56px;height:56px;border-radius:50%;background:var(--accent-2);animation:call-pulse 1.4s ease-out infinite}@keyframes call-pulse{0%{box-shadow:0 0 #227a5799}to{box-shadow:0 0 0 32px #227a5700}}.call-screen__hint{color:var(--muted);font-size:14px}.call-screen__hangup{position:absolute;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:10;box-shadow:0 4px 18px #00000073}.call-btn--cap.call-screen__hangup{width:64px;height:64px}.call-btn.call-screen__hangup:hover{transform:translate(-50%) scale(1.05)}.call-screen__transcript-toggle{position:absolute;left:50%;bottom:max(96px,calc(env(safe-area-inset-bottom) + 96px));transform:translate(-50%);z-index:10;padding:7px 16px;border-radius:999px;border:none;background:#0000008c;color:#fff;font-size:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.call-screen__transcript{position:absolute;left:0;right:0;bottom:0;z-index:8;max-height:46%;overflow-y:auto;background:#0a0a0ad1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:12px 14px calc(96px + env(safe-area-inset-bottom))}.call-screen__transcript-close{display:block;margin:0 0 10px auto;padding:4px 10px;border-radius:999px;border:none;background:#ffffff24;color:#fff;font-size:12px;cursor:pointer}.call-screen__transcript .msg--user{background:#ffffff29;color:#fff}.call-screen__transcript .msg--assistant{background:#ffffffeb}.call-screen__transcript .note{color:#ffffffa6}.call-btn{width:72px;height:72px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:transform .15s ease}.call-btn:hover{transform:scale(1.05)}.call-btn--call{background:var(--accent-2)}.call-btn--cap{width:116px;height:116px;background:none;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}.call-btn--cap svg{width:100%;height:100%}
