*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--surface: #1a1d27;--surface-2: #242836;--border: #2e3345;--text: #e4e6ed;--text-dim: #8b90a0;--accent: #4f8ff7;--success: #4caf50;--error: #ef5350;--warning: #ff9800;--radius: 12px;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", monospace}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}#root{min-height:100%;display:flex;flex-direction:column}.app{max-width:800px;margin:0 auto;padding:2rem 1.5rem;width:100%}.header{text-align:center;margin-bottom:2rem}.header h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem}.header p{color:var(--text-dim);font-size:.9rem}.badge{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:.2em .6em;border-radius:4px;margin-top:.5rem}.badge--webgpu{background:#2e7d3233;color:var(--success);border:1px solid #2e7d3266}.badge--wasm{background:#ff980033;color:var(--warning);border:1px solid #ff980066}.badge--loading{background:#4f8ff722;color:var(--accent);border:1px solid #4f8ff744}.badge--error{background:#ef535022;color:var(--error);border:1px solid #ef535044}.download-progress{margin-top:.75rem;max-width:300px;margin-left:auto;margin-right:auto}.download-progress__bar{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.download-progress__fill{height:100%;background:var(--accent);border-radius:3px;transition:width .15s ease}.download-progress__text{display:block;font-size:.75rem;color:var(--text-dim);margin-top:.35rem;font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem}.card h2{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:1rem}.audio-input{display:flex;gap:1rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.btn:hover:not(:disabled){background:var(--border)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--record{border-color:var(--error)}.btn--record.recording{background:#ef535033;border-color:var(--error);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #ef535066}50%{box-shadow:0 0 0 8px #ef535000}}.drop-zone{flex:1;min-width:200px;min-height:80px;border:2px dashed var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:.85rem;cursor:pointer;transition:all .15s}.drop-zone:hover{border-color:var(--accent);color:var(--accent)}.drop-zone.dragover{border-color:var(--accent);background:#4f8ff711}.audio-info{margin-top:.75rem;font-size:.8rem;color:var(--text-dim)}.audio-player{width:100%;margin-top:.5rem;height:36px;border-radius:8px}.transcript-controls{display:flex;gap:.5rem;margin-bottom:.75rem}.tab{padding:.35rem .75rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);font-size:.8rem;cursor:pointer;transition:all .15s}.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tab--ref{border-color:var(--success);color:var(--success)}.tab--ref.active{background:var(--success);color:#fff;border-color:var(--success)}.transcript-text{font-family:var(--font-mono);font-size:.85rem;line-height:1.7;white-space:pre-wrap;word-break:break-word;min-height:4rem}.transcript-text.empty{color:var(--text-dim);font-style:italic;font-family:inherit}.stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.stat{display:flex;flex-direction:column}.stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.stat-value{font-family:var(--font-mono);font-size:.9rem;font-weight:600;color:var(--accent)}.status{text-align:center;padding:1rem;font-size:.85rem;color:var(--text-dim)}.status.processing{color:var(--accent)}.status.error{color:var(--error)}.footer{margin-top:2rem;text-align:center;font-size:.75rem;color:var(--text-dim)}.examples{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.examples-label{font-size:.8rem;color:var(--text-dim)}.btn--example{font-size:.75rem;padding:.4rem .75rem;border-color:var(--accent);color:var(--accent);background:transparent}.btn--example:hover:not(:disabled){background:#4f8ff711}.live-indicator{flex:1;display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--success);font-weight:500}.live-indicator:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--success);animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.live-cursor{display:inline-block;width:2px;height:1.1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink .8s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.live-waiting{color:var(--text-dim);font-style:italic;font-family:inherit}@media(max-width:600px){.app{padding:1rem}.audio-input{flex-direction:column}}
