:root{color-scheme:dark;--bg: #0c0f12;--bg-2: #11161b;--panel: #161d23;--line: #28333a;--text: #eef4f1;--muted: #8b9a96;--green: #2fbd83;--green-soft: #3ad693;--red: #e85d5d;--blue: #6aa7ff;--viz-claw: #3ad693;--viz-user: #6aa7ff;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%}body{min-height:100dvh;background:radial-gradient(120% 80% at 50% -10%,var(--bg-2),var(--bg) 60%);color:var(--text)}button,input,select{font:inherit}.app{min-height:100dvh;display:flex;flex-direction:column;padding:max(env(safe-area-inset-top),16px) 18px max(env(safe-area-inset-bottom),24px)}.bar{display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:.95rem;font-weight:600;letter-spacing:.02em;color:var(--muted)}.iconButton{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);color:var(--text);background:transparent;display:grid;place-items:center;cursor:pointer;transition:background .15s ease,border-color .15s ease}.iconButton:hover{background:var(--panel)}.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px}.statusBlock{text-align:center;max-width:380px}.statusBlock strong{display:block;font-size:1.6rem;font-weight:600;letter-spacing:-.01em}.statusBlock p{margin:8px 0 0;color:var(--muted);font-size:.92rem;line-height:1.45;overflow-wrap:anywhere}.stage.error .statusBlock strong{color:var(--red)}.viz{display:flex;align-items:center;justify-content:center;gap:5px;height:160px;width:min(360px,80vw)}.vizBar{flex:1;max-width:9px;height:100%;border-radius:999px;background-color:var(--viz-claw);transform:scaleY(.05);transform-origin:center;transition:transform .06s linear,background-color .35s ease;opacity:.95}.viz-live[data-speaker=user] .vizBar{background-color:var(--viz-user)}.viz-live[data-speaker=claw] .vizBar{background-color:var(--viz-claw)}.viz-idle .vizBar{animation:idleBreathe 2.4s ease-in-out infinite;background-color:#36434a}.stage.connecting .viz-idle .vizBar{animation:connectingBounce 1s ease-in-out infinite;background-color:var(--viz-claw)}.stage.error .vizBar{animation:none;background-color:#5a3133;transform:scaleY(.08)}@keyframes idleBreathe{0%,to{transform:scaleY(.06)}50%{transform:scaleY(.14)}}@keyframes connectingBounce{0%,to{transform:scaleY(.1)}50%{transform:scaleY(.6)}}.dock{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}.callButton{min-height:58px;width:min(320px,100%);border:0;border-radius:999px;font-size:1.05rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:11px;cursor:pointer;transition:transform .12s ease,filter .15s ease,opacity .15s ease}.callButton:active{transform:scale(.98)}.callButton.call{background:var(--green);color:#04130d;box-shadow:0 14px 36px -12px var(--green)}.callButton.call:hover{filter:brightness(1.06)}.callButton.call:disabled{opacity:.4;box-shadow:none;cursor:not-allowed}.callButton.end{background:var(--red);color:#fff;box-shadow:0 14px 36px -12px var(--red)}.textButton{background:none;border:0;color:var(--muted);font-weight:500;cursor:pointer;padding:6px}.textButton:hover{color:var(--text)}.sheetBackdrop{position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;padding:16px;z-index:10}.sheet{width:min(440px,100%);background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 24px 60px #00000073}.sheetHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sheetHead h2{margin:0;font-size:1.15rem}form{display:grid;gap:14px}label{display:grid;gap:7px}label span{color:var(--muted);font-size:.85rem}input,select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--bg-2);color:var(--text);padding:0 13px}input:focus,select:focus{outline:none;border-color:color-mix(in srgb,var(--green) 60%,var(--line))}.split{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1fr);gap:12px}.saveButton{min-height:46px;border:0;border-radius:10px;background:var(--blue);color:#04101f;font-weight:600;cursor:pointer;margin-top:2px}@media(min-width:600px){.sheetBackdrop{align-items:center}}
