@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 800;font-display:block;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 800;font-display:block;src:url(/fonts/jetbrains-mono-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:300 800;font-display:block;src:url(/fonts/manrope-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:300 800;font-display:block;src:url(/fonts/manrope-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}:root{--ink-950:#0b0a1c;--ink-900:#12102a;--ink-800:#1a1740;--ink-700:#2c2860;--ink-500:#4e4894;--ink-300:#8681c2;--ink-100:#c9c6f0;--ink-050:#edebff;--sig-off:#ff4d8d;--sig-near:#ffc857;--sig-in:#3be8b0;--sig-idle:#4e4894;--brand:#9b6bff;--brand-strong:#7a4fd8;--font-ui:"Manrope", system-ui, -apple-system, sans-serif;--font-num:"JetBrains Mono", ui-monospace, monospace;--fs-caption:12px;--fs-body:14px;--fs-subhead:16px;--fs-title:24px;--fs-display:clamp(64px, 20vw, 96px);--lh-tight:1.05;--lh-normal:1.5;--ls-display:-.035em;--ls-caption:.08em;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s12:48px;--r-sm:2px;--r-md:8px;--r-lg:16px;--r-pill:999px;--hairline:1px;--t-fast:.12s;--t-base:.2s;--ease:cubic-bezier(.2, .7, .3, 1);--glow-off:0 0 20px #ff4d8d8c;--glow-in:0 0 24px #3be8b08c;--glow-near:0 0 16px #ffc85766}.day,[data-theme=day]{--ink-950:#fff;--ink-900:#f4f3fb;--ink-800:#fff;--ink-700:#dddaf0;--ink-500:#a29dc8;--ink-300:#5b5780;--ink-100:#2a2650;--ink-050:#12102a;--sig-off:#d61f63;--sig-near:#8a6000;--sig-in:#0e8f68;--sig-idle:#a29dc8;--brand:#5b3bd6;--brand-strong:#5b3bd6;--glow-off:none;--glow-in:none;--glow-near:none}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s!important;--t-base:0s!important}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--ink-950);width:100%;min-height:100%;color:var(--ink-050);font-family:var(--font-ui);font-size:var(--fs-body);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;-webkit-user-select:none;user-select:none;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}.mono,.tabular-nums,[data-num]{font-family:var(--font-num);font-variant-numeric:tabular-nums}h1{letter-spacing:-.03em;color:var(--ink-050);font-size:28px;font-weight:800}h2{font-size:var(--fs-title);letter-spacing:-.02em;color:var(--ink-050);font-weight:800}h3{font-size:var(--fs-subhead);color:var(--ink-050);font-weight:600}p{font-size:var(--fs-body);color:var(--ink-100)}.eyebrow{font-size:var(--fs-caption);letter-spacing:var(--ls-caption);text-transform:uppercase;color:var(--ink-300)}button{cursor:pointer;color:inherit;touch-action:manipulation;background:0 0;border:none;font-family:inherit}.btn{font-family:var(--font-ui);font-size:var(--fs-subhead);border-radius:var(--r-pill);padding:12px var(--s6);cursor:pointer;justify-content:center;align-items:center;gap:var(--s2);transition:transform var(--t-fast) var(--ease), background var(--t-fast), border-color var(--t-fast), color var(--t-fast);min-height:48px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--brand-strong);color:#fff;border:1px solid #0000}.btn-primary:hover{background:color-mix(in srgb, var(--brand-strong) 88%, white)}.btn-ghost{color:var(--ink-050);border:var(--hairline) solid var(--ink-700);background:0 0}.btn-ghost:hover{background:var(--ink-800);border-color:var(--ink-500)}.btn-danger{color:var(--sig-off);border:var(--hairline) solid var(--sig-off);background:0 0}.btn-danger:hover{background:color-mix(in srgb, var(--sig-off) 15%, transparent)}.btn-sm{padding:8px var(--s4);font-size:var(--fs-body);min-height:38px}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.schip{border-radius:var(--r-md);border:var(--hairline) solid var(--ink-700);background:var(--ink-800);width:100%;min-width:0;height:52px;color:var(--ink-050);font-size:var(--fs-subhead);cursor:pointer;transition:border-color var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), color var(--t-base);flex-direction:column;justify-content:center;align-items:center;padding:2px 4px;font-weight:700;display:flex}.schip small{color:var(--ink-300);margin-top:1px;font-size:10px;font-weight:400}.schip[data-state=active]{border-color:var(--brand);box-shadow:inset 0 0 0 1.5px var(--brand);background:color-mix(in srgb, var(--brand) 10%, var(--ink-800))}.schip[data-state=done]{color:var(--sig-in);border-color:var(--sig-in)}.schip[data-state=off]{color:var(--sig-off);border-color:var(--sig-off)}.banner{gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--ink-800);border-left:3px solid var(--ink-500);color:var(--ink-100);align-items:flex-start;font-size:13px;display:flex}.banner.warn{border-left-color:var(--sig-near)}.banner.err{border-left-color:var(--sig-off)}.banner.ok{border-left-color:var(--sig-in)}.banner b{color:var(--ink-050);margin-bottom:2px;font-weight:600;display:block}.panel{background:var(--ink-900);border:var(--hairline) solid var(--ink-700);border-radius:var(--r-lg);padding:var(--s6)}.app-header{border-bottom:1px solid var(--ink-700);background:var(--ink-900);z-index:100;width:100%;height:60px;position:sticky;top:0}.header-inner{width:100%;max-width:1200px;height:100%;padding:0 var(--s4);grid-template-columns:1fr auto 1fr;align-items:center;margin:0 auto;display:grid}.header-brand{justify-self:start;align-items:center;gap:8px;min-width:0;display:flex}.brand-icon{flex-shrink:0;font-size:22px}.brand-text{min-width:0;overflow:hidden}.brand-title{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:800;overflow:hidden}.brand-subtitle{color:var(--ink-300);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.desktop-nav{justify-self:center;gap:6px;display:flex}.header-right{justify-self:end;align-items:center;gap:4px;display:flex}.github-link-label{font-weight:600}@media (width<=840px){.github-link-label{display:none}}.mobile-bottom-nav{display:none}@media (width<=840px){.header-inner{justify-content:space-between;display:flex}.desktop-nav{display:none!important}.mobile-bottom-nav{height:calc(60px + env(safe-area-inset-bottom,0px));background:var(--ink-900);border-top:1px solid var(--ink-700);z-index:100;padding-bottom:env(safe-area-inset-bottom,0px);justify-content:space-around;align-items:center;position:fixed;bottom:0;left:0;right:0;display:flex!important}.app-main{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}.ear-screen .banner{left:8px;right:8px;bottom:calc(68px + env(safe-area-inset-bottom,0px));z-index:90;margin:0;position:fixed;box-shadow:0 8px 28px #00000073}}@media (width>=841px){.mobile-bottom-nav{display:none!important}.desktop-nav{display:flex}.app-main{padding-bottom:var(--s8)!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tuner-note-interactive{-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:var(--r-lg);padding:4px 16px;transition:transform .15s,background .2s,box-shadow .2s}.tuner-note-interactive:hover{background:#6e56f81a;transform:scale(1.05)}.tuner-note-interactive:active{transform:scale(.96)}@keyframes pulseNoteGlow{0%{transform:scale(1);box-shadow:0 0 #6e56f899}50%{transform:scale(1.04);box-shadow:0 0 25px 8px #6e56f859}to{transform:scale(1);box-shadow:0 0 #6e56f800}}.tuner-note-playing{animation:1.2s ease-in-out pulseNoteGlow;border:1px solid var(--brand)!important;background:#6e56f82e!important}@media (pointer:coarse){.btn-sm,.schip,[data-testid^=et-answer-]{min-height:44px}input[type=checkbox],input[type=radio]{width:22px;height:22px}input[type=range]{height:28px}}@media (height<=740px){.ear-screen{gap:var(--s3)!important}.ear-screen .eyebrow,.ear-screen h2{display:none}.ear-screen .panel{padding:var(--s3) var(--s4)!important;min-height:0!important}.ear-screen .banner{padding:var(--s3)!important}.ear-screen .ear-stats{gap:8px!important;padding:6px 12px!important}.ear-screen .ear-stats div{font-size:17px!important}.ear-screen .ear-stats div div:first-child{font-size:11px!important}.ear-screen [data-testid^=et-answer-]{padding:9px!important}.ear-screen .banner{align-items:center;flex-direction:row!important;gap:8px!important}.ear-screen .panel button[disabled],.ear-screen .panel button:not([data-testid]){width:52px!important;height:52px!important}.ear-screen .panel>span:last-child{display:none}.ear-screen .ear-stats>div{justify-content:center;align-items:center;gap:6px;display:flex}.ear-screen .ear-stats>div>div:last-child{margin-top:0!important}.ear-screen [data-testid=et-next]{white-space:nowrap;flex-shrink:0;width:auto!important;margin-top:0!important;padding:10px 12px!important;font-size:13px!important}}
