:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{color:#f4f6fb;background-color:#0b1220}#root{flex-direction:column;min-height:100vh;display:flex}button{font-family:inherit}.app{flex-direction:column;flex:1;align-items:center;gap:1rem;width:100%;min-width:0;max-width:480px;margin:0 auto;padding:1rem 1rem 2rem;display:flex}.app__header{flex-direction:column;align-items:center;gap:.5rem;width:100%;min-width:0;display:flex}.app__title{margin:0;font-size:1.25rem}.connection-status{background:#ffffff14;border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .75rem;font-size:.85rem;display:inline-flex}.connection-status__dot{background:#64748b;border-radius:999px;width:.5rem;height:.5rem}.connection-status--connected .connection-status__dot{background:#22c55e}.connection-status--connecting .connection-status__dot{background:#eab308}.connection-status--listening .connection-status__dot,.connection-status--translating .connection-status__dot,.connection-status--speaking .connection-status__dot{background:#22c55e}.connection-status--error .connection-status__dot{background:#ef4444}.language-indicator{color:#cbd5f5;align-items:center;gap:.5rem;font-size:1rem;display:flex}.activity-status{color:#94a3b8;justify-content:center;align-items:center;gap:.5rem;min-height:1.2rem;font-size:.9rem;display:flex}.activity-status__timer{font-variant-numeric:tabular-nums;color:#ef4444;background:#ef444426;border-radius:999px;padding:.15rem .6rem;font-size:1.15rem;font-weight:700}.session-status{color:#94a3b8;gap:.75rem;font-size:.8rem;display:flex}.buttons-row{flex-direction:column;gap:1rem;width:100%;min-width:0;display:flex}.push-to-talk-button{color:#fff;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border:none;border-radius:1rem;flex-direction:column;align-items:center;gap:.25rem;padding:1.5rem 1rem;font-size:1.1rem;font-weight:600;transition:transform .1s,box-shadow .15s;display:flex}.push-to-talk-button:disabled{opacity:.45;cursor:not-allowed}.push-to-talk-button--blue{background:#2563eb}.push-to-talk-button--red{background:#dc2626}.push-to-talk-button--active{transform:scale(.97);box-shadow:0 0 0 4px #ffffff40}.push-to-talk-button__secondary-label{opacity:.85;font-size:.9rem;font-weight:400}.transcript-panel{background:#ffffff0d;border-radius:.75rem;flex-direction:column;gap:.75rem;width:100%;min-width:0;min-height:6rem;padding:1rem;display:flex}.transcript-panel__placeholder{color:#94a3b8;text-align:center;margin:0}.transcript-panel__language{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin:0 0 .15rem;font-size:.75rem}.transcript-panel__text{margin:0;font-size:1rem}.stop-playback-button{color:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:.5rem;padding:.5rem 1rem}.stop-playback-button:disabled{opacity:.4;cursor:not-allowed}.privacy-note{color:#94a3b8;text-align:center;font-size:.75rem}.connect-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem}.connect-button:disabled{opacity:.5;cursor:not-allowed}.disconnect-button{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:.5rem;padding:.5rem 1.25rem;font-size:.9rem}.disconnect-button:hover{color:#e2e8f0;border-color:#64748b}.error-banner{color:#fecaca;background:#ef444426;border:1px solid #ef444466;border-radius:.5rem;flex-direction:column;align-items:flex-start;gap:.5rem;width:100%;min-width:0;padding:.75rem 1rem;display:flex}.retry-button{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:.4rem;padding:.4rem .9rem}.limit-banner{color:#fde68a;text-align:center;background:#eab30826;border:1px solid #eab30866;border-radius:.5rem;width:100%;padding:.75rem 1rem}.mic-feedback-warning{color:#bfdbfe;text-align:center;background:#3b82f61f;border:1px solid #3b82f659;border-radius:.5rem;width:100%;padding:.6rem .9rem;font-size:.85rem}.ai-voice-disclosure{color:#cbd5e1;text-align:center;background:#94a3b81f;border:1px solid #94a3b859;border-radius:.5rem;width:100%;padding:.6rem .9rem;font-size:.85rem}.language-selector{justify-content:center;align-items:flex-end;gap:.75rem;width:100%;min-width:0;display:flex}.language-selector__field{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.language-selector__label{color:#94a3b8;font-size:.75rem}.language-selector__select{color:#fff;background:#ffffff14;border:1px solid #ffffff26;border-radius:.4rem;padding:.5rem .6rem;font-size:.95rem}.language-selector__select:disabled{opacity:.5}.language-selector__swap{color:#cbd5e1;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:.4rem;margin-bottom:.6rem;padding:.5rem .6rem;font-size:.95rem;line-height:1;transition:background .15s,color .15s}.language-selector__swap:hover:not(:disabled){color:#fff;background:#ffffff2e}.language-selector__swap:disabled{opacity:.5;cursor:not-allowed}.top-bar{justify-content:flex-end;align-items:center;width:100%;min-width:0;display:flex}.logout-button{color:#94a3b8;cursor:pointer;overflow-wrap:break-word;background:0 0;border:1px solid #ffffff26;border-radius:.4rem;min-width:0;max-width:100%;padding:.35rem .75rem;font-size:.8rem}.logout-button:hover{color:#fff;border-color:#ffffff59}.login-form{flex-direction:column;gap:.75rem;width:100%;max-width:320px;margin:4rem auto;display:flex}.login-form__title{text-align:center;margin:0 0 .5rem;font-size:1.25rem}.login-form__field{flex-direction:column;gap:.3rem;display:flex}.login-form__label{color:#94a3b8;font-size:.8rem}.login-form__input{color:#fff;background:#ffffff14;border:1px solid #ffffff26;border-radius:.4rem;padding:.6rem .7rem;font-size:1rem}.login-form__submit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:.5rem;margin-top:.5rem;padding:.75rem 1.5rem;font-size:1rem}.login-form__submit:disabled{opacity:.5;cursor:not-allowed}.login-form__error{color:#fecaca;text-align:center;background:#ef444426;border:1px solid #ef444466;border-radius:.5rem;padding:.6rem .8rem;font-size:.85rem}@media (width>=640px){.buttons-row{flex-direction:row}.push-to-talk-button{flex:1}}.volume-control{flex-direction:column;gap:.3rem;width:100%;display:flex}.volume-control__label{color:#94a3b8;font-size:.75rem}.volume-control__row{align-items:center;gap:.6rem;display:flex}.volume-control__input{accent-color:#2563eb;flex:1}.volume-control__value{color:#cbd5e1;text-align:right;min-width:2.75rem;font-size:.85rem}.push-to-talk-button:focus-visible,.stop-playback-button:focus-visible:not(:disabled),.connect-button:focus-visible:not(:disabled),.disconnect-button:focus-visible,.retry-button:focus-visible,.logout-button:focus-visible,.login-form__submit:focus-visible:not(:disabled),.login-form__input:focus-visible,.language-selector__select:focus-visible:not(:disabled),.language-selector__swap:focus-visible:not(:disabled),.volume-control__input:focus-visible{outline-offset:3px;border-radius:.5rem;outline:3px solid #60a5fa}.volume-control__input:focus-visible{outline-offset:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.push-to-talk-button{transition:none}.push-to-talk-button--active{transform:none}.language-selector__swap{transition:none}}.translator-panels,.translator-panels__controls,.translator-panels__output{flex-direction:column;gap:1rem;width:100%;min-width:0;display:flex}@media (width>=900px){.app--translator{max-width:1080px}.translator-panels{flex-direction:row;align-items:flex-start}.translator-panels__controls,.translator-panels__output{flex:1 1 0;min-width:0}.app--translator{--panel-bg:#101622d9;--panel-border:#ffffff14;--accent-blue:#2563eb;--accent-cyan:#22d3ee;--accent-rose:#e11d48;--accent-amber:#f59e0b;isolation:isolate;gap:1.5rem;padding:1.5rem 1.5rem 3rem;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;position:relative}.app--translator:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(650px 650px at 8% -10%,#2563eb29,#0000 60%),radial-gradient(550px 550px at 105% 40%,#e11d481f,#0000 60%),radial-gradient(500px 500px at 25% 115%,#22d3ee1a,#0000 60%);position:fixed;inset:0}.app--translator .top-bar{background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--panel-border);border-radius:1.25rem 1.25rem 0 0;margin-bottom:-1px;padding:.5rem .75rem}.app--translator .logout-button{background:#ffffff0a;border-radius:999px;padding:.4rem .9rem}.app--translator .app__header{background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--panel-border);border-radius:0 0 1.25rem 1.25rem;flex-flow:wrap;justify-content:flex-start;align-items:center;row-gap:.6rem;padding:1rem 1.5rem 1.25rem;box-shadow:0 24px 60px -30px #000000b3}.app--translator .app__title{letter-spacing:-.01em;margin-right:1rem;font-size:1.4rem;font-weight:800}.app--translator .connection-status{border:1px solid var(--panel-border);background:#ffffff0d;padding:.35rem .85rem;font-weight:600}.app--translator .connection-status__dot{width:.55rem;height:.55rem}.app--translator .connection-status--connected .connection-status__dot,.app--translator .connection-status--listening .connection-status__dot,.app--translator .connection-status--translating .connection-status__dot,.app--translator .connection-status--speaking .connection-status__dot{animation:2s ease-out infinite connection-pulse;box-shadow:0 0 #22c55e8c}@keyframes connection-pulse{0%{box-shadow:0 0 #22c55e8c}70%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}.app--translator .language-indicator{border:1px solid var(--panel-border);background:#ffffff0a;border-radius:999px;padding:.35rem .85rem;font-weight:600}.app--translator .session-status{border:1px solid var(--panel-border);background:#ffffff0a;border-radius:999px;margin-left:auto;padding:.35rem .85rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem}.app--translator .translator-panels{gap:1.75rem}.app--translator .translator-panels__controls,.app--translator .translator-panels__output{gap:1.25rem}.app--translator .translator-panels__controls>.language-selector,.app--translator .translator-panels__controls>.volume-control,.app--translator .translator-panels__controls>.buttons-row,.app--translator .translator-panels__output>.transcript-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--panel-border);border-radius:1.25rem;padding:1.25rem;box-shadow:0 24px 60px -30px #000000b3}.app--translator .translator-panels__controls>.buttons-row{gap:1.25rem;padding:1.5rem}.app--translator .language-selector__select{border:1px solid var(--panel-border);background:#ffffff0a;border-radius:.75rem;padding:.65rem .75rem}.app--translator .language-selector__swap{background:#ffffff0f;border-radius:.75rem;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;display:flex}.app--translator .language-selector__swap:hover:not(:disabled){color:var(--accent-cyan);border-color:#22d3ee80;transform:rotate(180deg)}.app--translator .volume-control__input{accent-color:var(--accent-cyan)}.app--translator .volume-control__value{color:var(--accent-cyan);font-family:JetBrains Mono,ui-monospace,monospace;font-weight:700}.app--translator .connect-button{background:linear-gradient(135deg, var(--accent-blue), #1d4ed8);border-radius:.9rem;width:100%;padding:.85rem 1.5rem;font-weight:700;box-shadow:0 16px 40px -18px #2563eba6}.app--translator .disconnect-button{background:#ffffff0a;border-radius:.9rem;width:100%;padding:.85rem 1.5rem}.app--translator .error-banner,.app--translator .limit-banner,.app--translator .mic-feedback-warning,.app--translator .ai-voice-disclosure{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1rem;padding:.85rem 1.1rem}.app--translator .push-to-talk-button{border:2px solid #0000;border-radius:1.25rem;justify-content:center;gap:.4rem;height:12rem;font-size:1.35rem}.app--translator .push-to-talk-button--blue{background:linear-gradient(#2563ebe6,#172554f2);border-color:#60a5fa59;box-shadow:0 0 45px -12px #2563eb80}.app--translator .push-to-talk-button--blue:hover:not(:disabled){border-color:#22d3ee99}.app--translator .push-to-talk-button--red{background:linear-gradient(#be123ce6,#4c0519f7);border-color:#fb718559;box-shadow:0 0 45px -12px #e11d4880}.app--translator .push-to-talk-button--red:hover:not(:disabled){border-color:#f59e0b99}.app--translator .push-to-talk-button--active{box-shadow:0 0 0 4px #ffffff4d}.app--translator .push-to-talk-button__secondary-label{font-size:1rem}.app--translator .stop-playback-button{background:#ffffff0a;border-radius:.9rem;width:100%;padding:.75rem 1.5rem}.app--translator .transcript-panel{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.app--translator .transcript-panel__placeholder{grid-column:1/-1}.app--translator .transcript-panel__block{border:1px solid var(--panel-border);background:#ffffff08;border-radius:.9rem;padding:1rem}.app--translator .transcript-panel__block:first-child{border-left:2px solid var(--accent-blue)}.app--translator .transcript-panel__block:last-child{border-left:2px solid var(--accent-rose)}.app--translator .transcript-panel__language{align-items:center;gap:.4rem;display:flex}.app--translator .transcript-panel__language:before{content:"";background:var(--accent-blue);border-radius:999px;width:.45rem;height:.45rem}.app--translator .transcript-panel__block:last-child .transcript-panel__language:before{background:var(--accent-rose)}.app--translator .privacy-note{border-top:1px solid var(--panel-border);padding-top:.5rem}}
