:root { color-scheme: dark; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; background: #0a1220; color: #f4f7fb; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
button { font: inherit; }
input { font: inherit; }
.call-shell { min-height: 100vh; min-height: 100dvh; max-width: 1440px; margin: auto; padding: 16px; display: grid; grid-template-rows: auto minmax(320px,1fr) auto auto auto auto; }
.topbar { display: flex; justify-content: space-between; align-items: center; padding: 4px 4px 16px; }
.brand { display: flex; align-items: baseline; gap: 12px; }
.brand strong { font-size: 1.3rem; }
.brand span { color: #b9c7d7; font-size: .8rem; }
.debug-toggle { color: #c4d1e0; border: 1px solid #576981; background: #18273b; border-radius: 9px; padding: 8px 11px; cursor: pointer; }
.stage { position: relative; overflow: hidden; border: 1px solid #344b64; border-radius: 22px; background: radial-gradient(circle at 50% 35%, #2d5067, #182b3e 57%, #101d30); display: grid; place-items: center; }
.placeholder { text-align: center; padding: 30px; max-width: 430px; }
.avatar-mark { display: grid; place-items: center; width: 112px; height: 112px; border-radius: 50%; margin: 0 auto 22px; font-size: 3.2rem; font-weight: 600; background: linear-gradient(145deg, #5b9baa, #8d698c); box-shadow: 0 14px 42px #08152288; }
h1 { font-size: clamp(1.4rem, 3vw, 2.2rem); margin: 0 0 10px; }
.placeholder p { color: #d5e0e9; line-height: 1.5; margin: 0; }
#conversation-frame { width: 100%; height: 100%; min-height: 320px; border: 0; background: #0b1320; }
#conversation-frame[hidden], [hidden] { display: none !important; }
.status { position: absolute; z-index: 2; left: 16px; bottom: 16px; background: #07121de5; border: 1px solid #456075; padding: 9px 13px; border-radius: 100px; font-size: .86rem; pointer-events: none; }
.status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #77cfb1; margin-right: 7px; }
.status[data-state="connecting"] .status-dot { background: #f2c56f; }
.status[data-state="error"] .status-dot { background: #ff8585; }
.status[data-state="ended"] .status-dot { background: #afbac8; }
.error { margin-top: 12px; border: 1px solid #a84b56; color: #ffe0e2; background: #3b1d2a; padding: 12px 14px; border-radius: 10px; }
.access-form { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; padding: 14px 0 2px; }
.access-form input { min-height: 42px; padding: 8px 12px; border: 1px solid #7790a7; border-radius: 9px; color: #fff; background: #13263a; }
.access-form button { min-height: 42px; padding: 8px 17px; border: 0; border-radius: 9px; color: #09212b; background: #b4eadb; cursor: pointer; }
.access-form span { color: #ffd2d6; }
.controls { display: flex; justify-content: center; gap: 12px; padding: 18px 0 8px; }
.controls button { min-width: 140px; min-height: 48px; border-radius: 100px; border: 1px solid #8aa6b9; cursor: pointer; font-weight: 600; }
.controls button:disabled { opacity: .48; cursor: not-allowed; }
.start { color: #09212b; background: #b4eadb; }
.end { color: #fff; background: #763447; }
.hint { text-align: center; color: #aebed0; font-size: .78rem; margin: 5px 0 10px; }
.debug-panel { max-width: 700px; margin: 0 auto; color: #c2d0df; font-size: .8rem; }
.debug-panel p { margin: 7px 0; }
.quota { color: #e0c78e; }
@media (max-width: 600px) { .call-shell { padding: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom)); grid-template-rows: auto minmax(280px,1fr) auto auto auto auto; } .stage { border-radius: 16px; } .status { top: 12px; bottom: auto; left: 12px; } .brand { display: block; } .brand span { display: block; margin-top: 2px; } .controls button { min-width: 120px; } .placeholder { padding: 20px; } }
