:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#0b0f14;color:#f5f7fa;--yuki-footer-space:calc(36px + env(safe-area-inset-bottom,0px))}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#182130,#0b0f14 58%)}button,input,select{font:inherit}.app-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.call-card{width:min(760px,100%);background:rgba(16,22,30,.94);border:1px solid #2a3442;border-radius:24px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.35)}.topbar,.top-actions,.dialog-header,.dialog-actions,.key-row{display:flex;align-items:center}.topbar,.dialog-header{justify-content:space-between;gap:16px}.topbar{margin-bottom:18px}.top-actions{gap:9px}.eyebrow{margin:0 0 3px;color:#8fa2b8;font-size:.8rem;text-transform:uppercase;letter-spacing:.09em}h1,h2{margin:0}h1{font-size:clamp(1.7rem,5vw,2.4rem)}h2{font-size:1.5rem}.subtitle{margin:4px 0 0;color:#aebdca}.badge{padding:8px 11px;border-radius:999px;font-size:.84rem;white-space:nowrap;border:1px solid #405063}.badge.online{background:#103f2b;border-color:#2c8a60}.badge.connecting{background:#49380d;border-color:#9b7722}.badge.offline{background:#331b20;border-color:#70404a}.icon-button{width:44px;height:44px;border-radius:12px;border:1px solid #3b4a5e;background:#182230;color:#fff;cursor:pointer;font-size:1.2rem}.stage{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:20px;background:#182231;border:1px solid #334357}.scene-background{position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 68% 32%,rgba(244,220,181,.28),transparent 18%),linear-gradient(180deg,rgba(51,62,72,.18),rgba(17,24,34,.15)),linear-gradient(115deg,#283640 0 38%,#4b4038 38% 40%,#26313a 40% 70%,#171d24 70%);filter:saturate(.82)}.scene-background::before{content:"";position:absolute;left:8%;bottom:0;width:27%;height:58%;border-radius:80px 80px 0 0;background:linear-gradient(180deg,rgba(73,98,75,.68),rgba(27,48,35,.12));filter:blur(1px)}.scene-background::after{content:"";position:absolute;right:7%;top:12%;width:18%;height:46%;border-radius:12px;background:linear-gradient(180deg,rgba(242,215,167,.16),rgba(124,90,61,.08));box-shadow:0 0 42px rgba(240,190,116,.12)}.avatar-placeholder{position:absolute;inset:0;z-index:1;display:grid;place-items:center}.face{font-size:clamp(7rem,25vw,13rem);filter:drop-shadow(0 14px 24px rgba(0,0,0,.28));transform-origin:50% 70%;animation:breathe 4.5s ease-in-out infinite}.pulse{position:absolute;width:32%;aspect-ratio:1;border:2px solid rgba(255,255,255,.11);border-radius:999px;animation:pulse 2.8s ease-out infinite}.avatar-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}.state-pill{position:absolute;z-index:3;left:16px;bottom:16px;padding:8px 12px;background:rgba(8,12,18,.72);backdrop-filter:blur(8px);border-radius:999px;font-size:.86rem}.stage[data-avatar-state="speaking"] .face{animation:speak .28s ease-in-out infinite alternate}.stage[data-avatar-state="listening"] .face{animation:listen 3.2s ease-in-out infinite}.stage[data-avatar-state="thinking"] .face{animation:think 2.5s ease-in-out infinite}.caption-panel{margin:16px 0;padding:16px 18px;min-height:94px;background:#111925;border-radius:16px;border:1px solid #273548}.speaker{margin:0 0 7px;font-size:.78rem;color:#8fa2b8;text-transform:uppercase;letter-spacing:.08em}#caption{margin:0;font-size:clamp(1.05rem,3vw,1.3rem);line-height:1.45}.controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.controls button,.dialog-actions button,.key-row button,.install-button{min-height:48px;padding:10px 18px;border:1px solid #3b4a5e;border-radius:14px;background:#1b2634;color:white;cursor:pointer}.controls button{min-width:120px}.controls button:disabled{opacity:.42;cursor:not-allowed}.primary,.controls .primary{background:#2563eb!important;border-color:#4c7df0!important}.controls .danger{background:#8c2432;border-color:#b64d59}.install-button{display:block;width:100%;margin-top:12px;background:#153654;border-color:#30658f}.diagnostics{margin-top:16px;color:#9fb0c2}.diagnostics dl{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px}.diagnostics dl div{background:#0c131d;border-radius:10px;padding:8px 10px}.diagnostics dt{font-size:.72rem;text-transform:uppercase;color:#71859a}.diagnostics dd{margin:2px 0 0;color:#d8e1ea;overflow-wrap:anywhere}.disclosure{margin:18px 0 0;color:#75879a;font-size:.78rem;text-align:center}.app-footer{position:fixed;left:0;right:0;bottom:0;z-index:5;text-align:center;padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));background:#edf0ed;border-top:1px solid #d7ddd4}.app-credit{margin:0;color:#15221d;font-size:13px;line-height:1.3}.app-credit a{color:#1f5b44;font-weight:600;text-decoration:underline}.settings-dialog{width:min(620px,calc(100% - 24px));border:1px solid #334357;border-radius:20px;background:#10161e;color:#f5f7fa;padding:0;box-shadow:0 28px 80px rgba(0,0,0,.55)}.settings-dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(3px)}.settings-dialog form{padding:20px}.field{display:grid;gap:7px;margin-top:18px;color:#dbe5ee}.field>span,.check-row{font-size:.9rem}.key-row{gap:8px}.key-row input,.field select{width:100%;min-width:0;min-height:48px;border:1px solid #3a485b;border-radius:12px;background:#0b1119;color:#fff;padding:10px 12px}.key-row button{flex:0 0 auto;padding-inline:13px}.check-row{display:flex;align-items:center;gap:10px;margin-top:14px}.check-row input{width:20px;height:20px}.settings-note{color:#8799ab;font-size:.8rem;line-height:1.45}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-status{min-height:1.2em;color:#9cc7a9;font-size:.86rem}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}@keyframes breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.012)}}@keyframes pulse{0%{transform:scale(.75);opacity:.35}100%{transform:scale(1.35);opacity:0}}@keyframes speak{from{transform:translateY(0) scale(1)}to{transform:translateY(-2px) scale(1.018)}}@keyframes listen{0%,100%{transform:rotate(0deg) translateY(0)}50%{transform:rotate(-1.2deg) translateY(-2px)}}@keyframes think{0%,100%{transform:rotate(0)}50%{transform:rotate(1deg) translateY(1px)}}@media(max-width:540px){.app-shell{padding:10px}.call-card{border-radius:18px;padding:14px}.topbar{align-items:flex-start}.top-actions{align-items:flex-end;flex-direction:column}.controls button{flex:1 1 30%;min-width:0}.diagnostics dl,.settings-grid{grid-template-columns:1fr}.dialog-actions button{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important}}