/*! Vocal Range Test 2.0.0 | pitchdetector.com | guided-test design */
.pvr{--pvr-blue:#2563eb;--pvr-blue2:#1d4ed8;--pvr-violet:#7c3aed;--pvr-ink:#0f172a;--pvr-muted:#475569;--pvr-line:#e2e8f0;--pvr-soft:#f8fafc;box-sizing:border-box;max-width:960px;margin:0 auto 1.75em;color:var(--pvr-ink);font-family:inherit;line-height:1.5}
.pvr *,.pvr *::before,.pvr *::after{box-sizing:border-box}.pvr [hidden]{display:none!important}
.pvr .pvr-title{margin:0 0 8px;padding:0;font-size:1.25rem;line-height:1.25;font-weight:700;color:var(--pvr-ink);letter-spacing:normal;text-transform:none}
.pvr-modes{display:flex;gap:6px;margin:0 0 10px;overflow-x:auto}
.pvr .pvr-modes button{appearance:none;flex:1 0 auto;margin:0;min-height:40px;padding:0 14px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:var(--pvr-ink);font:600 .9rem/1 inherit;font-family:inherit;cursor:pointer;box-shadow:none;text-transform:none;white-space:nowrap}
.pvr .pvr-modes button[aria-checked="true"]{background:var(--pvr-ink);border-color:var(--pvr-ink);color:#fff}
.pvr-card{border:1px solid var(--pvr-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.07);overflow:hidden}
.pvr-steps{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;background:var(--pvr-soft);border-bottom:1px solid var(--pvr-line)}
.pvr-steps li{margin:0;padding:10px 4px;white-space:nowrap;text-align:center;font-size:.82rem;font-weight:600;color:var(--pvr-muted);border-bottom:3px solid transparent}
.pvr-steps li span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:4px;border-radius:50%;background:#e2e8f0;color:var(--pvr-ink);font-size:.75rem}
.pvr-steps li.is-on{color:var(--pvr-ink);border-bottom-color:var(--pvr-violet)}.pvr-steps li.is-on span{background:var(--pvr-violet);color:#fff}
.pvr-steps li.is-done span{background:#15803d;color:#fff}
.pvr-stage{padding:16px}
.pvr .pvr-say{margin:0 0 10px;font-size:1rem}
.pvr-live{display:flex;align-items:baseline;justify-content:center;gap:10px;min-height:64px}
.pvr-note{font:800 3.2rem/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.02em;color:var(--pvr-ink)}
.pvr-hz{font:600 1rem/1 ui-monospace,Consolas,monospace;color:var(--pvr-muted)}
.pvr-caps{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 12px}
.pvr-cap{border-radius:12px;padding:8px 12px;display:flex;flex-direction:column}
.pvr-cap span{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.pvr-cap b{font:800 1.6rem/1.15 system-ui,sans-serif}.pvr-cap small{font:500 .8rem/1.2 ui-monospace,Consolas,monospace;color:var(--pvr-muted);min-height:1em}
.pvr-cap-low{background:#eff6ff;color:var(--pvr-blue2)}.pvr-cap-high{background:#f5f3ff;color:#6d28d9}
.pvr-keyswrap{overflow-x:auto;margin:0 0 12px;border-radius:8px}
.pvr-keys{display:block;width:100%;height:auto;max-height:110px}
.pvr-keys .w{fill:#fff;stroke:#94a3b8;stroke-width:.6}.pvr-keys .bk{fill:#1e293b}
.pvr-keys .r{fill:#c4b5fd}.pvr-keys .bk.r{fill:#6d28d9}
.pvr-keys .c{fill:#2563eb}.pvr-keys .bk.c{fill:#1d4ed8}
.pvr-keys .p{fill:#fde047;stroke:#0f172a}
.pvr-keys .k{font:600 5.5px system-ui,sans-serif;fill:#475569;text-anchor:middle;pointer-events:none}
.pvr-ear .pvr-keys,.pvr-ear~* .pvr-keys{cursor:pointer}
.pvr .pvr-earhint{margin:0 0 8px;font-size:.9rem;color:var(--pvr-muted)}
.pvr-btns{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.pvr .pvr-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;margin:0;min-height:46px;padding:0 16px;border:2px solid var(--pvr-blue);border-radius:12px;background:#fff;color:var(--pvr-blue2);font:700 .98rem/1.1 inherit;font-family:inherit;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:normal}
.pvr .pvr-btn:hover:not(:disabled){background:#eff6ff}
.pvr .pvr-btn:disabled{opacity:.45;cursor:not-allowed}
.pvr .pvr-go{flex:1 1 150px;background:linear-gradient(135deg,var(--pvr-blue),var(--pvr-violet));border-color:transparent;color:#fff;font-size:1.05rem}
.pvr .pvr-go:hover:not(:disabled){background:linear-gradient(135deg,var(--pvr-blue2),var(--pvr-violet))}
.pvr .pvr-go.is-on,.pvr .pvr-go.is-on:hover:not(:disabled){background:#fff;color:#b91c1c;border-color:#fca5a5}
.pvr .pvr-ghost{border-color:#cbd5e1;color:var(--pvr-muted)}
.pvr .pvr-status{margin:4px 2px 0;font-size:.88rem;color:var(--pvr-muted)}.pvr .pvr-status[data-kind="error"]{color:#b91c1c;font-weight:600}
/* Result */
.pvr-result{padding:18px 16px;outline:0}
.pvr .pvr-kicker{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pvr-violet)}
.pvr .pvr-range{margin:2px 0 0;display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;font:800 3rem/1.05 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.02em}
.pvr .pvr-range em{font:600 1.1rem/1 system-ui,sans-serif;font-style:normal;color:var(--pvr-muted)}
.pvr .pvr-span{margin:6px 0 0;font-weight:700}.pvr .pvr-hzrange{margin:0 0 10px;color:var(--pvr-muted);font-family:ui-monospace,Consolas,monospace;font-size:.9rem}
.pvr-type{display:flex;flex-direction:column;gap:2px;margin:0 0 10px;padding:10px 14px;border-radius:12px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #ddd6fe}
.pvr-type span{font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--pvr-muted)}
.pvr-type strong{font-size:1.5rem;line-height:1.2}.pvr-type small{color:var(--pvr-muted);font-size:.86rem}
.pvr-chart{display:block;width:100%;height:auto;margin:0 0 8px}
.pvr-chart .g{stroke:#e2e8f0;stroke-width:1}.pvr-chart .ax{font:600 10px system-ui,sans-serif;fill:#475569;text-anchor:middle}.pvr-chart .ax.s{fill:#6d28d9}
.pvr-chart .lb{font:500 11px system-ui,sans-serif;fill:#475569}.pvr-chart .lb.b{font-weight:800;fill:#0f172a}
.pvr-chart .you{fill:url(#none) #7c3aed}.pvr-chart .t{fill:#cbd5e1}.pvr-chart .tb{fill:#2563eb}
.pvr .pvr-note-small{margin:0 0 10px;font-size:.9rem;color:var(--pvr-muted)}
.pvr .pvr-set{margin:10px 0 0;border:1px solid var(--pvr-line);border-radius:12px;padding:8px 14px}
.pvr .pvr-set summary{cursor:pointer;font-weight:700;min-height:28px}
.pvr-fields{display:grid;gap:10px;margin:8px 0 4px}
.pvr-fields label{display:grid;gap:3px;margin:0;font-size:.82rem;font-weight:600;color:var(--pvr-muted)}
.pvr .pvr-fields select{width:100%;min-height:44px;margin:0;border:1px solid #cbd5e1;border-radius:10px;padding:0 10px;font:500 .95rem/1.2 inherit;font-family:inherit;background:#fff;color:var(--pvr-ink)}
.pvr-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
.pvr :focus-visible{outline:3px solid var(--pvr-violet);outline-offset:2px}
@media (min-width:720px){.pvr-stage,.pvr-result{padding:22px 26px}.pvr-note{font-size:4rem}.pvr .pvr-range{font-size:3.8rem}.pvr-fields{grid-template-columns:repeat(3,1fr)}.pvr .pvr-go{flex:0 1 220px}}
