*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0f0f13;color:#e8e8f0;min-height:100vh;display:flex;align-items:center;justify-content:center}.app{width:100%;max-width:640px;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem}.header{text-align:center}.lang-toggle{position:fixed;top:1rem;right:1rem;z-index:10;display:flex;padding:2px;border-radius:999px;background:#1e1e28;border:1px solid #2a2a35}.lang-toggle__option{border:none;background:transparent;color:#888;font-size:.75rem;font-weight:600;letter-spacing:.03em;padding:.25rem .6rem;border-radius:999px;cursor:pointer;transition:background .15s,color .15s}.lang-toggle__option:hover:not(.active){color:#c8c8d4}.lang-toggle__option.active{background:#2563eb;color:#fff}.header h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.subtitle{margin-top:.25rem;color:#888;font-size:.9rem}.backend-status{display:inline-flex;align-items:center;gap:.4rem;margin-top:.6rem;font-size:.78rem;padding:.25rem .65rem;border-radius:999px;background:#1e1e28;border:1px solid #2a2a35}.backend-status__dot{width:6px;height:6px;border-radius:50%}.backend-status--checking .backend-status__dot{background:#f59e0b;animation:blink .8s infinite}.backend-status--ok .backend-status__dot{background:#22c55e}.backend-status--error .backend-status__dot{background:#ef4444}.backend-status--checking .backend-status__label{color:#f59e0b}.backend-status--ok .backend-status__label{color:#22c55e}.backend-status--error .backend-status__label{color:#ef4444}.controls{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.main-button{width:120px;height:120px;border-radius:50%;border:none;cursor:pointer;font-size:1.1rem;font-weight:600;background:#2563eb;color:#fff;transition:background .2s,transform .1s,box-shadow .2s;box-shadow:0 0 #2563eb66}.main-button:hover:not(:disabled){background:#1d4ed8}.main-button:active:not(:disabled){transform:scale(.96)}.main-button.active{background:#dc2626;box-shadow:0 0 0 8px #dc262633;animation:pulse 2s infinite}.main-button:disabled{opacity:.5;cursor:not-allowed}@keyframes pulse{0%,to{box-shadow:0 0 0 8px #dc262633}50%{box-shadow:0 0 0 16px #dc26260d}}.status-indicator{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#888}.status-dot{width:8px;height:8px;border-radius:50%;background:#555;transition:background .3s}.status-listening .status-dot{background:#22c55e;animation:blink 1.2s infinite}.status-speaking .status-dot{background:#3b82f6;animation:blink .8s infinite}.status-connecting .status-dot{background:#f59e0b;animation:blink .6s infinite}.status-error .status-dot{background:#ef4444}.status-listening .status-label{color:#22c55e}.status-speaking .status-label{color:#3b82f6}.status-connecting .status-label{color:#f59e0b}.status-error .status-label{color:#ef4444}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.transcript{background:#16161d;border:1px solid #2a2a35;border-radius:12px;padding:1.25rem;min-height:240px;max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.transcript-empty{color:#555;font-size:.9rem;text-align:center;margin:auto}.transcript-entry{display:flex;flex-direction:column;gap:.2rem}.transcript-entry.user{align-items:flex-end}.transcript-role{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#555}.transcript-text{display:inline-block;padding:.5rem .875rem;border-radius:10px;font-size:.95rem;line-height:1.5;max-width:85%;background:#22222d;color:#e8e8f0;white-space:pre-wrap}.transcript-entry.user .transcript-text{background:#1e3a6e}.transcript-text.partial{opacity:.65}
