@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0e7b7e0b829e3eb9-s.0s6677u7501n5.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(../media/daf789e4474d0d90-s.3w_oc3nqvqm6n.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9e9f04e3c37952ab-s.p.002ht2t_o636a.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:Anton Fallback;src:local(Arial);ascent-override:129.7%;descent-override:36.29%;line-gap-override:0.0%;size-adjust:90.69%}.anton_36e97fd3-module__KZk7hq__className{font-family:Anton,Anton Fallback;font-style:normal;font-weight:400}.anton_36e97fd3-module__KZk7hq__variable{--font-display:"Anton", "Anton Fallback"}
@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/af21ab248943f479-s.0z23a3hpu8ttr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/4ae66b896b591e96-s.02aqyp7acl16b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/21ca8f3f56c22ca2-s.p.14a9xpaqsbppk.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:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_7ce64f09-module__WzZ8-W__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_7ce64f09-module__WzZ8-W__variable{--font-text:"Archivo", "Archivo Fallback"}
@font-face{font-family:Mrs Saint Delafield;font-style:normal;font-weight:400;font-display:swap;src:url(../media/aa70d328b406d70e-s.0b732hply2eo6.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mrs Saint Delafield;font-style:normal;font-weight:400;font-display:swap;src:url(../media/02f8c82079ee3c71-s.p.2-lcev3yyho6z.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:Mrs Saint Delafield Fallback;src:local(Arial);ascent-override:146.87%;descent-override:100.35%;line-gap-override:0.0%;size-adjust:61.69%}.mrs_saint_delafield_59a9e63a-module__-Iuxfq__className{font-family:Mrs Saint Delafield,Mrs Saint Delafield Fallback;font-style:normal;font-weight:400}.mrs_saint_delafield_59a9e63a-module__-Iuxfq__variable{--font-script:"Mrs Saint Delafield", "Mrs Saint Delafield Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ease-out:cubic-bezier(.23, 1, .32, 1);--red:#e61415;--black:#0f0f0e;--cream:#efeae0;--cream-dim:#d8d2c5;--well:#1a1a19;--rule:#353533;--line:#2a2a28;--muted:#858380;--card-muted:#8a867d;--ink:var(--cream);--display:var(--font-display), Impact, "Arial Narrow", sans-serif;--font:var(--font-text), -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--script:var(--font-script), cursive;--pad:62px;--fader-length:304px}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input:not([type=range]),textarea,[contenteditable=true],[contenteditable=true] *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}html{background:var(--black);min-width:320px}:is(html:has(.home-app),html:has(.duel-create),html:has(.practice-menu)){background:var(--red)}body{min-height:100dvh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:var(--black);color:var(--ink);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0}html,body,dialog{scrollbar-width:none}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}dialog::-webkit-scrollbar{display:none}:is(body:has(.home-app),body:has(.duel-create),body:has(.practice-menu)){background:var(--red);color:var(--black)}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}button:focus-visible,input:focus-visible{outline-offset:4px;outline:2px solid}button:disabled{cursor:not-allowed}svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;display:block}.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}.app{width:min(100% - 40px,460px);margin:auto}.icon-button{width:44px;height:44px;color:inherit;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.icon-button svg{stroke-width:2px;width:22px;height:22px}.icon-button.quiet{color:var(--muted)}.pill{width:100%;min-height:52px;font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;transition:transform .16s var(--ease-out), opacity .12s var(--ease-out);border:0;border-radius:99px;justify-content:center;align-items:center;padding:0 18px;font-size:21px;line-height:1;display:flex}.pill:active:not(:disabled):not(:focus-visible){transition-duration:.1s;transform:scale(.98)}.pill:disabled{opacity:.45}.pill.solid{background:var(--black);color:var(--cream)}.pill.line{color:var(--black);box-shadow:inset 0 0 0 2px var(--black);background:0 0}.pill.red{background:var(--red);color:var(--black)}.text-button{min-height:44px;color:inherit;text-underline-offset:3px;background:0 0;border:0;margin:6px auto 0;padding:0 12px;font-size:12px;font-weight:700;text-decoration:underline;display:block}.home-app{width:min(100% - 40px,420px)}.home-screen{height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));color:var(--black);flex-direction:column;align-items:center;padding:6px 0 clamp(10px,2dvh,20px);display:flex}.home-bar{flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;width:calc(100% + 11px);height:56px;margin-right:-11px;display:grid}.home-bar-actions{justify-self:end;display:flex}.header-wordmark{object-fit:contain;justify-self:center;width:116px;height:auto;display:block}.locale-switch{border:1px solid;border-radius:99px;align-items:center;gap:2px;padding:2px;font-size:10px;font-weight:800;display:inline-flex}.locale-switch button{min-width:33px;min-height:30px;color:inherit;background:0 0;border:0;border-radius:99px;padding:0 5px}.locale-switch button[aria-pressed=true]{background:var(--black);color:var(--cream)}.home-bar .locale-switch{justify-self:start}.score-share{justify-items:stretch;width:100%;display:grid}.score-share .text-button{margin:0 auto}.sheet-actions.result-actions{grid-template-columns:minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:row;gap:6px}.result-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;display:grid}.result-navigation .pill{min-height:48px;padding:0 8px;font-size:18px}.result-navigation .pill:first-child:nth-last-child(2){grid-column:1/-1}.result-home{min-height:44px;color:var(--black);text-underline-offset:3px;background:0 0;border:0;grid-column:1/-1;justify-self:center;padding:0 12px;font-size:13px;font-weight:800;text-decoration:underline}.home-center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:clamp(4px,1dvh,12px) 0;display:flex}.home-center>:not(.brand-lockup){flex-shrink:0}.home-center .brand-lockup{flex:0 auto;min-height:0}.brand-lockup{aspect-ratio:1014/885;background:url(/brand-logo.png) 50%/contain no-repeat;width:min(100%,330px)}.home-learn-link{text-decoration:none}.home-greeting{justify-content:center;align-items:baseline;column-gap:8px;width:100%;margin:0 0 clamp(0px,1.5dvh - 6px,12px);display:flex}.home-greeting p{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;min-width:0;max-width:100%;margin:0;font-size:clamp(14px,2dvh,17px);font-weight:600;overflow:hidden}.home-greeting button{text-underline-offset:3px;background:0 0;border:0;flex-shrink:0;min-height:44px;padding:0 4px;font-size:12px;font-weight:800;text-decoration:underline}.home-actions{gap:clamp(4px,1dvh,10px);width:clamp(220px,30dvh,260px);max-width:100%;display:grid}.home-actions .pill{min-height:clamp(44px,6.2dvh,56px);font-size:clamp(18px,2.8dvh,23px)}.home-app-links{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;width:min(100%,320px);margin-top:clamp(0px,1dvh - 3px,8px);display:grid}.home-app-links .install-link{min-width:0;min-height:44px;margin:0;padding:4px 6px;line-height:1.3}.push-mascot{object-fit:contain;margin:0 auto 16px;display:block}.push-form{gap:16px;display:grid}.push-form p{margin:0;line-height:1.5}.push-form label{gap:8px;font-size:13px;font-weight:700;display:grid}.push-form input{appearance:none;border:1px solid var(--black);width:100%;min-width:0;height:52px;color:var(--black);font:inherit;text-align:center;background:0 0;border-radius:12px;padding:12px 14px;font-size:18px;line-height:normal;display:block;position:relative}.push-form input::-webkit-date-and-time-value{text-align:center;min-height:1.5em}.push-form input::-webkit-datetime-edit{padding:0}.push-form input::-webkit-calendar-picker-indicator{margin:0;position:absolute;right:14px}.push-form .push-enabled{font-size:13px;font-weight:700}.home-duel-link{min-height:48px;font-size:19px;text-decoration:none}.home-catalog-link{min-height:44px;color:var(--black);text-underline-offset:3px;place-items:center;font-size:12px;font-weight:800;text-decoration:underline;display:grid}.home-date{text-transform:uppercase;letter-spacing:.06em;margin:clamp(6px,2dvh - 6px,16px) 0 0;font-size:11px;font-weight:700}.home-offline{margin:12px 0 0;font-size:12px;font-weight:600}.home-offline button{text-underline-offset:3px;background:0 0;border:0;padding:6px 4px;font-weight:800;text-decoration:underline}.install-link{text-underline-offset:3px;background:0 0;border:0;margin-top:14px;padding:8px 12px;font-size:12px;font-weight:800;text-decoration:underline}.install-guide{margin:auto 0;font-size:18px;font-weight:600;line-height:1.45}.install-guide>p:first-child{font-size:22px}.install-guide ol{gap:18px;margin:26px 0;padding-left:24px;display:grid}.install-guide li{padding-left:4px}.install-guide .dialog-primary{margin-top:24px}.install-guide .install-note{opacity:.75;margin-top:32px;font-size:13px}.home-screen .streak{--dot-ink:var(--red);flex-shrink:0;width:100%}@media (orientation:landscape) and (max-height:600px){.home-app{width:min(100% - 40px,780px)}.home-bar{height:44px}.home-center{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-content:center;column-gap:24px;padding:0;display:grid}.home-center .brand-lockup{aspect-ratio:auto;grid-area:1/1/3/2;width:100%;height:100%}.home-greeting,.home-offline{grid-area:1/2;margin:0}.home-actions{grid-area:2/2/5/3;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%}.home-actions .pill{padding-inline:8px}.home-actions .home-catalog-link{grid-column:1/-1}.home-learn-link{flex-wrap:wrap;gap:2px 4px}.home-app-links{grid-area:3/1;width:100%;margin-top:0}.home-date{grid-area:4/1;margin-top:4px}.home-screen .day-circle{width:24px;height:24px}.home-screen .streak-day{gap:4px}}.streak-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.streak-day{justify-items:center;gap:7px;display:grid}.day-circle{border-radius:50%;place-items:center;width:28px;height:28px;display:grid;box-shadow:inset 0 0 0 2px}.day-circle svg{width:14px;height:14px;stroke:var(--dot-ink);stroke-width:3px}.is-complete .day-circle{background:currentColor}.day-label{border-bottom:2px solid #0000;padding-bottom:3px;font-size:10px;font-weight:700;line-height:1}.is-today .day-label{border-bottom-color:currentColor}.streak-hero{color:var(--cream);--dot-ink:var(--black)}.streak-hero .day-circle{box-shadow:inset 0 0 0 1.5px #5a5954}.streak-hero .is-complete .day-circle{background:var(--cream);box-shadow:none}.streak-hero .day-label{color:#8f8d86}.streak-hero .is-today .day-label{color:var(--cream);border-bottom-color:var(--red)}.streak-count .label{text-transform:uppercase;letter-spacing:.07em;color:#77756f;font-size:9.5px;font-weight:700;display:block}.streak-count div{align-items:flex-end;gap:10px;margin:10px 0 22px;display:flex}.streak-count strong{font-family:var(--display);color:var(--red);font-variant-numeric:tabular-nums;font-size:112px;font-weight:400;line-height:.8}.streak-count div span{font-family:var(--display);text-transform:uppercase;padding-bottom:2px;font-size:24px;line-height:1}.topbar{grid-template-columns:44px 1fr 44px;align-items:center;height:72px;margin:0 -11px;display:grid;position:relative}.game-title{flex-direction:column;align-items:center;gap:3px;display:flex}.topbar .header-wordmark{filter:invert();width:104px}.game-title>span:not(.round-clock){color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:9.5px;font-weight:700}.round-clock{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--cream-dim);justify-items:center;gap:3px;font-size:14px;font-weight:600;line-height:1;display:inline-grid}.round-clock-penalty{color:var(--cream-dim);letter-spacing:0;white-space:nowrap;font-size:10px;line-height:1.2}.round-clock-penalty.has-penalty{color:#ff7474}.duel-check .round-clock{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 8px;display:inline-flex}.specs em.time-deduction{margin:4px 0 0;display:block}.decks{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;display:grid;position:relative}.decks:before{content:"";background:#222221;width:1px;position:absolute;top:18px;bottom:18px;left:50%}.deck{--pitch-position:50%;min-width:0}.deck,.deck *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.deck-grid{grid-template-columns:var(--pad) minmax(0,1fr);align-items:center;gap:12px;display:grid}.deck-label{height:44px;font-family:var(--display);color:var(--cream);justify-content:center;align-items:center;gap:6px;margin:0;font-size:22px;font-weight:400;line-height:1;display:flex}.deck-label:after{content:"";background:#444341;border-radius:50%;width:5px;height:5px;display:block}.deck.is-playing .deck-label:after{background:var(--red)}.pitch-range-toggle{width:60px;height:44px;color:var(--cream-dim);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:100px;justify-self:center;place-items:center;padding:0;font-size:11px;font-weight:600;display:grid}.range-value{border:1px solid #45443f;border-radius:99px;place-items:center;min-width:52px;height:28px;padding:0 8px;transition:border-color .15s,color .15s;display:grid}.pitch-range-toggle:active .range-value{color:var(--cream);border-color:var(--cream-dim)}.transport{height:var(--fader-length);flex-direction:column;justify-content:space-between;align-items:center;display:flex}.pad{flex:0 0 var(--pad);width:var(--pad);height:var(--pad);border:1px solid var(--rule);background:var(--well);color:var(--cream-dim);touch-action:none;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.pad svg{pointer-events:none;stroke-width:1.7px;width:22px;height:22px}.cue-mark{letter-spacing:.05em;pointer-events:none;font-size:10px;font-weight:800}.play-button{background:var(--cream);color:var(--black);border-color:var(--cream)}.play-button[aria-pressed=true]{background:var(--red);border-color:var(--red)}.play-button svg{fill:currentColor;stroke:none;width:23px;height:23px}.pad.is-held{color:var(--black);background:var(--cream);border-color:var(--cream)}.pad:active,.pad.is-touching{border-color:var(--cream)}.loading .play-button svg{opacity:.4}.loading .play-button:after{content:"";border:1px solid #0000;border-top-color:var(--red);border-radius:50%;animation:.8s linear infinite spin;position:absolute;inset:-5px}@keyframes spin{to{transform:rotate(360deg)}}.pitch-rail{width:100%;height:var(--fader-length);touch-action:none;cursor:ns-resize;border-radius:10px;justify-self:center;position:relative}.pitch-rail:before{content:"";pointer-events:none;background:#141413;border-radius:8px;width:22px;position:absolute;top:9px;bottom:9px;left:calc(50% - 11px);box-shadow:inset 0 0 0 1px #33332f}.pitch-rail:has(input:focus-visible){outline:1px solid var(--cream-dim);outline-offset:2px}.pitch-reference{pointer-events:none;height:0;position:absolute;left:0;right:0}.pitch-reference-tick{background:#4a4945;width:4px;height:1px;position:absolute;right:calc(50% + 16px);transform:translateY(-50%)}.pitch-reference.is-major .pitch-reference-tick{background:#76746e;width:7px}.pitch-reference-label{font-variant-numeric:tabular-nums;color:#85837d;white-space:nowrap;font-size:9px;font-weight:600;line-height:1;position:absolute;right:calc(50% + 28px);transform:translateY(-50%)}.pitch-reference.is-zero .pitch-reference-label{color:var(--red)}.pitch-reference.is-zero .pitch-reference-tick{background:var(--red);width:9px;height:2px}.pitch-rail input{opacity:0;appearance:none;writing-mode:vertical-lr;pointer-events:none;direction:ltr;background:0 0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.pitch-rail input::-webkit-slider-runnable-track{background:0 0;width:2px;height:100%}.pitch-rail input::-webkit-slider-thumb{appearance:none;background:0 0;border:0;width:36px;height:20px}.pitch-rail input::-moz-range-track{background:0 0;width:2px;height:100%}.pitch-rail input::-moz-range-thumb{background:0 0;border:0;width:36px;height:20px}.fader-travel{pointer-events:none;position:absolute;inset:10px 0}.fader-track{background:#4d4c47;border-radius:5px;width:2px;position:absolute;top:7px;bottom:7px;left:calc(50% - 1px)}.fader-thumb{width:46px;height:24px;top:var(--pitch-position);background:var(--cream);border-radius:5px;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 8px #000a}.fader-thumb:after{content:"";background:var(--red);height:2px;position:absolute;top:11px;left:8px;right:8px}.gain-knob{width:40px;height:40px;color:var(--muted);touch-action:none;cursor:ns-resize;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #45443f;border-radius:50%;grid-column:1;justify-self:center;place-items:center;display:grid;position:relative}.gain-indicator{background:var(--cream-dim);transform-origin:1px 15px;width:2px;height:8px;transform:rotate(var(--gain-angle));border-radius:2px;position:absolute;top:5px;left:calc(50% - 1px)}.gain-label{letter-spacing:.05em;z-index:1;font-size:7px;font-weight:700}.pitch-readout{font-variant-numeric:tabular-nums;width:76px;height:36px;color:var(--cream);background:0 0;border:0;border-radius:7px;grid-column:2;justify-self:center;padding:0;font-size:15px;font-weight:600}.actions{margin-top:26px}.check-button{min-height:56px;font-size:23px}.toast{bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--cream);width:max-content;max-width:calc(100% - 32px);color:var(--black);opacity:0;transition:opacity .12s var(--ease-out), transform .16s var(--ease-out);pointer-events:none;z-index:20;border-radius:14px;padding:12px 18px;font-size:12px;font-weight:600;position:fixed;left:50%;transform:translate(-50%,12px)}.toast.visible{opacity:1;transform:translate(-50%)}.audio-retry{bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--cream);width:min(90vw,420px);color:var(--black);z-index:100;text-align:center;border-radius:20px;padding:16px;font-size:13px;font-weight:600;position:fixed;left:50%;transform:translate(-50%)}.audio-retry button{background:var(--black);min-height:44px;color:var(--cream);font-family:var(--display);text-transform:uppercase;border:0;border-radius:99px;margin:12px auto 0;padding:0 20px;font-size:17px;display:block}dialog{width:min(420px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--black);background:var(--red);border:0;border-radius:28px;padding:24px;overflow:auto}dialog::backdrop{background:#0f0f0ecc}dialog.sheet{width:100%;max-width:none;height:100dvh;max-height:none;padding:calc(env(safe-area-inset-top,0px) + 6px) max(20px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 22px) max(20px,env(safe-area-inset-left,0px));overscroll-behavior:contain;border-radius:0;margin:0;position:fixed;inset:0;overflow-y:auto}dialog.sheet[open]{animation:.22s cubic-bezier(.2,.8,.2,1) sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(14px)}}.dialog-inner{flex-direction:column;max-width:400px;min-height:100%;margin:0 auto;display:flex}.dialog-top{flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;min-height:56px;display:flex}dialog h2{font-family:var(--display);text-transform:uppercase;margin:0;font-size:34px;font-weight:400;line-height:.9}.close-dialog{margin-left:auto;margin-right:-11px}.close-dialog svg{stroke-width:1.6px;opacity:.6;width:17px;height:17px}.result-dialog.needs-signature .close-dialog{visibility:hidden}.sheet-actions{flex-shrink:0;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:10px;display:grid}.sheet-actions.stacked{grid-auto-flow:row;margin-top:auto;padding-top:24px}.sheet-actions .form-error{grid-column:1/-1}.form-error{margin:0;font-size:12px;font-weight:700;line-height:1.5}.dialog-primary,.dialog-secondary{width:100%;min-height:48px;font-family:var(--display);text-transform:uppercase;border:0;border-radius:99px;margin-top:10px;font-size:18px}.dialog-primary{background:var(--black);color:var(--cream)}.dialog-secondary{color:var(--black);box-shadow:inset 0 0 0 2px var(--black);background:0 0}.dialog-primary:disabled,.dialog-secondary:disabled{opacity:.5;cursor:wait}.card{background:var(--cream);color:var(--black);border-radius:30px;padding:10px 10px 18px}.card-inset{background:var(--black);color:var(--cream);border-radius:22px;position:relative;overflow:hidden}.card-label,.specs dt{text-transform:uppercase;letter-spacing:.07em;color:var(--card-muted);font-size:9.5px;font-weight:700}.card-inset .card-label{color:#77756f}.card-inset .card-round.is-practice{color:var(--cream);letter-spacing:.055em;font-size:11px}.result-card{margin:auto 0 20px}.result-card .card-inset{height:264px}.card-round{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 92px);position:absolute;top:18px;left:18px;overflow:hidden}.card-of{position:absolute;top:18px;right:18px}.signature{font-family:var(--script);white-space:nowrap;transform-origin:0;margin:-12px 0;padding-block:12px;line-height:1.1;position:absolute;top:44px;left:18px;right:18px;overflow:hidden;transform:rotate(-7deg)}.signature-field{border-bottom:1.5px dashed #ffffff4d;transition:border-color .15s;position:absolute;top:44px;left:18px;right:18px}.signature-field:focus-within{border-bottom-color:var(--red)}.signature-field input{width:100%;height:66px;color:var(--cream);font-family:var(--script);caret-color:var(--red);transform-origin:0 100%;background:0 0;border:0;outline:none;padding:0 2px;font-size:48px;transform:rotate(-4deg)}.signature-field input::placeholder{color:#ffffff40}.score{font-family:var(--display);color:var(--red);font-variant-numeric:tabular-nums;margin:0;font-size:148px;line-height:1;position:absolute;bottom:2px;right:14px}.score strong{font-weight:400}.needs-signature .score{font-size:112px}.verdict{font-family:var(--display);text-transform:uppercase;margin:18px 8px 16px;font-size:30px;line-height:1}.specs{justify-content:space-between;gap:12px;margin:0 8px;display:flex}.specs div{gap:6px;display:grid}.specs dd{letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:20px;font-weight:600;font-stretch:88%;line-height:1}.specs em{color:var(--red);margin-left:3px;font-size:11px;font-style:normal;font-weight:700}.result-tracks{border-top:1px solid #bdb7aa;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 8px 0;padding-top:13px;display:grid}.result-track{align-content:start;gap:5px;min-width:0;padding:0 10px 2px 0;display:grid}.result-track+.result-track{border-left:1px solid #bdb7aa;padding:0 0 2px 12px}.result-track-artist{color:var(--card-muted);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:800;overflow:hidden}.result-track-title{overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.15}.result-track-courtesy{color:#656157;overflow-wrap:anywhere;font-size:10px;line-height:1.35}.duel-track-credits span{color:var(--muted);margin-top:3px;font-size:10px;display:block}.stub{border-top:1.5px dashed #0f0f0e30;justify-content:space-between;align-items:center;gap:12px;margin:10px 8px 0;padding-top:8px;display:flex}.result-mascot{object-fit:contain;flex-shrink:0;width:44px;height:44px;display:block}.save-state{text-align:right;align-items:center;gap:6px;min-height:16px;margin:0;font-size:11px;font-weight:700;display:flex}.save-state svg{stroke-width:2.6px;width:14px;height:14px}.save-state.form-error{color:var(--red)}.result-rank-stamp{white-space:nowrap;align-items:baseline;gap:7px;margin:0;display:flex}.result-rank-stamp span{letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.result-rank-stamp strong{color:var(--red);font:400 24px/1 var(--display);font-variant-numeric:tabular-nums}.activity-card{flex-direction:column;flex:1;margin-bottom:4px;display:flex}.activity-card .card-inset{padding:10px 18px}.activity-card .streak-count{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.activity-card .streak-count strong{font-size:48px}.activity-card .streak-count div{margin:0}.activity-card .streak-count div span{font-size:20px}.activity-card>.pill{width:auto;min-height:46px;margin:auto 8px 0;font-size:18px}.activity-dialog .dialog-inner{height:100%;min-height:0}.activity-dialog .activity-card{min-height:0;overflow:hidden}.activity-dialog .activity-card>button{flex-shrink:0}.activity-scroll{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--card-muted) transparent;border-radius:22px 22px 0 0;flex:1;min-height:0;margin-bottom:14px;overflow-y:auto}.activity-scroll:focus-visible{outline:2px solid var(--black);outline-offset:2px}@media (max-height:700px){.activity-dialog .activity-card{overscroll-behavior-y:contain;scrollbar-width:thin;overflow-y:auto}.activity-scroll{flex:none;overflow:visible}}.card>.form-error,.card section>.form-error{margin:12px 8px}.segmented{box-shadow:inset 0 0 0 2px var(--black);border-radius:99px;grid-template-columns:1fr 1fr;margin:16px 8px 6px;padding:3px;display:grid}.segmented button{min-height:34px;color:var(--black);font-family:var(--display);text-transform:uppercase;background:0 0;border:0;border-radius:99px;font-size:15px}.segmented button[aria-pressed=true]{background:var(--black);color:var(--cream)}.subtle-note{text-transform:uppercase;letter-spacing:.07em;color:var(--card-muted);margin:8px 8px 0;font-size:9.5px;font-weight:700}.leaderboard-position{border-bottom:1px solid #0f0f0e33;justify-content:space-between;align-items:baseline;gap:12px;margin:12px 8px 4px;padding-bottom:8px;font-size:12px;font-weight:700;display:flex}.leaderboard-position>span{overflow-wrap:anywhere;min-width:0}.leaderboard-position strong{overflow-wrap:anywhere;max-width:50%;color:var(--red);font-family:var(--display);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:29px;font-weight:400;line-height:1}.ranking-list,.history-list{margin:6px 8px 0;padding:0;list-style:none}.ranking-list li{border-bottom:1px solid #0f0f0e1a;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:4px;min-height:44px;display:grid}.ranking-list .is-you{background:var(--red);border-bottom-color:#0000;border-radius:12px;margin:4px -8px 0;padding:0 8px}.rank-position{color:var(--card-muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.is-you .rank-position{color:var(--black)}.rank-name{white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:15px;font-weight:600;font-stretch:90%;display:flex}.rank-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.rank-name small{text-transform:uppercase;letter-spacing:.07em;flex-shrink:0;font-size:9.5px;font-weight:700}.rank-star{fill:currentColor;width:13px;height:13px;stroke:var(--black);stroke-width:1.4px;flex-shrink:0}.rank-star[data-rank=bronze]{color:#ad6f3d}.rank-star[data-rank=silver]{color:#8a95a2}.rank-star[data-rank=gold]{color:#d09b22}.rank-star[data-rank=platinum]{color:#339f95}.rank-star[data-rank=diamond]{color:#638ddd}.rank-award-trigger{text-align:left;width:100%;min-height:44px;color:inherit;background:0 0;border:0;border-radius:4px;align-content:center;padding:0}.rank-award-trigger:focus-visible{outline-offset:1px}.ranking-awards-dialog{background:var(--cream);animation:none}.ranking-awards-dialog[open]>.dialog-inner{opacity:1;height:auto;min-height:0;transition:none;transform:none}.ranking-awards-name{overflow-wrap:anywhere;margin:8px 0 16px;font-weight:600}.ranking-awards-rank{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.ranking-awards-rank>span{margin-left:auto}.ranking-awards-counts{gap:12px;margin:16px 0;display:grid}.ranking-awards-counts>div{justify-content:space-between;gap:16px;display:flex}.ranking-awards-counts dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.ranking-list strong,.history-list strong{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:21px;font-weight:400}.history-dialog .card{margin-top:8px;padding:6px 12px 16px}.history-list li{border-bottom:1px solid #0f0f0e1a;justify-content:space-between;align-items:center;gap:12px;min-height:64px;display:flex}.history-list time{font-size:13px;font-weight:600;display:block}.history-list small{color:var(--card-muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:11px;display:block}.empty-state{text-align:center;color:var(--card-muted);padding:32px 0;font-size:12px;font-weight:600}.ranking-empty{justify-items:center;padding:16px 0 24px;display:grid}.ranking-empty img{object-fit:contain;width:116px;height:120px;display:block}.ranking-empty .empty-state{margin:0;padding:4px 0 0}.help-dialog h2{margin-top:12px;font-size:56px}.help-guide{gap:14px;margin:28px 0 0;padding:0;list-style:none;display:grid}.help-item{grid-template-columns:48px 1fr;align-items:center;gap:14px;display:grid}.help-icon{background:var(--black);width:48px;height:48px;color:var(--cream);border-radius:50%;place-items:center;display:grid}.help-icon svg{width:20px;height:20px}.help-item p{margin:0;font-size:14px;font-weight:500;line-height:1.35}.help-item strong{font-family:var(--display);text-transform:uppercase;font-size:17px;font-weight:400;display:block}.help-note{margin:24px 0 0;font-size:13px;font-weight:600;line-height:1.45}.keyboard-note{opacity:.7;margin-top:12px;font-size:11px}.tutorial-step{margin:auto 0 0}.tutorial-progress{gap:6px;display:flex}.tutorial-progress i{background:#0f0f0e40;width:28px;height:4px}.tutorial-progress i.on{background:var(--black)}.tutorial-mascot{object-fit:contain;width:min(100%,220px);height:clamp(122px,21svh,180px);margin-top:clamp(8px,2svh,20px);display:block}.tutorial-step h3{font-family:var(--display);text-transform:uppercase;margin:26px 0 0;font-size:64px;font-weight:400;line-height:.88}.tutorial-step p{max-width:34ch;margin:18px 0 0;font-size:16px;font-weight:500;line-height:1.4}.account-form{gap:18px;margin:20px 0 0;display:grid}.account-form label{gap:8px;font-size:12px;font-weight:600;display:grid}.account-form input{background:var(--cream);width:100%;min-height:52px;color:var(--black);border:0;border-radius:12px;padding:12px 14px;font-size:16px}.account-name{font-family:var(--display);margin:26px 0 8px;font-size:28px}.profile-card{margin:auto 0;padding:24px}.profile-card>p{margin:0 0 22px;font-size:14px;line-height:1.4}.profile-form{gap:12px;display:grid}.profile-form label{text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.profile-form input{border:1px solid var(--black);width:100%;min-height:52px;color:var(--black);background:0 0;border-radius:12px;padding:0 14px;font-size:18px}.profile-form .pill{margin-top:8px}.profile-card .profile-link{justify-content:center;align-items:center;min-height:44px;margin-top:12px;display:flex}.profile-form .form-error button{text-underline-offset:3px;background:0 0;border:0;padding:6px 2px;font-weight:800;text-decoration:underline}@media (min-width:600px){:root{--pad:68px;--fader-length:336px}.app.game-app{width:460px}.decks{gap:66px}.deck-grid{column-gap:30px}}@media (min-width:900px){:root{--pad:72px;--fader-length:400px}.app.game-app{width:min(100% - 80px,1160px)}.practice-layout{max-width:620px;margin:0 auto}.practice-decks{min-width:0}.decks{gap:48px}.deck-grid{grid-template-columns:var(--pad) 80px;justify-content:center;column-gap:30px}.pitch-rail{width:80px}.actions{margin-top:24px}}@media (max-width:369px){.pitch-reference-label{font-size:8px;right:calc(50% + 25px)}:root{--pad:56px}.app{width:calc(100% - 32px)}.decks{gap:24px}.deck-grid{column-gap:8px}.pitch-readout{width:64px;font-size:13px}.day-circle{width:26px;height:26px}.streak-week{gap:2px}.specs dd{font-size:17px}.score{font-size:128px}}@media (max-height:740px) and (max-width:599px){:root{--fader-length:264px;--pad:56px}.deck-grid{row-gap:8px}.actions{margin-top:12px}.result-card .card-inset{height:220px}.score{font-size:124px}.needs-signature .score{font-size:96px}.tutorial-step h3{font-size:54px}}@media (max-height:700px) and (max-width:599px){:root{--fader-length:212px;--pad:50px}.deck-grid{row-gap:6px}.actions{margin-top:8px}.brand-lockup{width:min(100%,260px)}}@media (max-height:620px) and (max-width:599px){:root{--fader-length:180px;--pad:44px}.deck-grid{row-gap:4px}.check-button{min-height:48px}.result-card .card-inset{height:190px}.score{font-size:104px}.home-screen .brand-lockup{width:min(100%,160px)}.install-link{margin-top:4px}}@media (max-width:599px){dialog.sheet.result-dialog{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 72px);overflow-x:hidden}.result-dialog .dialog-inner{min-height:0}.result-dialog .dialog-top{min-height:44px}.result-card{border-radius:24px;margin:0 0 10px;padding:8px 8px 10px}.result-card .card-inset{border-radius:18px;height:clamp(176px,26svh,218px)}.result-card .score{font-size:clamp(98px,31vw,124px)}.result-card.needs-signature .score,.needs-signature .result-card .score{font-size:clamp(78px,26vw,104px)}.result-card .signature,.result-card .signature-field{top:36px}.result-card .card-round,.result-card .card-of{top:12px}.result-card .verdict{margin:12px 6px 10px;font-size:27px}.result-card .specs{gap:8px;margin:0 6px}.result-card .specs dd{font-size:18px}.result-card .result-tracks{margin:10px 6px 0;padding-top:9px}.result-card .result-track-title{font-size:14px}.result-card .stub{margin:8px 6px 0;padding-top:6px}.result-card .result-mascot{width:36px;height:36px}.result-dialog .score-share .pill{min-height:48px;font-size:19px}}.game-app{height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));min-height:calc(4 * var(--pad) + 250px);flex-direction:column;padding-bottom:16px;display:flex}.game-app .topbar{flex-shrink:0;height:clamp(52px,9svh,80px)}.game-app>main{flex:1;min-height:0;display:flex}.game-app .practice-layout{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.game-app .practice-decks{flex:1;min-height:0;display:flex}.game-app .decks{flex:1;width:100%}.game-app .deck-grid{grid-template-rows:44px minmax(0,1fr) 44px;height:100%}.game-app .pitch-rail{height:100%;min-height:0}.game-app .transport{justify-content:flex-start;align-self:center;gap:8px;height:auto}.game-app .actions{flex-shrink:0;margin-top:12px}@media (hover:hover){.pad:not(.play-button):not(.is-held):hover{border-color:#6a6964}.pill.solid:hover:not(:disabled){background:#26261f}.pill.line:hover:not(:disabled){background:#0f0f0e14}.pill.red:hover:not(:disabled){background:#f0282d}.pitch-range-toggle:hover .range-value{color:var(--cream);border-color:#7a7973}.pitch-readout:hover,.icon-button.quiet:hover{color:var(--cream)}}@media (hover:none){.keyboard-note{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.admin-shell{width:min(760px,100% - 32px);margin:0 auto;padding:28px 0 48px}.admin-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.admin-heading h1{font-family:var(--display);text-transform:uppercase;margin:0;font-size:34px;font-weight:400}.admin-brand{justify-items:start;gap:3px;display:grid}.admin-brand .header-wordmark{filter:invert();width:132px}.admin-brand>span{font-family:var(--font);letter-spacing:.1em;color:var(--muted);font-size:12px}.admin-heading a{color:var(--ink);font-size:12px}.admin-shell h2{margin:0 0 8px;font-size:19px;font-weight:500}.admin-shell p{color:#aaa;font-size:13px}.admin-shell section{border-top:1px solid var(--line);padding:24px 0}.admin-shell button{background:#252523;border:1px solid #4b4b45;border-radius:8px;min-height:44px;padding:10px 14px}.admin-shell .locale-switch{flex-shrink:0}.admin-shell .locale-switch button{background:0 0;border:0;border-radius:99px;min-width:33px;min-height:30px;padding:0 5px}.admin-shell .locale-switch button[aria-pressed=true]{background:var(--red);color:var(--black)}.admin-shell button:disabled{opacity:.5}.admin-shell input,.admin-shell select{width:100%;min-height:44px;color:var(--ink);background:#191918;border:1px solid #55554e;border-radius:8px;padding:10px;font-size:16px}.admin-shell label{color:#aaa;gap:6px;font-size:12px;display:grid}.admin-test select{max-width:420px;margin:8px 0 12px}.admin-shell .admin-preview-track{color:var(--cream);overflow-wrap:anywhere;margin:4px 0}.admin-test>button{margin-top:16px}.admin-correction-form{border-top:1px solid var(--line);gap:12px;max-width:420px;margin-top:24px;padding-top:16px;display:grid}.game-app.admin-game .topbar{height:clamp(84px,12svh,104px)}.admin-game .back-home{min-width:44px;min-height:44px;color:var(--cream);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.admin-game .game-title>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.admin-result-dialog .subtle-note{color:var(--black)}.admin-login{gap:12px;max-width:360px;display:grid}.admin-filters{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin-top:24px;display:grid}.admin-scores{padding:0;list-style:none}.admin-scores li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:16px 0;display:grid}.admin-scores strong{overflow-wrap:anywhere}.admin-scores small{color:#92928c;margin-top:4px;font-size:11px;display:block}.admin-confirm{flex-wrap:wrap;gap:6px;display:flex}.admin-shell .admin-notice{color:var(--cream)}@media (max-width:599px){.admin-filters{grid-template-columns:1fr}.admin-confirm{grid-column:1/-1}}.admin-downbeat-link{justify-content:space-between;align-items:center;gap:20px;display:flex}.admin-downbeat-link p{margin:0}.admin-downbeat-link a{border:1px solid var(--cream);min-height:44px;color:var(--cream);border-radius:8px;flex:none;place-items:center;padding:8px 16px;text-decoration:none;display:grid}.review-editor{width:min(1240px,100% - 40px)}.review-editor .admin-heading{margin-bottom:24px}.review-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.review-heading h1{font-family:var(--display);text-transform:uppercase;margin:0;font-size:40px;font-weight:400;line-height:1}.review-heading>span{color:var(--muted);white-space:nowrap;font-size:12px}.review-layout{border-top:1px solid var(--rule);grid-template-columns:270px minmax(0,1fr);gap:28px;padding-top:20px;display:grid}.review-library{min-width:0}.review-editor .review-library-toggle{display:none}.review-library-body{gap:12px;display:grid}.review-filters{grid-template-columns:1fr 1fr;gap:5px;display:grid}.review-editor .review-filters button{border-color:var(--rule);background:0 0;justify-content:space-between;align-items:center;gap:5px;padding:6px 9px;font-size:12px;display:flex}.review-filters button span{color:var(--muted);font-variant-numeric:tabular-nums}.review-editor .review-filters button[aria-pressed=true]{background:var(--cream);color:var(--black);border-color:var(--cream)}.review-filters button[aria-pressed=true] span{color:var(--black)}.review-track-list{scrollbar-width:thin;scrollbar-color:var(--rule) transparent;max-height:65dvh;margin:0;padding:0;list-style:none;overflow:auto}.review-editor .review-track-list button{text-align:left;border:0;border-bottom:1px solid var(--rule);background:0 0;border-radius:0;grid-template-columns:18px minmax(0,1fr) 30px;align-items:center;gap:7px;width:100%;min-height:62px;padding:10px 8px;display:grid}.review-track-list button[aria-current=true]{box-shadow:inset 3px 0 var(--red);background:#e6141515}.review-track-list button>span:nth-child(2){min-width:0}.review-track-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.review-track-list small{color:var(--muted);font-size:11px;display:block}.review-track-state{color:var(--red)}.review-deck{min-width:0}.review-navigation{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.review-navigation span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.review-editor .review-navigation button{border-color:var(--rule);background:0 0;padding:8px 12px;font-size:12px}.review-track-heading{justify-content:space-between;align-items:start;gap:16px;margin-bottom:24px;display:flex}.review-track-heading>div{min-width:0}.review-track-heading p{color:var(--cream);margin:0 0 3px;font-size:14px}.review-track-heading p span{color:var(--muted);font-size:12px}.review-track-heading h2{font-family:var(--display);overflow-wrap:anywhere;margin:0 0 7px;font-size:34px;line-height:1.05}.review-track-heading small{color:var(--muted);font-size:11px}.review-status{border:1px solid var(--rule);color:var(--muted);border-radius:99px;flex:none;padding:5px 9px;font-size:10px}.review-wave-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.review-wave-toolbar>span{color:var(--muted);font-size:11px}.review-wave-toolbar>div{white-space:nowrap;align-items:center;gap:8px;font-size:11px;display:flex}.review-editor .review-wave-toolbar button{width:36px;min-height:36px;padding:0;font-size:20px}.review-wave-area{border:1px solid var(--rule);border-radius:8px;overflow:hidden}.review-waveform,.review-overview{touch-action:none;cursor:crosshair;width:100%;display:block}.review-overview{border:1px solid var(--rule);border-radius:4px;margin-top:8px}.review-waveform:focus-visible,.review-overview:focus-visible{outline:2px solid var(--red);outline-offset:-3px}.review-wave-loading{height:184px;color:var(--muted);background:var(--well);place-items:center;font-size:12px;display:grid}.review-time{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 0;display:flex}.review-time>span{font-size:20px}.review-time small{color:var(--muted);font-size:11px}.review-time b{color:var(--red);font-size:14px}.review-transport{grid-template-columns:64px 64px minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.review-editor .review-transport button{min-height:58px;font-size:12px;font-weight:700}.review-editor .review-play{background:var(--cream);color:var(--black);border-color:var(--cream);border-radius:50%;font-size:23px}.review-editor .review-play.is-playing{background:var(--red);border-color:var(--red)}.review-editor .review-cue-play{border-color:var(--cream)}.review-cue-adjust{flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;display:flex}.review-cue-adjust>span{color:var(--muted);margin-right:auto;font-size:11px}.review-editor .review-cue-adjust button{background:0 0;min-height:38px;padding:7px 10px;font-size:11px}.review-shortcuts{color:var(--muted);margin:12px 0;font-size:10px!important}.review-savebar{background:var(--black);grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;padding:12px 0;display:grid}.review-editor .review-primary{background:var(--red);border-color:var(--red);color:var(--black);font-weight:800}.review-retire{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding-top:12px;display:flex}.review-retire p{max-width:290px;margin:0;font-size:11px}.review-editor .review-retire button{color:#e99a95;background:0 0;min-width:130px;font-size:11px}.review-editor .review-notice{background:var(--cream);color:var(--black);border-radius:8px;padding:12px 16px;font-size:13px}.review-audio-error{color:#e99a95;justify-content:space-between;align-items:center;gap:8px;margin:12px 0;font-size:12px;display:flex}.review-note{color:#e99a95!important}@media (max-width:850px){.review-layout{grid-template-columns:minmax(0,1fr);gap:18px}.review-editor{width:calc(100% - 28px);padding-top:20px}.review-heading h1{font-size:32px}.review-heading>span{font-size:10px}.review-editor .review-library-toggle{background:var(--well);justify-content:space-between;width:100%;display:flex}.review-library-body{margin-top:12px;display:none}.review-library.is-open .review-library-body{display:grid}.review-track-list{max-height:38dvh}.review-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.review-editor .review-filters button{gap:2px;padding:5px;font-size:10px}.review-navigation{margin-bottom:16px}.review-track-heading{margin-bottom:18px}.review-track-heading h2{font-size:29px}.review-wave-toolbar>span{max-width:220px}.review-transport{grid-template-columns:52px 52px minmax(0,1fr) minmax(0,1fr);gap:5px}.review-editor .review-transport button{min-height:52px;padding:8px 5px;font-size:11px}.review-editor .review-play{font-size:22px}.review-time>span{font-size:17px}.review-time b{font-size:12px}.review-shortcuts{display:none}.review-savebar{padding-bottom:max(12px,env(safe-area-inset-bottom,0px))}}.ergonomic-game{max-width:460px;min-height:0;padding-bottom:16px}.ergonomic-game .topbar{grid-template-columns:108px minmax(0,1fr) 108px;height:60px;margin:0}.ergonomic-game .topbar:has(.round-clock-penalty){height:76px}.ergonomic-game .game-title{pointer-events:none;grid-column:2;justify-self:center;width:100%;min-width:0}.ergonomic-game .topbar .header-wordmark{max-width:100%}.ergonomic-game .topbar>.check-button{grid-column:3;min-height:40px;padding:0 12px;font-size:16px}.ergonomic-game .decks{gap:28px}.ergonomic-game .deck-grid{grid-template-rows:30px 34px minmax(100px,1fr) 116px 40px;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:8px 10px}.ergonomic-game .deck-label{grid-area:1/1/auto/-1;height:30px}.ergonomic-game .deck-label:after{display:none}.ergonomic-game .pitch-range-toggle{grid-area:2/1/auto/-1;height:34px}.ergonomic-game .pitch-rail{grid-area:3/1/auto/-1;width:100%}.ergonomic-game .transport{grid-area:4/1/auto/-1;grid-template-rows:62px 44px;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;justify-items:center;gap:10px;display:grid}.ergonomic-game .pad{width:min(62px,100%);height:62px}.ergonomic-game .nudge-button{border-radius:11px;width:min(62px,100%);height:44px}.ergonomic-game .gain-knob{grid-area:5/1;width:36px;height:36px}.ergonomic-game .pitch-readout{grid-area:5/2;width:100%;font-size:13px}@media (max-width:369px){.ergonomic-game .decks{gap:24px}.ergonomic-game .pad{width:52px;height:52px}.ergonomic-game .nudge-button{height:44px}.ergonomic-game .transport{grid-template-rows:52px 44px}.ergonomic-game .deck-grid{grid-template-rows:26px 30px minmax(80px,1fr) 106px 36px;gap:6px 8px}.ergonomic-game .topbar{grid-template-columns:92px minmax(0,1fr) 92px}.ergonomic-game .topbar>.check-button{font-size:14px}}.catalog-app{width:min(100% - 32px,760px);margin:0 auto;padding:6px 0 170px}.catalog-header{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;height:56px;display:grid}.catalog-header .header-wordmark{filter:invert();width:116px}.catalog-heading{margin:30px 0 22px}.catalog-heading h1{color:var(--cream);font:400 clamp(48px,11vw,78px)/.95 var(--display);text-transform:uppercase;margin:0}.catalog-heading p{color:var(--cream-dim);margin:10px 0 0;font-size:14px}.catalog-search input{background:var(--well);width:100%;min-height:52px;color:var(--cream);border:1px solid #66635e;border-radius:10px;padding:0 16px;font-size:16px}.catalog-search input::placeholder{color:#aaa8a1}.catalog-filter-heading{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:20px 0 0;font-size:11px;font-weight:800}.catalog-providers{scrollbar-width:none;gap:8px;margin:8px -16px 0;padding:0 16px 4px;display:flex;overflow-x:auto}.catalog-providers::-webkit-scrollbar{display:none}.catalog-providers button{min-height:40px;color:var(--cream-dim);background:0 0;border:1px solid #54534e;border-radius:22px;flex:none;padding:0 14px;font-size:12px;font-weight:700}.catalog-providers button[aria-pressed=true]{border-color:var(--red);background:var(--red);color:var(--black)}.catalog-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:16px;display:grid}.catalog-filters label{min-width:0;color:var(--muted);gap:5px;font-size:11px;font-weight:700;display:grid}.catalog-filters select{background:var(--well);width:100%;min-width:0;height:44px;color:var(--cream);border:1px solid #54534e;border-radius:9px;padding:0 10px;font-size:13px}.catalog-count{color:var(--muted);margin:22px 0 4px;font-size:11px;font-weight:700}.catalog-list{margin:0;padding:0;list-style:none}.catalog-track{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 42px 96px;align-items:center;gap:8px;min-height:88px;padding:10px 0;display:grid}.catalog-track-copy{gap:2px;min-width:0;display:grid}.catalog-track-copy strong{overflow-wrap:anywhere;color:var(--cream);font-size:16px;line-height:1.15}.catalog-track-copy span{overflow-wrap:anywhere;color:var(--cream-dim);font-size:12px;line-height:1.2}.catalog-track-copy small{overflow-wrap:anywhere;color:var(--muted);font-size:10px;line-height:1.25}.catalog-track-bpm{color:var(--cream);font-variant-numeric:tabular-nums;justify-items:center;font-size:15px;font-weight:700;display:grid}.catalog-track-bpm small{color:var(--muted);font-size:8px;font-weight:700}.catalog-track-actions{gap:8px;display:flex}.catalog-track-actions button{width:44px;height:44px;color:var(--cream);font-family:var(--display);background:0 0;border:1px solid #77736b;border-radius:10px;font-size:18px}.catalog-track-actions button[aria-pressed=true]{border-color:var(--red);background:var(--red);color:var(--black)}.catalog-empty{color:var(--cream-dim);padding:28px 0}.catalog-dock{z-index:10;width:min(100%,792px);padding:12px max(16px,env(safe-area-inset-left,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-right,0px));background:var(--black);border-top:1px solid #484640;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -16px 30px #0f0f0eee}.catalog-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.catalog-slots>div{align-items:center;gap:8px;min-width:0;height:36px;display:flex}.catalog-slots b{background:var(--red);width:30px;height:30px;color:var(--black);font:400 17px/1 var(--display);border-radius:6px;flex:none;place-items:center;display:grid}.catalog-slots span{color:var(--cream-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.catalog-dock .pill{min-height:48px;font-size:19px}.free-mix .topbar{grid-template-columns:44px minmax(0,1fr) 44px}.free-mix .deck-grid{grid-template-rows:44px 34px minmax(100px,1fr) 116px 40px}.free-mix .deck-label{width:100%;min-width:0;height:44px}.free-mix .deck-track-button{width:100%;min-width:0;height:44px;color:var(--cream);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:0 2px;display:flex}.free-mix .deck-track-button strong{font:400 19px/1 var(--display);flex:none}.free-mix .deck-track-button span{min-width:0;font:600 10px/1.2 var(--font);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:369px){.catalog-track{grid-template-columns:minmax(0,1fr) 38px 88px;gap:5px}.catalog-track-actions{gap:4px}.catalog-track-actions button{width:42px}.free-mix .deck-grid{grid-template-rows:44px 30px minmax(80px,1fr) 106px 36px}}.duel-app{width:min(100% - 32px,460px);min-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.duel-active{min-height:0}.duel-header{grid-template-columns:74px minmax(0,1fr) 74px;align-items:center;gap:8px;width:100%;min-height:56px;display:grid}.duel-header>a{width:44px;height:44px;color:var(--cream);place-items:center;display:grid}.duel-header>.locale-switch{justify-self:end}.duel-header .header-wordmark{filter:invert()}.duel-scoreboard{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:end;gap:12px;padding:10px 0;display:grid}.duel-player{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.duel-player>small{text-overflow:ellipsis;white-space:nowrap;text-align:center;width:100%;color:var(--muted);font-size:11px;overflow:hidden}.duel-score{font-variant-numeric:tabular-nums;justify-content:center;align-items:baseline;gap:8px;display:flex}.duel-scoreboard strong{font-family:var(--display);color:var(--cream);font-size:30px;font-weight:400;line-height:1}.duel-score>span{color:var(--muted);white-space:nowrap;font-size:11px}.duel-versus{color:var(--muted);text-align:center;font-size:11px;line-height:30px}.duel-lobby{text-align:center;justify-items:center;gap:18px;width:100%;margin:auto 0;padding:28px 0;display:grid}.duel-lobby h1{max-width:12ch;font-family:var(--display);text-transform:uppercase;margin:0;font-size:clamp(36px,11vw,62px);font-weight:400;line-height:.95}.duel-lobby>p{max-width:33ch;color:var(--cream-dim);margin:0}.duel-lobby>.pill,.duel-lobby>form{width:min(100%,300px)}.duel-lobby form{text-align:left;gap:12px;display:grid}.duel-lobby label{text-transform:uppercase;font-size:12px;font-weight:700}.duel-lobby input{border:1px solid var(--muted);background:var(--well);width:100%;min-height:52px;color:var(--cream);border-radius:10px;padding:0 14px;font-size:18px}.duel-last{border:1px solid var(--rule);text-align:left;border-radius:18px;width:100%;padding:16px}.duel-last small{color:var(--muted);text-transform:uppercase;font-size:11px}.duel-last strong{font-family:var(--display);color:var(--red);font-size:80px;font-weight:400;line-height:.9;display:block}.duel-last strong span{font-family:var(--font);color:var(--muted);font-size:16px}.duel-last p{margin:12px 0 0;font-size:12px}.duel-round{flex-direction:column;min-height:0;display:flex}.duel-round-label{color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.06em;padding:8px 0;font-size:11px;font-weight:800}.duel-round .practice-layout{flex:1;min-height:0}.duel-check{flex-shrink:0;justify-items:center;gap:4px;padding-top:8px;display:grid}.duel-check .pill{max-width:240px;min-height:48px;font-size:20px}.duel-check .pill:disabled{opacity:.45}.duel-create{width:min(100% - 40px,420px);color:var(--black);padding:6px 0 22px}.duel-create .duel-header{grid-template-columns:74px minmax(0,1fr) 74px;gap:8px}.duel-create .duel-header>a{color:inherit}.duel-create .duel-header .header-wordmark{filter:none;width:min(100%,160px)}.duel-entry{text-align:center;justify-items:center;gap:22px;width:100%;margin:auto 0;padding:36px 0;display:grid}.duel-mascot{object-fit:contain;width:min(100%,340px);height:clamp(125px,28dvh,240px);display:block}.duel-entry h1{max-width:100%;font-family:var(--display);text-transform:uppercase;margin:0;font-size:clamp(52px,16vw,78px);font-weight:400;line-height:1}.duel-intro{max-width:31ch;margin:0;font-size:17px;line-height:1.45}.duel-entry>.pill{width:min(100%,340px);min-height:56px;text-decoration:none}.duel-hint{max-width:34ch;margin:0;font-size:13px}.duel-invite{border-block:1px solid var(--black);text-align:left;gap:10px;width:100%;min-width:0;padding:20px 0;display:grid}.duel-invite label{font-size:13px;font-weight:700}.duel-invite input{border:1px solid var(--black);width:100%;min-width:0;min-height:44px;color:inherit;background:0 0;border-radius:8px;padding:0 12px;font-size:16px}.duel-invite-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.duel-invite-actions button{border:1px solid var(--black);min-height:44px;color:inherit;background:0 0;border-radius:8px;padding:8px;font-size:13px;font-weight:700}.duel-invite-actions button:first-child{background:var(--black);color:var(--cream)}.duel-entry .text-button{margin:0}.duel-notice{margin:0;font-size:13px;font-weight:700}.duel-create>.duel-disclaimer{text-align:center;max-width:36ch;margin:0 auto;font-size:12px}.duel-active .duel-header{min-height:50px}.duel-active .duel-scoreboard{gap:8px;padding:5px 0}.duel-active .duel-player{gap:2px}.duel-active .duel-scoreboard strong{font-size:26px}.duel-active .duel-round-label{padding:2px 0;line-height:16px}.duel-active .deck-grid{grid-template-rows:44px 32px minmax(100px,1fr) 94px;gap:6px 8px}.duel-active .deck-label{grid-area:1/1;justify-content:flex-start}.duel-active .gain-knob{grid-area:1/2;justify-self:end;width:44px;height:44px}.duel-active .pitch-range-toggle{grid-area:2/1;width:100%}.duel-active .range-value{min-width:0;padding:0 5px}.duel-active .pitch-readout{grid-area:2/2;width:100%}.duel-active .pitch-rail{grid-area:3/1/auto/-1}.duel-active .transport{grid-area:4/1/auto/-1;grid-template-rows:44px 44px;gap:6px}.duel-active .pad,.duel-active .nudge-button{width:min(52px,100%);height:44px}.duel-active .duel-check{gap:0;padding-top:4px}.duel-active .duel-check .pill{min-height:44px}.duel-finale{flex-direction:column;flex:1;justify-content:center;gap:14px;padding:12px 0 22px;display:flex}.duel-plaque{background:var(--cream);width:100%;color:var(--black);border-radius:24px;padding:8px}.duel-plaque-head{background:var(--black);color:var(--cream);border-radius:18px;padding:16px 18px 18px}.duel-plaque-kind{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:11px;font-weight:800}.duel-plaque h1{color:var(--red);font-family:var(--display);text-transform:uppercase;margin:4px 0 16px;font-size:clamp(42px,12vw,58px);font-weight:400;line-height:1}.duel-plaque-totals{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:end;gap:8px;display:grid}.duel-plaque-totals>div{gap:2px;min-width:0;display:grid}.duel-plaque-totals>div:last-child{text-align:right}.duel-plaque-totals span{text-overflow:ellipsis;white-space:nowrap;color:var(--cream-dim);font-size:11px;font-weight:700;overflow:hidden}.duel-plaque-totals strong{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:clamp(36px,11vw,54px);font-weight:400;line-height:1}.duel-plaque-totals b{color:var(--muted);text-align:center;align-self:end;padding-bottom:6px;font-size:11px}.duel-plaque-ledger{padding:10px 14px 6px}.duel-plaque-columns,.duel-plaque li{grid-template-columns:50px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;display:grid}.duel-plaque-columns{color:var(--card-muted);text-transform:uppercase;font-size:10px;font-weight:800}.duel-plaque-columns span:last-child,.duel-plaque li strong:last-child{text-align:right}.duel-plaque-ledger ol{margin:4px 0 0;padding:0;list-style:none}.duel-plaque li{font-variant-numeric:tabular-nums;border-top:1px solid #c8c2b7;min-height:40px}.duel-plaque li>span{color:var(--card-muted);font-size:12px;font-weight:700}.duel-plaque li strong{font-family:var(--display);font-size:27px;font-weight:400;line-height:1}.duel-plaque li strong.is-leading{color:var(--red)}.duel-plaque-foot{color:#656157;border-top:1px dashed #c8c2b7;margin:8px 0 0;padding-top:9px;font-size:11px;font-weight:700}.duel-plaque-action.pill{background:var(--red);min-height:48px;color:var(--black);text-decoration:none}@media (max-height:620px){.duel-finale{gap:8px;padding:6px 0 12px}.duel-plaque-head{padding:10px 14px 12px}.duel-plaque h1{margin-bottom:8px;font-size:clamp(36px,11vw,50px)}.duel-plaque li{min-height:33px}}dialog.sheet.staged-result{height:100dvh;max-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 6px) 20px calc(env(safe-area-inset-bottom,0px) + 16px);overflow:auto}.staged-result .dialog-inner{gap:10px;height:100%;min-height:0}.staged-result .dialog-top{flex:none;height:36px;min-height:36px}.result-step-label{letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.result-back{margin-left:-11px}.stage-2 .result-step-label{margin:auto}.staged-result .close-dialog{margin-left:0}.stage-1 .close-dialog{margin-left:auto}.tempo-difference{flex-direction:column;flex:1;justify-content:space-evenly;gap:16px;min-height:0;display:flex}.difference-heading h3{font:clamp(48px,11dvh,90px)/1 var(--display);letter-spacing:-.02em;margin:0}.difference-heading h3 span{letter-spacing:0;margin-left:8px;font-size:24px}.difference-heading p{margin:10px 0 0;font-size:16px;font-weight:600}.beat-comparison{background:var(--cream);border-radius:22px;padding:20px}.beat-metrics{justify-content:space-between;margin:0;display:flex}.beat-metrics dt{text-transform:uppercase;color:var(--card-muted);font-size:10px}.beat-metrics dd{margin:5px 0 0;font-size:22px;font-weight:600}.beat-grid{fill:none;stroke:none;width:100%;height:auto;margin:16px 0 10px}.beat-grid text{fill:var(--black);stroke:none;font-size:12px;font-weight:700}.beat-guide{stroke:#cbc4b7;stroke-width:1px}.beat-a{fill:var(--black)}.beat-b{fill:var(--red)}.beat-explanation{margin:0;font-size:13px;font-weight:600;line-height:1.4}.beat-note{color:#736f67;margin:8px 0 0;font-size:10px}.difference-actions{flex:none;gap:8px;display:grid}.staged-result .pill{min-height:46px;font-size:20px}.staged-result .result-card{border-radius:24px;flex-direction:column;flex:1;gap:8px;min-height:0;max-height:410px;margin:auto 0;padding:8px 8px 10px;display:flex}.staged-result .result-card .card-inset{border-radius:18px;flex:1;height:auto;min-height:118px;container-type:size}.staged-result .result-card .card-round,.staged-result .result-card .card-of{font-size:9px;top:12px}.staged-result .result-card .score{font-size:clamp(78px,14dvh,124px)}.staged-result .result-card .signature{top:40px;transform:rotate(-4deg)}.staged-result .result-card .signature-field{top:32px}.staged-result .signature-field input{height:48px;font-size:38px}.staged-result .result-card .verdict{flex:none;margin:0 8px;font-size:25px}.staged-result .result-card .specs{flex:none;gap:8px;margin:0 8px}.staged-result .specs dt{font-size:9px}.staged-result .specs dd{font-size:18px}.staged-result .result-card .result-tracks{flex:none;margin:0 8px;padding-top:8px}.staged-result .result-track-artist{font-size:8px}.staged-result .result-card .result-track-title{font-size:12px;line-height:1.2}.staged-result .result-track-courtesy{margin-top:2px;font-size:9px;line-height:1.3}.staged-result .result-track-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.staged-result .result-card .stub{flex:none;min-height:26px;margin:0 8px;padding-top:5px}.staged-result .result-card .result-mascot{width:26px;height:26px}.staged-result .save-state{font-size:9px}.staged-result .result-actions{gap:6px}.staged-result .score-share .text-button{min-height:32px}.staged-result .result-navigation .pill{min-height:44px;font-size:18px}.staged-result .result-navigation .pill:first-child:nth-last-child(2){grid-column:auto}.staged-result .result-navigation .pill:only-child{grid-column:1/-1}@container (max-height:150px){.staged-result .result-card .signature{text-overflow:ellipsis;top:42px;right:55%;transform:none;font-size:24px!important}.staged-result .result-card .score{font-size:72px}.staged-result .result-card .signature-field{right:55%}.staged-result .signature-field input{font-size:24px}}@media (max-height:700px){.staged-result .dialog-inner{gap:8px}.tempo-difference{gap:10px}.beat-comparison{padding:16px}.beat-grid{margin:10px 0}.staged-result .result-card{gap:6px}.staged-result .result-card .card-inset{min-height:104px}.staged-result .result-card .score{font-size:82px}.staged-result .result-card .verdict{font-size:22px}.staged-result .specs dd{font-size:16px}.staged-result .result-card .result-track-title{font-size:11px}.staged-result .result-card .result-mascot{width:20px;height:20px}.staged-result .pill{min-height:44px;font-size:19px}}@media (max-height:580px){.difference-heading h3{font-size:48px}.difference-heading p{margin-top:6px;font-size:14px}.beat-comparison{padding:12px 16px}.beat-grid{max-height:82px;margin:6px 0}.beat-metrics dd{font-size:18px}.beat-explanation{font-size:12px}.staged-result .result-card .result-tracks{padding-top:5px}.staged-result .result-card .card-inset{min-height:96px}.staged-result .result-card .score{font-size:72px}}.ergonomic-game .game-title{max-width:108px}.ergonomic-game .game-title>span:not(.round-clock){text-overflow:ellipsis;white-space:nowrap;max-width:108px;font-size:8px;overflow:hidden}.free-mix .game-title,.free-mix .game-title>span:not(.round-clock){max-width:none}.practice-shell{width:min(100% - 32px,560px);padding:12px 0 max(24px,env(safe-area-inset-bottom));min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:0 auto}.practice-topbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:48px;margin-bottom:28px;display:grid}.practice-topbar .header-wordmark{filter:invert();width:112px}.practice-topbar>:last-child{justify-self:end}.practice-topbar .locale-switch{transform-origin:100%;transform:scale(.8)}.drill-heading h1{font-family:var(--display);text-transform:uppercase;margin:8px 0 12px;font-size:clamp(36px,8vw,52px);font-weight:400;line-height:1.15}.drill-heading p{color:var(--cream-dim);margin:0;font-size:15px}.session-eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.practice-menu{width:min(100% - 40px,420px);min-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));color:var(--black);flex-direction:column;padding:6px 0 22px;display:flex}.practice-menu .practice-topbar{grid-template-columns:74px minmax(0,1fr) 74px;gap:8px;min-height:56px;margin:0}.practice-menu .header-wordmark{filter:none;width:min(100%,160px)}.practice-menu .locale-switch{transform:none}.practice-entry{text-align:center;flex-direction:column;align-items:center;width:100%;margin:auto 0;padding:16px 0 24px;display:flex}.practice-mascot{object-fit:contain;width:clamp(120px,24dvh,210px);height:clamp(120px,24dvh,210px);display:block}.practice-heading{margin:0 0 24px}.practice-heading h1{font:400 clamp(48px,14vw,68px)/1 var(--display);text-transform:uppercase;margin:0 0 10px}.practice-heading p{margin:0;font-size:15px}.practice-choices{gap:18px;width:min(100%,340px);display:grid}.practice-choices .pill{gap:10px;min-height:54px}.practice-beta{font:700 8px/1 var(--font);letter-spacing:.03em}.practice-choices p{margin:6px 0 0;font-size:12px;line-height:1.35}.practice-menu .practice-menu-note{color:var(--black);margin:0;font-size:11px}@media (max-height:700px){.practice-entry{padding:8px 0 16px}.practice-mascot{width:100px;height:100px}.practice-heading{margin-bottom:18px}.practice-heading h1{margin-bottom:8px;font-size:44px}.practice-heading p{font-size:13px}.practice-choices{gap:12px}.practice-choices .pill{min-height:48px}}.practice-menu-note{color:var(--muted);text-align:center;margin:28px 0;font-size:12px}.drill-count{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}.drill-heading{text-align:center;margin:18px 0 24px}.drill-heading p{max-width:340px;margin:auto}.drill-start{text-align:center;gap:20px;margin:40px 0;display:grid}.drill-start-icon{border:1px solid var(--rule);border-radius:50%;place-items:center;width:120px;height:120px;margin:auto;display:grid}.drill-start-icon svg{width:44px;height:44px;color:var(--red)}.drill-start p,.drill-hint{color:var(--muted);text-align:center;font-size:13px}.nudge-play{gap:20px;margin-top:32px;display:grid}.nudge-mixer{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.nudge-channel{min-width:0}.nudge-channel-heading{justify-content:space-between;align-items:center;gap:6px;margin-bottom:12px;display:flex}.nudge-channel-heading b{font:40px/1 var(--display);display:block}.nudge-channel-heading small{color:var(--muted);font-size:11px;display:block}.nudge-solo{border:1px solid var(--rule);background:0 0;border-radius:10px;min-width:48px;min-height:44px;font-size:11px;font-weight:700}.nudge-solo[aria-pressed=true]{background:var(--cream);border-color:var(--cream);color:var(--black)}.nudge-channel.is-muted .nudge-channel-heading>span{opacity:.45}.nudge-volume-label{color:var(--cream-dim);justify-content:space-between;font-size:11px;display:flex}.nudge-volume-label span{font-variant-numeric:tabular-nums}.nudge-volume{width:100%;height:44px;accent-color:var(--cream);cursor:pointer;touch-action:pan-y;margin:0;display:block}.nudge-volume:disabled{opacity:.4}.nudge-listen{background:var(--cream);color:var(--black);gap:10px}.nudge-pads{grid-template-columns:1fr 1fr;gap:16px;display:grid}.nudge-pads .pad{border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:112px;display:flex}.nudge-pads .pad span{font:14px var(--font)}.nudge-pads .pad svg{width:32px;height:32px}.nudge-pads.is-disabled{opacity:.35}.drill-shell button:disabled,.practice-round-result button:disabled{opacity:.4}.speed-listen{grid-template-columns:1fr 1fr;gap:16px;margin:36px 0 24px;display:grid}.speed-listen button{background:var(--well);border:1px solid var(--rule);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:190px;display:flex}.speed-listen button.is-playing{background:var(--cream);color:var(--black)}.speed-listen b{font:64px/1 var(--display)}.speed-listen small{font-size:12px}.speed-answers{grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;display:grid}.drill-feedback{background:var(--cream);color:var(--black);text-align:center;border-radius:24px;margin-bottom:20px;padding:24px 20px}.drill-feedback>strong{font-family:var(--display);margin:12px 0;font-size:48px;font-weight:400;line-height:1.2;display:block}.drill-feedback>p{margin:8px 0;font-size:14px}.drill-bpms{border-top:1px solid #0003;justify-content:space-around;margin-top:20px;padding-top:16px;display:flex}.drill-bpms span{gap:5px;font-size:11px;display:grid}.drill-bpms b{font-size:24px}.nudge-result-grid{width:100%;height:90px;stroke:var(--black);stroke-width:2px;margin:16px 0 0}.nudge-result-grid text{fill:var(--black);stroke:none;font:12px var(--font)}.nudge-result-grid .nudge-grid-b{stroke:var(--red)}.drill-track-credits{grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;display:grid}.drill-track-credits>div{flex-direction:column;gap:5px;min-width:0;display:flex}.drill-track-credits small{color:var(--muted);overflow-wrap:anywhere;font-size:10px}.drill-track-credits b{overflow-wrap:anywhere;font-size:13px;line-height:1.3}.drill-error{color:var(--cream);border:1px solid var(--red);border-radius:10px;margin-top:16px;padding:12px;font-size:13px}.session-plaque{background:var(--cream);color:var(--black);border-radius:28px;padding:14px}.session-inset{background:var(--black);color:var(--cream);text-align:center;border-radius:18px;padding:24px}.session-inset h1{font:30px/1.2 var(--display);text-transform:uppercase;margin:12px 0}.session-score{font:clamp(56px,15vw,86px)/1.2 var(--display);color:var(--red);margin:12px 0;display:block}.session-inset>span:last-child{color:var(--cream-dim);font-size:12px}.session-rounds{margin:16px 10px;padding:0;list-style:none}.session-rounds li{border-bottom:1px solid #0002;justify-content:space-between;padding:10px 0;font-size:14px;display:flex}.session-record{justify-content:space-between;gap:8px;margin:20px 10px 12px;font-size:13px;display:flex}.session-note{text-align:center;color:#68645d;margin:12px 8px;font-size:10px}.session-actions{gap:16px;margin:24px 0;display:grid}.session-tracks{border-top:1px solid var(--rule);color:var(--muted);padding-top:16px;font-size:12px}.session-tracks summary{cursor:pointer;padding:4px 0}.session-tracks p{gap:4px;display:grid}.session-tracks b{color:var(--cream)}.practice-round-result .tempo-difference{padding:0}.practice-round-result .beat-comparison{color:var(--black)}.practice-round-result .difference-heading h3{font-size:64px}.practice-round-result .beat-note{display:none}.practice-round-score{text-align:center;color:var(--muted);font-size:13px}.practice-round-score>strong{font:32px var(--display);color:var(--cream)}.practice-round-score>small{font-size:10px;display:block}.practice-round-result>.text-button{margin:16px auto;display:block}@media (max-width:360px),(max-height:680px){.practice-topbar{margin-bottom:14px}.drill-heading{margin:12px 0 18px}.drill-heading h1{font-size:32px}.nudge-play{gap:14px;margin-top:20px}.nudge-pads .pad{height:90px}.speed-listen{margin:20px 0}.speed-listen button{min-height:150px}.practice-round-result .drill-heading h1{font-size:26px}.practice-round-result .difference-heading h3{font-size:48px}.practice-round-result .beat-comparison{padding:12px}.practice-round-result .beat-explanation{margin:8px 0}.practice-round-result .drill-track-credits{margin:14px 0}}.nudge-listen.pill.solid{background:var(--cream);color:var(--black)}.nudge-listen.pill.solid:hover:not(:disabled){background:var(--cream-dim)}@media (max-height:680px){.drill-shell .drill-heading p{font-size:13px}.nudge-play .drill-hint{margin:0;font-size:12px}.nudge-pads .pad{height:80px}.session-inset{padding:16px}.session-inset h1{margin:8px 0;font-size:25px}.session-score{margin:6px 0;font-size:58px}.session-rounds{margin:10px}.session-rounds li{padding:7px 0}.session-record{margin:12px 10px}.session-actions{gap:10px;margin:16px 0}.practice-round-result .drill-heading{margin:8px 0 12px}.practice-round-result .drill-heading h1{margin:4px 0;font-size:22px}.practice-round-result .drill-heading .session-eyebrow{display:none}.practice-round-result .beat-grid{height:74px;margin:8px 0}.practice-round-result .beat-comparison{padding:10px 14px}.practice-round-result .practice-round-score{margin:8px 0}.practice-round-result .practice-round-score>strong{font-size:25px}.practice-round-result .drill-track-credits{margin:10px 0}.nudge-shell{padding-top:8px;padding-bottom:16px}.nudge-shell .practice-topbar{margin-bottom:8px}.nudge-shell .drill-heading{margin:8px 0 12px}.nudge-shell .drill-heading .session-eyebrow{display:none}.nudge-shell .drill-heading h1{margin:4px 0 8px}.nudge-play{gap:8px;margin-top:8px}.nudge-channel-heading{margin-bottom:6px}.nudge-channel-heading b{font-size:32px}.nudge-channel-heading small{font-size:10px}.nudge-play>.pill{min-height:44px}.nudge-pads .pad{gap:6px;height:64px}.nudge-pads .pad svg{width:26px;height:26px}}.duel-header,.duel-scoreboard,.duel-check{flex-shrink:0}.duel-session .duel-lobby>.pill{background:var(--red);color:var(--black)}.duel-ready-mascot{object-fit:contain;width:min(100%,300px);height:clamp(100px,24dvh,210px);display:block}.duel-last{background:var(--cream);color:var(--black);border:0;border-radius:24px;padding:24px}.duel-last small{color:#656157}.duel-last strong{margin:14px 0;font-size:96px;line-height:1}.duel-last strong span{color:#656157;font-size:14px}.duel-last>p{font-variant-numeric:tabular-nums;border-bottom:1px solid #c8c2b7;padding-bottom:16px}.duel-last .duel-track-credits{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.duel-last .duel-track-credits p{overflow-wrap:anywhere;margin:0;font-size:12px}.duel-last .duel-track-credits span{color:#656157}@media (min-width:900px){.duel-create{width:min(100% - 64px,800px)}.duel-create .duel-entry:has(.duel-mascot){text-align:left;grid-template-columns:1fr 1fr;justify-items:start;gap:24px 40px}.duel-entry .duel-mascot{grid-area:1/1/4;width:100%;height:320px}.duel-entry:has(.duel-mascot) h1{grid-column:2;align-self:end;font-size:72px}.duel-entry:has(.duel-mascot) .duel-intro{grid-column:2}.duel-entry:has(.duel-mascot)>.pill{grid-column:2;align-self:start}.duel-entry:not(:has(.duel-mascot)){align-self:center;max-width:500px}.duel-session{width:min(100% - 64px,800px)}.duel-session .duel-scoreboard,.duel-session .duel-lobby,.duel-session .duel-finale{align-self:center;width:min(100%,520px)}.duel-active.app.game-app{width:min(100% - 64px,800px);max-width:800px;padding-bottom:20px}.duel-active .duel-header{min-height:64px}.duel-active .duel-scoreboard{align-self:center;width:min(100%,520px);padding:10px 0}.duel-active .duel-player{gap:4px}.duel-active .duel-scoreboard strong{font-size:32px}.duel-active .duel-round-label{padding:10px 0 6px}.duel-active .practice-layout{max-width:none}.duel-active .decks{gap:64px}.duel-active .deck-grid{grid-template-rows:44px minmax(240px,1fr) 44px;grid-template-columns:minmax(100px,1fr) minmax(100px,1fr);gap:12px 20px}.duel-active .deck-label{grid-area:1/1;justify-content:center;font-size:26px}.duel-active .pitch-range-toggle{grid-area:1/2}.duel-active .pitch-rail{grid-area:2/2;width:100%}.duel-active .transport{grid-area:2/1;grid-template-rows:76px 76px 48px 48px;grid-template-columns:1fr;align-self:center;gap:14px}.duel-active .pad{width:76px;height:76px}.duel-active .nudge-button{width:76px;height:48px}.duel-active .gain-knob{grid-area:3/1;justify-self:center}.duel-active .pitch-readout{grid-area:3/2}.duel-active .duel-check{gap:6px;padding-top:12px}.duel-active .duel-check .pill{max-width:280px;min-height:48px}}@media (min-width:900px) and (max-height:680px){.duel-active .deck-grid{grid-template-rows:40px minmax(180px,1fr) 40px;gap:8px 20px}.duel-active .transport{grid-template-rows:48px 48px 40px 40px;gap:8px}.duel-active .pad{width:48px;height:48px}.duel-active .nudge-button{width:64px;height:40px}}.duel-plaque-columns span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ranking-periods{grid-template-columns:repeat(3,minmax(0,1fr))}.aggregate-list li{grid-template-columns:minmax(28px,auto) minmax(0,1fr) auto;gap:8px;min-height:60px}.historical-list li{grid-template-columns:5ch minmax(0,1fr);padding-block:8px}.historical-list li.is-you{padding-block:8px}.historical-list .rank-position{overflow-wrap:anywhere;min-width:0}.rank-person{gap:4px;min-width:0;display:grid}.ranking-detail,.ranking-own-detail{overflow-wrap:anywhere;font-size:10px;font-weight:500;line-height:1.5;display:block}.ranking-own-detail{margin-top:5px}.admin-shell.admin-dashboard-shell{width:min(1120px,100% - 40px)}.admin-navigation{border-bottom:1px solid var(--rule);align-items:center;gap:8px;margin-bottom:32px;padding-bottom:16px;display:flex}.admin-shell .admin-navigation button{background:0 0;border-color:#0000;border-radius:99px;padding:8px 18px}.admin-shell .admin-navigation button[aria-pressed=true]{background:var(--red);color:var(--cream)}.admin-navigation a{color:var(--cream);margin-left:auto;padding:12px 0 12px 10px;font-size:12px}.admin-shell .admin-logout{margin-top:32px}@media (max-width:600px){.admin-shell.admin-dashboard-shell{width:calc(100% - 28px)}.admin-heading{flex-wrap:wrap;gap:10px}.admin-heading a{margin-left:auto}.admin-shell .admin-navigation button{padding:8px 12px;font-size:12px}}.connection-notice{z-index:120;left:50%;bottom:max(16px,env(safe-area-inset-bottom));border:1px solid var(--cream);width:min(100% - 32px,440px);color:var(--cream);text-align:center;background:#151515;border-radius:12px;padding:14px 16px;position:fixed;transform:translate(-50%);box-shadow:0 4px 24px #0008}.connection-notice p{margin:0;font-size:14px;line-height:1.4}.connection-notice .pill{min-height:40px;margin-top:10px;font-size:14px}.player-entry .dialog-inner{justify-content:center;max-width:420px;height:100%;min-height:0;margin:0 auto}.player-entry .dialog-top{margin-bottom:auto}.entry-mascot{object-fit:contain;width:clamp(100px,22dvh,160px);height:clamp(100px,22dvh,160px);margin:8px auto 20px;display:block}.entry-name{overflow-wrap:anywhere;text-align:center;margin:0 0 12px;font-size:20px;font-weight:700}.entry-copy{text-align:center;margin:0;font-size:16px;line-height:1.5}.entry-note{opacity:.7;text-align:center;margin:16px 0 0;font-size:12px;line-height:1.5}.player-entry .sheet-actions{margin-top:auto}.visitor-account-link{text-align:center;color:inherit;text-underline-offset:3px;font-size:12px;font-weight:600;line-height:1.4}.visitor-result-link{color:inherit;text-align:center;text-underline-offset:3px;padding:8px 4px;font-size:13px;font-weight:600;line-height:1.4;display:block}.guest-result-save{text-align:center;flex:none}.guest-result-save p{margin:4px 0 0;font-size:12px;line-height:1.35}.result-dialog.guest-result .close-dialog{visibility:visible}@media (max-height:650px){.entry-mascot{width:100px;height:100px;margin:0 auto 12px}.player-entry .entry-title{margin-bottom:12px;font-size:32px}.player-entry .entry-copy{font-size:14px}.player-entry .entry-name{margin-bottom:8px;font-size:17px}.player-entry .sheet-actions{gap:8px;margin-top:auto;padding-top:16px}.player-entry .entry-note{margin-top:8px;font-size:11px}}@media (max-height:480px){.player-entry .entry-mascot{width:64px;height:64px;margin-bottom:6px}.player-entry .entry-title{margin-bottom:6px;font-size:28px}.player-entry .entry-name{margin-bottom:6px;font-size:15px}.player-entry .sheet-actions{padding-top:8px}}.entry-title{font-family:var(--display);text-transform:uppercase;text-align:center;margin:0 0 20px;font-size:clamp(32px,8vw,40px);font-weight:400;line-height:1.1}.visitor-account-link{margin:0 0 8px}@media (orientation:landscape) and (max-height:600px){.visitor-account-link{grid-area:5/2;margin:2px 0 0}}.icon-button>svg{transition:transform .16s var(--ease-out)}.icon-button:active:not(:disabled):not(:focus-visible)>svg{transition-duration:.1s;transform:scale(.92)}.dialog-primary,.dialog-secondary{transition:transform .16s var(--ease-out)}.dialog-primary:active:not(:disabled):not(:focus-visible),.dialog-secondary:active:not(:disabled):not(:focus-visible){transition-duration:.1s;transform:scale(.98)}dialog[open]>.dialog-inner,.staged-result .tempo-difference,.staged-result .result-card,.practice-round-result .tempo-difference{opacity:1;transition:opacity .16s var(--ease-out), transform .22s var(--ease-out);transform:none}@starting-style{dialog[open]>.dialog-inner{opacity:0;transform:translateY(8px)}.staged-result .tempo-difference,.staged-result .result-card,.practice-round-result .tempo-difference{opacity:0;transform:scale(.97)}}dialog:has(:focus-visible)>.dialog-inner{opacity:1;transition:none;transform:none}@media (prefers-reduced-motion:reduce){.pill:active:not(:disabled),.dialog-primary:active,.dialog-secondary:active,.icon-button:active>svg{transform:none!important}dialog[open]>.dialog-inner,.staged-result .tempo-difference,.staged-result .result-card,.practice-round-result .tempo-difference{transform:none;transition:opacity .12s var(--ease-out)!important}.toast{transform:translate(-50%);transition:opacity .12s var(--ease-out)!important}@starting-style{dialog[open]>.dialog-inner,.staged-result .tempo-difference,.staged-result .result-card,.practice-round-result .tempo-difference{opacity:0;transform:none}}}
