:root{color:#15202f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef7ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}.takeout-shell{color:#172033;background:linear-gradient(#ffffff85,#ffffff14 44%,#18222a29),linear-gradient(135deg,#edf7ff 0%,#f7f1ff 46%,#e7fff4 100%);min-width:320px;min-height:100svh;position:relative;overflow:hidden}.character-stage{position:fixed;inset:0;overflow:hidden}.character-view{width:100%;height:100%;position:relative}.character-view .character-canvas{width:100%;height:100%;display:block}.stage-depth{pointer-events:none;background:linear-gradient(#0000,#2034402e);height:44%;position:absolute;inset:auto 0 0}.chat-overlay{z-index:3;height:clamp(340px,50svh,560px);padding:14px max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-right));pointer-events:none;grid-template-rows:minmax(0,1fr) auto;gap:10px;display:grid;position:fixed;bottom:0;left:0;right:0}.chat-log{overscroll-behavior:contain;pointer-events:auto;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;gap:9px;width:100%;max-width:860px;min-height:0;margin:0 auto;padding:2px 2px 4px;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#0000002e 10%,#000 30% 100%);mask-image:linear-gradient(#0000 0,#0000002e 10%,#000 30% 100%)}.chat-log::-webkit-scrollbar{display:none}.chat-log:before{content:"";margin-top:auto}.chat-message,.chat-notice{margin:0;line-height:1.5;display:flex}.chat-message span,.chat-notice{overflow-wrap:anywhere;border-radius:18px;max-width:min(76%,540px);padding:9px 12px;font-size:15px;box-shadow:0 4px 16px #1c2a3314}.chat-message-user{justify-content:flex-end}.chat-message-user span{color:#082213;background:#8eea93;border-bottom-right-radius:5px}.chat-message-assistant{justify-content:flex-start}.chat-message-assistant span{color:#172033;background:#ffffffeb;border-bottom-left-radius:5px}.chat-message-pending span,.log-entry-pending{color:#667185;font-weight:800}.chat-message-system,.chat-message-error{justify-content:center}.chat-message-system span{color:#526071;max-width:min(88%,620px);box-shadow:none;background:#ffffffad;border-radius:999px;font-size:12px;font-weight:800}.chat-message-error span,.chat-notice-error{color:#9f1f3d;background:#ffe8edeb}.chat-notice{text-align:center;border:1px solid #ba244438;justify-content:center;max-width:min(92%,680px);margin:0 auto;font-weight:800}.chat-composer{pointer-events:auto;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:8px;width:min(860px,100%);margin:0 auto;display:grid}.mic-button,.send-button,.chat-input,.voice-indicator{min-height:48px;font:inherit;border:1px solid #17203329;border-radius:999px;font-size:15px}.mic-button,.send-button{color:#172033;cursor:pointer;background:#ffffffe6;justify-content:center;align-items:center;padding:0;font-weight:900;display:inline-flex;box-shadow:0 6px 18px #1c2a331a}.mic-button{width:52px}.mic-button-active{color:#066246;background:#dff8eb;border-color:#1088586b}.send-button{color:#fff;background:#1f78d1;border-color:#1c5bcc47;width:52px}.button-icon{width:21px;height:21px;display:block}.chat-input{color:#172033;background:#fffffff0;outline:none;width:100%;min-width:0;padding:0 16px}.chat-input:focus{border-color:#1f78d18f;box-shadow:0 0 0 4px #1f78d121}.voice-indicator{color:#066246;background:#dff8ebf0;grid-column:span 2;grid-template-columns:auto minmax(80px,1fr);align-items:center;gap:10px;padding:0 14px;font-weight:900;display:grid}.voice-meter,.level-meter{background:#1720331f;border-radius:999px;height:10px;overflow:hidden}.voice-meter span,.level-meter span{border-radius:inherit;background:linear-gradient(90deg,#1f78d1,#26a269,#d29922);height:100%;transition:width 90ms linear;display:block}.mic-button:hover:not(:disabled),.send-button:hover:not(:disabled),.debug-button:hover:not(:disabled),.expression-strip button:hover:not(:disabled),.expression-strip button.selected{transform:translateY(-1px)}button:disabled,input:disabled{cursor:not-allowed;opacity:.52}.takeout-header{z-index:2;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px clamp(16px,4vw,42px);display:flex;position:fixed;top:0;left:0;right:0}.takeout-header p{color:#6b4ba3;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:800}.takeout-header h1{color:#162233;margin:0;font-size:clamp(24px,5vw,44px);line-height:1}.scene-status,.call-status,.vad-status{color:#34435a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffa8;border:1px solid #15202f2e;border-radius:999px;align-items:center;min-height:34px;padding:7px 11px;font-size:13px;font-weight:800;display:inline-flex}.scene-status-ready,.call-status-listening{color:#087a55}.scene-status-error,.call-status-error{color:#ba2444}.call-status-hearing{color:#1f5cbe}.call-status-thinking,.call-status-speaking{color:#8a4a00}.call-controls{z-index:3;left:50%;bottom:max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb8;border:1px solid #15202f29;border-radius:8px;gap:12px;width:min(860px,100% - 24px);max-height:min(58svh,560px);padding:14px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 18px 44px #22314629}.call-status-row,.primary-actions,.expression-strip{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.call-status-row{justify-content:space-between}.call-status-row>div:first-child{flex-wrap:wrap;gap:8px;display:flex}.level-meter{flex:180px;max-width:280px}.session-fields{grid-template-columns:minmax(130px,.8fr) minmax(220px,1.5fr) minmax(130px,.8fr);gap:8px;display:grid}label{color:#4a5870;gap:5px;min-width:0;font-size:12px;font-weight:800;display:grid}.session-fields input{color:#162233;width:100%;min-width:0;min-height:38px;font:inherit;background:#ffffffd1;border:1px solid #15202f2e;border-radius:8px;padding:0 10px;font-size:13px}.primary-actions button,.expression-strip button{color:#162233;min-height:40px;font:inherit;cursor:pointer;background:#ffffffc2;border:1px solid #15202f2e;border-radius:8px;padding:0 14px;font-size:14px;font-weight:800}.expression-strip button:hover:not(:disabled),.expression-strip button.selected{color:#2434a6;background:#dee5ffd1;border-color:#5267ff8f}.primary-actions button.danger:hover:not(:disabled),.primary-actions button.danger{color:#9f1f3d;background:#ffe8edd6;border-color:#ba244470}.token-required-message{color:#9f1f3d;text-align:center;background:#ffe8edbd;border:1px solid #ba244447;border-radius:8px;margin:0;padding:9px 11px;font-size:13px;font-weight:800;line-height:1.45}.conversation-log{background:#ffffff8a;border:1px solid #15202f1a;border-radius:8px;align-content:start;gap:6px;min-height:72px;max-height:156px;padding:8px;display:grid;overflow:auto}.log-entry{color:#27364a;overflow-wrap:anywhere;background:#ffffffb3;border-left:4px solid #15202f2e;border-radius:6px;margin:0;padding:7px 9px;font-size:13px;line-height:1.45}.log-entry-user{border-left-color:#1f78d1}.log-entry-assistant{border-left-color:#26a269}.log-entry-error{color:#9f1f3d;border-left-color:#ba2444}.session-id,.error-text{text-align:center;overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:800}.session-id{color:#4a5870}.error-text{color:#ba2444}@media (width<=720px){.chat-overlay{height:54svh;padding:10px max(10px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-right))}.chat-message span,.chat-notice{max-width:84%;font-size:14px}.chat-composer{grid-template-columns:48px minmax(0,1fr) 48px;gap:6px}.mic-button,.send-button,.chat-input,.voice-indicator{min-height:46px;font-size:14px}.mic-button,.send-button{width:48px}.voice-indicator{grid-template-columns:72px minmax(70px,1fr);padding:0 12px}.takeout-header{flex-direction:column}.call-controls{max-height:68svh;padding:12px}.session-fields{grid-template-columns:1fr}.call-status-row{justify-content:center}}@media (width<=390px){.chat-overlay{height:56svh}.chat-composer{grid-template-columns:46px minmax(0,1fr) 46px}.mic-button,.send-button{width:46px}}
