:root{--bg: #f6f7f9;--fg: #14181f;--muted: #5b6573;--card: #fff;--line: #dde2e8;--accent: #0b6e4f;--accent-fg: #fff;--danger: #b42318;--warn-bg: #fff4e5;--warn-fg: #7a4b00;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--fg);background:var(--bg)}@media (prefers-color-scheme: dark){:root{--bg: #0f1318;--fg: #e8ebef;--muted: #98a2b0;--card: #171c23;--line: #29313b;--accent: #2fa37d;--accent-fg: #04130d;--danger: #f97066;--warn-bg: #3a2a0a;--warn-fg: #ffd699}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:1.4rem}h2{font-size:1.1rem;margin-top:0}a{color:var(--accent)}.top{display:flex;gap:16px;align-items:center;padding:12px 24px;background:var(--card);border-bottom:1px solid var(--line)}.top .muted{margin-left:auto}.page{max-width:880px;margin:24px auto;padding:0 16px}.center{max-width:420px;margin:14vh auto;padding:0 16px;text-align:center}.center form{text-align:left;display:grid;gap:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;margin:16px 0}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.grow{flex:1;min-width:240px}label{display:grid;gap:6px;font-size:.9rem;color:var(--muted)}input{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font-size:1rem}button{padding:10px 16px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--fg);font-size:1rem;cursor:pointer;min-height:44px}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #4c9aff;outline-offset:2px}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--danger)}.banner{background:var(--warn-bg);color:var(--warn-fg);padding:10px 12px;border-radius:8px;font-size:.9rem}.rec-status{display:flex;align-items:center;gap:8px;font-weight:600;min-height:28px}.rec-status.recording{color:var(--danger)}.dot{width:12px;height:12px;border-radius:50%;background:var(--danger);animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.25}}@media (prefers-reduced-motion: reduce){.dot{animation:none}}.timer{font-size:2.4rem;font-variant-numeric:tabular-nums;margin:8px 0 16px}.upload{margin-top:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}.badge{font-size:.75rem;padding:2px 8px;border-radius:999px;border:1px solid var(--line);vertical-align:middle}.badge.transcribed{color:var(--accent);border-color:var(--accent)}.badge.failed{color:var(--danger);border-color:var(--danger)}.segments{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}.segments li{display:grid;grid-template-columns:56px 80px 1fr;gap:8px}.ts{font-variant-numeric:tabular-nums;color:var(--muted)}.spk{color:var(--muted);font-size:.85rem}h3{font-size:.95rem;margin:18px 0 6px}.flagtext,.reviewed{line-height:1.7;white-space:pre-wrap}mark.flag{background:transparent;color:inherit;padding:0 1px;border-radius:2px;text-decoration-thickness:2px;text-underline-offset:3px}mark.flag.laterality,mark.flag.negation,mark.flag.number{text-decoration:underline wavy var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}mark.flag.possible_term{text-decoration:underline dashed var(--accent)}mark.flag.low_confidence{text-decoration:underline dotted var(--muted)}.flaglist{margin:8px 0 0;padding-left:20px;font-size:.9rem}.changes{list-style:none;padding:0;margin:0;display:grid;gap:10px}.changes li{border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:grid;gap:8px}.changes .from{text-decoration:line-through;color:var(--muted)}button[aria-pressed=true]{outline:2px solid var(--accent)}
