*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#000;min-height:100vh;color:#fff;overflow:hidden}.app{width:100vw;height:100vh;--viewport-square-size: min(100vw, 100vh);--square-inset-x: calc((100vw - var(--viewport-square-size)) / 2);--square-inset-y: calc((100vh - var(--viewport-square-size)) / 2);display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;background:#000}.app--prestart{cursor:default;overflow:auto;align-items:center;justify-content:center;padding:max(.5rem,env(safe-area-inset-top)) max(.5rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));background:linear-gradient(180deg,#cfcfcf,#bbb)}.start-screen-shell{width:100%;min-height:100%;display:grid;place-items:center;margin:0 auto}.start-consent{container-type:inline-size;width:min(48rem,calc(100vw - 1rem));max-height:min(calc(100dvh - 1rem),38rem);display:grid;gap:0;padding:0 0 clamp(.75rem,2svh,1.4rem);overflow-y:auto;border:1px solid rgba(223,223,223,.98);border-radius:24px;background:#fff;box-shadow:0 24px 80px #11161d38;overscroll-behavior:contain}.start-consent__hero{display:grid;justify-items:center;padding:clamp(.9rem,4svh,2rem) clamp(.9rem,4vw,1.5rem) clamp(.65rem,2.4svh,1.2rem);text-align:center}.start-consent__hero-inner{display:grid;justify-items:center;gap:clamp(.35rem,1.2svh,.65rem)}.start-consent__logo{width:clamp(3rem,12vmin,4.7rem);height:clamp(3rem,12vmin,4.7rem)}.start-consent__app-name{margin:0;color:#222;font-size:clamp(1rem,3.8vmin,1.45rem);font-weight:400;line-height:1.25}.start-consent__title{margin:0;color:#222;font-size:clamp(1.65rem,7vmin,2.7rem);font-weight:700;line-height:1.05}.start-consent__panel{display:grid;justify-items:center;gap:clamp(.45rem,1.4svh,.75rem);padding:clamp(.7rem,2.5svh,1.25rem) clamp(.9rem,4vw,1.5rem) clamp(.75rem,2.5svh,1.1rem);background:#fff;text-align:center}.start-consent__description{max-width:31rem;margin:0;color:#222;font-size:clamp(.92rem,3.4vmin,1.25rem);font-weight:400;line-height:1.25}.start-consent__learn-more{color:#222;font-size:clamp(.9rem,2.8vmin,1.12rem);font-weight:400;text-decoration:underline;text-underline-offset:.1em}.start-consent__learn-more:hover{color:#222}.start-consent__divider{height:1px;margin:0 clamp(.9rem,4vw,2rem) clamp(.65rem,2svh,1rem);background:#e7e7e7}.start-consent__language-row{padding:0 clamp(.75rem,4vw,1.4rem) clamp(.65rem,2svh,.95rem);display:block}.start-consent__actions{display:flex;flex-direction:row!important;flex-wrap:nowrap;justify-content:center;gap:clamp(.45rem,2vw,.8rem);padding:0 clamp(.75rem,4vw,1.4rem)}.start-consent__button{flex:1 1 0;width:auto!important;min-width:0!important;min-height:clamp(2.55rem,8svh,3.1rem);padding:.6rem clamp(.55rem,2.5vw,1rem);border-radius:12px;font:inherit;font-size:clamp(.82rem,2.8vmin,.98rem);font-weight:500;line-height:1.15;box-shadow:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.start-consent__button--secondary{border:1px solid #d9d9d9;background:#fff;color:#2a2a2a}.start-consent__button--secondary:hover{border-color:#d0d0d0;background:#fafafa;color:#2a2a2a}.start-consent__button--primary{border:1px solid #232323;background:#232323;color:#fff}.start-consent__button--primary:hover{border-color:#232323;background:#2b2b2b;color:#fff}.language-selector.language-selector--dialog{position:relative!important;inset:auto!important;transform:none!important;display:flex;align-items:center;justify-content:center;flex-direction:row;flex-wrap:nowrap;gap:.55rem;width:fit-content;max-width:100%;padding:0!important;margin:0 auto;background:transparent!important;border:0!important;z-index:2}.language-selector.language-selector--dialog .language-selector__intro{flex:0 0 auto;max-width:min(10.25rem,36vw);padding:.02rem 0 .08rem;border:0;border-radius:0;background:transparent;color:#565656;font-size:clamp(.8rem,2.7vmin,1rem);font-weight:400;line-height:1.22;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:none}.language-selector.language-selector--dialog .language-selector__intro-text{display:block}.language-selector.language-selector--dialog .language-selector__control{flex:0 0 min(13.9rem,100%);width:min(13.9rem,100%)}.language-selector.language-selector--dialog .language-button{flex:0 0 auto;width:100%;justify-content:flex-start;min-height:clamp(2.55rem,8svh,3.1rem);padding:.58rem .85rem;border-radius:12px;border:1px solid #d9d9d9;background:#fff;color:#2a2a2a;font-size:clamp(.82rem,2.8vmin,.98rem);font-weight:500;line-height:1.15;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.language-selector.language-selector--dialog .language-button:hover{border-color:#d0d0d0;background:#fafafa;color:#2a2a2a}.language-selector.language-selector--dialog .language-button__label{min-width:0;flex:1;text-align:left}.language-selector.language-selector--dialog .language-button__chevron{flex:0 0 auto;color:#7a7a7a;font-size:.82rem;line-height:1}.language-selector.language-selector--dialog .language-menu{position:absolute;left:0;right:0;bottom:calc(100% + .5rem);margin-top:0;transform:none;width:100%;min-width:0;max-height:min(14rem,42vh);padding:.4rem;border-radius:16px;border:1px solid rgba(208,208,208,.96);background:#fff;box-shadow:0 20px 48px #11161d2e;-webkit-backdrop-filter:none;backdrop-filter:none;scrollbar-color:rgba(34,34,34,.25) transparent}.language-selector.language-selector--dialog .language-menu__header,.language-selector.language-selector--dialog .language-menu__back-button{display:none}.language-selector.language-selector--dialog .language-menu__list{display:grid;gap:.2rem}.language-selector.language-selector--dialog .language-menu__title{min-width:0}.language-selector.language-selector--dialog .language-option{display:flex;align-items:center;gap:.8rem;padding:.78rem .9rem;border:1px solid transparent;border-radius:12px;background:#fff;color:#2a2a2a;font-size:clamp(.84rem,2.8vmin,.96rem)}.language-selector.language-selector--dialog .language-option__label{min-width:0;flex:1;text-align:left}.language-selector.language-selector--dialog .language-option__check{flex:0 0 auto;opacity:0;color:#232323;font-size:.92rem;line-height:1}.language-selector.language-selector--dialog .language-option:hover,.language-selector.language-selector--dialog .language-option.active{background:#f5f5f5;color:#2a2a2a;border-color:#ececec}.language-selector.language-selector--dialog .language-option.active .language-option__check{opacity:1}@media(max-width:580px){.start-consent__title{display:none}.start-consent__hero{padding-bottom:clamp(.45rem,1.8svh,.8rem)}.language-selector.language-selector--dialog{display:block;width:100%;max-width:none}.language-selector.language-selector--dialog .language-selector__intro{display:none}.language-selector.language-selector--dialog .language-selector__control,.language-selector.language-selector--dialog .language-button{width:100%;flex-basis:auto}.language-selector.language-selector--dialog .language-menu{position:fixed;inset:0;display:flex;flex-direction:column;width:100vw;max-width:none;max-height:none;padding:0;border:0;border-radius:0;box-shadow:none;overflow:hidden;z-index:30}.language-selector.language-selector--dialog .language-menu__header{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:.35rem;min-height:3.5rem;padding:max(.55rem,env(safe-area-inset-top)) max(.5rem,env(safe-area-inset-right)) .55rem max(.5rem,env(safe-area-inset-left));border-bottom:1px solid #ececec;background:#fff}.language-selector.language-selector--dialog .language-menu__back-button{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin:0;padding:0;border:0;border-radius:999px;background:#fff;color:#222;cursor:pointer}.language-selector.language-selector--dialog .language-menu__back-icon{flex:0 0 auto;font-size:1.25rem;line-height:1}.language-selector.language-selector--dialog .language-menu__title{min-width:0;color:#222;font-size:1rem;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.language-selector.language-selector--dialog .language-menu__list{flex:1 1 auto;overflow-y:auto;padding:0 0 max(.75rem,env(safe-area-inset-bottom));gap:0}.language-selector.language-selector--dialog .language-option{min-height:3.5rem;padding:.95rem max(.75rem,env(safe-area-inset-right)) .95rem max(.75rem,env(safe-area-inset-left));border-width:0 0 1px;border-radius:0;border-color:#efefef;background:#fff}.language-selector.language-selector--dialog .language-option:hover,.language-selector.language-selector--dialog .language-option.active{background:#f7f7f7;border-color:#efefef}}@media(max-width:640px),(max-height:560px){.start-consent__actions{flex-direction:column!important}.start-consent__button{width:100%!important}}@media(max-height:560px){.start-consent{max-height:calc(100dvh - .5rem)}.start-consent__logo{width:2.5rem;height:2.5rem}.start-consent__app-name{display:none}.start-consent__hero{padding-top:.7rem}}@media(max-width:360px){.start-consent__language-row,.start-consent__actions{gap:.4rem;padding-inline:.6rem}.language-selector.language-selector--dialog .language-menu__header{min-height:3rem;gap:.2rem;padding:max(.4rem,env(safe-area-inset-top)) max(.4rem,env(safe-area-inset-right)) .4rem max(.4rem,env(safe-area-inset-left))}.language-selector.language-selector--dialog .language-menu__back-button{width:2.35rem;height:2.35rem}.language-selector.language-selector--dialog .language-menu__back-icon{font-size:1.1rem}.language-selector.language-selector--dialog .language-menu__title{font-size:.92rem}.start-consent__button,.language-selector--dialog .language-button{border-radius:10px}.language-selector.language-selector--overlay .language-menu__header{min-height:3rem;padding:max(.4rem,env(safe-area-inset-top)) max(.4rem,env(safe-area-inset-right)) .4rem max(.4rem,env(safe-area-inset-left))}.language-selector.language-selector--overlay .language-menu__back-button{width:2.25rem;height:2.25rem}.language-selector.language-selector--overlay .language-menu__title{font-size:.95rem}}@media(max-width:340px),(max-height:320px){.app--prestart{padding:.25rem}.start-consent{width:100%;max-height:calc(100dvh - .5rem);padding-bottom:.45rem;border-radius:14px}.start-consent__hero{padding:.45rem .55rem .25rem}.start-consent__hero-inner{gap:.2rem}.start-consent__logo,.start-consent__app-name,.start-consent__divider{display:none}.start-consent__title{font-size:clamp(1rem,8vmin,1.25rem);line-height:1.05}.start-consent__panel{display:block;padding:.2rem .55rem .45rem;text-align:center}.start-consent__description{display:inline;max-width:100%;font-size:clamp(.68rem,5vmin,.82rem);line-height:1.15}.start-consent__learn-more{display:inline;font-size:clamp(.68rem,4.5vmin,.8rem);line-height:1.15;margin-left:.35rem}.start-consent__language-row,.start-consent__actions{padding-inline:.45rem}.start-consent__button,.language-selector--dialog .language-button{min-height:1.9rem;padding:.35rem .4rem;border-radius:9px;font-size:clamp(.66rem,4.5vmin,.78rem)}.language-selector--dialog .language-option{padding:.45rem .55rem;font-size:clamp(.66rem,4.5vmin,.78rem)}}.start-prompt{font-size:32px;color:#666;-webkit-user-select:none;user-select:none;opacity:.6;transition:opacity .2s ease,background .2s ease,border-color .2s ease;padding:3rem 4rem;cursor:pointer;background:#ffffff05;border-radius:16px;border:1px solid rgba(255,255,255,.05);text-align:center}.app:hover .start-prompt{opacity:1;color:#888;background:#ffffff0d;border-color:#ffffff1a}.wave-container{width:100%;max-width:100%;height:200px;cursor:default;display:flex;align-items:center;justify-content:center}.error-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:1.25rem 1.5rem;background:#090c0eeb;border:1px solid rgba(255,255,255,.12);border-radius:16px;color:#fffffff0;font-size:1rem;width:calc(100% - 2rem);max-width:420px;text-align:center;box-shadow:0 18px 48px #00000059;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media(max-width:360px),(max-height:480px){.error-overlay{top:0;left:0;transform:none;width:100%;height:100%;max-width:none;border-radius:0;border:none;padding:1rem;font-size:.875rem}.error-message{font-size:.875rem}.retry-button{font-size:.8rem;padding:.5rem 1rem}}.error-content{display:flex;align-items:center;justify-content:center;width:100%}.error-message{line-height:1.4;color:#ffffffeb}.retry-button{padding:.65rem 1.75rem;background:linear-gradient(135deg,#ffffff26,#ffffff0d);border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0003}.retry-button:hover{background:linear-gradient(135deg,#ffffff40,#ffffff1a);border-color:#fff6;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.retry-button:active{transform:translateY(0);box-shadow:0 2px 6px #0003}.bottom-toast-stack{position:fixed;left:50%;bottom:max(calc(var(--square-inset-y) + var(--bottom-toast-base-offset, 1rem)),calc(env(safe-area-inset-bottom,0px) + var(--bottom-toast-base-offset, 1rem)));transform:translate(-50%);width:min(calc(var(--viewport-square-size) - 1.5rem),380px);display:flex;flex-direction:column;align-items:center;gap:.65rem;z-index:140;pointer-events:none}.bottom-toast-stack--from-bottom{bottom:max(calc(var(--square-inset-y) + var(--bottom-toast-base-offset, 1rem)),calc(env(safe-area-inset-bottom,0px) + var(--bottom-toast-base-offset, 1rem)))}.bottom-toast-stack--above-dock{bottom:max(calc(var(--square-inset-y) + var(--bottom-toast-dock-offset, 4.5rem)),calc(env(safe-area-inset-bottom,0px) + var(--bottom-toast-dock-offset, 4.5rem)))}.bottom-toast-stack--above-main-control{bottom:max(calc(var(--square-inset-y) + var(--bottom-toast-main-control-offset, 8.25rem)),calc(env(safe-area-inset-bottom,0px) + var(--bottom-toast-main-control-offset, 8.25rem)))}.bottom-toast-stack--with-status-action{width:min(calc(var(--viewport-square-size) - 1.5rem),560px)}.service-notification{position:relative;width:100%;padding:.75rem 1.25rem;background:#090c0ed1;border:1px solid rgba(255,255,255,.1);border-radius:14px;color:#fffffff0;font-size:.8rem;max-width:100%;text-align:center;box-shadow:0 10px 24px #0000003d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:toastSlideUp .3s ease-out;pointer-events:auto}.notification-content{display:flex;align-items:center;justify-content:center;gap:.5rem}.notification-message{line-height:1.4}.notification-retry{margin-top:.4rem;font-size:.7rem;color:#ffffff9e}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.status-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1rem;color:#666;font-size:1rem;pointer-events:none}.status-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.status-spinner.notification-spinner{width:16px;height:16px;min-width:16px;min-height:16px;flex:0 0 16px;aspect-ratio:1 / 1;border-width:2px;border-radius:50%;box-sizing:border-box;align-self:center}@keyframes spin{to{transform:rotate(360deg)}}.speaking-indicator{position:absolute;top:calc(50% + 120px);left:50%;transform:translate(-50%);color:#666;font-size:.875rem;animation:pulse 1.5s ease-in-out infinite;pointer-events:none}.language-info{position:relative;color:#fffffff2;font-size:.8rem;font-weight:600;line-height:1.25;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:#00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.42rem .78rem;border-radius:999px;border:1px solid rgba(255,255,255,.1);text-shadow:0 1px 3px rgba(0,0,0,.5);max-width:calc(var(--viewport-square-size) - 1.5rem);box-shadow:0 4px 20px #00000047,inset 0 1px #ffffff0d;transition:border-color .2s ease,background .2s ease,transform .2s ease}.language-info--button{cursor:pointer;appearance:none;-webkit-appearance:none;font-family:inherit;color:inherit;text-align:center;pointer-events:auto}.language-info--status-stack{align-self:center}.language-info--button:hover{border-color:#ffffff38;background:#000000a3;transform:translateY(-1px)}.language-info__label{min-width:0;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.language-info .language-flag{width:1.15rem}.bottom-translation-controls{--bottom-translation-label-font-size: .8rem;--bottom-translation-label-padding-block: .42rem;--bottom-translation-control-size: calc(var(--bottom-translation-label-font-size) * 1.25 + (var(--bottom-translation-label-padding-block) * 2) + 2px);width:100%;display:flex;align-items:center;justify-content:center;gap:.55rem;flex-wrap:wrap;pointer-events:auto}.bottom-translation-controls .language-info{min-height:var(--bottom-translation-control-size);max-width:min(calc(var(--viewport-square-size) - 5rem),100%)}.bottom-translation-controls .translation-output-toggle{width:var(--bottom-translation-control-size);min-width:var(--bottom-translation-control-size);height:var(--bottom-translation-control-size)}.bottom-translation-controls--status-stack{margin-bottom:.1rem}.top-right-controls{position:fixed;top:max(calc(var(--square-inset-y) + 1rem),calc(env(safe-area-inset-top,0px) + .75rem));right:max(calc(var(--square-inset-x) + 1rem),calc(env(safe-area-inset-right,0px) + .75rem));z-index:120;display:flex;align-items:center;justify-content:flex-end;opacity:0;animation:corner-controls-enter .42s cubic-bezier(.22,1,.36,1) .08s forwards}.language-change-confirm-overlay,.language-picker-overlay{position:fixed;inset:0;z-index:210;display:flex;align-items:center;justify-content:center;padding:max(.75rem,env(safe-area-inset-top,0px)) max(.75rem,env(safe-area-inset-right,0px)) max(.75rem,env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-left,0px));background:#00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.language-change-confirm{width:min(calc(100% - 2rem),420px);padding:1.35rem 1.4rem;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#0a0a0ceb;box-shadow:0 18px 52px #0006;color:#fff}.language-change-confirm__title{font-size:1.05rem;font-weight:600;margin-bottom:.7rem}.language-change-confirm__message{font-size:.9rem;line-height:1.5;color:#fffc}.language-change-confirm__actions{margin-top:1rem;display:flex;justify-content:flex-end;gap:.75rem}.language-change-confirm__button{appearance:none;-webkit-appearance:none;border-radius:999px;border:1px solid rgba(255,255,255,.18);padding:.7rem 1rem;font:inherit;color:#fff;cursor:pointer;transition:background .2s ease,border-color .2s ease}.language-change-confirm__button-label--compact{display:none}.language-change-confirm__button--secondary{background:#ffffff0f}.language-change-confirm__button--primary{background:#6adc9229;border-color:#6adc9257}.language-change-confirm__button:hover{background:#ffffff1f}.language-change-confirm__button--primary:hover{background:#6adc923d}@media(max-width:360px),(max-height:420px){.language-change-confirm-overlay{align-items:flex-end;overflow-y:auto;padding:max(.25rem,env(safe-area-inset-top,0px)) max(.25rem,env(safe-area-inset-right,0px)) max(.25rem,env(safe-area-inset-bottom,0px)) max(.25rem,env(safe-area-inset-left,0px))}.language-change-confirm{width:100%;max-width:none;padding:.65rem;border-radius:16px}.language-change-confirm__title,.language-change-confirm__message{display:none}.language-change-confirm__actions{margin-top:0;width:100%;flex-direction:column;align-items:stretch;gap:.45rem}.language-change-confirm__button{display:flex;align-items:center;justify-content:center;width:100%;min-height:2.45rem;padding:.58rem .6rem;font-size:.82rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.language-change-confirm__button-label--full{display:none}.language-change-confirm__button-label--compact{display:inline}}.room-info{display:flex;align-items:center;gap:.5rem;justify-content:center;font-size:.75rem;color:#fff6}.copy-room-link{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:2px 6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.copy-room-link:hover{background:#fff3;border-color:#ffffff4d}@keyframes corner-controls-enter{0%{opacity:0;transform:translateY(-10px) scale(.94);filter:blur(10px)}65%{opacity:1;transform:translateY(1px) scale(1.01);filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes control-dock-enter{0%{opacity:0;transform:translate(-50%,24px) scale(.96);filter:blur(12px)}60%{opacity:1;transform:translate(-50%,-2px) scale(1.01);filter:blur(0)}to{opacity:1;transform:translate(-50%) scale(1);filter:blur(0)}}@keyframes control-pill-enter{0%{opacity:0;transform:translateY(18px) scale(.94);filter:blur(8px)}65%{opacity:1;transform:translateY(-2px) scale(1.015);filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes corner-button-enter{0%{opacity:0;transform:scale(.88) rotate(-8deg);filter:blur(8px)}70%{opacity:1;transform:scale(1.04) rotate(1deg);filter:blur(0)}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}.voice-control-dock{position:fixed;bottom:max(calc(var(--square-inset-y) + 1.5rem),calc(env(safe-area-inset-bottom,0px) + 1rem));left:50%;transform:translate(-50%);z-index:130;width:min(calc(var(--viewport-square-size) - 1.5rem),380px);display:flex;flex-direction:column;align-items:center;gap:.8rem;opacity:0;filter:blur(12px);transform-origin:50% 100%;animation:control-dock-enter .55s cubic-bezier(.22,1,.36,1) .12s forwards}.voice-control-dock>.bottom-translation-controls{width:auto;max-width:100%}.voice-control-actions{position:relative;width:fit-content;max-width:100%;display:flex;align-items:center;justify-content:center;overflow:visible}.voice-control-actions--with-cancel{justify-content:center}.voice-control-actions--cancel-only .voice-control-cancel-button{--voice-control-cancel-transform: none;--voice-control-cancel-hover-transform: translateY(-1px);--voice-control-cancel-active-transform: scale(.98);position:static;top:auto;left:auto;height:40px;min-height:40px}.microphone-control{position:relative;isolation:isolate;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;height:48px;min-width:clamp(190px,32vw,240px);padding:0 1.5rem;border:1.5px solid rgba(255,255,255,.1);border-radius:999px;background:#0e1016eb;color:#fff;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);box-shadow:0 4px 20px #00000059,0 1px 2px #0003,inset 0 1px #ffffff0d;gap:.6rem;cursor:pointer;overflow:hidden;opacity:0;filter:blur(8px);transition:transform .2s cubic-bezier(.25,.46,.45,.94),border-color .35s ease,box-shadow .35s ease,background .35s ease,opacity .35s ease,filter .35s ease;animation:control-pill-enter .56s cubic-bezier(.22,1,.36,1) .18s forwards}.microphone-control:before{content:"";position:absolute;inset:1px;border-radius:inherit;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.12),transparent 38%),linear-gradient(110deg,transparent 20%,rgba(255,255,255,.12) 50%,transparent 80%);opacity:.22;transform:translate(-26%);pointer-events:none;transition:opacity .35s ease,transform .7s cubic-bezier(.22,1,.36,1)}.microphone-control>*{position:relative;z-index:1}.microphone-control:hover:not(:disabled){transform:translateY(-1px);border-color:#fff3;box-shadow:0 8px 32px #0006,0 1px 2px #00000038,inset 0 1px #ffffff12}.microphone-control:hover:not(:disabled):before{opacity:.42;transform:translate(18%)}.microphone-control:active:not(:disabled){transform:scale(.97);transition:transform .08s ease}.microphone-control:disabled{cursor:not-allowed;opacity:.65}.microphone-control__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .35s ease,filter .35s ease}.microphone-control__icon svg{display:block;width:20px;height:20px}.microphone-control__title{font-size:.82rem;font-weight:500;letter-spacing:.015em;white-space:nowrap;transition:color .35s ease}.microphone-control--available{border-color:#59b9ff38;background:linear-gradient(90deg,rgba(89,185,255,.1) 0%,transparent 50%),#0e1016ed;box-shadow:0 4px 20px #00000059,0 0 12px #59b9ff14,inset 0 1px #59b9ff0f}.microphone-control--available .microphone-control__icon{color:#5cb8ff;filter:drop-shadow(0 0 4px rgba(89,185,255,.5))}.microphone-control--available .microphone-control__title{color:#ffffffe0}.microphone-control--owned{border-color:#6adc9247;background:linear-gradient(90deg,rgba(106,220,146,.1) 0%,transparent 50%),#0a120ef0;box-shadow:0 4px 20px #00000059,0 0 12px #6adc921a,inset 0 1px #6adc920f}.microphone-control--owned .microphone-control__icon{color:#6adc92;filter:drop-shadow(0 0 4px rgba(106,220,146,.5))}.microphone-control--owned .microphone-control__title{color:#ffffffe0}.microphone-control--speaking{border-color:#6adc9261;background:linear-gradient(90deg,rgba(106,220,146,.14) 0%,transparent 55%),#0a120ef0;box-shadow:0 4px 20px #00000059,0 0 calc(8px + 20px * var(--audio-level, 0)) rgba(106,220,146,calc(.1 + .45 * var(--audio-level, 0))),inset 0 1px #6adc9214;transition:transform .2s cubic-bezier(.25,.46,.45,.94),border-color .35s ease,box-shadow .1s ease-out,background .35s ease}.microphone-control--speaking .microphone-control__icon{color:#6adc92;filter:drop-shadow(0 0 6px rgba(106,220,146,.65))}.microphone-control--speaking .microphone-control__title{color:#bff0d0}.microphone-control__dot{width:9px;height:9px;border-radius:50%;background:#6adc92;flex-shrink:0;opacity:0;transform:scale(.6);transition:opacity .05s linear,transform .05s linear}.microphone-control--speaking .microphone-control__dot{opacity:clamp(0,calc(var(--audio-level, 0) * 3),1);transform:scale(calc(.7 + .5 * var(--audio-level, 0)))}.microphone-control--idle{opacity:1;filter:none;animation:mic-idle-pulse 1.8s ease-in-out infinite}@keyframes mic-idle-pulse{0%,to{transform:scale(1);box-shadow:0 4px 20px #00000059,0 0 8px #ffbb5e26}50%{transform:scale(1.06);box-shadow:0 4px 20px #00000059,0 0 18px #ffbb5e59}}.microphone-control--claiming,.microphone-control--releasing{border-color:#ffbb5e38;background:linear-gradient(90deg,rgba(255,187,94,.09) 0%,transparent 50%),#120e0af0;box-shadow:0 4px 20px #00000059,0 0 10px #ffbb5e14,inset 0 1px #ffbb5e0d}.microphone-control--claiming .microphone-control__icon,.microphone-control--releasing .microphone-control__icon{color:#eabc6a;filter:drop-shadow(0 0 4px rgba(255,187,94,.4));animation:mic-icon-pulse 1.5s ease-in-out infinite}.microphone-control--claiming .microphone-control__title,.microphone-control--releasing .microphone-control__title{color:#fff9}.microphone-control--busy{border-color:#ff856024;background:linear-gradient(90deg,rgba(255,120,90,.06) 0%,transparent 40%),#100c0af0}.microphone-control--busy .microphone-control__icon{color:#ff967880}.microphone-control--busy .microphone-control__title{color:#ffffff73}.voice-control-cancel-button{--voice-control-cancel-transform: translateY(-50%);--voice-control-cancel-hover-transform: translateY( calc(-50% - 1px) );--voice-control-cancel-active-transform: translateY(-50%) scale(.96);position:absolute;top:50%;left:calc(100% + .5rem);transform:var(--voice-control-cancel-transform);min-width:0;height:36px;min-height:36px;padding:0 .72rem 0 .58rem;border-radius:999px;border:1px solid rgba(255,136,112,.16);background:#0e1016d6;color:#ffa58fc7;display:inline-flex;align-items:center;justify-content:center;gap:.36rem;white-space:nowrap;box-shadow:0 6px 18px #00000038,0 0 10px #ff786014;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease,opacity .2s ease,box-shadow .2s ease}.voice-control-cancel-button:hover:not(:disabled){transform:var(--voice-control-cancel-hover-transform);border-color:#ffa18947;background:#101219e6;color:#ffbcabeb;box-shadow:0 8px 20px #0000003d,0 0 12px #ff78601f}.voice-control-cancel-button:active:not(:disabled){transform:var(--voice-control-cancel-active-transform)}.voice-control-cancel-button:disabled{cursor:not-allowed;opacity:.55}.voice-control-cancel-button svg{flex-shrink:0}.voice-control-cancel-button__label{font-size:.7rem;font-weight:500;letter-spacing:.01em;line-height:1}.voice-control-cancel-button--status{--voice-control-cancel-transform: none;--voice-control-cancel-hover-transform: translateY(-1px);--voice-control-cancel-active-transform: scale(.98);position:static;top:auto;left:auto;flex:0 0 auto;height:34px;min-height:34px;padding:0 .7rem 0 .56rem}.translation-session-actions{width:100%;display:flex;align-items:center;justify-content:flex-end;gap:.65rem}.translation-session-actions--mute-only{justify-content:center}.translation-session-button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;flex:1 1 auto;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#000000ad;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.82rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}.translation-session-button:hover{transform:translateY(-1px)}.translation-session-button--primary{border-color:#ff946852;background:linear-gradient(180deg,#541c12eb,#310f0aeb)}.translation-session-button--secondary.active,.translation-session-button--secondary:hover{border-color:#ffc47952;background:linear-gradient(180deg,#4b3512eb,#2a1d0aeb)}.translation-output-toggle{width:44px;min-width:44px;height:44px;flex:0 0 auto;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#000000b3;color:#ffffffe6;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 18px #0000003d;transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease}.translation-output-toggle:hover{transform:translateY(-1px);border-color:#ffffff47}.translation-output-toggle.active{border-color:#ffc4795c;background:linear-gradient(180deg,#4b3512eb,#2a1d0aeb);color:#ffd48d}.translation-output-toggle--corner{width:48px;min-width:48px;height:48px;opacity:0;filter:blur(8px);animation:corner-button-enter .48s cubic-bezier(.22,1,.36,1) .16s forwards}@keyframes mic-icon-pulse{0%,to{opacity:.6}50%{opacity:1}}.floor-status{margin-top:.5rem;color:#ff6464cc;font-size:.75rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse-icon{0%,to{filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}50%{filter:drop-shadow(0 0 8px rgba(106,220,146,.8))}}.language-selector{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;align-items:flex-end;z-index:110}.language-selector__control{position:relative}.language-selector.centered{position:fixed;bottom:2rem;left:50%;right:auto;transform:translate(-50%);align-items:center}.language-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#000c;color:#fff;font-size:.9rem;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.language-button__label{line-height:1}.language-flag{display:inline-block;width:1.35rem;aspect-ratio:4 / 3;flex-shrink:0;object-fit:cover;border-radius:.2rem;box-shadow:inset 0 0 0 1px #ffffff2e}.language-button:hover{border-color:#fff6;background:#000000e6}.language-menu{position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);background:#000000f2;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:.5rem;box-shadow:0 -10px 40px #00000080;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-width:160px;max-height:50vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.language-menu::-webkit-scrollbar{width:6px}.language-menu::-webkit-scrollbar-track{background:transparent}.language-menu::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:20px}.language-selector.language-selector--overlay{position:relative!important;inset:auto!important;transform:none!important;display:block;width:min(calc(100vw - 2rem),22rem);max-width:calc(100vw - 2rem);z-index:211}.language-selector.language-selector--overlay .language-selector__intro,.language-selector.language-selector--overlay .language-button{display:none}.language-selector.language-selector--overlay .language-selector__control{position:static}.language-selector.language-selector--overlay .language-menu{position:relative;left:auto;right:auto;bottom:auto;transform:none;display:flex;flex-direction:column;width:100%;min-width:0;max-height:min(calc(100dvh - 2rem),34rem);padding:0;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:#0a0a0cf0;box-shadow:0 24px 64px #00000073;overflow:hidden}.language-selector.language-selector--overlay .language-menu__header{display:flex;align-items:center;gap:.35rem;min-height:3.5rem;padding:.6rem .7rem .55rem;border-bottom:1px solid rgba(255,255,255,.08);background:#0a0a0cfa}.language-selector.language-selector--overlay .language-menu__back-button{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:0;border-radius:999px;background:transparent;color:#ffffffeb;cursor:pointer}.language-selector.language-selector--overlay .language-menu__back-button:hover{background:#ffffff14}.language-selector.language-selector--overlay .language-menu__back-icon{flex:0 0 auto;font-size:1.15rem;line-height:1}.language-selector.language-selector--overlay .language-menu__title{min-width:0;color:#fff;font-size:1.05rem;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.language-selector.language-selector--overlay .language-menu__list{flex:1 1 auto;display:grid;gap:0;overflow-y:auto}.language-selector.language-selector--overlay .language-option{display:flex;align-items:center;gap:.85rem;min-height:3.35rem;padding:.92rem 1rem;border:0;border-bottom:1px solid rgba(255,255,255,.07);border-radius:0;background:transparent;color:#ffffffe0;font-size:.98rem}.language-selector.language-selector--overlay .language-option:last-child{border-bottom:0}.language-selector.language-selector--overlay .language-option__label{min-width:0;flex:1;text-align:left}.language-selector.language-selector--overlay .language-option__check{flex:0 0 auto;opacity:0;color:#ffffffeb;font-size:.95rem;line-height:1}.language-selector.language-selector--overlay .language-option:hover{background:#ffffff0f;color:#fff}.language-selector.language-selector--overlay .language-option.active{background:#6adc922e;color:#fff}.language-selector.language-selector--overlay .language-option.active .language-option__check{opacity:1}.language-option{width:100%;padding:.6rem 1rem;border:none;background:transparent;color:#fffc;font-size:.95rem;border-radius:8px;cursor:pointer;transition:background .15s ease,color .15s ease;display:flex;align-items:center;gap:.75rem;white-space:nowrap}.language-option__label{flex:1;min-width:0;text-align:left}.language-option:hover{background:#ffffff14;color:#fff}.language-option.active{background:#6adc9240;color:#fff}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.connect-button,.disconnect-button{width:100%;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease}.connect-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.connect-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.connect-button:disabled{opacity:.5;cursor:not-allowed}.disconnect-button{background:#ff4757;color:#fff;margin-top:2rem}.disconnect-button:hover{background:#ff3838;transform:translateY(-2px);box-shadow:0 6px 20px #ff475766}.connected-section{text-align:center}.status-card{background:#f0f4ff;border-radius:12px;padding:2rem;margin-bottom:1rem}.status-card h2{margin-bottom:1rem}.status-card p{margin:.5rem 0;font-size:1.1rem}.info-box{background:#fff;border-radius:8px;padding:1.5rem;margin-top:1.5rem;text-align:left}.info-box p{margin:.75rem 0;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.status-bar{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#f8f9fa;border-radius:8px;margin:1.5rem 0}.status-indicator{font-size:1.2rem}.status-text{font-weight:500;color:#555}.error-box{background:#fee;border:1px solid #fcc;border-radius:8px;padding:1rem;margin:1rem 0;color:#c00}.info-section{margin-top:2rem;padding-top:2rem;border-top:2px solid #f0f0f0}.info-section h3{color:#667eea;margin-bottom:1rem}.info-section ul{list-style:none;padding:0}.info-section li{padding:.5rem 0 .5rem 1.5rem;position:relative}.info-section li:before{content:"→";position:absolute;left:0;color:#667eea;font-weight:700}footer{text-align:center;margin-top:2rem;color:#fff;opacity:.8;font-size:.9rem}@media(max-width:768px){header h1{font-size:2rem}}.simli-avatar-wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.simli-video-container{width:min(100vw,100vh);height:min(100vw,100vh);background:#000;overflow:hidden;position:relative;flex-shrink:0}.simli-video{width:100%!important;height:100%!important;object-fit:contain!important;position:absolute;top:0;left:0}.simli-loading-overlay{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#0009;gap:16px}.simli-loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.simli-loading-text{color:#fff;font-size:16px;font-weight:500}.controls-overlay{position:fixed;bottom:var(--square-inset-y);left:var(--square-inset-x);right:var(--square-inset-x);height:180px;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.4) 40%,rgba(0,0,0,.1) 70%,transparent 100%);pointer-events:none;z-index:50}.top-controls-overlay{position:fixed;top:var(--square-inset-y);left:var(--square-inset-x);right:var(--square-inset-x);height:80px;background:linear-gradient(to bottom,rgba(0,0,0,.7) 0%,rgba(0,0,0,.4) 60%,transparent 100%);pointer-events:none;z-index:50}.translation-status{position:relative;width:100%;display:none;flex-direction:column;align-items:center;gap:.5rem;opacity:0;transition:opacity .3s ease;pointer-events:none;max-width:100%}.translation-status.active{display:flex;opacity:1}.translation-status--listener-bottom{gap:.45rem}.status-item{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.4rem .8rem;background:#000000b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;font-size:.8rem;font-weight:500;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #0000004d;max-width:100%;white-space:normal;text-align:center;cursor:default;pointer-events:auto}.status-item>span:not(.status-dot){min-width:0;overflow-wrap:anywhere}.status-item .status-dot{width:8px;height:8px;border-radius:50%;animation:status-pulse 1.5s ease-in-out infinite;flex-shrink:0}.language-tag{margin-left:.25rem;opacity:.7;font-weight:400;font-size:.8em}.status-item.speaking{color:#f88;border-color:#ff64644d}.status-item.speaking .status-dot{background:#f66;box-shadow:0 0 8px #ff646499}.status-row{display:flex;align-items:center;justify-content:center;gap:.35rem;max-width:100%;flex-wrap:wrap}.status-row .status-item{min-width:0}.status-row .status-item>span:not(.status-dot){min-width:0;overflow-wrap:anywhere}.status-stop-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid rgba(255,100,100,.35);border-radius:50%;background:#ff505026;color:#f88;cursor:pointer;flex-shrink:0;pointer-events:auto;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,background .2s ease,border-color .2s ease,transform .15s ease}.status-stop-btn.visible{opacity:1;visibility:visible}.status-stop-btn:hover{background:#ff50504d;border-color:#ff646480;transform:scale(1.1)}.status-stop-btn:active{transform:scale(.95)}.status-item.you-speaking{color:#8fa;border-color:#6adc924d}.status-item.you-speaking .status-dot{background:#6adc92;box-shadow:0 0 8px #6adc9299}.status-item.mic-idle{color:#ffc966;border-color:#ffb43240;font-size:.75rem;padding:.35rem .75rem}.status-item.translating{color:#ffc966;border-color:#ffb4324d}.status-item.translating .status-dot{background:#fa3;box-shadow:0 0 8px #ffaa3299}.status-item.playing{color:#8cf;border-color:#64b4ff4d}.status-item.playing .status-dot{background:#5af;box-shadow:0 0 8px #5af9}.status-item.waiting{color:#c9f;border-color:#b482ff4d;font-size:.75rem;padding:.35rem .75rem}.status-item.waiting .status-dot{background:#a6f;box-shadow:0 0 8px #aa64ff99;animation:status-pulse 1s ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.speaking-avatars{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem}.speaking-avatar-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;background:#000000b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;font-size:.75rem;font-weight:500;color:#8fc;border:1px solid rgba(100,255,180,.25);box-shadow:0 4px 12px #0000004d;max-width:100%;overflow-wrap:anywhere;text-align:center}.speaking-avatar-dot{width:7px;height:7px;border-radius:50%;background:#5da;box-shadow:0 0 6px #5da9;animation:status-pulse 1.5s ease-in-out infinite;flex-shrink:0}:root{--min-button-size: 44px;--min-touch-target: 48px;--control-padding-sm: .4rem;--control-padding-md: .6rem;--control-padding-lg: 1rem;--font-size-xs: .65rem;--font-size-sm: .75rem;--font-size-md: .8rem;--font-size-lg: .875rem;--bottom-toast-base-offset: 1rem;--bottom-toast-dock-offset: 4.5rem;--bottom-toast-main-control-offset: 8.25rem}@supports (container-type: inline-size){.app{container-type:inline-size;container-name:app-container}}@media(max-width:768px){:root{--bottom-toast-dock-offset: 4.5rem;--bottom-toast-main-control-offset: 8.35rem}.voice-control-dock{width:min(calc(var(--viewport-square-size) - 1rem),380px);bottom:max(calc(var(--square-inset-y) + 1rem),calc(env(safe-area-inset-bottom,0px) + .85rem))}.voice-control-actions{max-width:100%}.translation-session-actions{grid-template-columns:1fr}}@media(min-width:769px)and (max-width:1099px){.bottom-translation-controls{--bottom-translation-label-font-size: .74rem;--bottom-translation-label-padding-block: .36rem}.language-info{font-size:.74rem;padding:.36rem .7rem}}@media(min-width:1100px)and (min-height:700px){.bottom-translation-controls{--bottom-translation-label-font-size: .86rem;--bottom-translation-label-padding-block: .48rem}.voice-control-dock{width:min(calc(var(--viewport-square-size) - 2rem),430px);bottom:max(calc(var(--square-inset-y) + 1.75rem),calc(env(safe-area-inset-bottom,0px) + 1rem))}.microphone-control{height:54px;min-width:clamp(220px,24vw,272px);padding:0 1.75rem;gap:.72rem}.microphone-control__icon svg{width:22px;height:22px}.microphone-control__title{font-size:.88rem}.voice-control-cancel-button{height:40px;min-height:40px;padding:0 .82rem 0 .66rem}.voice-control-cancel-button svg,.translation-output-toggle--corner svg{width:20px;height:20px}.voice-control-cancel-button__label{font-size:.74rem}.translation-output-toggle--corner{width:52px;min-width:52px;height:52px}.language-info{font-size:.86rem;padding:.48rem .95rem}.status-item{padding:.45rem .9rem;font-size:.84rem}.speaking-avatar-badge{padding:.34rem .74rem;font-size:.78rem}}@media(max-width:480px),(max-height:480px){:root{--bottom-toast-base-offset: .85rem;--bottom-toast-dock-offset: 4.15rem;--bottom-toast-main-control-offset: 8.3rem}.language-info{font-size:var(--font-size-xs);padding:.3rem .6rem;max-width:calc(var(--viewport-square-size) - 1rem)}.bottom-translation-controls{--bottom-translation-label-font-size: var(--font-size-xs);--bottom-translation-label-padding-block: .3rem;gap:.4rem}.bottom-translation-controls .language-info{max-width:min(calc(var(--viewport-square-size) - 3.8rem),100%)}.top-right-controls{top:max(calc(var(--square-inset-y) + .85rem),calc(env(safe-area-inset-top,0px) + .55rem));right:max(calc(var(--square-inset-x) + .85rem),calc(env(safe-area-inset-right,0px) + .55rem))}.room-info{font-size:.6rem}.voice-control-dock{width:min(calc(var(--viewport-square-size) - .75rem),320px);bottom:max(calc(var(--square-inset-y) + .75rem),calc(env(safe-area-inset-bottom,0px) + .55rem));gap:.45rem}.voice-control-actions{width:100%;max-width:100%;flex-direction:column;align-items:stretch;gap:.45rem}.voice-control-actions--with-cancel{flex-direction:column-reverse}.microphone-control{width:100%;max-width:100%;min-width:0;height:46px;padding:0 1rem;gap:.5rem;justify-content:flex-start}.voice-control-cancel-button{--voice-control-cancel-transform: none;--voice-control-cancel-hover-transform: translateY(-1px);--voice-control-cancel-active-transform: scale(.98);position:static;top:auto;left:auto;width:100%;max-width:100%;height:38px;min-height:38px;padding:0 .8rem;justify-content:center}.voice-control-cancel-button__label{font-size:.66rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.status-row .voice-control-cancel-button--status{width:auto;max-width:100%}.microphone-control__title{position:absolute;left:50%;transform:translate(-50%);width:calc(100% - 4.25rem);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;text-align:center}.language-selector{right:1rem;bottom:1.25rem}.language-button{min-width:var(--min-touch-target);min-height:var(--min-touch-target);padding:.4rem .6rem;font-size:var(--font-size-sm)}.language-button .language-flag{width:1.2rem}.language-menu{max-height:50vh;max-width:calc(100vw - 2rem)}.language-option{min-height:var(--min-button-size);padding:.5rem;font-size:var(--font-size-md)}.bottom-toast-stack{padding:0 .5rem;width:calc(var(--viewport-square-size) - .75rem);max-width:calc(var(--viewport-square-size) - .75rem)}.status-item{padding:.35rem .6rem;font-size:var(--font-size-sm)}.status-row{max-width:100%;flex-wrap:wrap}.status-item .status-dot{width:6px;height:6px}.status-item.waiting{font-size:var(--font-size-xs);padding:.3rem .5rem}.language-tag{font-size:.7em}.app{flex-direction:column;justify-content:flex-start;align-items:stretch}.start-prompt{font-size:24px;padding:2rem;border-radius:0;border:none;background:transparent;display:flex;align-items:center;justify-content:center;margin:0;width:100%;height:calc(100vh - 80px);height:calc(100dvh - 80px);flex:none}.start-prompt:hover{background:#ffffff05}.language-selector.centered{position:fixed;bottom:0;left:0;right:0;transform:none;padding:1rem;background:#000000e6;border-top:1px solid rgba(255,255,255,.1)}.language-selector.centered .language-button{width:100%;padding:1rem;border-radius:12px;font-size:1rem}.language-selector.centered .language-menu{position:fixed;inset:0;transform:none;border-radius:0;border:none;max-height:none;padding:2rem 1rem;padding-top:max(2rem,env(safe-area-inset-top,2rem));display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.5rem;overflow-y:auto}.language-selector.centered .language-option{padding:1rem;font-size:1.1rem;border-radius:12px;background:#ffffff0d;display:grid;grid-template-columns:1.5rem 11ch;justify-content:center;align-items:center;gap:.65rem}.language-selector.centered .language-option .language-option__label{flex:none;text-align:left}.language-selector.centered .language-option .language-flag{width:1.5rem;justify-self:center}.language-selector.centered .language-option:hover,.language-selector.centered .language-option.active{background:#6adc9233}.language-selector.language-selector--overlay{width:100vw;max-width:none}.language-selector.language-selector--overlay .language-menu{max-height:none;height:100dvh;border:0;border-radius:0}.language-selector.language-selector--overlay .language-menu__header{min-height:3.5rem;padding:max(.55rem,env(safe-area-inset-top)) max(.55rem,env(safe-area-inset-right)) .55rem max(.55rem,env(safe-area-inset-left))}.language-selector.language-selector--overlay .language-menu__list{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.language-selector.language-selector--overlay .language-option{min-height:3.6rem;padding:.95rem max(.8rem,env(safe-area-inset-right)) .95rem max(.8rem,env(safe-area-inset-left))}.translation-status{gap:.35rem}.speaking-avatars{gap:.3rem}.speaking-avatar-badge{max-width:100%;padding:.26rem .55rem;font-size:.68rem}.translation-output-toggle--corner{width:44px;min-width:44px;height:44px}.simli-container{width:min(100vw,100vh)!important;height:min(100vw,100vh)!important}.simli-video-container{width:min(100vw,100vh);height:min(100vw,100vh)}.controls-overlay{height:min(104px,calc(var(--viewport-square-size) * .32))}.top-controls-overlay{height:min(56px,calc(var(--viewport-square-size) * .2))}.status-overlay{font-size:var(--font-size-md);gap:.75rem}.status-spinner{width:32px;height:32px}.error-overlay{bottom:1rem;padding:.75rem 1rem;font-size:var(--font-size-sm);max-width:95%}.simli-loading-spinner{width:32px;height:32px;border-width:3px}.simli-loading-text{font-size:12px}}@media(max-width:768px)and (min-width:481px){.bottom-translation-controls{--bottom-translation-label-font-size: var(--font-size-md)}.language-info{font-size:var(--font-size-md)}.mute-button{min-width:var(--min-touch-target);min-height:var(--min-touch-target);padding:var(--control-padding-md) .9rem}.language-button{min-width:var(--min-touch-target);min-height:var(--min-touch-target)}.status-item{font-size:var(--font-size-md)}}@media(max-height:500px)and (min-width:481px){:root{--bottom-toast-base-offset: .7rem;--bottom-toast-dock-offset: 3.75rem;--bottom-toast-main-control-offset: 7.6rem}.bottom-translation-controls{--bottom-translation-label-font-size: var(--font-size-sm);--bottom-translation-label-padding-block: .3rem}.language-info{padding:.3rem .6rem;font-size:var(--font-size-sm)}.top-right-controls{top:max(calc(var(--square-inset-y) + .5rem),calc(env(safe-area-inset-top,0px) + .45rem));right:max(calc(var(--square-inset-x) + .75rem),calc(env(safe-area-inset-right,0px) + .55rem))}.voice-control-dock{bottom:max(calc(var(--square-inset-y) + .7rem),calc(env(safe-area-inset-bottom,0px) + .45rem))}.microphone-control{height:42px;padding:0 1rem}.language-selector{bottom:.75rem;right:1rem}.status-item{padding:.25rem .5rem;font-size:var(--font-size-xs)}.status-item.waiting{display:flex;font-size:.62rem;padding:.22rem .44rem}.controls-overlay{height:80px}.top-controls-overlay{height:50px}.wave-container{height:120px}.simli-container{width:min(100vw,100vh)!important;height:min(100vw,100vh)!important;max-width:none!important;max-height:none!important}.start-prompt{font-size:20px;padding:1.5rem}.language-selector.centered,.language-selector.centered .language-button,.language-selector.centered .language-option{padding:.75rem}}@media(max-width:320px),(max-height:320px){:root{--bottom-toast-base-offset: .42rem;--bottom-toast-dock-offset: 3.25rem;--bottom-toast-main-control-offset: 6.8rem}.language-info{font-size:.52rem;padding:.22rem .4rem}.bottom-translation-controls{--bottom-translation-label-font-size: .52rem;--bottom-translation-label-padding-block: .22rem;gap:.28rem}.bottom-translation-controls .language-info{max-width:min(calc(var(--viewport-square-size) - 3rem),100%)}.room-info{font-size:.46rem}.mute-button{padding:.42rem .5rem;gap:.15rem}.mute-button svg{width:18px;height:18px}.language-button{padding:.3rem .42rem;font-size:.6rem}.language-button .language-flag,.language-info .language-flag{width:1rem}.top-right-controls{top:max(calc(var(--square-inset-y) + .35rem),calc(env(safe-area-inset-top,0px) + .28rem));right:max(calc(var(--square-inset-x) + .35rem),calc(env(safe-area-inset-right,0px) + .28rem))}.translation-output-toggle--corner{width:36px;min-width:36px;height:36px}.voice-control-dock{width:calc(var(--viewport-square-size) - .5rem);bottom:max(calc(var(--square-inset-y) + .35rem),calc(env(safe-area-inset-bottom,0px) + .28rem));gap:.28rem}.voice-control-actions{gap:.28rem}.microphone-control{height:36px;min-height:36px;padding:0 .65rem;gap:.32rem;justify-content:flex-start}.microphone-control__icon svg{width:17px;height:17px}.microphone-control__title{font-size:.62rem;width:calc(100% - 3.25rem)}.voice-control-cancel-button{height:30px;min-height:30px;padding:0 .55rem}.voice-control-cancel-button svg{width:14px;height:14px}.voice-control-cancel-button__label{font-size:.55rem}.start-prompt{font-size:18px;padding:1.1rem}.language-selector.centered .language-button{padding:.5rem;font-size:.72rem}.language-selector.centered .language-option{padding:.5rem;font-size:.76rem}.language-selector.centered{padding:0;background:transparent;border-top:none}.simli-container{width:min(100vw,100vh)!important;height:min(100vw,100vh)!important}.bottom-toast-stack{padding:0 .18rem}.status-item{font-size:.58rem;padding:.24rem .34rem}.status-row{gap:.18rem}.status-stop-btn{width:20px;height:20px}.status-item strong{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}.speaking-avatar-badge{padding:.18rem .34rem;font-size:.54rem}.simli-loading-spinner{width:20px;height:20px;border-width:2px}.simli-loading-text{font-size:9px}}@media(max-width:200px),(max-height:200px){:root{--bottom-toast-base-offset: .3rem;--bottom-toast-dock-offset: 2.75rem;--bottom-toast-main-control-offset: 5.6rem}.language-info{font-size:.45rem;padding:.18rem .3rem;max-width:calc(var(--viewport-square-size) - .45rem)}.bottom-translation-controls{--bottom-translation-label-font-size: .45rem;--bottom-translation-label-padding-block: .18rem;gap:.2rem}.bottom-translation-controls .language-info{max-width:min(calc(var(--viewport-square-size) - 2.5rem),100%)}.room-info{font-size:.42rem}.top-right-controls{top:max(calc(var(--square-inset-y) + .22rem),calc(env(safe-area-inset-top,0px) + .18rem));right:max(calc(var(--square-inset-x) + .22rem),calc(env(safe-area-inset-right,0px) + .18rem))}.translation-output-toggle--corner{width:30px;min-width:30px;height:30px}.translation-output-toggle--corner svg{width:14px;height:14px}.voice-control-dock{width:calc(var(--viewport-square-size) - .35rem);bottom:max(calc(var(--square-inset-y) + .22rem),calc(env(safe-area-inset-bottom,0px) + .18rem));gap:.2rem}.voice-control-dock--ultra-compact{width:auto;max-width:calc(var(--viewport-square-size) - .18rem);gap:0}.ultra-compact-controls{--ultra-compact-control-size: 30px;--ultra-compact-primary-control-size: 34px;display:flex;align-items:center;justify-content:center;gap:.16rem;max-width:100%;flex-wrap:nowrap}.ultra-compact-controls .language-info,.ultra-compact-controls .translation-output-toggle{width:var(--ultra-compact-control-size);min-width:var(--ultra-compact-control-size);height:var(--ultra-compact-control-size);min-height:var(--ultra-compact-control-size)}.ultra-compact-controls .microphone-control{width:var(--ultra-compact-primary-control-size);min-width:var(--ultra-compact-primary-control-size);height:var(--ultra-compact-primary-control-size);min-height:var(--ultra-compact-primary-control-size)}.ultra-compact-controls .language-info{padding:0;gap:0;max-width:none;justify-content:center}.ultra-compact-controls .language-info__label,.ultra-compact-controls .microphone-control__title,.ultra-compact-controls .microphone-control__dot{display:none}.ultra-compact-controls .language-info .language-flag{width:.88rem}.ultra-compact-controls .microphone-control{padding:0;justify-content:center}.ultra-compact-controls .microphone-control__icon svg,.ultra-compact-controls .translation-output-toggle svg{width:14px;height:14px}.voice-control-actions{gap:.2rem}.microphone-control{height:30px;min-height:30px;padding:0 .48rem;gap:.24rem}.microphone-control__icon svg{width:15px;height:15px}.microphone-control__dot{width:7px;height:7px}.microphone-control__title{font-size:.52rem;width:calc(100% - 2.7rem)}.voice-control-cancel-button{height:26px;min-height:26px;padding:0 .42rem;gap:.2rem}.voice-control-cancel-button svg{width:12px;height:12px}.voice-control-cancel-button__label{font-size:.48rem}.start-prompt{font-size:14px;padding:.8rem}.language-selector.centered .language-button{padding:.38rem;font-size:.6rem}.language-selector.centered .language-option{padding:.38rem;font-size:.64rem}.bottom-toast-stack{padding:0 .12rem}.status-item{font-size:.5rem;padding:.18rem .26rem;gap:.24rem}.status-item .status-dot,.speaking-avatar-dot{width:5px;height:5px}.status-row{gap:.14rem}.status-stop-btn{width:16px;height:16px}.status-stop-btn svg{width:10px;height:10px}.status-item strong{max-width:60px}.speaking-avatar-badge{padding:.14rem .24rem;font-size:.46rem;gap:.16rem}.simli-loading-spinner{width:16px;height:16px;border-width:2px}.simli-loading-text{font-size:8px}}@container app-container (max-width: 400px){.mute-button{padding:var(--control-padding-sm) .7rem}.status-item{font-size:var(--font-size-sm)}}@container app-container (max-width: 300px){.mute-button svg{width:20px;height:20px}.auto-badge,.mute-badge{display:none}.language-tag{display:inline;font-size:.68em}}.microphone-control:focus-visible,.voice-control-cancel-button:focus-visible,.translation-session-button:focus-visible,.translation-output-toggle:focus-visible,.language-info--button:focus-visible,.language-button:focus-visible,.language-option:focus-visible,.start-prompt:focus-visible,.copy-room-link:focus-visible{outline:2px solid #6adc92;outline-offset:2px}@media(prefers-contrast:high){.microphone-control,.voice-control-cancel-button,.translation-session-button,.language-info,.language-button,.language-option,.status-item{border-width:2px}.microphone-control--busy .microphone-control__title,.status-item.speaking{color:red!important}.microphone-control--speaking .microphone-control__title,.status-item.you-speaking{color:#0f0!important}}@media(prefers-reduced-motion:reduce){.status-spinner,.speaking-indicator,.status-dot,.microphone-control--claiming .microphone-control__icon,.microphone-control--releasing .microphone-control__icon{animation:none}.top-right-controls,.voice-control-dock,.microphone-control,.voice-control-cancel-button,.translation-output-toggle--corner{animation:none;opacity:1;filter:none}.microphone-control:before{transition:none;transform:none}.voice-control-cancel-button:hover,.voice-control-cancel-button:active{transform:var(--voice-control-cancel-transform)}.microphone-control:hover,.translation-session-button:hover,.language-info--button:hover,.language-button:hover{transition:none}}@media(pointer:coarse){.bottom-translation-controls{--bottom-translation-control-size: var(--min-touch-target)}.microphone-control,.voice-control-cancel-button,.translation-session-button,.language-info,.language-button{min-width:var(--min-touch-target);min-height:var(--min-touch-target)}.language-option{min-height:var(--min-button-size);padding:.6rem .8rem}.microphone-control:hover,.translation-session-button:hover,.language-info--button:hover{transform:none}.microphone-control:active,.translation-session-button:active,.language-info--button:active{transform:scale(.98)}.language-button:active{transform:scale(.95);background:#000000e6}.language-option:active{background:#ffffff26}}
