.matcher { padding:24px;min-width:0; }
.match-heading { display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px; }
.match-eyebrow { color:var(--accent,#7eafff);font-size:8px;letter-spacing:1.7px;font-weight:600; }
.match-heading h2 { font-family:'Space Grotesk',sans-serif;font-size:27px;letter-spacing:-.8px;margin:7px 0; }
.match-heading p,.match-source p,.match-privacy,.match-status,.match-method,.match-coach-intro,.match-comfort,.match-sources { font-size:11px;line-height:1.7;color:var(--muted,#99aac5); }
.match-heading p { max-width:580px;margin:0; }
.match-local { font-size:7px;border:1px solid var(--line,#26354b);border-radius:20px;padding:7px 10px;white-space:nowrap;letter-spacing:1px;color:var(--accent,#7eafff); }
.match-upload-grid { display:grid;grid-template-columns:1fr 1fr;gap:15px; }
.match-source { position:relative;border:1px solid var(--line,#26354b);border-radius:12px;padding:18px;background:linear-gradient(145deg,#101f37,#0a1323);min-width:0; }
.match-source.attempt { background:linear-gradient(145deg,#211829,#0a1323); }
.match-step { font-size:10px;letter-spacing:1px;color:var(--accent,#7eafff); }
.match-source.attempt .match-step { color:var(--signal-red,#ff5877); }
.match-source h3 { font-size:18px;letter-spacing:-.4px;margin:5px 0; }
.match-source p { margin:0 0 13px; }
.match-upload { display:inline-flex;position:relative;align-items:center;justify-content:center;border:1px solid #355c96;border-radius:7px;background:#18345a;color:#bcd5ff;padding:9px 13px;font-size:11px;cursor:pointer;min-height:39px; }
.match-upload input { position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer; }
.match-upload:focus-within { outline:2px solid var(--accent,#7eafff);outline-offset:3px; }
.match-filename { display:block;font-size:10px;line-height:1.5;margin-top:9px;color:var(--muted,#99aac5);overflow-wrap:anywhere; }
.match-source audio { display:block;width:100%;height:34px;margin-top:13px;color-scheme:dark; }
.match-source audio[hidden] { display:none; }
.match-record { border:1px solid #7f344d;background:#321e31;color:#ff9cb0;border-radius:7px;min-height:39px;font-size:11px;padding:9px 13px;margin-top:12px; }
.match-record-time { display:block;color:var(--muted,#99aac5);font-size:9px;margin-top:6px;line-height:1.5; }
.match-options { display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin:19px 0 10px; }
.match-options>label:not(.match-check) { display:grid;gap:7px;flex:1;min-width:180px;font-size:10px; }
.match-options select { border:1px solid var(--line,#26354b);border-radius:7px;background:#111f35;color:var(--text,#e9eff9);min-height:40px;padding:9px;font-size:10px;max-width:100%; }
.match-check { font-size:10px;line-height:1.5;max-width:190px; }
.match-check input { accent-color:var(--accent,#7eafff);vertical-align:middle; }
.match-check small { display:block;margin-left:20px;color:var(--muted,#99aac5);font-size:9px; }
.match-options>.primary { min-height:41px;font-size:11px;padding:11px 16px; }
.match-status { min-height:20px; }
.match-error { border:1px solid #74354b;border-radius:8px;padding:11px 14px;color:#ffb0c0;background:#291524;font-size:11px;line-height:1.6; }
.match-result { border:1px solid var(--line,#26354b);border-radius:12px;overflow:hidden; }
.match-result-tabs { display:flex;gap:5px;border-bottom:1px solid var(--line,#26354b);padding:10px;background:#0b1425; }
.match-result-tabs button { min-height:35px;border:0;background:transparent;border-radius:7px;color:var(--muted,#99aac5);font-size:11px;padding:8px 15px; }
.match-result-tabs button[aria-selected=true] { background:#19395f;color:#c8dcff; }
[data-match-pane] { padding:18px; }
[data-match-pane][hidden] { display:none; }
.match-summary { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px; }
.match-summary>div { border:1px solid var(--line,#26354b);border-radius:9px;padding:12px;background:#0d192b; }
.match-summary span { display:block;font-size:9px;color:var(--muted,#99aac5); }
.match-summary strong { display:block;font-size:24px;letter-spacing:-.7px;font-family:'Space Grotesk',sans-serif;margin:6px 0 3px;color:#c6daff; }
.match-summary small { font-size:8px;line-height:1.5;color:var(--muted,#99aac5);display:block; }
.match-graph-title { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:20px 0 12px; }
.match-graph-title h3 { margin:0;font-size:14px; }
.match-graph-title>div { display:flex;gap:17px;font-size:9px; }
.match-reference-dot:before,.match-attempt-dot:before { content:'';display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:#6fa4ff; }
.match-attempt-dot:before { background:#ff5b7c; }
canvas[data-match=graph] { display:block;position:static;width:100%;height:260px;border:1px solid var(--line,#26354b);border-radius:8px; }
.match-method { font-size:9px;margin-bottom:0; }
.match-sections h4 { font-size:11px;margin:17px 0 10px; }
.match-sections>div { display:flex;gap:7px;flex-wrap:wrap;max-height:125px;overflow:auto; }
.match-sections button { display:grid;gap:5px;background:#241b2c;color:#ffb1c1;border:1px solid #4a2b3c;border-radius:7px;padding:9px 12px;text-align:left; }
.match-sections b { font-size:10px; }
.match-sections span { font-size:8px; }
.match-coach-intro { margin-top:0;max-width:780px; }
.match-tips { display:grid;grid-template-columns:1fr 1fr;gap:13px; }
.match-tips article { border:1px solid var(--line,#26354b);border-radius:10px;padding:18px;background:linear-gradient(145deg,#12203a,#10182a); }
.match-tip-index { color:#ff7290;font-size:9px;letter-spacing:1px; }
.match-tips h3 { margin:6px 0 10px;font-size:16px;line-height:1.4;letter-spacing:-.2px; }
.match-tips p,.match-tips li { font-size:10px;line-height:1.75;color:var(--muted,#99aac5); }
.match-tips .match-evidence { color:#bad4ff;border-left:2px solid #557ed2;padding-left:10px; }
.match-tips ol { padding-left:17px;margin:12px 0; }
.match-tips li+li { margin-top:7px; }
.match-retest { border-top:1px solid var(--line,#26354b);padding-top:12px;margin-bottom:0; }
.match-retest b { color:#c7d5ed; }
.match-comfort { font-size:10px;border-left:2px solid #b75171;padding-left:12px;margin:17px 0; }
.match-sources { font-size:10px; }
.match-sources summary { cursor:pointer;color:#a6c7ff;min-height:25px; }
.match-sources ul { padding-left:17px;line-height:1.9; }
.match-sources a { color:#a6c7ff;text-decoration:underline; }
.match-privacy { font-size:9px;margin-bottom:0; }
@media(max-width:700px) { .matcher{padding:18px 14px}.match-heading{gap:12px}.match-heading h2{font-size:23px}.match-local{display:none}.match-upload-grid{grid-template-columns:1fr}.match-source{padding:16px}.match-options{gap:13px}.match-options>.primary{width:100%}.match-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.match-tips{grid-template-columns:1fr}[data-match-pane]{padding:13px}.match-tips article{padding:15px}.match-options>label:not(.match-check){min-width:100%} }
/* Sections, results and coaching occupy one compact workspace at a time. */
.match-heading { margin-bottom:14px; }
.match-heading h2 { font-size:24px;margin:5px 0; }
.match-tool-tabs { display:flex;gap:6px;border-bottom:1px solid var(--line,#26354b);padding:0 0 12px;overflow-x:auto; }
.match-tool-tabs button { flex:1;min-height:38px;white-space:nowrap;border:1px solid transparent;background:transparent;border-radius:8px;color:var(--muted,#99aac5);font-size:11px;padding:8px 13px; }
.match-tool-tabs button[aria-selected=true] { border-color:#31517b;background:#193451;color:#d6e5ff; }
.match-tool-tabs button:disabled { opacity:.45;cursor:not-allowed; }
.match-selection-summary { margin:12px 0 0;padding:9px 12px;border:1px solid var(--line,#26354b);border-radius:7px;font-size:10px;color:#bed1ed;line-height:1.6;overflow-wrap:anywhere; }
[data-match-pane=sources] { padding:16px 0 0; }
.match-source { padding:15px; }
.match-source-heading { display:flex;align-items:center;gap:9px;margin-bottom:12px; }
.match-source-heading h3 { margin:0;font-size:16px; }
.match-library-label { display:grid;gap:6px;font-size:10px;color:var(--muted,#99aac5); }
.match-library-label select { width:100%;max-width:100%;min-width:0;border:1px solid #344e70;border-radius:7px;background:#101d32;color:var(--text,#e9eff9);min-height:39px;padding:8px;font-size:11px; }
.match-filename { margin:8px 0 10px; }
.match-region[hidden] { display:none; }
canvas.match-wave { display:block;position:static;width:100%;height:58px;border:1px solid #263955;border-radius:6px;margin-top:10px; }
.match-region-summary { display:flex;justify-content:space-between;align-items:center;gap:8px;margin:9px 0; }
.match-region-summary>span { font-size:10px;color:#bbd1f3;font-variant-numeric:tabular-nums; }
.match-region-summary button { flex-shrink:0;border:1px solid #344b69;background:#14243b;color:#c4d9fc;border-radius:5px;padding:6px 8px;font-size:9px;min-height:29px; }
.match-range-handles { display:grid;gap:7px; }
.match-range-handles label { display:grid;grid-template-columns:35px minmax(0,1fr);align-items:center;gap:7px;font-size:9px;color:#9cafca; }
.match-range-handles input { width:100%;min-width:0;height:23px;margin:0;accent-color:#78a7ff;cursor:ew-resize; }
.attempt .match-range-handles input { accent-color:#ff6988; }
.match-precise { margin-top:7px;font-size:10px;color:#b7ccea; }
.match-precise summary { cursor:pointer;min-height:25px; }
.match-precise>div { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:4px 0 9px; }
.match-precise label { display:grid;gap:5px;font-size:9px; }
.match-precise input { width:100%;min-width:0;background:#091525;color:#d5e5ff;border:1px solid #304b70;border-radius:6px;min-height:34px;padding:6px;font-size:11px; }
.match-preview-row { display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:6px 0; }
.match-preview { color:#c3d9ff;background:#193452;border:1px solid #345982;border-radius:7px;padding:8px 11px;font-size:10px;min-height:34px; }
.match-preview-row span { color:#8eacca;font-size:8px; }
.match-source audio { margin-top:7px; }
.match-record-row { border-top:1px solid #30344b;margin-top:11px;padding-top:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.match-record-row .match-record { margin-top:0;min-height:34px;padding:8px 11px;font-size:10px; }
.match-record-row .match-record-time { flex:1;min-width:120px;margin:0;font-size:8px; }
.match-guidance { color:var(--muted,#99aac5);font-size:10px;line-height:1.6;margin:10px 0 0; }
.match-result { margin-top:15px; }
.match-status { margin:12px 0 0;font-size:10px; }
.match-privacy { font-size:8px; }
@media(max-width:700px){.match-tool-tabs button{padding:7px 8px;font-size:9px;min-height:38px}.match-heading h2{font-size:22px}.match-source{padding:12px}.match-upload-grid{gap:12px}.match-options{margin-top:13px}.match-tool-tabs{gap:3px}.match-result{margin-top:12px}[data-match-pane=sources]{padding:12px 0 0}.match-source-heading{margin-bottom:9px}.match-options>label:not(.match-check){min-width:170px}.match-options .match-check{max-width:100%}}
