.di{font-family:var(--font-sans);font-size:var(--p);font-weight:600;text-transform:none;letter-spacing:.005em;color:var(--fg-subtle);margin:0 0 .75rem;line-height:1.2}.page-toc .e{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.125rem}.page-toc .e li{line-height:1.45}.page-toc .e .g0{padding-inline-start:var(--space-lg)}.page-toc .e a{display:block;padding:var(--space-xs) .5rem;border-inline-start:2px solid transparent;border-radius:0 .25rem .25rem 0;font-size:var(--l);color:var(--n);transition:color 150ms,border-color 150ms,background 150ms}.page-toc .e .g0 a{color:var(--e)}.e{counter-reset:toc;--a4:1.65rem}.e>:where(li:not(.g0))>a[data-toc-link]{counter-increment:toc}.e>:where(li:not(.g0))>a[data-toc-link]:before{content:counter(toc);content:counter(toc) / "";display:inline-block;min-width:2.2em;white-space:nowrap;overflow-wrap:normal;padding-inline-end:.6em;text-align:end;box-sizing:border-box;color:var(--fg-subtle);font-size:var(--u);font-weight:600;font-variant-numeric:tabular-nums}.page-toc .e>:where(li:not(.g0))>a[data-toc-link]{display:grid;grid-template-columns:var(--a4) minmax(0,1fr);align-items:baseline}.page-toc .e a.passed{color:var(--e);border-inline-start-color:var(--a6)}.page-toc .e a:focus-visible{color:var(--k);background:var(--s)}@media (hover:hover){.page-toc .e a:hover{color:var(--k);background:var(--s)}}.page-toc .e a.active{color:var(--accent);border-inline-start-color:var(--accent);background:var(--a8)}.page-toc .e a.active:before{color:var(--accent)}.e5{background:var(--t);border:1px solid var(--q);border-radius:.75rem;padding:var(--aj)}.e5 .e{grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));gap:.125rem var(--space-lg)}@media (pointer:coarse){.page-toc .e a{padding-block:.5rem}}.x>.page-toc{margin-top:1.25rem}@media (width<=63.99em){.x>.page-toc .di,.page-toc.dx .di{margin-bottom:var(--space-xs)}.x>.page-toc .e,.page-toc.dx .e{display:flex;flex-wrap:wrap;gap:max(.5rem,var(--am,0px))}.x>.page-toc .e li a,.page-toc.dx .e li a{display:flex;align-items:center;min-height:var(--ae);border:1px solid var(--border);border-radius:999px;background:var(--s);padding-block:.125rem;padding-inline:.75rem;font-size:var(--ah);font-weight:600;line-height:1.45}.x>.page-toc .e a[data-toc-link]:before,.page-toc.dx .e a[data-toc-link]:before{content:none}.x>.page-toc .e li a.passed,.x>.page-toc .e li a.active,.page-toc.dx .e li a.passed,.page-toc.dx .e li a.active{border-color:var(--border);color:var(--n);background:var(--s)}}@media (width<=63.99em) and (hover:hover){.x>.page-toc .e li a:hover,.page-toc.dx .e li a:hover{border-color:var(--border-strong)}}@media (width<=47.99em){.x>.page-toc,.page-toc.dx{background:none;border:0;border-radius:0;padding:0}}@media (width<=47.99em),(height<=37.5em) and (orientation:landscape) and (width<=63.99em){.tool-page-head.x>.page-toc{display:none}.page-toc.dx{margin-block:1.25rem 0}}@media (width>=48em) and (height>=37.51em),(width>=48em) and (orientation:portrait),(width>=64em){.page-toc.dx{display:none}}@media (width>=64em){.x{display:grid;grid-template-columns:minmax(0,56rem) minmax(14rem,19rem);justify-content:space-between;column-gap:2rem;align-items:start}.x>:not(.page-toc){grid-column:1}.x>.page-toc{grid-column:2;grid-row:1/span 8;margin-top:0}.x:has(> .page-toc .e > li:nth-child(9))>.page-toc .e{display:block;column-gap:var(--space-lg)}.x:has(> .page-toc .e > li:nth-child(9))>.page-toc .e>li{break-inside:avoid;margin-block-end:.125rem}}@media (width>=64em) and (width<=79.99em){.x:has(> .page-toc .e > li:nth-child(9)){grid-template-columns:minmax(0,1fr)}.x:has(> .page-toc .e > li:nth-child(9))>.page-toc{grid-column:1;grid-row:auto;margin-top:1.25rem}.x:has(> .page-toc .e > li:nth-child(9))>.page-toc .e{column-width:15rem}}@media (width>=80em){.x:has(> .page-toc .e > li:nth-child(9)){grid-template-columns:minmax(0,44rem) minmax(28rem,34rem)}.x:has(> .page-toc .e > li:nth-child(9))>.page-toc .e{columns:2}}@keyframes barPulse{0%{transform:scaleY(var(--bar-from,.5))}to{transform:scaleY(var(--bar-to,.25))}}.tool-page .bge{margin-bottom:3rem}.tool-page .ear-rating-label{font-family:var(--font-display);font-size-adjust:from-font;color:var(--k);letter-spacing:-.018em;margin-top:var(--space-xs);font-size:1.25rem;font-weight:700;line-height:1.2}.tool-page .ear-rating-sub{color:var(--e);margin-top:.25rem;font-size:var(--u);line-height:1.45}.tool-page .ear-rating-bar{grid-template-columns:repeat(5,1fr);gap:.25rem;margin-top:auto;padding-top:.75rem;display:grid}.tool-page .ear-rating-bar i{background:var(--border-strong);border-radius:var(--bj);height:4px;transition:background 200ms;display:block}.tool-page .ear-rating-bar i.on{background:var(--accent)}.tool-page.ear-init .ear-rating-bar i{transition:none!important}.tool-page .mode-select h2{font-family:var(--font-display);font-size-adjust:from-font;letter-spacing:-.016em;margin:0 0 1.25rem;font-size:1.5rem;font-weight:700}.tool-page .ear-range{background:var(--t);border:1px solid var(--q);border-radius:.75rem;margin-bottom:1.25rem;padding:1.25rem}@media (width<=30em){.tool-page .ear-range{padding:clamp(1rem, .85rem + .7vw, 1.4rem)}}.tool-page .ear-range-title{color:var(--k);margin:0 0 .75rem;font-size:.9375rem;font-weight:700}.tool-page .ear-range-row{flex-wrap:wrap;gap:.75rem 1.5rem;display:flex}.tool-page .ear-range-field{flex-direction:column;gap:.25rem;display:flex}.tool-page .ear-range-field label{text-transform:none;letter-spacing:.005em;color:var(--e);font-size:var(--p);font-weight:600}.tool-page .ear-range-pick{align-items:center;gap:var(--space-xs);display:flex}.tool-page .ear-range select{border:1px solid var(--bb);border-radius:.5rem;background-color:var(--bn);color:var(--k);font-size:var(--text-control);font-variant-numeric:tabular-nums;font-weight:600;min-width:8.5rem;min-height:2.75rem;padding:var(--space-xs) .75rem}.tool-page .ear-range select:focus{outline:var(--b6);outline-offset:2px;border-color:var(--accent)}.tool-page .ear-range-play,.tool-page .cant-hear-btn,.tool-page .fb-btn{border:1px solid var(--a2);border-radius:.5rem;background:var(--ax);color:var(--a5);cursor:pointer;min-height:2.75rem;padding:0 var(--a1);font-size:var(--a0);font-weight:600;transition:border-color 150ms,background 150ms}@media (hover:hover){.tool-page .ear-range-play:hover,.tool-page .cant-hear-btn:hover:not(:disabled),.tool-page .fb-btn:hover{background:var(--ay);border-color:var(--b2)}}.tool-page .ear-range-hint{color:var(--e);max-width:38em;margin:.75rem 0 0;font-size:var(--u);line-height:1.45}.tool-page .awn{grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));gap:var(--ar);margin-bottom:1.5rem;display:grid}@media (width>=30em){.tool-page .awn:has(> :nth-child(5):last-child){grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr))}}@media (30em<=width<60em){.tool-page .awn:has(> :nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}.tool-page .awn:has(> :nth-child(5):last-child)>*{grid-column:span 2}.tool-page .awn:has(> :nth-child(5):last-child)>:nth-child(n + 4){grid-column:span 3}}.tool-page .mode-card{text-align:start;background:var(--t);border:1px solid var(--q);border-radius:.75rem;cursor:pointer;flex-direction:column;gap:.25rem;padding:1.25rem;transition:border-color 150ms;display:flex}@media (width<=30em){.tool-page .mode-card{padding:clamp(1rem, .85rem + .7vw, 1.4rem)}}@media (hover:hover){.tool-page .mode-card:hover{border-color:var(--as)}}.tool-page .mode-num{font-variant-numeric:tabular-nums;color:var(--fg-subtle);letter-spacing:.005em;font-size:var(--u);font-weight:700}.tool-page .awp{font-family:var(--font-display);font-size-adjust:from-font;color:var(--k);font-size:1.125rem;font-weight:700}.tool-page .awm{color:var(--e);font-size:var(--l);line-height:1.45}.tool-page .awo{text-transform:none;letter-spacing:.005em;color:var(--fg-subtle);margin-top:auto;padding-top:var(--space-xs);font-size:var(--p);font-weight:600}.tool-page .bep{color:var(--e);flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;font-size:var(--l);font-weight:600;display:flex}.tool-page .axm{border:1px solid var(--a2);border-radius:.5rem;background:var(--ax);color:var(--a5);cursor:pointer;min-height:2.75rem;padding:.5rem var(--a1);font-size:var(--a0);font-weight:600;transition:all 150ms}@media (hover:hover){.tool-page .axm:hover{background:var(--ay)}}.tool-page .bf6{color:var(--fg-subtle)}.tool-page .axm[hidden]{display:none}.tool-page .band-heatmap{background:var(--t);border:1px solid var(--q);border-radius:.75rem;margin-top:1.25rem;padding:1.25rem}.tool-page .band-heatmap[hidden]{display:none}.tool-page .a9b{color:var(--k);margin:0 0 .25rem;font-size:.9375rem;font-weight:700}.tool-page .bh-sub{color:var(--e);margin:0 0 .75rem;font-size:var(--u);line-height:1.45}.tool-page .bh-grid{grid-template-columns:repeat(auto-fit,minmax(min(8.5rem,100%),1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.tool-page .bh-band{background:var(--tile-face);border-radius:.5rem;grid-template-rows:auto auto auto;gap:.25rem;padding:.75rem;display:grid}.tool-page .bh-band-label{color:var(--k);font-size:var(--u);font-weight:700;line-height:1.2}.tool-page .bh-band-range{color:var(--fg-subtle);font-variant-numeric:tabular-nums;font-size:var(--bd)}.tool-page .bh-band-bar{border-radius:999px;background:var(--bn);border:1px solid var(--border);height:8px;margin-top:.125rem;position:relative;overflow:hidden}.tool-page .bh-band-bar:after{content:"";width:var(--f5,0%);transition:width .22s cubic-bezier(.4, 0, .2, 1);background:linear-gradient(90deg,var(--bad),var(--warn) 50%,var(--ok));position:absolute;inset:0}.tool-page .bh-band.bh-empty .bh-band-bar:after{background:var(--border)}.tool-page .bh-band-count{color:var(--e);font-variant-numeric:tabular-nums;margin-top:.125rem;font-size:var(--bd)}.tool-page .round-wrap{max-width:640px}.tool-page .bd2{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem .75rem;margin-bottom:var(--space-lg);padding-bottom:.75rem;display:flex}.tool-page .back-btn{color:var(--aq);background:var(--ap);border:1px solid var(--al);border-radius:999px;cursor:pointer;align-items:center;gap:var(--space-xs);min-height:var(--ae);padding:0 .75rem;font-size:var(--ah);font-weight:600;transition:all 150ms;display:inline-flex}@media (hover:hover){.tool-page .back-btn:hover{border-color:var(--ag);background:var(--ai)}}.tool-page .mode-label{text-transform:none;letter-spacing:.005em;color:var(--e);flex:1;min-width:6rem;font-size:var(--v);font-weight:600}.tool-page .bd3{flex-wrap:wrap;gap:.5rem;display:flex}.tool-page .auy{background:var(--t);border:1px solid var(--q);border-radius:.5rem;flex-direction:column;min-width:4rem;padding:.25rem .5rem;display:inline-flex}.tool-page .a56{text-transform:none;letter-spacing:.005em;color:var(--fg-subtle);font-size:var(--p);font-weight:600}.tool-page .auy strong{font-family:var(--font-display);font-size-adjust:from-font;color:var(--k);font-variant-numeric:tabular-nums;margin-top:.125rem;font-size:1rem;line-height:1.05}.tool-page .auy.hot strong{color:var(--accent);display:inline-flex;align-items:center;gap:.25em}.tool-page .auy.hot strong:before{--ew:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.07-2.14-.22-4.05 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.15.43-2.29 1-3a2.5 2.5 0 0 0 2.5 2.5z%27/%3E%3C/svg%3E");content:'';flex-shrink:0;width:.85em;height:.85em;background:currentColor;-webkit-mask:var(--ew) center/contain no-repeat;mask:var(--ew) center/contain no-repeat}@media (forced-colors:active){.tool-page .auy.hot strong:before{forced-color-adjust:none;background:CanvasText}}.tool-page .round-progress{background:var(--s);border-radius:999px;height:4px;margin-bottom:1.25rem;overflow:hidden}.tool-page .round-progress-fill{width:0%;height:100%;transition:width .28s cubic-bezier(.4, 0, .2, 1);background:var(--accent-block)}.tool-page .bgb{background:var(--t);border:1px solid var(--q);border-radius:1rem;flex-direction:column;align-items:center;gap:var(--space-lg);margin-bottom:1.5rem;padding:clamp(1rem, .85rem + .7vw, 1.4rem);display:flex}.tool-page .bgc{justify-content:center;align-items:center;width:100%;height:60px;display:flex}.tool-page .waveform{align-items:center;gap:.25rem;height:50px;display:flex}.tool-page .play-tone-btn{background:var(--ao);min-height:2.75rem;color:#2a2829;border-radius:.5rem;cursor:pointer;border:none;align-items:center;gap:var(--be);padding:0 var(--a1);font-size:var(--a0);font-weight:600;box-shadow:var(--bs);transition:filter 150ms cubic-bezier(.4, 0, .2, 1),box-shadow 150ms cubic-bezier(.4, 0, .2, 1),transform 150ms cubic-bezier(.4, 0, .2, 1);display:inline-flex}@media (hover:hover){.tool-page .play-tone-btn:hover{background:var(--a7);box-shadow:var(--cb)}}.tool-page .play-tone-btn:focus-visible{background:var(--a7);box-shadow:var(--cb)}.tool-page .play-tone-btn:active{transform:translateY(1px);box-shadow:var(--ca);transition-duration:90ms}.tool-page .play-tone-btn.secondary{background:var(--ax);color:var(--a5);border:1px solid var(--a2);box-shadow:0 0 0 0 transparent}@media (hover:hover){.tool-page .play-tone-btn.secondary:hover{background:var(--ay);filter:none;box-shadow:var(--az)}}.tool-page .play-tone-btn.secondary:focus-visible{background:var(--ay);filter:none;box-shadow:var(--az)}.tool-page .play-tone-btn.secondary:active{transform:translateY(1px);box-shadow:var(--ca);transition-duration:90ms}.tool-page .question-text{color:var(--k);margin:0 0 var(--space-lg);font-size:1rem;font-weight:600}.tool-page .options-grid{counter-reset:opt;grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.tool-page .opt-btn{text-align:start;border:1px solid var(--q);border-radius:.75rem;background:var(--t);min-height:4rem;color:var(--k);cursor:pointer;counter-increment:opt;align-items:center;gap:.75rem;padding:var(--aj);font-size:1rem;font-weight:600;transition:border-color 150ms,background 150ms,transform 150ms,box-shadow 150ms;display:flex;position:relative}.tool-page .opt-btn:before{content:counter(opt);background:var(--s);width:30px;height:30px;color:var(--e);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:var(--u);font-weight:700;transition:all 150ms;display:inline-flex}@media (hover:hover){.tool-page .opt-btn:hover:not(:disabled){border-color:var(--ag);background:var(--b5)}.tool-page .opt-btn:hover:not(:disabled):before{background:var(--ao);color:#2a2829;border-color:var(--ao)}}.tool-page .opt-btn:focus-visible{outline:var(--b6);outline-offset:2px}.tool-page .opt-btn:disabled{cursor:default;opacity:.9}.tool-page .opt-btn-stack{padding-top:.75rem;padding-bottom:.75rem}.tool-page .opt-btn-stack .opt-name{letter-spacing:-.012em;font-size:1rem;font-weight:700;line-height:1.2;display:block}.tool-page .opt-btn-stack .opt-sub{color:var(--e);font-variant-numeric:tabular-nums;margin-top:.125rem;font-size:var(--u);font-weight:500;display:block}@media (hover:hover){.tool-page .opt-btn-stack:hover:not(:disabled) .opt-sub{color:inherit;opacity:.85}}.tool-page .opt-btn.correct{color:var(--bc);background:color-mix(in oklch,var(--ok) 14%,transparent);border-color:var(--ok)}.tool-page .opt-btn.correct:before{color:#fff;background:var(--ok);border-color:var(--ok)}.tool-page .opt-btn.wrong{color:var(--bad-text);background:color-mix(in oklch,var(--bad) 14%,transparent);border-color:var(--bad)}.tool-page .opt-btn.wrong:before{color:#fff;background:var(--bad);border-color:var(--bad)}.tool-page .bd1{flex-wrap:wrap;align-items:center;gap:var(--space-xs) .75rem;margin-top:.75rem;display:flex}.tool-page .round-range{color:var(--e);font-variant-numeric:tabular-nums;font-size:var(--u)}.tool-page .cant-hear-btn:disabled{cursor:default;opacity:.6}.tool-page .feedback-area{margin-top:1.25rem}.tool-page .feedback-tools{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.75rem;display:flex}.tool-page .feedback-tools[hidden]{display:none}.tool-page .fb-note{color:var(--e);font-size:var(--l)}.tool-page .feedback-inner.skip{color:var(--k);background:var(--tile-face);border:1px solid var(--border-strong)}.tool-page .feedback-inner{border-radius:.5rem;margin-bottom:.75rem;padding:.75rem;font-size:.9375rem;font-weight:600}.tool-page .feedback-inner.correct{color:var(--bc);background:color-mix(in oklch,var(--ok) 15%,transparent);border:1px solid var(--ok)}.tool-page .feedback-inner.wrong{color:var(--bad-text);background:color-mix(in oklch,var(--bad) 15%,transparent);border:1px solid var(--bad)}.tool-page .next-btn{background:var(--ao);min-height:2.75rem;color:#2a2829;border-radius:.5rem;cursor:pointer;border:none;padding:.5rem var(--a1);font-size:var(--a0);font-weight:600;box-shadow:var(--bs);transition:filter 150ms cubic-bezier(.4, 0, .2, 1),box-shadow 150ms cubic-bezier(.4, 0, .2, 1),transform 150ms cubic-bezier(.4, 0, .2, 1)}@media (hover:hover){.tool-page .next-btn:hover{background:var(--a7);box-shadow:var(--cb)}}.tool-page .next-btn:focus-visible{background:var(--a7);box-shadow:var(--cb)}.tool-page .next-btn:active{transform:translateY(1px);box-shadow:var(--ca);transition-duration:90ms}.tool-page .a5e{color:var(--e);background:var(--cf);border:1px solid var(--q);border-radius:.75rem;text-align:center;margin-top:.75rem;padding:var(--aj);font-size:var(--u)}.tool-page .a5e kbd{background:var(--bg-elevated);border:1px solid var(--border);border-radius:.25rem;color:var(--k);border-bottom-width:2px;margin:0 .125rem;padding:.05rem var(--space-xs);font-family:ui-monospace, SFMono-Regular, Menlo, monospace;font-size:var(--u);line-height:1;display:inline-block}.tool-page .explainer{border-top:1px solid var(--border);padding-top:3rem}.tool-page .explainer h2{font-family:var(--font-display);font-size-adjust:from-font;font-size:clamp(1.5rem, 1.28rem + 1.05vw, 2.125rem);letter-spacing:-.016em;margin:0 0 1.5rem;font-weight:700}.tool-page .explainer h3{font-family:var(--font-display);font-size-adjust:from-font;color:var(--k);margin:0 0 .75rem;font-size:1.125rem;font-weight:700}.tool-page .explainer p{color:var(--e);margin:0 0 .75rem;font-size:.9375rem;line-height:1.72}.tool-page .a4r{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=768px){.tool-page .a4r{grid-template-columns:1fr 1fr}}