.bs{font-family:var(--a1);font-size:var(--v);font-weight:var(--p);text-transform:uppercase;letter-spacing:var(--af);color:var(--q);margin:0 0 var(--g);line-height:var(--ag)}.page-toc .e{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--aa)}.page-toc .e li{line-height:var(--ae)}.page-toc .e .f8{padding-inline-start:var(--space-lg)}.page-toc .e a{display:block;padding:var(--space-xs) var(--d);border-inline-start:2px solid transparent;border-radius:0 var(--a5) var(--a5) 0;font-size:var(--t);color:var(--fg);transition:color var(--i),border-color var(--i),background var(--i)}.page-toc .e .f8 a{color:var(--j)}.e{counter-reset:toc;--bn:1.425rem}.e>:where(li:not(.f8))>a[data-toc-link]{counter-increment:toc}.e>:where(li:not(.f8))>a[data-toc-link]:before{content:counter(toc, decimal-leading-zero);content:counter(toc, decimal-leading-zero) / "";display:inline-block;min-width:1.9em;color:var(--q);font-size:var(--v);font-weight:var(--p);font-variant-numeric:tabular-nums}.page-toc .e>:where(li:not(.f8))>a[data-toc-link]{display:grid;grid-template-columns:var(--bn) minmax(0,1fr);align-items:baseline}.page-toc .e a.passed{color:var(--j);border-inline-start-color:color-mix(in oklch,var(--b) 30%,transparent)}.page-toc .e a:hover,.page-toc .e a:focus-visible{color:var(--o);background:var(--ac)}.page-toc .e a.active{color:var(--b);border-inline-start-color:var(--b);background:color-mix(in oklch,var(--b) 8%,transparent)}.page-toc .e a.active:before{color:var(--b)}.fn{background:var(--bg-elevated);border:var(--e) solid var(--n);border-radius:var(--y);padding:var(--g) var(--space-lg)}.fn .e{grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));gap:var(--aa) var(--space-lg)}@media (pointer:coarse){.page-toc .e a{padding-block:var(--d)}}.bi>.page-toc{margin-top:var(--z)}@media (width<=63.99em){.bi>.page-toc{padding:var(--d) var(--g)}.bi>.page-toc .bs{margin-bottom:var(--space-xs)}.bi>.page-toc .e{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.bi>.page-toc .e li a{display:block;border:var(--e) solid var(--al);border-radius:var(--radius-pill);padding-inline:var(--g);line-height:var(--ae)}.bi>.page-toc .e a[data-toc-link]:before{content:none}.bi>.page-toc .e li a.passed{border-color:var(--al)}.bi>.page-toc .e li a.active{border-color:var(--b)}}@media (width>=64em){.bi{display:grid;grid-template-columns:minmax(0,56rem) minmax(14rem,19rem);justify-content:space-between;column-gap:var(--aq);align-items:start}.bi>:not(.page-toc){grid-column:1}.bi>.page-toc{grid-column:2;grid-row:1/span 8;margin-top:0}}@keyframes barPulse{0%{transform:scaleY(var(--bar-from,.5))}to{transform:scaleY(var(--bar-to,.25))}}.tool-page .a1n{margin-bottom:var(--bx)}.tool-page .avb{justify-content:space-between;align-items:center;gap:var(--d);display:flex}.tool-page .ear-rating-tier{text-transform:uppercase;letter-spacing:var(--af);color:var(--bb);background:color-mix(in oklch,var(--b) 12%,transparent);border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;white-space:nowrap;padding:var(--s) var(--d);font-size:var(--ad);font-weight:var(--h);min-width:5rem;text-align:center}.tool-page .ear-rating-label{font-family:var(--w);font-size-adjust:var(--x);color:var(--o);letter-spacing:var(--a8);margin-top:var(--space-xs);font-size:var(--bh);font-weight:var(--h);line-height:var(--ag)}.tool-page .ear-rating-sub{color:var(--j);margin-top:var(--s);font-size:var(--v);line-height:var(--ae)}.tool-page .ear-rating-bar{grid-template-columns:repeat(5,1fr);gap:var(--s);margin-top:auto;padding-top:var(--g);display:grid}.tool-page .ear-rating-bar i{background:var(--n);border-radius:var(--b2);height:4px;transition:background var(--ar);display:block}.tool-page .ear-rating-bar i.on{background:var(--b)}.tool-page.ava .ear-rating-bar i{transition:none!important}.tool-page .mode-select h2{font-family:var(--w);font-size-adjust:var(--x);letter-spacing:var(--a3);margin:0 0 var(--z);font-size:var(--ck);font-weight:var(--h)}.tool-page .aq1{grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));gap:var(--g);margin-bottom:var(--ah);display:grid}.tool-page .aq1:has(> :nth-child(5):last-child){grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr))}.tool-page .mode-card{text-align:start;background:var(--bg-elevated);border:var(--e) solid var(--n);border-radius:var(--am);cursor:pointer;flex-direction:column;gap:var(--s);padding:var(--z);transition:border-color var(--i),transform var(--i);display:flex}.tool-page .mode-card:hover{border-color:var(--b);transform:translateY(var(--bz))}.tool-page .ajo{font-variant-numeric:tabular-nums;color:var(--b);letter-spacing:var(--bp);font-size:var(--v);font-weight:var(--h)}.tool-page .ajq{font-family:var(--w);font-size-adjust:var(--x);color:var(--o);font-size:var(--a9);font-weight:var(--h)}.tool-page .ajn{color:var(--j);font-size:var(--t);line-height:var(--ae)}.tool-page .ajp{text-transform:uppercase;letter-spacing:var(--bp);color:var(--b);margin-top:var(--aa);font-size:var(--v);font-weight:var(--p)}.tool-page .azu{color:var(--j);flex-wrap:wrap;align-items:center;gap:var(--g) var(--z);font-size:var(--t);font-weight:var(--p);display:flex}.tool-page #stat-rating{color:var(--b)}.tool-page #stat-best{color:var(--q);font-size:var(--t);font-weight:var(--bj)}.tool-page .aki{border:var(--e) solid var(--n);border-radius:var(--a4);background:var(--bg-elevated);color:var(--fg);cursor:pointer;min-height:44px;padding:var(--s) var(--g);font-size:var(--ak);font-weight:var(--p);transition:all var(--i)}.tool-page .aki:hover{border-color:var(--b);color:var(--b)}.tool-page .a1f{color:var(--q)}.tool-page .aki[hidden]{display:none}.tool-page .band-heatmap{background:var(--bg-elevated);border:var(--e) solid var(--n);border-radius:var(--am);margin-top:var(--z);padding:var(--space-lg) var(--z)}.tool-page .band-heatmap[hidden]{display:none}.tool-page .aus{color:var(--o);margin:0 0 var(--s);font-size:var(--aj);font-weight:var(--h)}.tool-page .aur{color:var(--j);margin:0 0 var(--g);font-size:var(--v);line-height:var(--ae)}.tool-page .bh-grid{grid-template-columns:repeat(auto-fit,minmax(min(8.5rem,100%),1fr));gap:var(--d);margin:0;padding:0;list-style:none;display:grid}.tool-page .bh-band{background:var(--ac);border:var(--e) solid var(--n);border-radius:var(--a4);grid-template-rows:auto auto auto;gap:var(--s);padding:var(--d) var(--g);display:grid}.tool-page .bh-band-label{color:var(--o);font-size:var(--v);font-weight:var(--h);line-height:var(--ag)}.tool-page .bh-band-range{color:var(--q);font-variant-numeric:tabular-nums;font-size:var(--ad)}.tool-page .bh-band-bar{border-radius:var(--radius-pill);background:var(--bg);border:var(--e) solid var(--n);height:8px;margin-top:var(--aa);position:relative;overflow:hidden}.tool-page .bh-band-bar:after{content:"";width:var(--e9,0%);transition:width .22s var(--r,ease);background:linear-gradient(90deg,var(--bt),var(--ct) 50%,var(--ok));position:absolute;inset:0}.tool-page .bh-band.bh-empty .bh-band-bar:after{background:var(--n)}.tool-page .bh-band-count{color:var(--j);font-variant-numeric:tabular-nums;margin-top:var(--aa);font-size:var(--ad)}.tool-page .round-wrap{max-width:640px}.tool-page .ayy{border-bottom:var(--e) solid var(--n);flex-wrap:wrap;align-items:center;gap:var(--g) var(--g);margin-bottom:var(--space-lg);padding-bottom:var(--g);display:flex}.tool-page .back-btn{color:var(--j);background:var(--bg-elevated);border:var(--e) solid var(--n);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:var(--space-xs);min-height:44px;padding:var(--space-xs) var(--g);font-size:var(--v);font-weight:var(--p);transition:all var(--i);display:inline-flex}.tool-page .back-btn:hover{color:var(--b);border-color:var(--b)}.tool-page .mode-label{text-transform:uppercase;letter-spacing:var(--bp);color:var(--j);flex:1;min-width:6rem;font-size:var(--ak);font-weight:var(--h)}.tool-page .ayz{flex-wrap:wrap;gap:var(--d);display:flex}.tool-page .aj0{background:var(--bg-elevated);border:var(--e) solid var(--n);border-radius:var(--a4);flex-direction:column;min-width:4rem;padding:var(--s) var(--d);display:inline-flex}.tool-page .aro{text-transform:uppercase;letter-spacing:var(--bp);color:var(--q);font-size:var(--ad);font-weight:var(--h)}.tool-page .aj0 strong{font-family:var(--w);font-size-adjust:var(--x);color:var(--o);font-variant-numeric:tabular-nums;margin-top:var(--aa);font-size:var(--ao);line-height:var(--a2)}.tool-page .aj0.hot strong{color:var(--b);display:inline-flex;align-items:center;gap:.25em}.tool-page .aj0.hot strong:before{content:"🔥";font-size:.85em;line-height:1}.tool-page .round-progress{background:var(--ac);border-radius:var(--radius-pill);height:4px;margin-bottom:var(--z);overflow:hidden}.tool-page .round-progress-fill{width:0%;height:100%;transition:width .28s var(--r,ease);background:linear-gradient(90deg,oklch(62% .18 25),oklch(74% .15 75),oklch(65% .16 145))}.tool-page .a1k{background:var(--bg-elevated);border:var(--e) solid var(--n);border-radius:var(--bl);flex-direction:column;align-items:center;gap:var(--space-lg);margin-bottom:var(--ah);padding:var(--aq);display:flex}.tool-page .a1l{justify-content:center;align-items:center;width:100%;height:60px;display:flex}.tool-page .waveform{align-items:center;gap:var(--s);height:50px;display:flex}.tool-page .play-tone-btn{background:var(--br);min-height:52px;color:var(--at);border-radius:var(--y);cursor:pointer;border:none;align-items:center;gap:var(--d);padding:0 var(--ah);font-size:var(--ao);font-weight:var(--h);box-shadow:var(--bo);transition:filter var(--i) var(--r),box-shadow var(--i) var(--r),transform var(--i) var(--r);display:inline-flex}.tool-page .play-tone-btn:hover,.tool-page .play-tone-btn:focus-visible{filter:brightness(1.05);box-shadow:var(--ch);transform:translateY(var(--bi))}.tool-page .play-tone-btn:active{transform:var(--cf);box-shadow:var(--ca);filter:brightness(.97);transition-duration:var(--by)}.tool-page .play-tone-btn.al4{background:var(--c9);color:var(--fg);border:var(--e) solid var(--n);box-shadow:var(--au)}.tool-page .play-tone-btn.al4:hover,.tool-page .play-tone-btn.al4:focus-visible{background:var(--bg-elevated);filter:none;box-shadow:var(--bv)}.tool-page .play-tone-btn.al4:active{transform:var(--cf);box-shadow:var(--ca);transition-duration:var(--by)}.tool-page .question-text{color:var(--o);margin:0 0 var(--space-lg);font-size:var(--ao);font-weight:var(--p)}.tool-page .options-grid{counter-reset:opt;grid-template-columns:1fr 1fr;gap:var(--d);display:grid}.tool-page .opt-btn{text-align:start;border:var(--e) solid var(--al);border-radius:var(--y);background:var(--bg-elevated);min-height:62px;color:var(--o);cursor:pointer;counter-increment:opt;align-items:center;gap:var(--g);padding:var(--g) var(--space-lg) var(--g) var(--g);font-size:var(--ao);font-weight:var(--p);transition:border-color var(--i),background var(--i),transform var(--i),box-shadow var(--i);display:flex;position:relative}.tool-page .opt-btn:before{content:counter(opt);background:var(--ac);width:30px;height:30px;color:var(--j);border:var(--e) solid var(--n);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:var(--v);font-weight:var(--h);transition:all var(--i);display:inline-flex}.tool-page .opt-btn:hover:not(:disabled){border-color:var(--b);background:color-mix(in oklch,var(--b) 5%,var(--bg-elevated));box-shadow:0 4px 14px color-mix(in oklch,var(--b) 12%,transparent);transform:translateY(var(--bi))}.tool-page .opt-btn:hover:not(:disabled):before{background:var(--b);color:var(--at);border-color:var(--b)}.tool-page .opt-btn:focus-visible{outline:var(--cp);outline-offset:var(--bd)}.tool-page .opt-btn:disabled{cursor:default;opacity:.9}.tool-page .opt-btn-stack{padding-top:var(--g);padding-bottom:var(--g)}.tool-page .opt-btn-stack .opt-name{letter-spacing:var(--c3);font-size:var(--ao);font-weight:var(--h);line-height:var(--ag);display:block}.tool-page .opt-btn-stack .opt-sub{color:var(--j);font-variant-numeric:tabular-nums;margin-top:var(--aa);font-size:var(--v);font-weight:var(--bj);display:block}.tool-page .opt-btn-stack:hover:not(:disabled) .opt-sub{color:inherit;opacity:.85}.tool-page .opt-btn.correct{color:var(--b0);background:color-mix(in oklch,var(--ok) 14%,transparent);border-color:var(--ok)}.tool-page .opt-btn.correct:before{color:var(--dy);background:var(--ok);border-color:var(--ok)}.tool-page .opt-btn.wrong{color:var(--b9);background:color-mix(in oklch,var(--bt) 14%,transparent);border-color:var(--bt)}.tool-page .opt-btn.wrong:before{color:var(--dy);background:var(--bt);border-color:var(--bt)}.tool-page .feedback-area{margin-top:var(--z)}.tool-page .feedback-inner{border-radius:var(--y);margin-bottom:var(--g);padding:var(--space-lg);font-size:var(--aj);font-weight:var(--p)}.tool-page .feedback-inner.correct{color:var(--b0);background:color-mix(in oklch,var(--ok) 15%,transparent);border:var(--e) solid var(--ok)}.tool-page .feedback-inner.wrong{color:var(--b9);background:color-mix(in oklch,var(--bt) 15%,transparent);border:var(--e) solid var(--bt)}.tool-page .next-btn{background:var(--br);min-height:48px;color:var(--at);border-radius:var(--y);cursor:pointer;border:none;padding:var(--g) var(--ah);font-size:var(--aj);font-weight:var(--h);box-shadow:var(--bo);transition:filter var(--i) var(--r),box-shadow var(--i) var(--r),transform var(--i) var(--r)}.tool-page .next-btn:hover,.tool-page .next-btn:focus-visible{filter:brightness(1.05);box-shadow:var(--ch);transform:translateY(var(--bi))}.tool-page .next-btn:active{transform:var(--cf);box-shadow:var(--ca);filter:brightness(.97);transition-duration:var(--by)}.tool-page .aqs{color:var(--j);background:var(--ac);border:var(--e) solid var(--n);border-radius:var(--a4);text-align:center;margin-top:var(--g);padding:var(--d) var(--g);font-size:var(--v)}.tool-page .aqs kbd{background:var(--bg-elevated);border:var(--e) solid var(--n);border-radius:var(--a5);color:var(--o);border-bottom-width:2px;margin:0 var(--aa);padding:.05rem var(--space-xs);font-family:var(--b4);font-size:var(--v);line-height:var(--as);display:inline-block}.tool-page .explainer{border-top:var(--e) solid var(--n);padding-top:var(--bx)}.tool-page .explainer h2{font-family:var(--w);font-size-adjust:var(--x);font-size:var(--ew);letter-spacing:var(--a3);margin:0 0 var(--ah);font-weight:var(--h)}.tool-page .explainer h3{font-family:var(--w);font-size-adjust:var(--x);color:var(--o);margin:0 0 var(--g);font-size:var(--a9);font-weight:var(--h)}.tool-page .explainer p{color:var(--j);margin:0 0 var(--g);font-size:var(--aj);line-height:var(--cr)}.tool-page .ap9{grid-template-columns:1fr;gap:var(--aq);display:grid}@media (width>=768px){.tool-page .ap9{grid-template-columns:1fr 1fr}}