*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:root{--blue: #3D3BF3;--blue-dark: #2f2dd6;--blue-shadow: rgba(61, 59, 243, .3);--blue-pulse: rgba(61, 59, 243, .55);--grey-50: #fafafa;--grey-100: #f5f5f5;--grey-200: #ebebeb;--grey-300: #d4d4d4;--grey-500: #737373;--grey-700: #404040;--grey-900: #171717;--white: #ffffff;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px)}html,body,#root{height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;background:var(--white);color:var(--grey-900);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.speaker-zone{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.speaker-zone--flipped{transform:rotate(180deg)}.zone-inner{flex:1;display:flex;flex-direction:column;padding:20px 20px calc(12px + var(--sab));gap:10px}.speaker-zone--flipped .zone-inner{padding-top:calc(20px + var(--sat));padding-bottom:12px}.zone-top-row{display:flex;align-items:center;justify-content:space-between}.lang-picker{position:relative;display:inline-flex}.lang-picker--right{justify-content:flex-end}.lang-trigger{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:20px;background:var(--grey-100);font-size:15px;font-weight:500;color:var(--grey-900);cursor:pointer;transition:background .12s}.lang-trigger:active{background:var(--grey-200)}.lang-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.lang-dropdown{position:absolute;top:calc(100% + 6px);z-index:110;min-width:190px;background:var(--white);border-radius:14px;box-shadow:0 6px 28px #00000021;overflow:hidden;list-style:none}.lang-dropdown--left{left:0}.lang-dropdown--right{right:0}.lang-option{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;font-size:15px;color:var(--grey-900);cursor:pointer;transition:background .1s}.lang-option:hover{background:var(--grey-50)}.lang-option--active{color:var(--blue);font-weight:600}.lang-option+.lang-option{border-top:1px solid var(--grey-100)}.lang-system-badge{font-size:11px;color:var(--grey-500);background:var(--grey-100);border-radius:8px;padding:2px 7px}.earbud-badge{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--white);background:var(--blue);border-radius:10px;padding:3px 9px;opacity:.85}.zone-transcript{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:0 8px}.zone-text{font-size:18px;line-height:1.5;text-align:center;color:var(--grey-900)}.zone-text--interim{color:var(--grey-500)}.zone-translation{font-size:15px;line-height:1.5;text-align:center;color:var(--grey-500);font-style:italic}.zone-mic-area{display:flex;flex-direction:column;align-items:center;gap:10px}.zone-hint{font-size:14px;color:var(--grey-500)}.mic-btn{width:72px;height:72px;border-radius:50%;border:none;background:var(--blue);color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px var(--blue-shadow);transition:background .12s,transform .08s}.mic-btn:active{transform:scale(.94);background:var(--blue-dark)}.mic-btn--active{background:var(--blue-dark);animation:mic-pulse 1.6s ease-in-out infinite}@keyframes mic-pulse{0%,to{box-shadow:0 4px 18px var(--blue-shadow)}50%{box-shadow:0 4px 36px var(--blue-pulse)}}.keyboard-btn{background:none;border:none;color:var(--grey-400, var(--grey-500));cursor:pointer;padding:6px;border-radius:50%;transition:background .1s}.keyboard-btn:active{background:var(--grey-100)}.zone-text-input-row{display:flex;align-items:center;gap:8px;padding-bottom:4px}.zone-text-input{flex:1;border:1.5px solid var(--grey-200);border-radius:24px;padding:11px 16px;font-size:15px;background:var(--grey-50);outline:none;transition:border-color .15s;color:var(--grey-900)}.zone-text-input:focus{border-color:var(--blue);background:var(--white)}.zone-send-btn{width:42px;height:42px;flex-shrink:0;border-radius:50%;border:none;background:var(--blue);color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}.zone-send-btn:active{background:var(--blue-dark)}.zone-cancel-btn{width:42px;height:42px;flex-shrink:0;border-radius:50%;border:none;background:var(--grey-200);color:var(--grey-700);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}.zone-cancel-btn:active{background:var(--grey-300)}.center-bar{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-top:1px solid var(--grey-200);border-bottom:1px solid var(--grey-200);background:var(--white);z-index:10}.center-btn{width:44px;height:44px;border-radius:50%;border:none;background:var(--grey-100);color:var(--grey-700);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}.center-btn:active{background:var(--grey-200)}.exchange-count{font-size:16px;font-weight:600;color:var(--grey-700);line-height:1}.loader-screen{height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px 24px;background:var(--white)}.loader-card{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:360px;width:100%;text-align:center}.loader-icon{width:64px;height:64px}.loader-title{font-size:28px;font-weight:700;color:var(--grey-900);letter-spacing:-.3px}.loader-sub{font-size:15px;color:var(--grey-500)}.progress-list{width:100%;display:flex;flex-direction:column;gap:18px;margin-top:12px}.progress-row{display:flex;flex-direction:column;gap:6px}.progress-row-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.progress-label{display:block;font-size:14px;font-weight:500;color:var(--grey-700);text-align:left}.progress-sublabel{display:block;font-size:12px;color:var(--grey-500);text-align:left}.progress-badge{font-size:13px;font-weight:700;color:var(--blue);white-space:nowrap;flex-shrink:0}.progress-badge.done{color:#22c55e}.progress-track{height:6px;background:var(--grey-200);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--blue);border-radius:3px;transition:width .35s ease}.progress-fill.complete{background:#22c55e}.progress-file{font-size:11px;color:var(--grey-500);font-family:ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.loader-note{margin-top:8px;font-size:12px;color:var(--grey-500);line-height:1.5}.loader-error{width:100%;background:#fff1f2;border:1.5px solid #fecdd3;border-radius:12px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:8px}.loader-error-title{font-size:15px;font-weight:600;color:#be123c}.loader-error-body{font-size:13px;color:#9f1239;text-align:center;font-family:ui-monospace,monospace;word-break:break-all}.loader-retry-btn{margin-top:4px;padding:10px 24px;border:none;border-radius:20px;background:var(--blue);color:var(--white);font-size:14px;font-weight:600;cursor:pointer}.loader-retry-btn:active{background:var(--blue-dark)}.progress-row--muted .progress-label,.progress-row--muted .progress-sublabel,.progress-row--muted .progress-badge,.progress-row--muted .progress-file{opacity:.45}.progress-row--muted .progress-track{opacity:.4}.mic-btn{-webkit-user-select:none;user-select:none;touch-action:none}.mic-btn--busy{background:var(--grey-300);box-shadow:none;cursor:default}.wave-bar{transform-origin:center bottom;animation:wave-bounce .8s ease-in-out infinite}.wave-bar--1{animation-delay:0s}.wave-bar--2{animation-delay:.1s}.wave-bar--3{animation-delay:.2s}.wave-bar--4{animation-delay:.1s}.wave-bar--5{animation-delay:0s}@keyframes wave-bounce{0%,to{transform:scaleY(.5);opacity:.7}50%{transform:scaleY(1);opacity:1}}.spinner-icon{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:200}.sheet{position:fixed;bottom:0;left:0;right:0;z-index:210;background:var(--white);border-radius:20px 20px 0 0;padding:12px 24px calc(24px + var(--sab));display:flex;flex-direction:column;gap:20px;box-shadow:0 -4px 24px #0000001f;animation:sheet-slide-up .22s ease}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--grey-300);align-self:center;margin-bottom:4px}.sheet-title{font-size:17px;font-weight:700;color:var(--grey-900)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.setting-info{display:flex;flex-direction:column;gap:3px}.setting-label{font-size:15px;font-weight:500;color:var(--grey-900)}.setting-sub{font-size:12px;color:var(--grey-500);max-width:200px}.mode-toggle{display:flex;background:var(--grey-100);border-radius:10px;padding:3px;gap:2px;flex-shrink:0}.mode-btn{display:flex;align-items:center;gap:5px;padding:7px 12px;border:none;border-radius:8px;font-size:13px;font-weight:500;color:var(--grey-500);background:none;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.mode-btn--active{background:var(--white);color:var(--grey-900);box-shadow:0 1px 4px #0000001a}.setting-download{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--grey-50);border-radius:10px}.setting-download-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.setting-download-label{font-size:13px;color:var(--grey-700)}.setting-download-file{font-size:11px;color:var(--grey-500);font-family:ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.setting-download-error{font-size:13px;color:#be123c}.setting-ready{font-size:13px;color:#16a34a;font-weight:500}.sheet-close-btn{padding:13px;border:none;border-radius:12px;background:var(--grey-100);font-size:15px;font-weight:600;color:var(--grey-900);cursor:pointer}.sheet-close-btn:active{background:var(--grey-200)}.center-btn--active{background:var(--blue);color:var(--white)}.setting-device-badge{margin-left:8px;font-size:11px;font-weight:600;background:var(--grey-100);border-radius:8px;padding:2px 7px;color:var(--grey-700)}.model-badge{font-size:14px;line-height:1;opacity:.6;cursor:default;-webkit-user-select:none;user-select:none}
