/*! Hearing Test 1.0.0 | pitchdetector.com */
.pht{--b:#2563eb;--b2:#1d4ed8;--v:#7c3aed;--n:#0f172a;--mut:#475569;--line:#e2e8f0;--ok:#15803d;--warn:#b45309;--bad:#b91c1c;--soft:#f1f5ff;
	box-sizing:border-box;max-width:860px;margin:0 auto 2em;color:var(--n);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.pht *,.pht *::before,.pht *::after{box-sizing:border-box}
.pht [hidden]{display:none!important}
.pht .pht-title{margin:0 0 10px;font-size:1.5rem;line-height:1.2;font-weight:800;color:var(--n);letter-spacing:-.01em}
.pht .pht-box{padding:20px 22px 22px;border-radius:22px;background:linear-gradient(180deg,#fff 0,var(--soft) 100%);border:1px solid #dbe4ff;box-shadow:0 10px 30px rgba(37,99,235,.08)}
.pht .pht-steps{display:flex;gap:6px;margin:0 0 16px;padding:0;list-style:none;counter-reset:s}
.pht .pht-steps li{flex:1 1 0;min-width:0;margin:0;padding:0;font-size:.74rem;font-weight:700;color:#64748b;text-align:center;line-height:1.2}
.pht .pht-steps li::before{content:"";display:block;height:6px;margin-bottom:6px;border-radius:99px;background:#dbe4ff}
.pht .pht-steps li[data-state="done"]::before{background:#93c5fd}
.pht .pht-steps li[data-state="now"]{color:var(--b2)}
.pht .pht-steps li[data-state="now"]::before{background:linear-gradient(90deg,var(--b),var(--v))}
.pht h3.pht-h{margin:0 0 6px;font-size:1.25rem;line-height:1.25;font-weight:800;color:var(--n)}
.pht .pht-p{margin:0 0 12px;color:#334155}
.pht .pht-fs{margin:0 0 14px;padding:0;border:0;min-width:0}
.pht .pht-fs legend{float:none;width:auto;margin:0 0 6px;padding:0;font-weight:800;font-size:.95rem;color:var(--n)}
.pht .pht-opts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pht .pht-opts2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pht .pht-opt{position:relative;margin:0}
.pht .pht-opt input{position:absolute;opacity:0;width:1px;height:1px}
.pht .pht-opt span{display:flex;flex-direction:column;justify-content:center;min-height:56px;height:100%;padding:8px 12px;border-radius:14px;border:2px solid #c7d2fe;background:#fff;cursor:pointer;font-weight:700;font-size:.95rem;line-height:1.2}
.pht .pht-opt small{font-weight:500;font-size:.78rem;color:var(--mut);margin-top:2px}
.pht .pht-opt input:checked+span{border-color:var(--b);background:#eff6ff;color:var(--b2);box-shadow:inset 0 0 0 1px var(--b)}
.pht .pht-opt input[type=checkbox]:checked+span::before{content:"✓ ";color:var(--b)}
.pht .pht-opt input:focus-visible+span{outline:3px solid #f59e0b;outline-offset:2px}
.pht .pht-disc{margin:0 0 16px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:.88rem;color:#334155}
.pht .pht-disc strong{color:var(--n)}
.pht .pht-btn{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 20px;border-radius:14px;border:2px solid #c7d2fe;background:#fff;color:var(--b2);font:inherit;font-weight:700;font-size:1rem;line-height:1.2;text-transform:none;letter-spacing:normal;cursor:pointer;box-shadow:none;text-decoration:none}
.pht .pht-btn:hover{background:#eff6ff;color:var(--b2);border-color:var(--b)}
.pht .pht-main{width:100%;min-height:60px;border:0;background:linear-gradient(90deg,var(--b),var(--v));color:#fff;font-size:1.2rem;box-shadow:0 8px 20px rgba(37,99,235,.28)}
.pht .pht-main:hover{background:linear-gradient(90deg,var(--b2),#6d28d9);color:#fff}
.pht .pht-btn:focus-visible,.pht input[type=range]:focus-visible,.pht [data-pht-reshead]:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.pht .pht-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px}
.pht .pht-vol{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin:4px 0 12px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.pht .pht-vol input{width:100%;min-height:44px;margin:0;accent-color:var(--b);background:transparent;border:0;padding:0;box-shadow:none}
.pht .pht-vol label{font-weight:800}
.pht .pht-volval{font:700 1.05rem ui-monospace,Consolas,monospace;min-width:3.4em;text-align:right}
.pht .pht-btn[aria-pressed="true"]{border-color:var(--b);background:#eff6ff}
.pht .pht-warn{margin:0 0 14px;padding:10px 12px;border-radius:12px;background:#fffbeb;border:1px solid #fcd34d;color:#78350f;font-size:.88rem}
.pht .pht-trialtop{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:0 0 4px;font-size:.88rem;color:var(--mut);font-weight:600}
.pht .pht-kind{margin:0;font-size:1.1rem;font-weight:800;color:var(--n)}
.pht .pht-earlab{display:inline-block;padding:2px 10px;border-radius:99px;background:#eef2ff;color:#3730a3;font-weight:800;font-size:.85rem}
.pht .pht-progress{height:6px;margin:8px 0 14px;border-radius:99px;background:#dbe4ff;overflow:hidden}
.pht .pht-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--b),var(--v));transition:width .3s}
.pht .pht-stage{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 6px;padding:14px 10px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.pht .pht-rings{position:relative;flex:none;width:64px;height:64px}
.pht .pht-rings i{position:absolute;inset:0;border-radius:50%;border:3px solid #93c5fd;opacity:.35}
.pht .pht-rings i:nth-child(2){inset:12px}.pht .pht-rings i:nth-child(3){inset:24px;background:var(--b);border-color:var(--b);opacity:.8}
.pht[data-playing="1"] .pht-rings i{animation:pht-pulse 1.5s ease-out infinite}
.pht[data-playing="1"] .pht-rings i:nth-child(2){animation-delay:.25s}
@keyframes pht-pulse{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.15);opacity:.15}}
.pht .pht-f{margin:0;font:800 2.8rem/1 ui-monospace,"SF Mono",Consolas,monospace;letter-spacing:-.02em;color:var(--n);font-variant-numeric:tabular-nums}
.pht .pht-playing{margin:2px 0 0;font-size:.85rem;color:var(--mut)}
.pht[data-playing="1"] .pht-playing::after{content:" · playing";color:var(--b2);font-weight:700}
.pht .pht-hint{margin:8px 0 12px;font-size:.9rem;color:#334155;text-align:center}
.pht .pht-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 10px}
.pht .pht-yes,.pht .pht-no{min-height:76px;font-size:1.2rem;border-radius:18px}
.pht .pht-yes{border:0;background:var(--b);color:#fff;box-shadow:0 6px 16px rgba(37,99,235,.3)}
.pht .pht-yes:hover{background:var(--b2);color:#fff}
.pht .pht-no{border:2px solid #94a3b8;color:var(--n)}
.pht .pht-no:hover{border-color:var(--n);background:#f8fafc;color:var(--n)}
.pht .pht-small{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.pht .pht-keys{margin:6px 0 0;font-size:.8rem;color:var(--mut);text-align:center}
.pht kbd{display:inline-block;min-width:1.5em;padding:0 5px;border:1px solid #cbd5e1;border-bottom-width:2px;border-radius:5px;background:#fff;font:600 .78rem/1.5 ui-monospace,Consolas,monospace;text-align:center}
.pht .pht-lead{margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#eff6ff;border-left:4px solid var(--b);font-size:1.02rem;font-weight:600}
.pht .pht-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin:0 0 14px}
.pht .pht-card{padding:14px 16px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.pht .pht-card h4{margin:0 0 8px;font-size:1rem;font-weight:800;color:#3730a3}
.pht .pht-nums{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
.pht .pht-nums div{margin:0}
.pht .pht-nums dt{font-size:.78rem;color:var(--mut);font-weight:600}
.pht .pht-nums dd{margin:0;font:800 1.45rem/1.2 ui-monospace,Consolas,monospace;color:var(--n)}
.pht .pht-bar{position:relative;height:14px;border-radius:99px;background:repeating-linear-gradient(90deg,#e2e8f0 0 1px,#f1f5f9 1px 33.33%)}
.pht .pht-barfill{position:absolute;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,var(--b),var(--v))}
.pht .pht-axis{display:flex;justify-content:space-between;margin:4px 0 0;font-size:.72rem;color:var(--mut)}
.pht .pht-age{width:100%;margin:0 0 14px;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;font-size:.92rem}
.pht .pht-age caption{caption-side:top;text-align:left;font-weight:800;padding:0 0 6px;color:var(--n)}
.pht .pht-age th,.pht .pht-age td{padding:8px 12px;border:1px solid var(--line);text-align:left}
.pht .pht-age th{background:#eff6ff}
.pht .pht-age tr[data-you="1"] td{background:#ede9fe;font-weight:700}
.pht .pht-notes{margin:0 0 16px;padding-left:1.2em;font-size:.9rem;color:#334155}
.pht .pht-notes li{margin:0 0 6px}
.pht .pht-status{margin:12px 0 0;font-size:.9rem;color:#334155;min-height:1.4em}
.pht .pht-err{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#fef2f2;border:1px solid #fca5a5;color:var(--bad);font-weight:700}
.pht .pht-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pht [data-pht-reshead]{outline:none}
@media (max-width:640px){
	.pht .pht-title{font-size:1.25rem}
	.pht .pht-box{padding:14px 14px 16px;border-radius:18px}
	.pht .pht-steps li{font-size:0;line-height:0}
	.pht .pht-steps li::before{margin-bottom:0}
	.pht .pht-steps{margin-bottom:12px}
	.pht .pht-opts{grid-template-columns:repeat(2,minmax(0,1fr))}
	.pht .pht-f{font-size:2.3rem}
	.pht .pht-rings{width:52px;height:52px}
	.pht .pht-nums dd{font-size:1.25rem}
	.pht .pht-vol{grid-template-columns:minmax(0,1fr) auto}
	.pht .pht-vol input{grid-column:1/-1;grid-row:2}
}
@media (prefers-reduced-motion:reduce){ .pht *{animation:none!important;transition:none!important} }
