@import "https://fonts.googleapis.com/css2?family=Urbanist:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300&display=swap";:root{--color-bg:#f2efe7;--color-bg-desk:#e7e3d8;--color-ink:#37342f;--color-ink-pressed:#26241f;--color-ink-soft:#625d53;--color-line:#d9d4c8;--color-line-soft:#e5e1d6;--color-text-disabled:#a29b8d;--color-on-ink:#f2efe7;--color-bg-channel:242 239 231;--color-bg-desk-channel:231 227 216;--color-ink-channel:55 52 47;--color-ink-pressed-channel:38 36 31;--color-ink-soft-channel:98 93 83;--color-line-channel:217 212 200;--color-line-soft-channel:229 225 214;--color-text-disabled-channel:162 155 141;--color-on-ink-channel:242 239 231;--kick-rest:#e7d8ce;--kick-body:#a34e2e;--kick-fire:#d1a696;--kick-letter-body:#fff;--kick-letter-fire:#3f1f10;--kick-rest-channel:231 216 206;--kick-body-channel:163 78 46;--kick-fire-channel:209 166 150;--kick-letter-body-channel:255 255 255;--kick-letter-fire-channel:63 31 16;--snare-rest:#d8dfd7;--snare-body:#3e7a74;--snare-fire:#9ebcb9;--snare-letter-body:#fff;--snare-letter-fire:#17332f;--snare-rest-channel:216 223 215;--snare-body-channel:62 122 116;--snare-fire-channel:158 188 185;--snare-letter-body-channel:255 255 255;--snare-letter-fire-channel:23 51 47;--hihat-rest:#e8ddbf;--hihat-body:#b98a2e;--hihat-fire:#cba458;--hihat-letter-body:#26200f;--hihat-letter-fire:#26200f;--hihat-rest-channel:232 221 191;--hihat-body-channel:185 138 46;--hihat-fire-channel:203 164 88;--hihat-letter-body-channel:38 32 15;--hihat-letter-fire-channel:38 32 15;--learn-hihat-body:#936a20;--learn-hihat-letter-body:#fff;--clap-rest:var(--snare-rest);--clap-body:var(--snare-body);--clap-fire:var(--snare-fire);--clap-rest-channel:var(--snare-rest-channel);--clap-body-channel:var(--snare-body-channel);--clap-fire-channel:var(--snare-fire-channel);--clap-letter-body:var(--snare-letter-body);--clap-letter-fire:var(--snare-letter-fire);--clap-letter-body-channel:var(--snare-letter-body-channel);--clap-letter-fire-channel:var(--snare-letter-fire-channel);--shaker-rest:var(--hihat-rest);--shaker-body:var(--hihat-body);--shaker-fire:var(--hihat-fire);--shaker-rest-channel:var(--hihat-rest-channel);--shaker-body-channel:var(--hihat-body-channel);--shaker-fire-channel:var(--hihat-fire-channel);--shaker-letter-body:var(--hihat-letter-body);--shaker-letter-fire:var(--hihat-letter-fire);--shaker-letter-body-channel:var(--hihat-letter-body-channel);--shaker-letter-fire-channel:var(--hihat-letter-fire-channel);--openhat-rest:var(--hihat-rest);--openhat-body:var(--hihat-body);--openhat-fire:var(--hihat-fire);--openhat-rest-channel:var(--hihat-rest-channel);--openhat-body-channel:var(--hihat-body-channel);--openhat-fire-channel:var(--hihat-fire-channel);--openhat-letter-body:var(--hihat-letter-body);--openhat-letter-fire:var(--hihat-letter-fire);--openhat-letter-body-channel:var(--hihat-letter-body-channel);--openhat-letter-fire-channel:var(--hihat-letter-fire-channel);--perc-rest:var(--kick-rest);--perc-body:var(--kick-body);--perc-fire:var(--kick-fire);--perc-rest-channel:var(--kick-rest-channel);--perc-body-channel:var(--kick-body-channel);--perc-fire-channel:var(--kick-fire-channel);--perc-letter-body:var(--kick-letter-body);--perc-letter-fire:var(--kick-letter-fire);--perc-letter-body-channel:var(--kick-letter-body-channel);--perc-letter-fire-channel:var(--kick-letter-fire-channel);--column-shade:rgb(var(--color-ink-channel) / .07);--column-shade-channel:var(--color-ink-channel);--radius-ui:10px;--radius-cell:var(--radius-ui);--radius-button:var(--radius-ui);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--grid-row-gap:7px;--grid-column-gap:6px;--playhead-column-bleed:14px;--play-shell-status-height:232px;--play-shell-zone-gap:var(--space-4);--play-shell-dock-height:120px;--play-shell-foundation-dock-height:120px;--play-shell-block-inset:max(var(--space-4), env(safe-area-inset-top));--play-shell-block-end-inset:max(var(--space-4), env(safe-area-inset-bottom));--play-shell-inline-inset:var(--space-4);--play-shell-grid-inline-inset:var(--space-3);--play-shell-max-width:640px;--play-shell-row-label-width:36px;--play-shell-grid-hit-size:40px;--play-shell-grid-visual-inset:3px;--background:var(--color-bg-channel);--foreground:var(--color-ink-channel);--card:var(--color-bg-channel);--card-foreground:var(--color-ink-channel);--popover:var(--color-bg-channel);--popover-foreground:var(--color-ink-channel);--primary:var(--color-ink-channel);--primary-foreground:var(--color-on-ink-channel);--secondary:var(--color-line-soft-channel);--secondary-foreground:var(--color-ink-channel);--muted:var(--color-line-soft-channel);--muted-foreground:var(--color-ink-soft-channel);--accent:var(--color-line-soft-channel);--accent-foreground:var(--color-ink-channel);--destructive:var(--color-ink-channel);--destructive-foreground:var(--color-on-ink-channel);--border:var(--color-line-channel);--input:var(--color-line-channel);--ring:var(--color-ink-channel);--radius:var(--radius-button);--brick-kick:var(--kick-body-channel);--brick-snare:var(--snare-body-channel);--brick-hihat:var(--hihat-body-channel);--brick-clap:var(--clap-body-channel);--brick-shaker:var(--shaker-body-channel);--brick-openhat:var(--openhat-body-channel);--brick-perc:var(--perc-body-channel);--brick-melody:var(--hihat-body-channel);--playhead:var(--color-ink-channel);--paper-grid:var(--color-line-soft-channel);--workbench-paper:var(--color-bg-channel);--workbench-surface:var(--color-bg-channel);--workbench-rail:var(--color-ink-channel);--workbench-clay:var(--color-ink-channel);--workbench-olive:var(--color-ink-channel);--workbench-amber:var(--color-ink-channel);--surface:var(--color-bg-channel);--surface-muted:var(--color-line-soft-channel);--surface-strong:var(--color-bg-channel);--surface-ink:var(--color-ink-channel);--surface-border:var(--color-line-channel);--surface-border-alpha:.16;--shadow-surface:0 10px 26px rgb(var(--color-ink-channel) / .09);--shadow-surface-raised:0 16px 42px rgb(var(--color-ink-channel) / .13);--shadow-surface-pressed:0 5px 14px rgb(var(--color-ink-channel) / .11);--shadow-inset-pressed:inset 0 2px 4px rgb(var(--color-ink-pressed-channel) / .35);--focus-ring:3px solid rgb(var(--color-ink-channel) / .82);--focus-ring-compact:2.5px solid var(--color-ink);--focus-offset:3px;--font-family:"Urbanist", sans-serif;--font-size-headline:27px;--font-size-body:14.5px;--font-size-button:.98rem;--font-size-input:16px;--font-size-label:11px;--font-size-cell:14px}@media (width>=600px){:root{--play-shell-status-height:240px;--play-shell-zone-gap:var(--space-6);--play-shell-block-inset:max(var(--space-6), env(safe-area-inset-top));--play-shell-block-end-inset:max(var(--space-6), env(safe-area-inset-bottom));--play-shell-inline-inset:var(--space-6)}}@media (width>=1000px){:root{--play-shell-status-height:216px}}.cell{border-radius:var(--radius-cell);font-weight:800}.cell.kick.empty{background:var(--kick-rest)}.cell.kick.placed{background:var(--kick-body);color:var(--kick-letter-body)}.cell.kick.firing{background:var(--kick-fire);color:var(--kick-letter-fire)}.cell.snare.empty{background:var(--snare-rest)}.cell.snare.placed{background:var(--snare-body);color:var(--snare-letter-body)}.cell.snare.firing{background:var(--snare-fire);color:var(--snare-letter-fire)}.cell.hihat.empty{background:var(--hihat-rest)}.cell.hihat.placed{background:var(--hihat-body);color:var(--hihat-letter-body)}.cell.hihat.firing{background:var(--hihat-fire);color:var(--hihat-letter-fire)}.column-shade{background:var(--column-shade);border-left:1px solid var(--color-line);border-right:1px solid var(--color-line)}.btn{font-family:var(--font-family);font-size:var(--font-size-button);border-radius:var(--radius-button);border:1.5px solid var(--color-ink);color:var(--color-ink);background:0 0;font-weight:700}.btn.primary{background:var(--color-ink);color:var(--color-on-ink)}.btn:active,.btn.pressed{background:var(--color-ink-pressed);border-color:var(--color-ink-pressed);color:var(--color-on-ink);box-shadow:var(--shadow-inset-pressed)}.btn:disabled,.btn.disabled{border-color:var(--color-line);color:var(--color-text-disabled);background:0 0}.btn:focus-visible{outline:var(--focus-ring-compact);outline-offset:2px}.chromatic-cell{box-sizing:border-box;box-shadow:none;border-radius:var(--radius-cell);font-size:var(--font-size-cell);border:0;outline:0;font-weight:800}.chromatic-cell-empty[data-lane-sound=Kick]{background:var(--kick-rest)}.chromatic-cell-empty[data-lane-sound=Snare]{background:var(--snare-rest)}.chromatic-cell-empty[data-lane-sound=HiHat]{background:var(--hihat-rest)}.chromatic-cell-empty[data-lane-sound=Clap]{background:var(--clap-rest)}.chromatic-cell-empty[data-lane-sound=Shaker]{background:var(--shaker-rest)}.chromatic-cell-empty[data-lane-sound=OpenHat]{background:var(--openhat-rest)}.chromatic-cell-empty[data-lane-sound=Perc]{background:var(--perc-rest)}.chromatic-cell-placed.brick-kick{background-color:var(--kick-body);color:var(--kick-letter-body)}.chromatic-cell-placed.brick-snare,.chromatic-cell-placed.brick-clap{background-color:var(--snare-body);color:var(--snare-letter-body)}.chromatic-cell-placed.brick-hihat,.chromatic-cell-placed.brick-shaker,.chromatic-cell-placed.brick-openhat{background-color:var(--hihat-body);color:var(--hihat-letter-body)}.learn-screen .chromatic-cell-placed.brick-hihat{background-color:var(--learn-hihat-body);color:var(--learn-hihat-letter-body)}.chromatic-cell-placed.brick-perc{background-color:var(--kick-body);color:var(--kick-letter-body)}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--app-viewport-height:100dvh;--cell-size:clamp(17px, min(4.4svh, 5.4vw), 48px);--cell-size-x:var(--cell-size);--cell-size-y:var(--cell-size);--header-safe-top:clamp(1rem, 3svh, 2rem);--z-onboarding-backdrop:60;--z-onboarding-spotlight:61;--z-onboarding-card:62}*{--tw-border-opacity:1;border-color:rgb(var(--border) / var(--tw-border-opacity,1))}html,body{overflow-x:clip}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{--tw-bg-opacity:1;background-color:rgb(var(--background) / var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(var(--foreground) / var(--tw-text-opacity,1));font-family:Urbanist,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}@media (width>=1400px){.container{max-width:1400px}}.play-shell{box-sizing:border-box;width:min(100%, var(--play-shell-max-width));height:100dvh;height:var(--app-viewport-height);grid-template-rows:var(--play-shell-status-height) minmax(0, 1fr) var(--play-shell-dock-height);gap:var(--play-shell-zone-gap);min-height:660px;padding:var(--play-shell-block-inset) var(--play-shell-inline-inset) var(--play-shell-block-end-inset);background:var(--color-bg);color:var(--color-ink);font-family:var(--font-family);margin-inline:auto;display:grid;overflow:clip}.play-shell-status{flex-direction:column;min-width:0;min-height:0;display:flex}.play-shell-status-topline,.play-shell-eyebrow{min-height:var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.play-shell-navigation,.play-shell-top-control{align-items:center;min-width:44px;min-height:44px;display:flex}.play-shell-top-control{justify-content:flex-end}.play-shell-eyebrow{min-height:auto;color:var(--color-ink-soft);font-size:var(--font-size-label);letter-spacing:.12em;text-transform:uppercase;font-weight:700;line-height:1.2}.play-shell-meta{text-align:right}.play-shell-headline{margin:var(--space-3) 0 0;color:var(--color-ink);font-size:var(--font-size-headline);letter-spacing:-.01em;text-wrap:balance;font-weight:700;line-height:1.15}.play-shell-hint{min-height:20px;margin-top:var(--space-1);color:var(--color-ink-soft);font-size:var(--font-size-body);text-wrap:pretty;font-weight:500;line-height:1.4}.play-shell-status-content{min-height:32px;margin-top:var(--space-3)}.play-shell-coaching{min-height:20px;color:var(--color-ink-soft);text-wrap:pretty;margin:auto 0 0;font-size:13px;font-weight:600;line-height:20px}.play-shell-grid-zone{min-width:0;min-height:0;margin-inline:calc(var(--play-shell-grid-inline-inset) - var(--play-shell-inline-inset));place-items:center;display:grid}.play-shell-grid-matrix{grid-template-columns:var(--play-shell-row-label-width) var(--grid-column-gap) repeat(8, var(--play-shell-grid-hit-size));grid-auto-rows:var(--play-shell-grid-hit-size);row-gap:var(--grid-row-gap);width:362px;max-width:100%;margin-inline:auto;display:grid}.play-shell-grid-target{box-sizing:border-box;width:var(--play-shell-grid-hit-size);height:var(--play-shell-grid-hit-size);padding-inline:var(--play-shell-grid-visual-inset);touch-action:manipulation;background-clip:content-box;border:0}.play-shell-grid-row-label{min-width:0;color:var(--color-ink-soft);font-size:var(--font-size-label);letter-spacing:.1em;text-transform:uppercase;align-self:center;font-weight:700;line-height:1}.play-shell-dock{gap:var(--space-2);grid-template-rows:repeat(2,56px);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;min-height:0;display:grid}.play-shell-dock-slot,.play-shell-dock-slot>*{width:100%;min-width:0;height:100%}.play-shell-dock :where(button,a):focus-visible,.play-shell-navigation :where(button,a):focus-visible,.play-shell-top-control :where(button,a):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.play-shell-live-region{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.size-11{width:2.75rem;height:2.75rem}.size-4{width:1rem;height:1rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-12{min-height:3rem}.min-h-\[44px\]{min-height:44px}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0{width:0}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-5{min-width:1.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:32rem}.max-w-max{max-width:max-content}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x:1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-\[var\(--radius-button\)\]{border-radius:var(--radius-button)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-x-2{border-left-width:2px;border-right-width:2px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-border\/50{border-color:rgb(var(--border) / .5)}.border-destructive{--tw-border-opacity:1;border-color:rgb(var(--destructive) / var(--tw-border-opacity,1))}.border-destructive\/50{border-color:rgb(var(--destructive) / .5)}.border-foreground\/45{border-color:rgb(var(--foreground) / .45)}.border-input{--tw-border-opacity:1;border-color:rgb(var(--input) / var(--tw-border-opacity,1))}.border-primary{--tw-border-opacity:1;border-color:rgb(var(--primary) / var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{--tw-bg-opacity:1;background-color:rgb(var(--accent) / var(--tw-bg-opacity,1))}.bg-background{--tw-bg-opacity:1;background-color:rgb(var(--background) / var(--tw-bg-opacity,1))}.bg-border{--tw-bg-opacity:1;background-color:rgb(var(--border) / var(--tw-bg-opacity,1))}.bg-card{--tw-bg-opacity:1;background-color:rgb(var(--card) / var(--tw-bg-opacity,1))}.bg-destructive{--tw-bg-opacity:1;background-color:rgb(var(--destructive) / var(--tw-bg-opacity,1))}.bg-foreground{--tw-bg-opacity:1;background-color:rgb(var(--foreground) / var(--tw-bg-opacity,1))}.bg-foreground\/10{background-color:rgb(var(--foreground) / .1)}.bg-foreground\/80{background-color:rgb(var(--foreground) / .8)}.bg-input{--tw-bg-opacity:1;background-color:rgb(var(--input) / var(--tw-bg-opacity,1))}.bg-muted{--tw-bg-opacity:1;background-color:rgb(var(--muted) / var(--tw-bg-opacity,1))}.bg-muted\/50{background-color:rgb(var(--muted) / .5)}.bg-popover{--tw-bg-opacity:1;background-color:rgb(var(--popover) / var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:rgb(var(--primary) / var(--tw-bg-opacity,1))}.bg-secondary{--tw-bg-opacity:1;background-color:rgb(var(--secondary) / var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[clamp\(0\.78rem\,1\.85vh\,1\.12rem\)\]{font-size:clamp(.78rem,1.85vh,1.12rem)}.text-\[clamp\(0\.9rem\,2\.1vh\,1\.25rem\)\]{font-size:clamp(.9rem,2.1vh,1.25rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{--tw-text-opacity:1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity,1))}.text-card-foreground{--tw-text-opacity:1;color:rgb(var(--card-foreground) / var(--tw-text-opacity,1))}.text-current{color:currentColor}.text-destructive{--tw-text-opacity:1;color:rgb(var(--destructive) / var(--tw-text-opacity,1))}.text-destructive-foreground{--tw-text-opacity:1;color:rgb(var(--destructive-foreground) / var(--tw-text-opacity,1))}.text-foreground{--tw-text-opacity:1;color:rgb(var(--foreground) / var(--tw-text-opacity,1))}.text-foreground\/50{color:rgb(var(--foreground) / .5)}.text-muted-foreground{--tw-text-opacity:1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity,1))}.text-popover-foreground{--tw-text-opacity:1;color:rgb(var(--popover-foreground) / var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:rgb(var(--primary) / var(--tw-text-opacity,1))}.text-primary-foreground{--tw-text-opacity:1;color:rgb(var(--primary-foreground) / var(--tw-text-opacity,1))}.text-secondary-foreground{--tw-text-opacity:1;color:rgb(var(--secondary-foreground) / var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_0_1px_rgb\(var\(--border\)\)\]{--tw-shadow:0 0 0 1px rgb(var(--border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-ring{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--ring) / var(--tw-ring-opacity,1))}.ring-offset-background{--tw-ring-offset-color:rgb(var(--background) / 1)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[background-color\,border-color\,color\,box-shadow\,opacity\,transform\]{transition-property:background-color,border-color,color,box-shadow,opacity,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[margin\,opa\]{transition-property:margin,opa;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.fade-in-0{--tw-enter-opacity:0}.fade-in-80{--tw-enter-opacity:.8}.zoom-in-95{--tw-enter-scale:.95}.duration-1000{animation-duration:1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}.graph-paper{background-color:rgb(var(--background));background-image:none}.game-screen.graph-paper,.game-stage{background:rgb(var(--background))}.font-urbanist{font-family:Urbanist,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.brick-kick{background-color:rgb(var(--brick-kick))}.brick-snare{background-color:rgb(var(--brick-snare))}.brick-hihat{background-color:rgb(var(--brick-hihat))}.brick-clap{background-color:rgb(var(--brick-clap))}.brick-shaker{background-color:rgb(var(--brick-shaker))}.brick-openhat{background-color:rgb(var(--brick-openhat))}.brick-perc{background-color:rgb(var(--brick-perc))}.game-screen{width:100%;min-height:100svh;overflow:hidden}.analytics-page{background:rgb(var(--color-bg-channel));min-height:100svh;color:rgb(var(--color-ink-channel));padding:clamp(18px,3vw,42px);font-family:Urbanist,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.analytics-login-page{place-items:center;display:grid}.analytics-login-shell{flex-direction:column;gap:18px;width:min(100%,520px);display:flex}.analytics-login-card,.analytics-card{border-color:rgb(var(--color-ink-channel) / .14);box-shadow:0 0 0 1px rgb(var(--color-ink-channel) / .04), 0 8px 22px rgb(var(--color-ink-channel) / .08);border-radius:8px}.analytics-back-link{min-height:44px;color:rgb(var(--color-ink-channel));align-items:center;gap:8px;font-size:.94rem;font-weight:700;text-decoration:none;display:inline-flex}.analytics-back-link:focus-visible,.analytics-link-button:focus-visible,.analytics-inline-field select:focus-visible{outline:3px solid rgb(var(--ring) / .72);outline-offset:4px}.analytics-login-form,.analytics-field,.analytics-section-stack,.analytics-dictionary,.analytics-dictionary dl{flex-direction:column;gap:14px;display:flex}.analytics-field span,.analytics-inline-field span{font-size:.84rem;font-weight:800}.analytics-primary-button{min-height:44px}.analytics-badge{width:fit-content}.analytics-form-footer{margin-top:14px}.analytics-link-button{appearance:none;min-height:44px;color:rgb(var(--color-ink-channel));font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;font-weight:800;text-decoration:underline}.analytics-link-button:hover{color:rgb(var(--color-ink-channel))}.analytics-form-error{color:rgb(var(--color-ink-channel));text-wrap:pretty;margin:0;font-size:.9rem;font-weight:800;line-height:1.35}.analytics-alert{margin-top:16px}.analytics-muted{color:rgb(var(--muted-foreground));text-wrap:pretty;font-size:.95rem;line-height:1.5}.analytics-header{justify-content:space-between;align-items:flex-start;gap:20px;width:min(100%,1440px);margin:0 auto clamp(20px,3vw,34px);display:flex}.analytics-title-row{align-items:center;gap:14px;display:flex}.analytics-reset-title-row{align-items:flex-start}.analytics-reset-title-row svg{margin-top:.22rem}.analytics-title-row h1{letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(2rem,5vw,4.8rem);line-height:.95}.analytics-kicker{color:rgb(var(--muted-foreground));letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.8rem;font-weight:900}.analytics-admin-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.analytics-tabs{flex-direction:column;gap:18px;width:min(100%,1440px);margin:0 auto;display:flex}.analytics-tabs [role=tablist]{flex-wrap:wrap;justify-content:flex-start;gap:4px;height:auto;min-height:2.5rem}.analytics-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;display:grid}.analytics-metric-value{font-variant-numeric:tabular-nums}.analytics-chart{min-height:220px;margin-bottom:18px}.analytics-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.analytics-control-row{flex-wrap:wrap;gap:14px;margin-bottom:18px;display:flex}.analytics-inline-field{align-items:center;gap:10px;display:flex}.analytics-inline-field select{border:1px solid rgb(var(--input));background:rgb(var(--color-bg-channel));min-height:40px;color:rgb(var(--color-ink-channel));font:inherit;border-radius:8px;padding:0 12px}.analytics-filter-row{align-items:end}.analytics-filter-field{width:min(100%,220px)}.analytics-filter-field select{border:1px solid rgb(var(--input));background:rgb(var(--color-bg-channel));min-height:40px;color:rgb(var(--color-ink-channel));font:inherit;border-radius:8px;padding:0 12px}.analytics-filter-field select:focus-visible{outline:3px solid rgb(var(--ring) / .72);outline-offset:3px}.analytics-heatmap{flex-direction:column;gap:12px;display:flex}.analytics-heatmap-row{grid-template-columns:72px repeat(8,minmax(28px,1fr));align-items:center;gap:8px;display:grid}.analytics-heatmap-label{font-weight:900}.analytics-heatmap-cell{background:rgb(var(--color-ink-channel));min-height:44px;color:rgb(var(--color-bg-channel));font-variant-numeric:tabular-nums;border-radius:8px;place-items:center;font-weight:900;display:grid}.analytics-heatmap-cell[data-sound=Snare]{background:rgb(var(--color-ink-channel))}.analytics-dictionary dt{font-weight:900}.analytics-dictionary dd{color:rgb(var(--muted-foreground));text-wrap:pretty;margin:0;line-height:1.5}.analytics-loading{width:min(100%,1440px);margin:0 auto 18px;font-weight:800}@media (width<=1100px){.analytics-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.analytics-page{padding:16px}.analytics-header,.analytics-two-column{flex-direction:column;display:flex}.analytics-admin-actions{justify-content:flex-start}.analytics-metric-grid{grid-template-columns:1fr}.analytics-filter-field{width:100%}.analytics-heatmap-row{grid-template-columns:54px repeat(8,minmax(24px,1fr));gap:5px}.analytics-heatmap-cell{min-height:36px;font-size:.82rem}}.game-stage{grid-template-rows:clamp(10.5rem,20svh,13rem) minmax(0,1fr);gap:clamp(8px,1.6svh,18px);width:min(100%,1640px);min-height:100svh;margin:0 auto;padding:clamp(12px,2.2svh,28px) clamp(16px,4.6vw,72px) clamp(12px,2svh,24px);display:grid}.game-stage-header{grid-template-columns:auto minmax(0,1fr) minmax(15rem,21rem) minmax(0,1fr);grid-template-areas:"nav title score info";align-items:start;gap:clamp(12px,2vw,28px);height:100%;min-height:0;display:grid;position:relative}.game-title{color:rgb(var(--color-ink-channel));letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(1.35rem,2.4vw,2.25rem);font-weight:400;line-height:1.08}.game-title-row{flex-wrap:wrap;align-items:center;gap:.45rem .6rem;min-width:0;display:flex}.web-experiment-badge{border:1px solid rgb(var(--workbench-rail) / .18);background:rgb(var(--workbench-surface) / .82);min-height:1.55rem;color:rgb(var(--workbench-rail) / .78);white-space:nowrap;border-radius:999px;align-items:center;padding:.2rem .54rem;font-size:clamp(.68rem,1.15vw,.78rem);font-weight:850;line-height:1;display:inline-flex}.game-title-block{grid-area:title;align-content:start;gap:.3rem;max-width:min(100%,32rem);display:grid}.game-nav-row{flex-wrap:wrap;grid-area:nav;align-items:center;gap:.4rem;min-height:1.8rem;display:flex;position:relative}.game-nav-button{border:1px solid rgb(var(--workbench-rail) / .16);background:rgb(var(--workbench-surface) / .72);min-height:2rem;color:rgb(var(--workbench-rail) / .72);letter-spacing:0;border-radius:999px;justify-content:center;align-items:center;padding:.3rem .66rem;font-size:clamp(.76rem,1.25vw,.9rem);font-weight:820;line-height:1;transition:transform .12s,background-color .12s,box-shadow .12s;display:inline-flex}.game-nav-button:not(:disabled):hover{background:rgb(var(--workbench-surface) / .95);box-shadow:0 5px 12px rgb(var(--workbench-rail) / .08)}.game-nav-button:not(:disabled):active{transform:scale(.96)}.game-nav-row{position:relative}.free-build-confirmation{--free-build-radius:var(--radius-button);border-radius:var(--free-build-radius);border-color:rgb(var(--workbench-rail) / .16);background:rgb(var(--workbench-surface));width:min(28rem,100vw - 2rem);max-width:calc(100vw - 2rem);color:rgb(var(--workbench-rail));padding:clamp(1rem,4vw,1.5rem)}.free-build-confirmation button{border-radius:var(--free-build-radius);min-height:44px;font-family:Urbanist,system-ui,sans-serif;font-weight:850}.free-build-confirmation-action{background:rgb(var(--workbench-rail));color:rgb(var(--color-on-ink-channel))}.free-build-confirmation button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.game-tagline{color:rgb(var(--color-ink-channel) / .68);letter-spacing:0;text-wrap:pretty;margin:0;font-size:clamp(.94rem,1.45vw,1.1rem);font-style:italic;font-weight:300;line-height:1.15}.score-stack{text-align:center;grid-area:score;justify-items:center;gap:clamp(3px,.5svh,8px);display:grid;position:relative}.score-number{color:rgb(var(--color-ink-channel));letter-spacing:0;font-variant-numeric:tabular-nums;font-size:clamp(4rem,10svh,6.5rem);font-weight:500;line-height:.84}.score-label{letter-spacing:0;font-size:clamp(.82rem,1.45svh,1rem);font-weight:650;line-height:1}.score-delta{letter-spacing:0;border-radius:999px;justify-content:center;align-items:center;min-width:3.25rem;padding:.18rem .7rem;font-size:clamp(.95rem,1.65svh,1.15rem);font-weight:760;line-height:1.1;display:inline-flex}.score-delta-positive,.score-delta-negative{color:rgb(var(--color-ink-channel));background:rgb(var(--color-line-soft-channel))}.score-delta-neutral{color:rgb(var(--muted-foreground));background:rgb(var(--secondary))}.score-complete-status{box-sizing:border-box;background:rgb(var(--workbench-surface) / .84);min-width:0;max-width:100%;color:rgb(var(--workbench-rail) / .74);text-align:center;text-wrap:balance;overflow-wrap:anywhere;border-radius:999px;padding:.4rem .72rem;font-size:clamp(.78rem,1.35svh,.92rem);font-weight:850;line-height:1.12;overflow:hidden}.score-feedback{box-sizing:border-box;border:1px solid rgb(var(--foreground) / .1);background:rgb(var(--color-on-ink-channel) / .72);border-radius:8px;align-content:center;gap:.22rem;width:min(100%,20rem);min-width:0;max-width:100%;min-height:4.3rem;max-height:4.3rem;padding:.48rem .72rem;display:grid;overflow:hidden}.score-feedback-tag{-webkit-line-clamp:1;min-width:0;max-width:100%;color:rgb(var(--foreground));overflow-wrap:anywhere;white-space:normal;-webkit-box-orient:vertical;font-size:clamp(.82rem,1.35svh,.95rem);font-weight:850;line-height:1.1;display:-webkit-box;overflow:hidden}.score-feedback-copy{min-width:0;max-width:100%;color:rgb(var(--foreground) / .68);overflow-wrap:anywhere;text-wrap:pretty;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:clamp(.72rem,1.2svh,.82rem);font-weight:680;line-height:1.22;display:-webkit-box;overflow:hidden}.placement-coach{min-width:0;max-width:100%;color:rgb(var(--foreground));overflow-wrap:anywhere;text-wrap:pretty;border-radius:7px;padding:.42rem .58rem;font-size:clamp(.72rem,1.22svh,.84rem);font-weight:820;line-height:1.22;overflow:hidden}.unlock-notice{border:1px solid rgb(var(--foreground) / .18);min-height:1.75rem;box-shadow:0 10px 24px rgb(var(--foreground) / .08);color:rgb(var(--foreground));letter-spacing:0;border-radius:999px;justify-content:center;align-items:center;padding:.28rem .78rem;font-size:clamp(.78rem,1.35svh,.92rem);font-weight:720;line-height:1.1;animation:2.6s both unlock-notice-lifetime;display:inline-flex}@keyframes unlock-notice-lifetime{0%{opacity:0;transform:translateY(4px)}12%,78%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-3px)}}.info-anchor{grid-area:info;justify-content:flex-end;justify-self:end;align-items:flex-start;gap:.65rem;display:flex;position:relative}.refresh-control-wrap{justify-content:center;display:inline-flex;position:relative}.guide-button,.refresh-button{aspect-ratio:1;border:1px solid rgb(var(--workbench-rail) / .18);background:rgb(var(--workbench-surface));width:clamp(2.65rem,5.2svh,3.65rem);color:rgb(var(--workbench-rail));box-shadow:0 8px 20px rgb(var(--foreground) / .1);border-radius:999px;justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s,color .15s;display:inline-flex}.refresh-button{width:clamp(2.35rem,4.8svh,3.15rem);color:rgb(var(--workbench-rail) / .6)}.guide-button:not(:disabled):hover,.refresh-button:not(:disabled):hover{color:rgb(var(--workbench-rail));box-shadow:0 10px 24px rgb(var(--foreground) / .13);transform:translateY(-1px)}.guide-button:not(:disabled):active,.refresh-button:not(:disabled):active{box-shadow:0 4px 12px rgb(var(--foreground) / .1);transform:scale(.98)}.guide-button:disabled,.refresh-button:disabled,.info-button:disabled{cursor:not-allowed;opacity:.58}.refresh-icon-svg{transform-origin:50%;transition:transform .4s ease-in-out}.refresh-icon-svg-active{transform:rotate(180deg)}.info-button{aspect-ratio:1;background:rgb(var(--color-ink-channel));width:clamp(2.8rem,5.6svh,4rem);color:rgb(var(--color-bg-channel));box-shadow:0 10px 24px rgb(var(--foreground) / .12);letter-spacing:0;border:0;border-radius:999px;justify-content:center;align-items:center;font-size:clamp(1.5rem,3.2svh,2.2rem);font-weight:900;line-height:1;transition:transform .15s;display:inline-flex}.info-button:not(:disabled):active{transform:scale(.98)}.info-button:focus-visible,.guide-button:focus-visible,.refresh-button:focus-visible,.beta-cta:focus-visible,.beat-report-action:focus-visible,.game-nav-button:focus-visible,.confirmation-action:focus-visible,.stage-report-button:focus-visible,.mode-button:focus-visible,.transport-mode-button:focus-visible,.finish-beat-button:focus-visible,.chance-discovery-guide:focus-visible,.chance-picker-pill:focus-visible,.placed-brick-button:focus-visible,.start-button:focus-visible,.preview-button:focus-visible{outline:3px solid rgb(var(--ring) / .72);outline-offset:4px}.info-popover{z-index:50;border:1px solid rgb(var(--foreground) / .16);background:rgb(var(--color-bg-channel));width:min(92vw,28rem);max-height:calc(100svh - 7.5rem);box-shadow:0 18px 44px rgb(var(--foreground) / .18);text-align:left;border-radius:8px;padding:1rem;position:absolute;top:calc(100% + .65rem);right:0;overflow:auto}.info-popover:before{content:"";background:rgb(var(--color-bg-channel));border-left:1px solid rgb(var(--foreground) / .16);border-top:1px solid rgb(var(--foreground) / .16);width:.95rem;height:.95rem;position:absolute;top:-.48rem;right:clamp(1.1rem,4vw,1.8rem);transform:rotate(45deg)}.info-popover h2{letter-spacing:0;margin:0 0 .55rem;font-size:.9rem;font-weight:900;line-height:1.1}.legend-section+.legend-section{margin-top:1rem}.legend-copy{color:rgb(var(--foreground) / .72);margin:0;font-size:.84rem;font-weight:680;line-height:1.32}.legend-list,.control-list{gap:.45rem;display:grid}.legend-row{grid-template-columns:2.8rem minmax(0,1fr) auto;align-items:center;gap:.55rem;font-size:.86rem;line-height:1.2;display:grid}.legend-chip{border:1.5px solid rgb(var(--foreground));border-radius:6px;justify-content:center;align-items:center;min-height:2rem;font-weight:900;display:inline-flex}.legend-name{min-width:0;font-weight:850}.legend-role{color:rgb(var(--muted-foreground));margin-top:.12rem;font-size:.72rem;font-weight:800;line-height:1.1;display:block}.legend-status{background:rgb(var(--secondary));color:rgb(var(--muted-foreground));white-space:nowrap;border-radius:999px;padding:.22rem .48rem;font-size:.72rem;font-weight:850;line-height:1.1}.legend-controls{margin-top:1rem}.control-list{color:rgb(var(--foreground) / .78);grid-template-columns:repeat(2,minmax(0,1fr));font-size:.86rem;font-weight:750;line-height:1.2}.game-stage-body{grid-template-rows:auto auto;align-content:start;place-items:start center;gap:clamp(8px,1.45svh,14px);min-height:0;display:grid}.touch-play-surface{isolation:isolate;touch-action:pan-y;position:relative}.touch-swipe-helper{background:rgb(var(--color-ink-channel) / .06);color:rgb(var(--color-ink-channel) / .62);text-align:center;pointer-events:none;border-radius:999px;margin:0;padding:.46rem .78rem;font-size:clamp(.74rem,2.8vw,.88rem);font-weight:850;line-height:1.1;display:none}.stage-overlay-zone{z-index:18;pointer-events:none;position:absolute}.beat-section-separator{background:var(--color-line);pointer-events:none;width:1px;transform:none}.stage-message{width:min(80%,480px);color:rgb(var(--workbench-rail));text-align:center;text-wrap:balance;pointer-events:none;justify-items:center;gap:.2rem;animation:.4s both stage-message-fade-in;display:grid;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.stage-message h2,.stage-message p{margin:0}.stage-message h2{color:rgb(var(--primary));letter-spacing:0;font-size:clamp(1.75rem,4.2vw,2rem);font-weight:650;line-height:1.05}.stage-message p{color:rgb(var(--foreground) / .68);text-wrap:pretty;font-size:.88rem;font-weight:720;line-height:1.25}.stage-message-complete{background:rgb(var(--workbench-surface) / .94);width:min(88%,24rem);box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .12), 0 14px 28px rgb(var(--workbench-rail) / .12);pointer-events:auto;border-radius:18px;padding:clamp(.8rem,2.4vw,1.05rem);top:44%}.stage-message-complete h2{font-weight:900}.stage-complete-actions{flex-wrap:wrap;justify-content:center;gap:.44rem;padding-top:.38rem;display:inline-flex}.stage-report-button{border:1px solid rgb(var(--workbench-rail) / .18);background:rgb(var(--workbench-surface) / .92);min-height:2.75rem;color:rgb(var(--workbench-rail));box-shadow:0 3px 0 rgb(var(--workbench-rail) / .12);pointer-events:auto;border-radius:999px;margin-top:.4rem;padding:.62rem .9rem;font-size:.86rem;font-weight:900;line-height:1;transition:transform 80ms,box-shadow .12s}.stage-report-button-primary{background:rgb(var(--workbench-rail));color:rgb(var(--color-on-ink-channel))}.stage-report-button:not(:disabled):active{transform:scale(.96)}.stage-message-intro{background:rgb(var(--workbench-surface) / .92);width:min(86%,25rem);box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .08), 0 10px 20px rgb(var(--workbench-rail) / .08);border-radius:999px;padding:.55rem .9rem;font-size:clamp(.86rem,2vw,1rem);font-style:italic;font-weight:760;line-height:1.2;animation-duration:.3s;top:34%}@keyframes stage-message-fade-in{0%{opacity:0}to{opacity:1}}.board-zone{touch-action:none;place-self:start center;width:fit-content;position:relative}.board-frame{position:relative}.transport-bar{width:min(100%, calc((var(--cell-size-x) * 16) + 14px));border-top:1px solid rgb(var(--workbench-rail) / .18);padding-top:.38rem;padding-bottom:max(0px, env(safe-area-inset-bottom))}.chance-discovery-strip{background:rgb(var(--workbench-surface) / .74);min-height:2rem;color:rgb(var(--workbench-rail) / .72);box-shadow:inset 0 1px 0 rgb(var(--color-on-ink-channel) / .36), 0 0 0 1px rgb(var(--workbench-rail) / .1);border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.34rem;margin-top:.42rem;padding:.22rem .36rem;font-size:clamp(.68rem,1.15svh,.78rem);font-weight:820;line-height:1;display:flex}.chance-discovery-title{color:rgb(var(--workbench-rail));font-weight:950}.chance-discovery-option{background:rgb(var(--color-on-ink-channel) / .68);min-height:1.46rem;box-shadow:inset 0 0 0 1px rgb(var(--workbench-rail) / .08);border-radius:999px;align-items:center;gap:.22rem;padding:.22rem .42rem;display:inline-flex}.chance-discovery-option strong{color:rgb(var(--workbench-rail));font-variant-numeric:tabular-nums;font-weight:950}.chance-discovery-guide{border:1px solid rgb(var(--workbench-rail) / .16);background:rgb(var(--color-bg-channel));min-height:1.9rem;color:rgb(var(--workbench-rail));font-size:inherit;border-radius:999px;padding:.26rem .58rem;font-weight:900;line-height:1;transition:transform .15s,box-shadow .15s,background-color .15s}.chance-discovery-guide:not(:disabled):hover{background:rgb(var(--workbench-paper));box-shadow:0 5px 12px rgb(var(--workbench-rail) / .08)}.chance-discovery-guide:not(:disabled):active{transform:scale(.97)}.chance-discovery-guide:disabled{opacity:.52}.transport-control-row{grid-template-columns:minmax(0,1fr) minmax(4.9rem,auto);align-items:center;gap:.5rem;display:grid}.transport-mode-group{border:1px solid rgb(var(--workbench-rail) / .2);background:rgb(var(--workbench-surface) / .88);border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));height:2.55rem;padding:.2rem;display:grid}.transport-mode-button{min-width:0;min-height:2.1rem;color:rgb(var(--workbench-rail));letter-spacing:0;opacity:.5;background-color:#0000;border:0;border-radius:999px;padding:.32rem .58rem;font-size:clamp(.72rem,1.35svh,.86rem);font-weight:850;line-height:1;transition:background-color .12s,color .12s,opacity .12s,transform .12s}.transport-mode-button:not(:disabled):active{transform:scale(.96)}.transport-mode-button-active{background-color:rgb(var(--workbench-rail));color:rgb(var(--color-on-ink-channel));opacity:1}.transport-mode-button:disabled{cursor:not-allowed;opacity:.32}.finish-beat-button{border:1px solid rgb(var(--workbench-rail) / .2);background-color:rgb(var(--workbench-surface) / .94);min-width:4.9rem;min-height:2.55rem;color:rgb(var(--workbench-rail));letter-spacing:0;box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .06), 0 6px 14px rgb(var(--workbench-rail) / .1);border-radius:999px;padding:.5rem .86rem;font-size:clamp(.72rem,1.35svh,.86rem);font-weight:850;line-height:1;transition:transform .12s,box-shadow .12s,background-color .12s}.finish-beat-button:disabled{cursor:not-allowed;filter:saturate(.72);opacity:.42}.finish-beat-button:not(:disabled):hover{background-color:rgb(var(--workbench-surface));box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .08), 0 8px 18px rgb(var(--workbench-rail) / .12)}.finish-beat-button:not(:disabled):active{transform:scale(.96)}.finish-control-wrap{min-width:4.9rem;position:relative}.placed-brick-button{appearance:none;cursor:pointer;flex-direction:column;gap:.05rem;padding:0}.placed-brick-button span:first-child{transform:translateY(-.02rem)}.falling-brick-piece,.placed-brick-button{font-size:clamp(.72rem,min(3.2vw,1.9svh),1rem)}.probability-badge{background-color:rgb(var(--color-on-ink-channel) / .88);max-width:calc(100% - 2px);color:rgb(var(--foreground));font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;border-radius:999px;padding:.02rem .12rem;font-size:clamp(.42rem,1.2vw,.58rem);font-weight:950;line-height:1;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.probability-badge-default{background-color:rgb(var(--workbench-surface) / .68);opacity:.74}.placed-brick-button:hover .probability-badge-default,.placed-brick-button:focus-visible .probability-badge-default{opacity:1}.chance-picker{z-index:34;background:rgb(var(--workbench-surface) / .98);width:min(28rem,94%);color:rgb(var(--workbench-rail));box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .1), 0 12px 26px rgb(var(--workbench-rail) / .14);text-align:center;pointer-events:auto;border-radius:14px;gap:.62rem;padding:.82rem;animation:.3s both stage-message-fade-in;display:grid;position:absolute;top:36%;left:50%;transform:translate(-50%,-50%)}.chance-picker-header{color:rgb(var(--workbench-rail) / .72);text-wrap:balance;justify-content:center;align-items:center;gap:.45rem;font-size:.88rem;font-weight:780;line-height:1.15;display:inline-flex}.chance-picker-letter{border:1.5px solid rgb(var(--workbench-rail));min-width:1.7rem;min-height:1.7rem;color:rgb(var(--foreground));border-radius:7px;justify-content:center;align-items:center;font-size:.82rem;font-weight:950;line-height:1;display:inline-flex}.chance-picker-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem;display:grid}.chance-picker-pill{border:1px solid rgb(var(--workbench-rail) / .18);min-width:0;min-height:2.55rem;color:rgb(var(--workbench-rail));background:0 0;border-radius:999px;align-content:center;justify-items:center;gap:.14rem;padding:.44rem .5rem;font-size:.76rem;font-weight:820;line-height:1;transition:transform 80ms,background-color .12s,box-shadow .12s;display:grid}.chance-picker-pill strong{font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:950;line-height:1}.chance-picker-pill:not(:disabled):active{transform:scale(.95)}.chance-picker-pill-selected{border-color:rgb(var(--workbench-rail));box-shadow:inset 0 1px 0 rgb(var(--color-on-ink-channel) / .24), 0 4px 0 rgb(var(--workbench-rail) / .16)}.chance-picker-note{color:rgb(var(--workbench-rail) / .68);margin:0;font-size:.76rem;font-style:italic;font-weight:720;line-height:1.2}.probability-notice{background:rgb(var(--workbench-rail) / .92);color:rgb(var(--color-on-ink-channel));border-radius:999px;padding:.36rem .72rem;font-size:clamp(.72rem,1.25svh,.86rem);font-weight:850;line-height:1;animation:1.8s both probability-notice-lifetime}.beat-report-overlay{z-index:70;background:rgb(var(--workbench-rail) / .42);place-items:center;padding:clamp(.75rem,2.8vw,2rem);display:grid;position:fixed;inset:0}.beat-report-dialog{width:min(100%,62rem);max-height:min(92svh,60rem);box-shadow:0 28px 72px rgb(var(--workbench-rail) / .24), 0 0 0 1px rgb(var(--color-on-ink-channel) / .22);border-radius:18px;outline:none;gap:0;display:grid;overflow:auto}.beat-report-card{border:1px solid rgb(var(--workbench-rail) / .24);background:linear-gradient(135deg, rgb(var(--color-on-ink-channel) / .72), transparent 34%), linear-gradient(180deg, rgb(var(--workbench-surface)), rgb(var(--color-bg-channel)));color:rgb(var(--foreground));box-shadow:inset 0 1px 0 rgb(var(--color-on-ink-channel) / .58), 0 5px 0 rgb(var(--workbench-rail) / .12);border-radius:18px;gap:clamp(.8rem,2vw,1.1rem);padding:clamp(1rem,2.5vw,1.5rem);display:grid}.beat-report-identity{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;display:grid}.beat-report-product{color:rgb(var(--color-ink-soft-channel));margin:0 0 .2rem;font-size:clamp(.82rem,1.45vw,.96rem);font-weight:850;line-height:1}.beat-report-identity h2{color:rgb(var(--workbench-rail));letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(1.45rem,3vw,2.2rem);font-weight:900;line-height:1.05}.beat-report-meta{color:rgb(var(--workbench-rail) / .72);text-align:right;justify-items:end;gap:.18rem;font-size:clamp(.74rem,1.25vw,.88rem);font-weight:780;line-height:1.18;display:grid}.beat-report-meta strong{color:rgb(var(--workbench-rail));font-size:clamp(.98rem,1.8vw,1.18rem);font-weight:950}.beat-report-section{min-width:0}.beat-report-grid{grid-template-columns:repeat(16,minmax(0,1fr));gap:clamp(.18rem,.55vw,.34rem);display:grid}.beat-report-cell{aspect-ratio:1;background:rgb(var(--color-bg-desk-channel));min-width:0;color:rgb(var(--foreground));border-radius:6px;place-items:center;font-size:clamp(.54rem,1.35vw,.84rem);font-weight:950;line-height:1;display:grid}.beat-report-cell-filled{border:1.5px solid rgb(var(--workbench-rail));box-shadow:inset 0 1px 0 rgb(var(--color-on-ink-channel) / .28)}.beat-report-sounds{gap:.46rem;display:grid}.beat-report-sounds h3{color:rgb(var(--workbench-rail));margin:0;font-size:clamp(.86rem,1.35vw,1rem);font-weight:900;line-height:1}.beat-report-sound-row{flex-wrap:wrap;gap:.42rem;display:flex}.beat-report-sound-badge{border:1px solid rgb(var(--workbench-rail) / .14);background:rgb(var(--color-bg-channel));min-height:2.15rem;color:rgb(var(--workbench-rail));border-radius:999px;align-items:center;gap:.36rem;padding:.28rem .58rem .28rem .34rem;font-size:.8rem;font-weight:850;line-height:1;display:inline-flex}.beat-report-sound-letter{border:1px solid rgb(var(--workbench-rail));min-width:1.5rem;min-height:1.5rem;color:rgb(var(--foreground));border-radius:6px;justify-content:center;align-items:center;font-size:.72rem;font-weight:950;display:inline-flex}.beat-report-muted{color:rgb(var(--workbench-rail) / .62);font-size:.84rem;font-weight:760}.beat-report-score{background:rgb(var(--color-line-soft-channel));border-radius:10px;place-items:center;padding:clamp(.7rem,1.8vw,1rem);display:grid}.beat-report-score-number{justify-items:center;min-width:7rem;display:grid}.beat-report-score-number strong{color:rgb(var(--color-ink-channel));font-variant-numeric:tabular-nums;font-size:clamp(2.6rem,7vw,4.2rem);font-weight:900;line-height:.9}.beat-report-score-number span{color:rgb(var(--color-ink-soft-channel));font-size:.82rem;font-weight:900;line-height:1}.beat-report-score p{color:rgb(var(--workbench-rail) / .78);text-wrap:pretty;margin:0;font-size:clamp(.9rem,1.55vw,1.05rem);font-weight:780;line-height:1.3}.beat-report-tags{background:rgb(var(--color-on-ink-channel) / .64);border-radius:10px;gap:.28rem;padding:clamp(.7rem,1.8vw,1rem);display:grid}.beat-report-tags h3{background:rgb(var(--workbench-surface) / .74);width:fit-content;color:rgb(var(--workbench-rail));border-radius:999px;margin:0;padding:.28rem .58rem;font-size:clamp(.74rem,1.2vw,.86rem);font-weight:900;line-height:1}.beat-report-footer{border-top:1px solid rgb(var(--workbench-rail) / .12);color:rgb(var(--workbench-rail) / .66);text-align:center;gap:clamp(.7rem,1.8vw,1rem);padding-top:.82rem;font-size:clamp(.74rem,1.25vw,.86rem);font-weight:780;line-height:1.2;display:grid}.beat-report-footer>span{display:block}.beat-report-actions{grid-template-columns:max-content max-content max-content;justify-content:center;align-items:start;gap:.62rem;display:grid}.beat-report-action-slot,.beat-report-audio-action{justify-items:center;gap:.35rem;min-width:0;display:grid}.beat-report-action{border:1px solid rgb(var(--workbench-rail) / .18);background:rgb(var(--workbench-surface));min-height:2.75rem;color:rgb(var(--workbench-rail));box-shadow:0 3px 0 rgb(var(--workbench-rail) / .13);border-radius:999px;justify-content:center;align-items:center;padding:.62rem .95rem;font-size:.9rem;font-weight:900;line-height:1;transition:transform 80ms,box-shadow .12s,background-color .12s;display:inline-flex}.beat-report-action-primary,.beat-report-audio-button{background:rgb(var(--workbench-rail));color:rgb(var(--color-on-ink-channel))}.beat-report-action:not(:disabled):hover{box-shadow:0 4px 0 rgb(var(--workbench-rail) / .14), 0 10px 18px rgb(var(--workbench-rail) / .12);transform:translateY(-1px)}.beat-report-action:not(:disabled):active{transform:scale(.96)}.beat-report-action:disabled{cursor:not-allowed;opacity:.58}.beat-report-audio-action p{min-height:1rem;color:rgb(var(--workbench-rail) / .72);text-align:center;text-wrap:balance;margin:0;font-size:.8rem;font-weight:820;line-height:1.2}@media (width>=701px){.beat-report-dialog{width:min(100%,66rem)}.beat-report-card{grid-template-columns:minmax(0,1fr) minmax(14rem,18rem);grid-template-areas:"identity identity""grid score""sounds tags""mission mission""footer footer";align-items:stretch}.beat-report-identity{grid-area:identity}.beat-report-grid-section{grid-area:grid;align-self:center}.beat-report-score{grid-area:score;align-content:center;min-height:100%}.beat-report-sounds{grid-area:sounds}.beat-report-tags{grid-area:tags;align-content:center}.beat-report-listening-mission{grid-area:mission}.beat-report-footer{grid-area:footer}}@keyframes probability-notice-lifetime{0%{opacity:0;transform:translateY(4px)}14%,78%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-3px)}}.resume-countdown{left:calc(var(--cell-size-x) * .7);right:calc(var(--cell-size-x) * .7);top:calc(var(--cell-size-y) * 1.45);z-index:18;height:calc(var(--cell-size-y) * 5.3);pointer-events:none;place-items:center;display:grid;position:absolute}.resume-countdown span{color:rgb(var(--workbench-rail));font-variant-numeric:tabular-nums;text-shadow:0 2px 0 rgb(var(--workbench-surface) / .92), 0 10px 30px rgb(var(--workbench-rail) / .18);place-items:center;font-size:clamp(4.8rem,17svh,8.5rem);font-weight:900;line-height:.9;animation:.26s ease-out both resume-countdown-pop;display:inline-grid}.onboarding-backdrop{z-index:var(--z-onboarding-backdrop);background:rgb(var(--color-ink-pressed-channel) / .42);position:fixed;inset:0}.onboarding-spotlight{z-index:var(--z-onboarding-spotlight);border:3px solid rgb(var(--workbench-amber));box-shadow:0 0 0 2px rgb(var(--workbench-rail) / .82), 0 14px 28px rgb(var(--color-ink-channel) / .18);pointer-events:none;border-radius:12px;animation:.26s ease-out both coach-target-pulse;position:fixed}.onboarding-card{z-index:var(--z-onboarding-card);border:2px solid rgb(var(--workbench-rail));background:rgb(var(--color-bg-channel));width:min(21.25rem,100vw - 28px);max-height:calc(100svh - 28px);color:rgb(var(--foreground));box-shadow:0 16px 34px rgb(var(--color-ink-channel) / .18), 0 4px 0 rgb(var(--workbench-rail) / .16);border-radius:16px;gap:.64rem;padding:.95rem;animation:.18s ease-out both coach-card-in;display:grid;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.onboarding-card[data-placement=anchored]{animation-name:coach-anchored-in;transform:none}.onboarding-card[data-placement=sheet]{padding-bottom:max(.95rem, env(safe-area-inset-bottom));border-radius:18px 18px 12px 12px;animation-name:coach-sheet-in;transform:none}.onboarding-card[data-placement=mobile-top]{animation-name:coach-anchored-in;transform:none}.onboarding-step-count{color:rgb(var(--foreground) / .64);font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:850;line-height:1}.onboarding-title{text-wrap:balance;margin:0;font-size:1.05rem;font-weight:900;line-height:1.1}.onboarding-copy{color:rgb(var(--foreground) / .78);text-wrap:pretty;margin:0;font-size:.92rem;font-weight:700;line-height:1.34}.onboarding-progress{align-items:center;gap:var(--space-2);padding-block:var(--space-2);display:flex}.onboarding-progress span{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-cell);background:var(--color-line);transition-property:width,background-color;transition-duration:.18s;transition-timing-function:cubic-bezier(.2,0,0,1)}.onboarding-progress span[data-current=true]{width:var(--space-6);background:var(--color-ink)}.onboarding-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;padding-top:.18rem;display:flex}.onboarding-nav-actions{align-items:center;display:inline-flex}.onboarding-button{min-height:2.75rem;padding-inline:.9rem;font-size:.86rem;font-weight:850;line-height:1}.onboarding-button:disabled{cursor:not-allowed;opacity:.52}@keyframes coach-card-in{0%{opacity:0;transform:translate(-50%,calc(5px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes coach-anchored-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes coach-sheet-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes coach-target-pulse{0%{opacity:.72;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@keyframes resume-countdown-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.startup-screen{min-height:100dvh;min-height:var(--app-viewport-height);background:rgb(var(--color-bg-channel));width:100%;color:rgb(var(--color-ink-channel));overflow:clip auto}.startup-stage{min-height:100dvh;min-height:var(--app-viewport-height);width:min(100%,980px);padding:max(1rem, env(safe-area-inset-top)) clamp(1rem, 4vw, 3.5rem) max(1rem, env(safe-area-inset-bottom));grid-template-rows:minmax(7rem,20svh) minmax(4.2rem,12svh) minmax(14rem,1fr) minmax(4rem,12svh);align-content:stretch;justify-items:center;gap:0;margin:0 auto;display:grid}.startup-header{text-align:center;grid-template-columns:minmax(0,1fr);align-self:center;place-items:center;display:grid}.startup-brand-block{text-align:center;grid-area:auto;justify-items:center;max-width:min(100%,34rem);margin-inline:auto;display:grid}.startup-header .game-title-block:after,.startup-brand-block:after{content:none}.startup-brand-lockup{justify-content:center;place-items:center;gap:var(--space-1);min-width:0;display:inline-grid}.startup-title{min-width:0;color:rgb(var(--color-ink-channel));letter-spacing:0;text-wrap:balance;white-space:nowrap;margin:0;font-size:3.35rem;font-weight:900;line-height:.92;display:inline-block;position:relative}.startup-brand-logo{top:50%;right:calc(100% + var(--space-3));width:5rem;height:auto;display:block;position:absolute;transform:translateY(-50%)}.startup-promise{max-width:min(100%,34rem);color:rgb(var(--color-ink-channel));background:linear-gradient(105deg, rgb(var(--color-ink-channel)) 0%, rgb(var(--color-ink-channel) / .74) 100%);text-align:center;text-wrap:balance;align-self:start;margin:0;font-size:1.24rem;font-weight:820;line-height:1.12}@supports ((-webkit-background-clip:text) or (background-clip:text)){.startup-promise{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}}.startup-company{color:rgb(var(--color-ink-channel) / .56);letter-spacing:0;margin:0;font-size:.82rem;font-weight:860;line-height:1}.startup-content{grid-template-columns:minmax(0,1fr);align-self:center;place-items:center;gap:1rem;width:100%;min-height:0;display:grid}.startup-mode-panel{width:min(100%,44rem);box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch;gap:.92rem;padding:0;display:grid}.startup-mode-card{border:1px solid rgb(var(--color-ink-channel) / .18);background:rgb(var(--color-bg-channel));text-align:left;border-radius:12px;flex-direction:column;gap:0;min-width:0;min-height:9.5rem;padding:0;transition:border-color .15s,background-color .15s,transform .15s;display:flex;overflow:hidden}.startup-mode-card-primary{border-color:rgb(var(--color-ink-channel) / .28);grid-column:1/-1;min-height:7.5rem}.startup-mode-card-secondary{background:rgb(var(--color-bg-channel))}@media (hover:hover){.startup-mode-card:hover{border-color:rgb(var(--color-ink-channel) / .28);background:rgb(var(--muted) / .18);transform:translateY(-2px)}}.startup-card-header{flex:auto;justify-content:start;gap:.42rem;padding:1.18rem 1.12rem .7rem}.startup-card-header>:not([hidden])~:not([hidden]){margin-top:0}.startup-card-title{color:rgb(var(--color-ink-channel));letter-spacing:0;text-wrap:balance;align-items:baseline;gap:.5rem;font-size:1.48rem;font-weight:950;line-height:1.02;display:flex}.startup-card-description{max-width:22rem;color:rgb(var(--color-ink-channel) / .68);letter-spacing:0;text-wrap:pretty;font-size:.98rem;font-weight:760;line-height:1.24}.startup-card-action{border-radius:7px;width:100%;min-height:3rem;font-size:.98rem;font-weight:900}.startup-card-action:not(:disabled):active{transform:scale(.96)}.startup-audio-error{border:1px solid rgb(var(--brick-snare) / .42);background:rgb(var(--surface-strong) / .98);width:min(100%,44rem);box-shadow:var(--shadow-surface);color:rgb(var(--workbench-rail));text-align:center;border-radius:16px;gap:.75rem;padding:1rem;font-size:.95rem;font-weight:800;display:grid}.startup-footer{color:rgb(var(--color-ink-channel) / .6);text-align:center;flex-wrap:wrap;justify-content:center;align-self:end;align-items:center;gap:.24rem .42rem;font-size:.78rem;font-weight:760;line-height:1.1;display:inline-flex}.startup-footer-mark{opacity:.64;justify-content:center;align-items:center;width:.94rem;height:.94rem;display:inline-flex}.startup-footer-mark img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.startup-footer-divider{color:rgb(var(--color-ink-channel) / .34)}.startup-footer a{color:inherit;text-decoration:none}.startup-footer a:focus-visible,.startup-footer a:hover{color:rgb(var(--color-ink-channel));text-underline-offset:.16em;text-decoration:underline}.app-build-id{right:max(var(--space-2), env(safe-area-inset-right));bottom:max(var(--space-1), env(safe-area-inset-bottom));z-index:1;color:var(--color-ink-soft);font-family:var(--font-family);font-size:var(--font-size-label);font-variant-numeric:tabular-nums;opacity:.7;pointer-events:none;margin:0;line-height:1;position:fixed}.learn-screen{--learn-step-size:clamp(30px, 8.8vw, 52px);--learn-step-gap:clamp(4px, 1vw, 7px);--learn-lane-label-width:clamp(2rem, 7vw, 2.65rem);--learn-rhythm-track-inset:clamp(6px, 1.4vw, 10px);--learn-grid-padding:clamp(10px, 2.4vw, 16px);--learn-brick-inset:clamp(3px, .9vw, 5px);--learn-block-radius:8px;--learn-active-index:0;--learn-visual-rows:2;--learn-step-track-width:calc((var(--learn-step-size) * 8) + (var(--learn-step-gap) * 7));--learn-rhythm-surface-width:calc(var(--learn-lane-label-width) + var(--learn-step-gap) + var(--learn-step-track-width) + (var(--learn-rhythm-track-inset) * 2));--learn-pattern-width:var(--learn-rhythm-surface-width);background:radial-gradient(circle at 20% 20%, rgb(var(--workbench-amber) / .13) 0 1px, transparent 1px 6px), linear-gradient(180deg, rgb(var(--workbench-paper)), rgb(var(--color-bg-desk-channel)));width:100%;min-height:100svh;color:rgb(var(--foreground));overflow:clip auto}.learn-shell{--learn-step-track-width:calc((var(--learn-step-size) * 8) + (var(--learn-step-gap) * 7));--learn-rhythm-surface-width:calc(var(--learn-lane-label-width) + var(--learn-step-gap) + var(--learn-step-track-width) + (var(--learn-rhythm-track-inset) * 2));--learn-pattern-width:var(--learn-rhythm-surface-width);--learn-grid-surface-width:calc(var(--learn-lane-label-width) + var(--learn-step-gap) + var(--learn-step-track-width) + (var(--learn-grid-padding) * 2));--learn-task-width:min(100%, max(var(--learn-pattern-width), var(--learn-grid-surface-width)));width:min(100%,58rem);min-height:100dvh;min-height:var(--app-viewport-height);padding:max(.82rem, env(safe-area-inset-top)) clamp(1rem, 4vw, 3.5rem) max(2.8rem, calc(2rem + env(safe-area-inset-bottom)));align-content:stretch;gap:clamp(.55rem,1.45svh,.95rem);margin:0 auto;display:grid;position:relative}.learn-listen-shell,.learn-complete-shell{width:min(100%,50rem)}.learn-play-shell{width:min(100%,62rem)}.learn-play-shell>.learn-match-card,.learn-play-shell>.learn-layer-card,.learn-play-shell>.learn-fixed-action-bar{width:var(--learn-task-width);justify-self:center}.learn-fixed-action-bar{width:min(calc(100vw - 2rem), var(--learn-task-width));z-index:1;place-self:start center;position:static;bottom:auto;left:auto;transform:none}.learn-screen[data-learn-screen=foundation] .learn-foundation-shell{grid-template:"back""header"minmax(6.2rem,6.2rem)"cue"minmax(5.25rem,5.25rem)"workbench"minmax(0,1fr)"actions"/minmax(0,1fr);place-items:start center}.learn-screen[data-learn-screen=listen] .learn-listen-shell{grid-template:"back""header"minmax(4.6rem,auto)"cue"minmax(4.2rem,4.2rem)"workbench"minmax(0,1fr)"actions"/minmax(0,1fr);place-items:start center}.learn-screen[data-learn-screen=play] .learn-play-shell{grid-template:"back""header"minmax(4.55rem,auto)"cue"minmax(4.2rem,4.2rem)"workbench"minmax(0,1fr)"actions"/minmax(0,1fr);place-items:start center}@media (height>=800px){.learn-screen[data-learn-screen=play] .learn-play-shell{grid-template-rows:auto minmax(4.55rem,auto) minmax(4.2rem,4.2rem) minmax(0,1fr) auto}}.learn-screen[data-learn-screen=foundation] .learn-back-button,.learn-screen[data-learn-screen=listen] .learn-back-button,.learn-screen[data-learn-screen=play] .learn-play-shell>.learn-back-button{grid-area:back;justify-self:start}.learn-screen[data-learn-screen=foundation] .learn-play-header,.learn-screen[data-learn-screen=listen] .learn-page-header,.learn-screen[data-learn-screen=play] .learn-play-header{grid-area:header;align-self:center}.learn-screen[data-learn-screen=foundation] .learn-foundation-grid,.learn-screen[data-learn-screen=listen] .learn-pattern,.learn-screen[data-learn-screen=play] .learn-placement-grid{grid-area:workbench;align-self:center}.learn-screen[data-learn-screen=play] .learn-placement-grid{transform:translateY(calc(1.95rem + 26px))}@media (height<=760px){.learn-screen[data-learn-screen=play] .learn-placement-grid{transform:translateY(calc(.5rem + 26px))}}.learn-screen[data-learn-screen=foundation] .learn-below-grid-cue,.learn-screen[data-learn-screen=listen] .learn-below-grid-cue{grid-area:cue}.learn-screen[data-learn-screen=play] .learn-match-card{z-index:2;grid-area:score;position:absolute;top:clamp(7.1rem,18svh,10.2rem);left:50%;transform:translate(-50%)}.learn-screen[data-learn-screen=play] .learn-layer-card{z-index:2;grid-area:layer;position:absolute;top:clamp(11.65rem,28svh,15.5rem);left:50%;transform:translate(-50%)}.learn-screen[data-learn-screen=foundation] .learn-fixed-action-bar,.learn-screen[data-learn-screen=listen] .learn-fixed-action-bar,.learn-screen[data-learn-screen=play] .learn-fixed-action-bar{grid-area:actions}.learn-fixed-action-bar-inner{border:1px solid rgb(var(--workbench-rail) / .12);background:rgb(var(--surface-strong) / .96);box-shadow:0 10px 30px rgb(var(--workbench-rail) / .14), 0 1px 0 rgb(var(--color-on-ink-channel) / .42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;gap:.5rem;padding:.6rem;display:grid}.learn-fixed-action-bar .learn-action-row{flex-wrap:wrap;gap:.58rem;display:flex}.learn-fixed-action-bar .learn-primary-button,.learn-fixed-action-bar .learn-secondary-button{flex:11rem}.learn-fixed-action-bar .learn-play-actions,.learn-play-actions{gap:.5rem;display:grid}.learn-action-dock-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;width:100%;display:grid}.learn-assist-action-row{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.learn-action-dock-row>button{width:100%;min-width:0}.learn-action-button-hidden{visibility:hidden;pointer-events:none}.learn-back-button,.learn-guide-toggle,.learn-primary-button,.learn-secondary-button,.learn-cue-action,.learn-level-card,.learn-grid-cell,.learn-inline-confirmation button{transition:transform .12s,background-color .14s,box-shadow .14s,opacity .14s}.learn-back-button,.learn-guide-toggle,.learn-primary-button,.learn-secondary-button,.learn-cue-action,.learn-inline-confirmation button{min-height:44px}.learn-back-button,.learn-guide-toggle{border:1px solid rgb(var(--workbench-rail) / .15);background:rgb(var(--surface-strong) / .96);width:fit-content;max-width:100%;color:rgb(var(--workbench-rail) / .78);box-shadow:var(--shadow-surface);border-radius:999px;align-items:center;gap:.42rem;padding:.48rem .78rem;font-size:.88rem;font-weight:860;line-height:1;display:inline-flex}.learn-back-button:not(:disabled):active,.learn-guide-toggle:not(:disabled):active,.learn-primary-button:not(:disabled):active,.learn-secondary-button:not(:disabled):active,.learn-cue-action:not(:disabled):active,.learn-level-card:not(:disabled):active,.learn-grid-cell:not(:disabled):active{transform:scale(.96)}.learn-page-header{text-align:center;gap:.28rem;display:grid}.learn-page-header h1,.learn-complete-shell>h1{color:rgb(var(--workbench-rail));letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(2rem,7vw,4.3rem);font-weight:850;line-height:.98}.learn-page-header p,.learn-listen-prompt,.learn-insight-card p{color:rgb(var(--workbench-rail) / .7);text-wrap:pretty;margin:0;font-size:clamp(.95rem,2.6vw,1.08rem);font-weight:720;line-height:1.32}.learn-kicker{text-transform:uppercase;color:rgb(var(--workbench-olive))!important;font-size:clamp(.78rem,2.4vw,.9rem)!important;font-weight:950!important;line-height:1!important}.learn-screen[data-learn-screen=foundation] .learn-play-header{align-content:center;width:min(100%,44rem);min-height:6.2rem}.learn-onboarding-dialog .learn-pattern{--learn-pattern-max-width:min(100%, 26rem)}.learn-level-list{gap:.75rem;display:grid}.learn-level-card{border:1px solid rgb(var(--workbench-rail) / .14);background:rgb(var(--surface-strong) / .97);min-width:0;min-height:76px;color:rgb(var(--workbench-rail));box-shadow:0 0 0 1px rgb(var(--color-on-ink-channel) / .42), var(--shadow-surface);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main state""dots state";align-items:center;gap:.58rem .9rem;padding:clamp(.86rem,2vw,1rem);display:grid}.learn-level-card:not(:disabled):hover{background:rgb(var(--surface-strong));box-shadow:0 0 0 1px rgb(var(--color-on-ink-channel) / .42), 0 9px 22px rgb(var(--workbench-rail) / .11)}.learn-level-card-locked{cursor:not-allowed;opacity:.62}.learn-level-main{grid-area:main;gap:.12rem;min-width:0;display:grid}.learn-level-main strong{text-wrap:balance;font-size:clamp(1.05rem,3vw,1.28rem);font-weight:950;line-height:1.08}.learn-level-state{color:rgb(var(--workbench-rail) / .66);font-size:.86rem;font-weight:760;line-height:1.16}.learn-sound-dot-row{grid-area:dots;align-items:center;gap:.32rem;display:inline-flex}.sound-mark,.learn-sound-dot,.learn-pattern-sound,.learn-sound-letter{border:1.5px solid rgb(var(--workbench-rail));color:rgb(var(--foreground));place-items:center;font-weight:950;line-height:1;display:inline-grid}.learn-sound-dot{border-radius:7px;width:1.65rem;height:1.65rem;font-size:.75rem}.learn-lane-mark{width:clamp(1.55rem,5.2vw,1.9rem);height:clamp(1.55rem,5.2vw,1.9rem);box-shadow:0 2px 0 rgb(var(--workbench-rail) / .14);border-radius:7px;font-size:clamp(.72rem,2vw,.82rem)}.learn-level-state{background:rgb(var(--surface-muted));border-radius:999px;grid-area:state;place-self:center end;padding:.28rem .56rem;font-weight:900}.learn-pattern[data-answer-visible=false] .learn-pattern-cell{background-color:rgb(var(--workbench-paper) / .8);background-image:radial-gradient(circle, rgb(var(--workbench-rail) / .16) 0 2px, transparent 2px)}.learn-pattern[data-answer-visible=false] .learn-pattern-cell-active-hit{box-shadow:inset 0 0 0 2px rgb(var(--workbench-amber) / .42), 0 0 0 1px rgb(var(--workbench-rail) / .08)}.learn-pattern{min-width:0;width:min(100%, var(--learn-pattern-max-width,var(--learn-pattern-width)));box-shadow:none;background:0 0;border-radius:0;justify-self:center;gap:.42rem;padding:0;display:grid}.learn-rhythm-matrix{box-sizing:border-box;width:var(--learn-rhythm-surface-width);grid-template-columns:var(--learn-lane-label-width) repeat(8, var(--learn-step-size));grid-auto-rows:var(--learn-step-size);gap:var(--learn-step-gap);border-radius:calc(var(--learn-block-radius) + var(--learn-rhythm-track-inset));padding:var(--learn-rhythm-track-inset);box-shadow:none;background:0 0;justify-content:start;display:grid;position:relative}.learn-lane-label{min-width:0;height:var(--learn-step-size);color:rgb(var(--workbench-rail) / .72);text-align:right;white-space:nowrap;justify-content:center;align-items:center;font-size:clamp(.72rem,2vw,.86rem);font-weight:950;line-height:1;display:inline-flex}.learn-lane-label-cued{animation:.72s ease-in-out infinite alternate learn-cue-pulse;color:rgb(var(--workbench-rail))!important}.learn-lane-label-cued .learn-lane-mark{box-shadow:0 0 0 3px rgb(var(--workbench-amber) / .28), 0 2px 0 rgb(var(--workbench-rail) / .14)}.learn-rhythm-active-column{top:var(--learn-rhythm-track-inset);bottom:var(--learn-rhythm-track-inset);left:calc(var(--learn-rhythm-track-inset) + var(--learn-lane-label-width) + var(--learn-step-gap) + (var(--learn-active-index) * (var(--learn-step-size) + var(--learn-step-gap))));width:var(--learn-step-size);border-radius:var(--learn-block-radius);background:rgb(var(--workbench-amber) / .13);opacity:1;z-index:0;pointer-events:none;transition:left .12s linear,opacity .12s;position:absolute}.learn-pattern[data-active-step=""] .learn-rhythm-active-column,.learn-placement-grid[data-active-step=""] .learn-rhythm-active-column{opacity:0}.learn-pattern-cell{box-sizing:border-box;z-index:1;width:var(--learn-step-size);height:var(--learn-step-size);border:1px solid rgb(var(--workbench-rail) / .12);border-radius:var(--learn-block-radius);background:rgb(var(--workbench-paper) / .86);place-items:center;display:grid;position:relative;overflow:visible}.learn-pattern-cell-active-hit .learn-pattern-brick{opacity:1;box-shadow:inset 0 1px 0 rgb(var(--color-on-ink-channel) / .3), 0 0 0 3px rgb(var(--workbench-amber) / .26), 0 0 14px rgb(var(--workbench-amber) / .24);transform:translateY(-1px)}.learn-pattern-brick{box-sizing:border-box;width:calc(var(--learn-step-size) - (var(--learn-brick-inset) * 2));height:calc(var(--learn-step-size) - (var(--learn-brick-inset) * 2));border:1.5px solid rgb(var(--workbench-rail) / .5);border-radius:max(5px, calc(var(--learn-block-radius) - 2px));color:rgb(var(--foreground));box-shadow:inset 0 1px 0 rgb(var(--color-on-ink-channel) / .24);place-items:center;font-size:clamp(.55rem,1.8vw,.78rem);font-weight:950;line-height:1;display:grid}.learn-target-brick{background-image:linear-gradient(135deg, rgb(var(--color-on-ink-channel) / .24), transparent 58%);box-shadow:inset 0 1px 0 rgb(var(--color-on-ink-channel) / .3), 0 0 0 2px rgb(var(--workbench-surface) / .5);opacity:.82;border-style:solid}.learn-below-grid-cue{width:var(--learn-task-width);align-content:center;place-self:center;justify-items:center;gap:.48rem;min-height:5.25rem;display:grid}.learn-cue-action{border:1px solid rgb(var(--workbench-rail) / .18);background:rgb(var(--surface-strong) / .94);min-width:min(100%,12.5rem);color:rgb(var(--workbench-rail));box-shadow:0 1px 0 rgb(var(--color-on-ink-channel) / .36), 0 8px 20px rgb(var(--workbench-rail) / .08);text-align:center;border-radius:999px;padding:.7rem 1.05rem;font-size:clamp(.92rem,2.7vw,1rem);font-weight:920;line-height:1}.learn-foundation-cue-region[data-cue-mode=complete] .learn-cue-action{border-color:rgb(var(--workbench-rail) / .92);background:rgb(var(--workbench-rail));color:rgb(var(--color-on-ink-channel))}.learn-action-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.learn-primary-button,.learn-secondary-button,.learn-inline-confirmation button{text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;padding:.68rem 1rem;font-size:.94rem;font-weight:900;line-height:1;display:inline-flex}.learn-primary-button{background:rgb(var(--workbench-rail));color:rgb(var(--color-on-ink-channel));box-shadow:0 1px 0 rgb(var(--workbench-rail) / .12), 0 8px 18px rgb(var(--workbench-rail) / .08);border:0}.learn-secondary-button,.learn-inline-confirmation button{border:1px solid rgb(var(--workbench-rail) / .16);background:rgb(var(--surface-muted));color:rgb(var(--workbench-rail));box-shadow:0 1px 0 rgb(var(--workbench-rail) / .08), 0 6px 14px rgb(var(--workbench-rail) / .04)}.learn-source-button-selected{border-color:rgb(var(--workbench-rail) / .32);background:rgb(var(--workbench-amber) / .24);box-shadow:0 0 0 2px rgb(var(--workbench-rail) / .12), 0 2px 0 rgb(var(--workbench-rail) / .1)}.learn-primary-button:disabled,.learn-secondary-button:disabled{cursor:not-allowed;transform:none}.learn-primary-button:disabled{background:rgb(var(--workbench-rail) / .52);color:rgb(var(--color-on-ink-channel) / .92);box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .12), 0 6px 14px rgb(var(--workbench-rail) / .04);opacity:1}.learn-secondary-button:disabled{opacity:.55}.learn-screen{--accent:var(--color-line-soft-channel);--accent-foreground:var(--color-ink-channel)}.learn-screen .learn-primary-button:disabled{background:rgb(var(--workbench-rail) / .34);color:rgb(var(--color-on-ink-channel) / .96);box-shadow:none;opacity:1}.learn-screen .learn-secondary-button:disabled,.learn-screen .learn-cue-action:disabled{background:rgb(var(--workbench-rail) / .05);color:rgb(var(--workbench-rail) / .5);border-color:rgb(var(--workbench-rail) / .16);opacity:1}.learn-match-card,.learn-insight-card,.learn-inline-confirmation{background:rgb(var(--surface-strong) / .97);min-width:0;box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .1), var(--shadow-surface);border-radius:8px;gap:.45rem;padding:clamp(.9rem,2.4vw,1.15rem);display:grid}.learn-match-card span{color:rgb(var(--workbench-rail) / .6);text-transform:uppercase;font-size:.78rem;font-weight:950;line-height:1}.learn-match-card strong{color:rgb(var(--workbench-rail));font-variant-numeric:tabular-nums;font-size:clamp(3rem,11vw,5.8rem);font-weight:760;line-height:.86;animation:.18s ease-out both match-score-pop}.learn-feedback-chip-row{flex-wrap:wrap;gap:.34rem;display:flex}.learn-feedback-chip{background:rgb(var(--workbench-paper) / .9);min-height:1.7rem;color:rgb(var(--workbench-rail) / .72);text-transform:none;border-radius:999px;align-items:center;padding:.28rem .52rem;font-size:.72rem;font-weight:920;line-height:1;display:inline-flex}.learn-match-card p{color:rgb(var(--workbench-rail) / .72);text-wrap:pretty;margin:0;font-size:clamp(.92rem,2.5vw,1.04rem);font-weight:760;line-height:1.26}.learn-play-shell>.learn-match-card{border-radius:16px;grid-template:"score""feedback"/minmax(0,1fr);align-content:center;gap:.22rem;width:min(100%,24rem);min-height:4.35rem;padding:clamp(.58rem,1.6vw,.75rem) clamp(.85rem,2.2vw,1.05rem)}.learn-play-shell .learn-score-row{grid-area:score;align-items:center}.learn-play-shell .learn-primary-feedback{grid-area:feedback}.learn-play-shell .learn-match-card strong{font-size:clamp(1.45rem,5.2vw,2.2rem);line-height:1}.learn-play-shell .learn-match-card p{min-height:1.1rem;font-size:clamp(.72rem,2vw,.84rem);font-weight:820;line-height:1.08;display:block}.learn-play-shell .learn-primary-feedback[data-feedback-visible=false]{visibility:hidden}.learn-layer-card{background:rgb(var(--surface-strong) / .97);min-width:0;box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .1), 0 7px 16px rgb(var(--workbench-rail) / .07);border-radius:8px;gap:.5rem;padding:clamp(.58rem,1.7vw,.78rem);display:grid}.learn-layer-card p{color:rgb(var(--workbench-rail) / .76);text-align:center;text-wrap:balance;margin:0;font-size:clamp(.78rem,2.1vw,.92rem);font-weight:840;line-height:1.12}.learn-layer-chip-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.learn-layer-chip{border:1px solid rgb(var(--workbench-rail) / .16);background:rgb(var(--surface-muted));min-width:0;min-height:44px;color:rgb(var(--workbench-rail));box-shadow:0 2px 0 rgb(var(--workbench-rail) / .1);border-radius:8px;padding:.52rem .42rem;font-size:clamp(.76rem,2vw,.88rem);font-weight:920;line-height:1}.learn-foundation-shell{width:min(100%,52rem)}.learn-foundation-progress{width:var(--learn-task-width);justify-content:center;justify-self:center;gap:.42rem;margin:0;padding:0;list-style:none;display:flex}.learn-foundation-progress li{border:1px solid rgb(var(--workbench-rail) / .16);background:rgb(var(--surface-muted));width:2rem;height:2rem;color:rgb(var(--workbench-rail) / .72);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;font-size:.82rem;font-weight:940;line-height:1;display:grid}.learn-foundation-progress li[data-state=active]{background:rgb(var(--workbench-rail));color:rgb(var(--color-on-ink-channel));box-shadow:0 0 0 3px rgb(var(--workbench-amber) / .22)}.learn-foundation-progress li[data-state=complete]{border-color:rgb(var(--workbench-olive) / .42);background:rgb(var(--workbench-olive) / .16);color:rgb(var(--workbench-rail))}.learn-foundation-grid{margin-bottom:0}.learn-foundation-cell{color:rgb(var(--workbench-rail))}.learn-foundation-cell:disabled{cursor:default;opacity:1}.learn-foundation-cell-ghost{cursor:pointer;border:2px dashed rgb(var(--workbench-rail) / .5);color:rgb(var(--workbench-rail));opacity:.72;box-shadow:inset 0 1px 0 rgb(var(--color-on-ink-channel) / .3), 0 0 0 3px rgb(var(--workbench-rail) / .08)}.learn-foundation-cell-placed{opacity:1;color:rgb(var(--workbench-rail));box-shadow:inset 0 1px 0 rgb(var(--color-on-ink-channel) / .3), 0 0 0 2px rgb(var(--workbench-rail) / .16)}.learn-layer-chip-selected{border-color:rgb(var(--workbench-rail) / .32);background:rgb(var(--workbench-amber) / .3);box-shadow:0 0 0 2px rgb(var(--workbench-rail) / .1), 0 2px 0 rgb(var(--workbench-rail) / .1)}.learn-onboarding-lane .sound-mark{border-radius:7px;width:1.55rem;height:1.55rem;font-size:.72rem}@keyframes learn-cue-pulse{0%{opacity:.78}to{opacity:1}}@keyframes learn-bounce-cue{0%,to{box-shadow:0 1px 0 rgb(var(--color-on-ink-channel) / .36), 0 8px 20px rgb(var(--workbench-rail) / .08), 0 0 0 0 rgb(var(--workbench-amber) / 0)}50%{box-shadow:0 1px 0 rgb(var(--color-on-ink-channel) / .36), 0 10px 22px rgb(var(--workbench-rail) / .1), 0 0 0 4px rgb(var(--workbench-amber) / .16)}}@keyframes learn-hint-cell-pulse{0%{box-shadow:inset 0 0 0 1px rgb(var(--workbench-rail) / .12), 0 0 0 1px rgb(var(--learn-hint-color) / .12), 0 0 0 rgb(var(--learn-hint-color) / 0)}to{box-shadow:inset 0 0 0 1px rgb(var(--workbench-rail) / .12), 0 0 0 3px rgb(var(--learn-hint-color) / .18), 0 0 18px rgb(var(--learn-hint-color) / .16)}}@keyframes match-score-pop{0%{opacity:.72;transform:translateY(2px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.learn-placement-grid{--learn-rhythm-track-inset:var(--learn-grid-padding);--learn-rhythm-surface-width:var(--learn-grid-surface-width);width:min(100%, var(--learn-grid-surface-width));box-shadow:none;background:0 0;border-radius:0;justify-self:center;gap:.28rem;padding:0;display:grid}.learn-placement-matrix{width:var(--learn-grid-surface-width)}.learn-grid-cell{width:var(--learn-step-size);height:var(--learn-step-size);border:1px solid rgb(var(--workbench-rail) / .16);border-radius:var(--learn-block-radius);background:rgb(var(--workbench-paper) / .82);color:rgb(var(--foreground));z-index:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent;place-items:center;font-size:clamp(.82rem,3.2vw,1rem);font-weight:950;line-height:1;display:grid;position:relative}.learn-grid-cell-filled{border:2px solid rgb(var(--workbench-rail));background-image:linear-gradient(180deg, rgb(var(--color-on-ink-channel) / .16), transparent 62%);box-shadow:inset 0 1px 0 rgb(var(--color-on-ink-channel) / .28)}.learn-grid-cell-scaffolded{cursor:default;background:repeating-linear-gradient(135deg, rgb(var(--color-on-ink-channel) / .18) 0 4px, transparent 4px 8px), rgb(var(--workbench-paper) / .92);color:rgb(var(--workbench-rail) / .78);border-style:dashed}.learn-grid-cell-has-hint{--learn-hint-color:var(--workbench-amber);border-color:rgb(var(--learn-hint-color) / .58);background:linear-gradient(135deg, rgb(var(--color-on-ink-channel) / .38), transparent 58%), rgb(var(--learn-hint-color) / .16);box-shadow:inset 0 0 0 1px rgb(var(--workbench-rail) / .12), 0 0 0 3px rgb(var(--learn-hint-color) / .18), 0 0 18px rgb(var(--learn-hint-color) / .16);animation:.68s ease-out learn-hint-cell-pulse}.learn-grid-cell-has-hint[data-lane-sound=Kick],.learn-grid-cell-has-hint[data-lane-sound=Snare],.learn-grid-cell-has-hint[data-lane-sound=HiHat]{--learn-hint-color:var(--color-ink-channel)}.learn-grid-cell-cued{background:linear-gradient(135deg, rgb(var(--color-on-ink-channel) / .34), transparent 58%), rgb(var(--workbench-paper) / .92);box-shadow:inset 0 0 0 2px rgb(var(--workbench-amber) / .62), 0 0 0 3px rgb(var(--workbench-amber) / .18), 0 0 12px rgb(var(--workbench-amber) / .16);animation:.72s ease-in-out infinite alternate learn-cue-pulse}.learn-placement-grid-complete .learn-grid-cell-filled{box-shadow:inset 0 1px 0 rgb(var(--color-on-ink-channel) / .3), 0 0 0 2px rgb(var(--workbench-olive) / .22)}.learn-hint-ghost{--learn-hint-color:var(--workbench-amber);inset:var(--learn-brick-inset);z-index:3;border:2px dashed rgb(var(--learn-hint-color) / .9);border-radius:max(5px, calc(var(--learn-block-radius) - 2px));background:rgb(var(--learn-hint-color) / .14);color:rgb(var(--workbench-rail));opacity:.96;pointer-events:none;box-shadow:0 0 0 3px rgb(var(--learn-hint-color) / .12), 0 0 16px rgb(var(--learn-hint-color) / .2);place-items:center;font-size:clamp(.56rem,2.2vw,.78rem);font-weight:950;line-height:1;display:grid;position:absolute}.learn-hint-ghost-kick,.learn-hint-ghost-snare,.learn-hint-ghost-hihat{--learn-hint-color:var(--color-ink-channel)}.learn-stack-indicator{z-index:4;border:1px solid rgb(var(--workbench-rail));background:rgb(var(--workbench-amber));min-width:1rem;height:1rem;color:rgb(var(--workbench-rail));box-shadow:0 1px 2px rgb(var(--workbench-rail) / .18);border-radius:999px;place-items:center;font-size:.58rem;font-weight:950;line-height:1;display:grid;position:absolute;top:-.24rem;right:-.24rem}.learn-grid-cell-focused{box-shadow:0 0 0 3px rgb(var(--workbench-rail) / .4), inset 0 1px 0 rgb(var(--color-on-ink-channel) / .24)}.learn-placement-grid:focus-visible,.learn-grid-cell:focus-visible,.learn-onboarding-cell:focus-visible,.learn-back-button:focus-visible,.learn-guide-toggle:focus-visible,.learn-layer-chip:focus-visible,.learn-primary-button:focus-visible,.learn-secondary-button:focus-visible,.learn-cue-action:focus-visible,.learn-level-card:focus-visible,.learn-inline-confirmation button:focus-visible{outline:3px solid rgb(var(--ring) / .72);outline-offset:4px}.learn-insight-card h2{color:rgb(var(--workbench-rail));text-wrap:balance;margin:0;font-size:clamp(1rem,3vw,1.22rem);font-weight:950;line-height:1.05}[data-testid=learn-exit-dialog] button{min-height:44px}[data-testid=learn-exit-dialog][data-state=open]{animation:.16s ease-out both learn-dialog-fade-in!important}@keyframes learn-dialog-fade-in{0%{opacity:0}to{opacity:1}}.learn-comparison{--learn-comparison-label-width:clamp(5.4rem, 19vw, 7.4rem);--learn-comparison-step-size:clamp(24px, min(7vw, 4.2svh), 36px);--learn-comparison-step-gap:clamp(3px, .8vw, 5px);--learn-comparison-track-width:calc((var(--learn-comparison-step-size) * 8) + (var(--learn-comparison-step-gap) * 7));--learn-comparison-surface-width:calc(var(--learn-comparison-track-width) + (var(--learn-rhythm-track-inset) * 2));background:rgb(var(--surface-strong) / .97);box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .1), 0 8px 20px rgb(var(--workbench-rail) / .08);overscroll-behavior-inline:contain;border-radius:8px;gap:.72rem;padding:clamp(.78rem,2.2vw,1rem);display:grid;overflow-x:auto}.learn-comparison-axis,.learn-comparison-lane{grid-template-columns:var(--learn-comparison-label-width) var(--learn-comparison-surface-width);align-items:center;gap:.58rem;width:max-content;min-width:0;display:grid}.learn-comparison-group{gap:.35rem;display:grid}.learn-comparison-section{gap:.45rem;display:grid}.learn-comparison-section-heading{color:rgb(var(--workbench-rail));margin:0;font-size:.86rem;font-weight:920;line-height:1}.learn-comparison-lane-label{color:rgb(var(--workbench-rail) / .68);text-align:right;text-wrap:balance;font-size:.78rem;font-weight:920;line-height:1.05}.learn-comparison-step-track{box-sizing:border-box;width:var(--learn-comparison-surface-width);grid-template-columns:repeat(8, var(--learn-comparison-step-size));gap:var(--learn-comparison-step-gap);padding:0;display:grid}.learn-comparison-cell{box-sizing:border-box;width:var(--learn-comparison-step-size);height:var(--learn-comparison-step-size);border:1px solid rgb(var(--workbench-rail) / .12);border-radius:var(--learn-block-radius);background:rgb(var(--workbench-paper) / .72);place-items:center;display:grid}.learn-comparison-brick{box-sizing:border-box;width:calc(var(--learn-comparison-step-size) - (var(--learn-brick-inset) * 2));height:calc(var(--learn-comparison-step-size) - (var(--learn-brick-inset) * 2));border:1px solid rgb(var(--workbench-rail) / .34);border-radius:max(5px, calc(var(--learn-block-radius) - 2px));color:rgb(var(--foreground));box-shadow:inset 0 1px 0 rgb(var(--color-on-ink-channel) / .18);place-items:center;font-size:clamp(.54rem,1.8vw,.76rem);font-weight:950;line-height:1;display:grid}.learn-complete-score strong{font-size:clamp(2.4rem,9vw,4.4rem)}.learn-final-shell{align-content:center;width:min(100%,46rem)}.learn-final-card{background:rgb(var(--surface-strong) / .97);box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .1), 0 12px 30px rgb(var(--workbench-rail) / .1);border-radius:8px;gap:1rem;padding:clamp(1.1rem,4vw,1.6rem);display:grid}.learn-final-card h1,.learn-final-card p{margin:0}.learn-final-card h1{color:rgb(var(--workbench-rail));letter-spacing:0;text-wrap:balance;font-size:clamp(2rem,7vw,4.2rem);font-weight:850;line-height:.98}.learn-final-card p:not(.learn-kicker){max-width:36rem;color:rgb(var(--workbench-rail) / .72);text-wrap:pretty;font-size:clamp(1rem,2.8vw,1.16rem);font-weight:760;line-height:1.32}@media (prefers-reduced-motion:reduce){.learn-bounce-cue,.learn-match-card strong,.learn-grid-cell-placed,.learn-grid-cell-removed,.learn-grid-cell-rejected,.learn-grid-cell-has-hint{transition-duration:0s;animation:none;transform:none}}@media (width>=1200px) and (height>=760px){.learn-screen[data-learn-screen=foundation] .learn-fixed-action-bar{width:var(--learn-task-width);justify-self:center;position:static;bottom:auto;left:auto;transform:none}.learn-screen[data-learn-screen=foundation] .learn-foundation-shell{grid-template:"back""header"minmax(6.2rem,6.2rem)"cue"minmax(5.25rem,5.25rem)"workbench"minmax(0,1fr)"actions"/minmax(0,1fr);align-content:stretch;justify-items:center}.learn-screen[data-learn-screen=foundation] .learn-back-button{grid-area:back;justify-self:start}.learn-screen[data-learn-screen=foundation] .learn-play-header{grid-area:header}.learn-screen[data-learn-screen=foundation] .learn-foundation-progress{grid-area:auto}.learn-screen[data-learn-screen=foundation] .learn-foundation-grid{grid-area:workbench}.learn-screen[data-learn-screen=foundation] .learn-fixed-action-bar{grid-area:actions}.learn-screen[data-learn-screen=foundation] .learn-below-grid-cue{grid-area:cue}.learn-screen[data-level-kind=foundation] .learn-shell{padding-top:max(1rem, env(safe-area-inset-top));padding-bottom:max(2.6rem, calc(1.8rem + env(safe-area-inset-bottom)));gap:clamp(.52rem,1svh,.82rem)}.learn-screen[data-level-kind=foundation] .learn-back-button{border-radius:999px;align-self:start;height:44px;min-height:44px;max-height:56px;padding:.48rem .78rem}.learn-screen[data-level-kind=foundation] .learn-page-header,.learn-screen[data-level-kind=foundation] .learn-play-header{gap:.18rem}.learn-screen[data-level-kind=foundation] .learn-page-header h1,.learn-screen[data-level-kind=foundation] .learn-play-header h1,.learn-screen[data-level-kind=foundation] .learn-complete-shell>h1{font-size:clamp(2.05rem,4.1vw,3.12rem);line-height:.98}.learn-screen[data-level-kind=foundation] .learn-pattern-listen{--learn-step-size:clamp(42px, 4.7svh, 50px);--learn-step-gap:8px}.learn-screen[data-learn-screen=listen][data-level-kind=foundation] .learn-listen-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"back""header""pattern""controls";align-content:start;justify-items:center;width:min(100%,54rem)}.learn-screen[data-learn-screen=listen][data-level-kind=foundation] .learn-listen-shell>.learn-back-button{grid-area:back;justify-self:start}.learn-screen[data-learn-screen=listen][data-level-kind=foundation] .learn-listen-shell>.learn-page-header{grid-area:header}.learn-screen[data-learn-screen=listen][data-level-kind=foundation] .learn-listen-shell>.learn-pattern{grid-area:pattern}.learn-screen[data-learn-screen=listen][data-level-kind=foundation] .learn-listen-shell>.learn-listen-controls{width:var(--learn-pattern-width);grid-area:controls;justify-self:center}.learn-screen[data-learn-screen=listen][data-level-kind=foundation] .learn-listen-controls .learn-action-row{justify-content:center}.learn-screen[data-learn-screen=play][data-level-kind=foundation] .learn-play-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"back""header""score""grid""playback""actions";align-content:start;justify-items:center;width:min(100%,56rem)}.learn-screen[data-learn-screen=play][data-level-kind=foundation] .learn-play-shell>.learn-back-button{justify-self:start}.learn-screen[data-learn-screen=play][data-level-kind=foundation] .learn-play-shell>.learn-match-card,.learn-screen[data-learn-screen=play][data-level-kind=foundation] .learn-play-shell>.learn-fixed-action-bar{width:var(--learn-task-width)}.learn-screen[data-learn-screen=play][data-level-kind=foundation] .learn-play-shell>.learn-match-card{max-width:var(--learn-grid-surface-width);min-height:0;padding:.62rem .76rem}.learn-screen[data-learn-screen=play][data-level-kind=foundation] .learn-play-shell .learn-match-card strong{font-size:clamp(2rem,4.6vw,2.85rem)}.learn-screen[data-learn-screen=complete][data-level-kind=foundation] .learn-complete-shell{align-content:start;gap:clamp(.58rem,1.1svh,.86rem);width:min(100%,56rem)}.learn-screen[data-learn-screen=complete][data-level-kind=foundation] .learn-complete-score strong{font-size:clamp(2.35rem,4.8vw,3.4rem)}}@media (width>=901px){:root{--cell-size:clamp(28px, min(4.25svh, 4.5vw), 48px);--cell-size-x:var(--cell-size);--cell-size-y:var(--cell-size)}.game-stage{grid-template-rows:auto minmax(0,1fr);gap:clamp(10px,1.75svh,18px)}.game-stage-header{grid-template-columns:minmax(7rem, 1fr) minmax(0, calc((var(--cell-size-x) * 16) + 14px)) minmax(7rem, 1fr);grid-template-rows:auto auto;grid-template-areas:"nav title info""nav score info";align-items:start;gap:clamp(6px,.9svh,10px) clamp(12px,2vw,28px);height:auto;min-height:clamp(12.25rem,24svh,13.7rem)}.game-nav-row{justify-self:start}.game-stage-header .game-title-block{text-align:center;justify-self:center;justify-items:center;max-width:min(100%,34rem)}.game-stage-header .game-title-row{justify-content:center}.game-stage-header .game-tagline{text-align:center}.score-stack{width:min(100%, calc((var(--cell-size-x) * 16) + 14px));-moz-column-gap:clamp(.75rem, 1.8vw, 1.15rem);grid-template:"current score-number feedback""current score-label feedback""current score-delta feedback""complete complete complete"minmax(2.1rem,auto)/minmax(0,1fr) minmax(5.8rem,auto) minmax(0,1fr);justify-self:center;place-items:center;gap:clamp(2px,.45svh,5px) clamp(.75rem,1.8vw,1.15rem);min-height:8.85rem;overflow:visible}.score-number{grid-area:score-number;align-self:end;font-size:clamp(3.1rem,6.8svh,4.55rem)}.score-label{grid-area:score-label;align-self:center}.score-delta{grid-area:score-delta;align-self:start}.score-status-stack{display:contents}.current-brick-pill{grid-area:current;align-self:center;width:100%;min-width:0;padding-block:.3rem}.score-feedback{grid-area:feedback;place-self:center stretch;width:min(100%,clamp(11.25rem,20vw,18rem));min-width:0;min-height:3.72rem;max-height:3.72rem;padding:.42rem .58rem}.score-feedback-tag{font-size:clamp(.78rem,1.18svh,.9rem);line-height:1.08}.score-feedback-copy,.placement-coach{font-size:clamp(.68rem,1.04svh,.78rem);line-height:1.18}.score-complete-status{border-radius:12px;grid-area:complete;place-self:center;width:min(100%,24rem);padding:.42rem .68rem;line-height:1.16}.unlock-notice-layer{top:calc(100% + .35rem)}.info-anchor{gap:.52rem}.guide-button,.refresh-button,.info-button{box-shadow:0 7px 18px rgb(var(--foreground) / .09)}.game-stage-body{gap:clamp(10px,1.7svh,16px)}.board-frame{filter:drop-shadow(0 12px 24px rgb(var(--workbench-rail) / .06))}.startup-stage{grid-template-rows:minmax(7rem,20svh) minmax(4.2rem,12svh) minmax(14rem,1fr) minmax(4rem,12svh);align-content:stretch;gap:0}.startup-content{align-items:center}.startup-mode-panel{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;width:min(100%,44rem)}.startup-mode-card-secondary{min-height:9.5rem}.learn-play-shell{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"back.guide-toggle""header header header"".cue."".workbench.""actions actions actions";align-items:start}.learn-play-shell>.learn-back-button,.learn-play-shell>.learn-inline-confirmation{grid-area:back}.learn-play-shell>.learn-guide-toggle{grid-area:guide-toggle;justify-self:end}.learn-play-shell>.learn-match-card{grid-area:score}.learn-layer-card{grid-area:layer;justify-self:center}.learn-play-header{grid-area:header}.learn-placement-grid{grid-area:workbench;justify-self:center}.learn-placement-notice{grid-area:notice}.learn-play-shell>.learn-fixed-action-bar{grid-area:actions}.learn-playback-status{grid-area:playback}}@media (width>=1200px) and (height>=760px){.learn-screen[data-learn-screen=play][data-level-kind=level] .learn-play-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"back""header""cue""workbench""actions";justify-content:center;align-items:start;row-gap:clamp(.7rem,1.6svh,1rem);width:min(100%,62rem)}.learn-screen[data-learn-screen=play][data-level-kind=level] .learn-play-shell>.learn-back-button{justify-self:start}.learn-screen[data-learn-screen=play][data-level-kind=level] .learn-play-shell>.learn-match-card,.learn-screen[data-learn-screen=play][data-level-kind=level] .learn-play-shell>.learn-layer-card,.learn-screen[data-learn-screen=play][data-level-kind=level] .learn-play-shell>.learn-fixed-action-bar{width:var(--learn-task-width);justify-self:center}.learn-screen[data-learn-screen=play][data-level-kind=level] .learn-play-shell>.learn-placement-grid{grid-area:workbench;align-self:center;margin-top:0}}@media (width<=900px){:root{--cell-size:clamp(16px, min(3.9svh, 5.2vw), 38px);--cell-size-x:var(--cell-size);--cell-size-y:var(--cell-size)}.game-screen{overflow:auto}.game-stage{min-height:100dvh;min-height:var(--app-viewport-height);padding-top:max(10px, env(safe-area-inset-top));padding-bottom:max(10px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr);gap:clamp(8px,1.3svh,12px)}.game-stage-header{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"nav title info""score score score";align-items:center;min-height:0;overflow:visible}.game-screen-touch .game-stage-header{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"nav title info""score score score";align-items:center}.game-title{font-size:clamp(1.18rem,5.8vw,1.72rem)}.game-screen-touch .game-title{text-align:center;width:100%;max-width:20rem;font-size:clamp(.98rem,3.8vw,1.24rem);line-height:1.08}.game-title-row,.game-screen-touch .game-title-row,.startup-screen-touch .game-title-row{justify-content:center}.web-experiment-badge{min-height:1.42rem;padding:.18rem .48rem;font-size:clamp(.66rem,2.4vw,.76rem)}.game-title-block{gap:.2rem;max-width:min(100%,16.5rem)}.game-stage-header .game-title-block{text-align:center;grid-area:title;justify-items:center}.game-screen-touch .game-title-block{text-align:center;justify-items:center;width:min(100%,20rem);max-width:min(100%,20rem)}.game-tagline{font-size:clamp(.72rem,2.8vw,.86rem);line-height:1.1}.game-screen-touch .game-tagline{font-size:clamp(.68rem,2.55vw,.78rem)}.desktop-hint{display:none}.startup-goal-copy{max-width:min(100%,23rem);font-size:clamp(.78rem,3vw,.9rem)}.score-stack{width:min(100%, calc((var(--cell-size-x) * 16) + 14px));border:1px solid rgb(var(--workbench-rail) / .12);background:rgb(var(--workbench-surface) / .82);min-height:5.6rem;box-shadow:0 0 0 1px rgb(var(--color-on-ink-channel) / .28), 0 6px 14px rgb(var(--workbench-rail) / .07);text-align:left;border-radius:14px;grid-area:score;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"score-number status score-delta";justify-self:center;align-items:center;gap:.34rem;padding:.38rem;display:grid}.game-screen-touch .score-stack{gap:.18rem .46rem}.game-screen-touch .score-number{font-size:clamp(1.38rem,4.5vw,1.8rem);line-height:1}.score-number{text-align:center;grid-area:score-number;min-width:2.85rem;font-size:clamp(1.45rem,4.8vw,1.9rem)}.score-label{display:none}.score-delta{grid-area:score-delta;align-self:center;min-width:2.6rem;padding:.24rem .44rem;font-size:clamp(.74rem,2.65vw,.86rem)}.score-status-stack{grid-area:status;align-content:center;justify-items:stretch;gap:.26rem;height:4.95rem;min-height:4.72rem}.current-brick-pill{text-align:left;border-radius:10px;justify-content:flex-start;align-items:center;width:100%;min-height:2.2rem;padding:.24rem .46rem;display:flex}.current-brick-token{border-radius:7px;min-width:1.65rem;min-height:1.65rem;font-size:.78rem}.current-brick-copy{gap:.04rem;display:grid}.current-brick-copy span{letter-spacing:0;font-size:.62rem}.current-brick-copy strong{font-size:clamp(.84rem,3vw,.98rem)}.score-feedback-tag{font-size:clamp(.76rem,2.55vw,.9rem)}.score-feedback{border-radius:10px;width:100%;min-height:2.32rem;max-height:2.32rem;padding:.3rem .46rem}.score-feedback-copy{-webkit-line-clamp:1;display:none}.score-complete-status{text-wrap:pretty;border-radius:10px;width:100%;padding:.34rem .46rem;font-size:clamp(.72rem,2.45vw,.84rem);line-height:1.14}.game-screen-touch .score-complete-status{font-size:clamp(.68rem,2.2vw,.78rem)}.info-anchor{grid-area:info;align-items:flex-end}.game-screen-touch .info-anchor{justify-self:end;align-items:flex-start;gap:.42rem}.game-screen-touch .guide-button,.game-screen-touch .refresh-button{width:clamp(2.75rem,8.4vw,2.95rem);min-height:2.75rem}.game-screen-touch .info-button{width:clamp(2.75rem,8.4vw,2.95rem);min-height:2.75rem;font-size:clamp(1.2rem,4.2vw,1.45rem)}.game-nav-row{grid-area:nav;min-height:1.55rem}.game-nav-button{min-height:2.5rem;padding:.38rem .62rem;font-size:clamp(.68rem,2.6vw,.78rem)}.game-stage-body{grid-template-rows:minmax(0,auto) auto auto;grid-template-columns:1fr;align-content:start;justify-items:center;gap:clamp(8px,1.35svh,12px)}.board-zone{order:1}.free-build-cue{order:2}.touch-swipe-helper{order:2;justify-self:center;width:min(100%,22rem);margin-top:-.28rem;display:block}.transport-bar{width:min(100%, calc((var(--cell-size-x) * 16) + 14px));z-index:32;background:rgb(var(--workbench-paper) / .9);box-shadow:0 -10px 24px rgb(var(--workbench-rail) / .06);padding:.34rem .36rem max(.34rem, env(safe-area-inset-bottom));border-radius:18px;order:3;position:sticky;bottom:0}.chance-discovery-strip,.probability-badge-default{display:none}.transport-control-row{grid-template-columns:minmax(0,1fr) minmax(4.35rem,auto);gap:.36rem}.transport-mode-group{border-radius:16px;height:auto;min-height:2.95rem}.transport-mode-button{border-radius:13px;min-height:2.75rem;padding-inline:.42rem;font-size:clamp(.72rem,2.8vw,.84rem)}.finish-beat-button{border-radius:16px;min-width:4.35rem;min-height:2.95rem;padding-inline:.56rem;font-size:clamp(.68rem,2.65vw,.8rem)}.stage-spacer{display:none}.startup-stage{min-height:100dvh;min-height:var(--app-viewport-height);padding:max(.86rem, env(safe-area-inset-top)) clamp(.88rem, 3.8vw, 1.25rem) max(.78rem, env(safe-area-inset-bottom));grid-template-rows:minmax(6.4rem,20svh) minmax(4.2rem,11svh) minmax(12rem,1fr) minmax(3.7rem,12svh);align-content:stretch;gap:0}.startup-header{grid-template-columns:1fr;gap:0}.startup-action-stack{justify-items:start}.startup-screen-touch .startup-header{text-align:center;justify-items:center}.startup-screen-touch .startup-action-stack{justify-items:stretch;gap:.45rem;width:min(100%,24rem)}.startup-screen-touch .startup-brand-block,.startup-screen-touch .game-title-block{text-align:center;grid-area:auto;justify-items:center;width:min(100%,34rem);max-width:min(100%,34rem);margin-inline:auto}.startup-title{font-size:2.28rem;line-height:.94}.startup-brand-logo{width:4rem}.startup-promise{max-width:23rem;font-size:1rem;line-height:1.1}.startup-screen-touch .startup-goal-copy{text-align:center;margin-inline:auto;font-size:clamp(1rem,4.7vw,1.24rem);line-height:1.04}.startup-support-copy{max-width:22rem;font-size:clamp(.72rem,2.85vw,.82rem);line-height:1.16}.startup-content{grid-template-columns:1fr;align-content:center;align-items:center;gap:.72rem}.startup-mode-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem;width:min(100%,44rem)}.startup-mode-card-secondary{min-height:9.7rem}.startup-card-header{gap:.34rem;padding:1rem .92rem .56rem}.startup-card-title{font-size:1.28rem}.startup-card-description{font-size:.88rem;line-height:1.22}.startup-card-footer{padding:.08rem .92rem .88rem}.startup-card-action{min-height:2.85rem}.startup-footer{font-size:.74rem}.learn-shell{--learn-step-size:clamp(30px, 8.6vw, 42px);--learn-step-gap:clamp(4px, 1.2vw, 6px);--learn-lane-label-width:clamp(1.9rem, 8vw, 2.35rem);min-height:100dvh;min-height:var(--app-viewport-height);gap:clamp(.72rem,1.8svh,1rem);padding-inline:clamp(.75rem,4vw,1.15rem)}.learn-page-header h1,.learn-complete-shell>h1{font-size:clamp(1.8rem,8vw,2.8rem)}.learn-level-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"number""main""dots""state";gap:.42rem;padding:.9rem}.learn-level-state{justify-self:start}.learn-placement-grid{--learn-grid-padding:clamp(10px, 2.8vw, 13px)}.learn-match-card{gap:.34rem;padding:clamp(.78rem,2.5vw,1rem)}.learn-match-card strong{font-size:clamp(2.6rem,11vw,4.35rem)}.learn-match-card p{font-size:clamp(.88rem,2.45vw,.98rem);line-height:1.2}.learn-action-row{gap:.58rem}.learn-action-row>.learn-primary-button,.learn-action-row>.learn-secondary-button{flex:9rem}@media (width<=480px){.learn-pattern{--learn-lane-label-width:clamp(1.82rem, 8vw, 2.2rem)}}.startup-screen-touch .startup-content{justify-self:center;width:min(100%,34rem);margin-inline:auto}.starter-sound-pad-grid{grid-template-columns:1fr}.startup-screen-touch .starter-sound-pad-grid{gap:.42rem;margin-top:clamp(.58rem,1.2svh,.78rem)}.startup-controls-panel,.startup-kit-panel{padding:clamp(.85rem,3.5vw,1.1rem)}.startup-screen-touch .starter-kit-panel{border-radius:14px;padding:clamp(.7rem,2.7vw,.9rem)}.startup-screen-touch .starter-kit-panel:after{display:none}.startup-screen-touch .starter-kit-header{gap:.08rem}.startup-screen-touch .starter-kit-action-area{margin-bottom:clamp(.48rem,1.1svh,.68rem)}.startup-screen-touch .starter-kit-secondary-action{margin-top:clamp(.42rem,1svh,.62rem)}.startup-screen-touch .startup-panel-title{font-size:clamp(.96rem,3.7vw,1.08rem)}.startup-screen-touch .startup-panel-copy{max-width:24rem;margin-top:.22rem;font-size:clamp(.72rem,2.65vw,.82rem);line-height:1.22}.startup-screen-touch .starter-sound-pad{min-height:3.55rem;box-shadow:inset 0 1px 0 rgb(var(--color-on-ink-channel) / .28), 0 3px 0 rgb(var(--workbench-rail) / .18);border-radius:12px;grid-template-rows:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.46rem .55rem}.startup-screen-touch .starter-sound-letter{border-radius:9px;min-width:2.1rem;min-height:2.1rem;font-size:.98rem}.startup-screen-touch .starter-sound-meta{gap:.04rem}.startup-screen-touch .starter-sound-meta strong{font-size:.96rem;line-height:1}.startup-screen-touch .starter-sound-meta span{font-size:.76rem;line-height:1}.startup-screen-touch .starter-sound-meta .sound-card-role{color:rgb(var(--card-accent-strong));padding:.11rem .38rem;font-size:.72rem;line-height:1}.startup-screen-touch .starter-sound-meta small{font-size:clamp(.62rem,2.25vw,.72rem);line-height:1.12;display:block}.startup-screen-touch .starter-sound-meta .sound-card-description{-webkit-line-clamp:2;color:rgb(var(--card-muted) / .82);-webkit-box-orient:vertical;font-size:clamp(.66rem,2.15vw,.76rem);line-height:1.16;display:-webkit-box}.startup-screen-touch .starter-sound-play{align-self:end;padding:.26rem .5rem;font-size:.68rem}.startup-screen-touch .starter-kit-unlock-note{margin-top:clamp(.5rem,1.15svh,.72rem);padding-top:.46rem;font-size:clamp(.7rem,2.55vw,.8rem);line-height:1.15}.start-button{justify-self:stretch;min-height:4.4rem;padding:.72rem 1rem;font-size:clamp(.98rem,3.8vw,1.1rem)}.startup-screen-touch .touch-start-button{justify-self:center;width:min(100%,24rem);min-height:3rem;padding-inline:1.15rem;font-size:clamp(1rem,3.8vw,1.16rem)}.startup-primary-action{width:100%;max-width:none}.startup-screen-touch .startup-primary-action{min-height:5.6rem;padding-block:.64rem}.touch-play-surface{min-height:0}}@media (width<=620px){.startup-stage{grid-template-rows:minmax(5.8rem,19svh) minmax(3.8rem,10svh) minmax(12rem,1fr) minmax(3.4rem,12svh)}.startup-mode-panel{grid-template-columns:minmax(0,1fr);gap:.58rem;width:min(100%,24rem)}.startup-mode-card,.startup-mode-card-secondary{min-height:6.5rem}.startup-mode-card-primary{min-height:7rem}.startup-card-header{padding:.86rem .88rem .5rem}.startup-card-footer{padding:0 .88rem .82rem}.startup-card-content{padding:0 .88rem .42rem}}@media (width<=620px) and (height<=740px){.startup-stage{padding-bottom:max(.38rem, env(safe-area-inset-bottom))}.startup-mode-panel{gap:.42rem}.startup-card-header{gap:.26rem;padding:.72rem .82rem .34rem}.startup-card-description{font-size:.8rem;line-height:1.16}.startup-card-footer{padding:0 .82rem .58rem}}@media (width<=520px){:root{--cell-size:clamp(15px, min(3.55svh, 5.15vw), 28px);--cell-size-x:clamp(16px, calc((100vw - 42px) / 16), 25px);--cell-size-y:clamp(28px, calc((100dvh - 344px) / 12), 38px)}.game-stage,.startup-stage{padding-inline:14px}.startup-title{font-size:2.06rem}.startup-brand-logo{width:3.5rem}.startup-promise{font-size:.96rem}.startup-card-title{font-size:1.2rem}.startup-card-description{font-size:.84rem}.game-title-block{max-width:min(100%,16.5rem)}.game-screen-touch .game-title-block{align-content:start;min-height:6.25rem}.single-feedback-cta{max-width:min(100%,16rem)}.score-number{font-size:clamp(1.28rem,4.2vw,1.68rem)}.score-stack{width:min(100%, calc((var(--cell-size-x) * 16) + 14px));gap:.16rem .4rem}.game-screen-touch .score-stack{height:6.25rem;min-height:6.25rem}.current-brick-pill{min-width:0;padding-inline:.44rem;font-size:clamp(.72rem,2.6vw,.86rem)}.score-feedback{min-height:2.22rem;max-height:2.22rem}.score-feedback-copy{font-size:clamp(.66rem,2.35vw,.76rem)}.info-popover{width:calc(100vw - 28px);max-height:calc(100svh - 5.5rem);right:-.25rem}.legend-row{grid-template-columns:2.6rem minmax(0,1fr)}.legend-status{grid-column:2;justify-self:start}.control-list{grid-template-columns:1fr}.finish-beat-button{min-width:4rem;min-height:2.95rem;padding:.42rem .48rem;font-size:clamp(.68rem,2.55vw,.78rem)}.finish-control-wrap{min-width:4rem}.chance-picker{width:min(19rem,94%);padding:.68rem;top:38%}.chance-picker-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.34rem}.chance-picker-pill{place-items:center;min-height:44px;padding-inline:.4rem}.stage-message h2{font-size:clamp(1.52rem,7vw,2rem)}.stage-message p{font-size:clamp(.72rem,2.8vw,.82rem)}.stage-message-note{padding-top:.42rem}.beat-report-overlay{align-items:stretch;padding:0}.beat-report-dialog{width:100%;height:100dvh;height:var(--app-viewport-height);border-radius:18px 18px 0 0;align-self:end;gap:.62rem;max-height:none;overflow:hidden}.beat-report-card{height:100%;padding:max(.9rem, env(safe-area-inset-top)) .9rem max(.9rem, env(safe-area-inset-bottom));border-radius:18px 18px 0 0;gap:.78rem;overflow-y:auto}.beat-report-identity{grid-template-columns:1fr;gap:.42rem}.beat-report-meta{text-align:left;justify-items:start}.beat-report-grid{gap:.12rem}.beat-report-cell{border-radius:4px;font-size:clamp(.46rem,2.2vw,.62rem)}.beat-report-score{text-align:center;grid-template-columns:1fr;justify-items:center}.beat-report-footer{z-index:2;padding-top:.68rem;padding-inline:.9rem;padding-bottom:max(.9rem, env(safe-area-inset-bottom));background:linear-gradient(180deg, rgb(var(--workbench-surface) / .82), rgb(var(--workbench-surface)));box-shadow:0 -10px 22px rgb(var(--workbench-rail) / .08);gap:.62rem;margin-inline:-.9rem;position:sticky;bottom:0}.beat-report-actions{grid-template-columns:1fr;justify-items:stretch;gap:.5rem;display:grid}.beat-report-action-slot,.beat-report-audio-action{justify-items:stretch}.beat-report-action{width:100%;min-height:2.75rem;padding-inline:.8rem;font-size:.82rem}.transport-bar{padding-top:.28rem}.transport-control-row{grid-template-columns:minmax(0,1fr) minmax(4rem,auto);gap:.3rem}.transport-mode-group{height:auto;min-height:2.95rem;padding:.16rem}.transport-mode-button{min-height:2.75rem;padding-inline:.28rem;font-size:clamp(.68rem,2.6vw,.78rem)}.onboarding-card{width:min(19.5rem,100vw - 28px);padding:.85rem}.onboarding-actions{align-items:stretch}.onboarding-nav-actions{flex:auto;justify-content:flex-end}.onboarding-button{min-height:2.5rem;padding-inline:.72rem}}@media (width<=480px) and (height<=740px){.learn-shell{--learn-step-size:clamp(26px, 8vw, 34px);--learn-step-gap:3px;--learn-lane-label-width:clamp(1.75rem, 8vw, 2.05rem);--learn-rhythm-track-inset:6px;--learn-grid-padding:6px;--learn-brick-inset:3px;min-height:100dvh;min-height:var(--app-viewport-height);padding:max(.5rem, env(safe-area-inset-top)) clamp(.72rem, 3.8vw, 1rem) max(1.8rem, calc(1.2rem + env(safe-area-inset-bottom)));gap:clamp(.42rem,1.2svh,.56rem)}.learn-play-shell{gap:clamp(.34rem,1svh,.48rem);width:min(100%,26rem)}.learn-play-shell .learn-back-button{min-height:2.35rem;padding:.34rem .62rem;font-size:.78rem}.learn-play-header{gap:.14rem}.learn-play-header .learn-kicker{display:none}.learn-play-header h1{font-size:clamp(1.24rem,5.8vw,1.55rem);line-height:1}.learn-play-header p{font-size:clamp(.72rem,3.1vw,.82rem);line-height:1.08}.learn-play-shell>.learn-match-card{gap:.12rem;padding:.46rem .56rem}.learn-guide-toggle{min-height:2.35rem;padding:.34rem .62rem;font-size:.78rem}.learn-play-shell .learn-match-card span{font-size:.66rem}.learn-play-shell .learn-match-card strong{font-size:clamp(1.76rem,8vw,2.25rem)}.learn-play-shell .learn-match-card p{font-size:clamp(.72rem,3vw,.82rem);line-height:1.08}.learn-primary-feedback,.learn-placement-notice{min-height:.92rem}.learn-primary-feedback{min-height:1.78rem}.learn-playback-status{min-height:.76rem;font-size:.66rem;line-height:1}.learn-placement-grid{gap:.12rem}.learn-play-actions,.learn-action-dock-row{gap:.36rem}.learn-action-dock-row .learn-primary-button,.learn-action-dock-row .learn-secondary-button,.learn-foundation-actions .learn-primary-button,.learn-foundation-actions .learn-secondary-button{text-wrap:balance;flex:none;gap:.26rem;min-height:2.75rem;padding:.42rem .3rem;font-size:clamp(.66rem,2.7vw,.76rem);line-height:1.02}.learn-play-actions svg{flex:none;width:.82rem;height:.82rem}.learn-complete-shell{gap:clamp(.34rem,1svh,.5rem)}.learn-complete-actions{gap:.38rem}.learn-complete-actions .learn-primary-button,.learn-complete-actions .learn-secondary-button{min-height:2.5rem;padding-block:.48rem}}.daily-shell{grid-template-columns:minmax(0,1fr);align-content:start;justify-items:center}.daily-top-row{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.daily-header h1{font-size:clamp(2.2rem,8vw,3.4rem)}.daily-header-meta{color:rgb(var(--workbench-rail) / .62);margin:0;font-size:clamp(.86rem,2.4vw,.98rem);font-weight:800;line-height:1.2}.daily-status-card,.daily-result-card{width:var(--learn-task-width);background:rgb(var(--surface-strong) / .97);box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .1), var(--shadow-surface);border-radius:16px;gap:.5rem;padding:clamp(.72rem,2vw,.95rem);display:grid}.daily-beat-card{width:var(--learn-task-width);background:rgb(var(--surface-strong) / .97);box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .1), var(--shadow-surface);border-radius:16px;gap:0;padding:0;display:grid;overflow:hidden}.daily-beat-card-header{gap:.42rem;padding:clamp(.86rem,2.5vw,1.1rem) clamp(.9rem,2.8vw,1.18rem) .55rem}.daily-beat-card-header>:not([hidden])~:not([hidden]){margin-top:0}.daily-beat-card-content{gap:.5rem;padding:0 clamp(.9rem,2.8vw,1.18rem) clamp(.92rem,2.8vw,1.16rem);display:grid}.daily-budget{flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;display:flex}.daily-budget-item{align-items:center;gap:.42rem;display:inline-flex}.daily-budget-label{color:rgb(var(--workbench-rail) / .62);text-transform:uppercase;font-size:.76rem;font-weight:950;line-height:1}.daily-budget-divider{color:rgb(var(--workbench-rail) / .4);font-weight:950}.daily-budget-dots{align-items:center;gap:.28rem;display:inline-flex}.daily-budget-dots i{border-radius:999px;width:.62rem;height:.62rem;transition:background-color .16s,box-shadow .16s}.daily-budget-dot-full{background:rgb(var(--workbench-olive));box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .16)}.daily-budget-dot-spent{background:rgb(var(--workbench-rail) / .12);box-shadow:inset 0 0 0 1px rgb(var(--workbench-rail) / .14)}.daily-score-line{-moz-column-gap:.75rem;grid-template:"label value""feedback feedback"/auto auto;justify-content:space-between;align-items:baseline;gap:.22rem .75rem;min-height:3.1rem;display:grid}.daily-score-label{color:rgb(var(--workbench-rail) / .6);text-transform:uppercase;grid-area:label;font-size:.78rem;font-weight:950;line-height:1}.daily-score-line strong{color:rgb(var(--workbench-rail));font-variant-numeric:tabular-nums;grid-area:value;font-size:clamp(1.45rem,5vw,2rem);font-weight:780;line-height:1;animation:.18s ease-out both match-score-pop}.daily-score-feedback{min-height:1.15rem;color:rgb(var(--workbench-rail) / .72);text-wrap:pretty;grid-area:feedback;margin:0;font-size:clamp(.78rem,2.2vw,.9rem);font-weight:820;line-height:1.2}.daily-placement-grid{align-self:center}.daily-lane-preview{cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}.daily-lane-preview:not(:disabled):active .learn-lane-mark{transform:scale(.94)}.daily-actions{gap:.5rem;display:grid}.daily-share-status{color:rgb(var(--workbench-rail) / .72);text-align:center;text-wrap:pretty;margin:0;font-size:.82rem;font-weight:780;line-height:1.25}.daily-howto-card{background:rgb(var(--surface-strong));width:min(100% - 2rem,26rem);max-height:min(88svh,40rem);box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .12), 0 24px 60px rgb(var(--workbench-rail) / .28);border-radius:16px;gap:.85rem;padding:clamp(1rem,3vw,1.4rem);animation:.24s cubic-bezier(.2,.9,.3,1.2) both daily-howto-in;overflow-y:auto}.daily-howto-card h2{color:rgb(var(--workbench-rail));margin:0;font-size:clamp(1.5rem,5.4vw,2rem);font-weight:850;line-height:1}.daily-howto-header{text-align:left;gap:.42rem}.daily-howto-header p{margin:0}.daily-howto-steps{color:rgb(var(--workbench-rail) / .82);gap:.55rem;margin:0;padding-left:1.2rem;font-size:clamp(.9rem,2.6vw,1rem);font-weight:740;line-height:1.34;list-style:decimal;display:grid}.daily-howto-steps li::marker{color:rgb(var(--workbench-rail) / .55);font-weight:900}.daily-howto-sounds{gap:.45rem;display:grid}.daily-howto-sounds>p{color:rgb(var(--workbench-rail) / .62);margin:0;font-size:.82rem;font-weight:900;line-height:1}.daily-howto-sound-row{gap:.4rem;display:grid}.daily-howto-sound{border:1px solid rgb(var(--workbench-rail) / .16);background:rgb(var(--surface-muted));min-height:44px;color:rgb(var(--workbench-rail));text-align:left;cursor:pointer;touch-action:manipulation;border-radius:8px;align-items:center;gap:.55rem;padding:.45rem .6rem;font-size:.9rem;font-weight:820;line-height:1.15;transition:background-color .14s,transform .12s;display:flex}.daily-howto-sound:not(:disabled):active{transform:scale(.98)}.daily-howto-cta{width:100%;min-height:48px}.daily-howto-footer{gap:.5rem}.daily-manual-copy-dialog{border-radius:16px;width:min(100% - 2rem,30rem)}.daily-manual-copy-dialog textarea{resize:none;min-height:11rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-input);line-height:1.45}.daily-result-card h2,.daily-beat-card h2{color:rgb(var(--workbench-rail));text-wrap:balance;margin:0;font-size:clamp(1.5rem,5.6vw,2.15rem);font-weight:850;line-height:1.02}.daily-beat-explanation{color:rgb(var(--workbench-rail) / .74);text-wrap:pretty;margin:0;font-size:clamp(.9rem,2.5vw,1rem);font-weight:720;line-height:1.4}.daily-listening-references{border-top:1px solid rgb(var(--workbench-rail) / .12);gap:.52rem;margin-top:.28rem;padding-top:.72rem;display:grid}.daily-listening-references h3{color:rgb(var(--workbench-rail));letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:950;line-height:1}.daily-listening-references ul{gap:.58rem;margin:0;padding:0;list-style:none;display:grid}.daily-listening-references li{color:rgb(var(--workbench-rail) / .76);text-wrap:pretty;font-size:clamp(.86rem,2.4vw,.96rem);font-weight:720;line-height:1.38}.daily-attempt-row{flex-wrap:wrap;gap:.38rem;display:flex}.daily-attempt-chip{background:rgb(var(--workbench-paper) / .9);min-height:1.8rem;color:rgb(var(--workbench-rail) / .78);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:.3rem .62rem;font-size:.8rem;font-weight:920;line-height:1;display:inline-flex}.daily-result-card[data-solved=true] .daily-attempt-chip:last-of-type{background:rgb(var(--workbench-olive) / .2);color:rgb(var(--workbench-rail));box-shadow:inset 0 0 0 1px rgb(var(--workbench-olive) / .5)}.daily-result-meta{color:rgb(var(--workbench-rail) / .62);margin:0;font-size:.85rem;font-weight:840;line-height:1.2}.daily-screen .learn-comparison{width:var(--learn-task-width)}@keyframes daily-howto-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes daily-howto-fade{0%{opacity:0}to{opacity:1}}.startup-daily-number{color:rgb(var(--workbench-olive));font-variant-numeric:tabular-nums;font-size:.9em;font-weight:900}.startup-daily-streak{color:rgb(var(--workbench-olive));font-weight:900}.startup-daily-meta{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.startup-daily-week{align-items:center;gap:var(--space-2);grid-template-columns:repeat(7,10px);min-width:0;display:inline-grid}.startup-daily-week-dot{background:var(--color-line);border-radius:50%;justify-self:center;width:7px;height:7px}.startup-daily-week-dot[data-completed=true]{background:var(--color-ink-soft)}.startup-daily-week-dot[data-today=true]{background:var(--color-ink);width:10px;height:10px}.play-shell-daily .play-shell-dock button,.daily-reveal-shell .learn-fixed-action-bar button,.daily-manual-copy-dialog button{font-family:var(--font-family);font-size:var(--font-size-button);letter-spacing:normal;font-weight:900;line-height:1}.daily-state-cue{font-variant-numeric:tabular-nums;min-height:32px;display:block}.daily-placement-grid[aria-disabled=true]{cursor:default}.daily-placement-grid button:disabled{opacity:1;cursor:default}.daily-manual-copy-dialog{box-sizing:border-box;width:min(calc(100vw - var(--space-8)), 30rem);max-width:calc(100vw - var(--space-8));max-height:calc(100vh - var(--space-8));max-height:calc(100dvh - var(--space-8));margin-inline:auto;overflow:hidden auto}.daily-manual-copy-dialog textarea{box-sizing:border-box;max-width:100%;font-size:var(--font-size-input);overflow-wrap:anywhere}@media (width<=360px) and (height<=600px){.learn-play-shell{gap:.24rem}.learn-play-header p{display:none}}@media (prefers-reduced-motion:reduce){[data-testid=learn-exit-dialog][data-state=open]{animation:none!important}.learn-rhythm-active-column{transition:opacity .12s}.learn-lane-label-cued,.learn-bounce-cue,.learn-grid-cell-cued,.learn-grid-cell-has-hint,.learn-match-card strong,.learn-pattern-cell-active-hit .learn-pattern-brick{animation:none;transform:none}.daily-howto-card{animation:.16s both daily-howto-fade}.daily-score-line strong,.unlock-notice,.probability-notice,.stage-message,.stage-message-intro,.chance-picker,.beat-report-card{animation:none}.beta-cta,.beat-report-action,.guide-button,.refresh-button,.info-button,.game-nav-button,.confirmation-action,.mode-button,.transport-mode-button,.finish-beat-button,.stage-report-button,.chance-picker-pill,.refresh-icon-svg,.preview-button,.start-button,.starter-sound-pad{transition:none}.onboarding-card,.onboarding-card[data-placement=anchored],.onboarding-card[data-placement=centered],.onboarding-card[data-placement=mobile-top],.onboarding-card[data-placement=sheet],.onboarding-spotlight,.resume-countdown span{animation:none}}.learn-screen[data-learn-screen=foundation],.learn-screen[data-learn-screen=listen],.learn-screen[data-learn-screen=play],.learn-screen[data-learn-screen=daily]:not([data-daily-phase=reveal]){min-height:100dvh;min-height:var(--app-viewport-height);height:100dvh;height:var(--app-viewport-height);background:var(--color-bg);overflow:clip}.learn-screen[data-learn-screen=foundation]>.play-shell,.learn-screen[data-learn-screen=listen]>.play-shell,.learn-screen[data-learn-screen=play]>.play-shell,.learn-screen[data-learn-screen=daily]>.play-shell{--learn-step-size:var(--play-shell-grid-hit-size);--learn-step-gap:0px;--learn-lane-label-width:var(--play-shell-row-label-width);--learn-rhythm-track-inset:0px;--learn-grid-padding:0px;--learn-brick-inset:var(--play-shell-grid-visual-inset);--learn-block-radius:var(--radius-cell);--learn-step-track-width:calc(var(--play-shell-grid-hit-size) * 8);--learn-rhythm-surface-width:362px;--learn-grid-surface-width:362px;--learn-pattern-width:362px;--learn-task-width:100%;width:min(100%, var(--play-shell-max-width));grid-template-columns:minmax(0,1fr);grid-template-rows:var(--play-shell-status-height) minmax(0, 1fr) var(--play-shell-dock-height);align-content:stretch;place-items:stretch stretch;gap:var(--play-shell-zone-gap);min-height:660px;padding:var(--play-shell-block-inset) var(--play-shell-inline-inset) var(--play-shell-block-end-inset);background:var(--color-bg);grid-template-areas:none}.play-shell .play-shell-status,.play-shell .play-shell-dock{width:100%;min-width:0;transform:none}.play-shell .play-shell-grid-zone{width:auto;transform:none}.play-shell .learn-back-button{border-radius:var(--radius-button);min-width:44px;min-height:44px;padding:0 var(--space-2);box-shadow:none;color:var(--color-ink);background:0 0;border:0;margin:0}.play-shell .play-shell-headline{margin:var(--space-1) 0 0}.play-shell .play-shell-hint{margin-top:0}.play-shell .play-shell-status-content{min-height:32px;margin-top:var(--space-2)}.play-shell .play-shell-coaching{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.play-shell .learn-below-grid-cue,.play-shell .learn-foundation-cue-region,.play-shell .learn-listen-cue-region{align-items:center;gap:var(--space-2);width:100%;min-height:40px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:grid;position:static}.play-shell .learn-cue-action{border-color:var(--color-line);border-radius:var(--radius-button);width:100%;min-width:0;min-height:40px;padding:0 var(--space-3);box-shadow:none;color:var(--color-ink);background:0 0;margin:0}.play-shell .learn-foundation-progress{gap:var(--space-1);width:auto;margin:0;padding:0}.play-shell .learn-foundation-progress li{border-color:var(--color-line);width:28px;height:28px;box-shadow:none;background:0 0}.play-shell .learn-foundation-progress li[data-state=active]{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-on-ink);box-shadow:none}.play-shell .learn-listen-target-cue{color:var(--color-ink);font-size:var(--font-size-body);margin:0;font-weight:700;line-height:1.25}.play-shell .learn-play-status-content{gap:var(--space-1);grid-template-columns:minmax(0,1fr);grid-template-areas:"match""assist";min-height:0;display:grid}.play-shell .learn-play-status-content-layered{-moz-column-gap:var(--space-2);column-gap:var(--space-2);grid-template-columns:minmax(92px,.42fr) minmax(0,1.58fr);grid-template-areas:"match layer""assist assist"}.play-shell .learn-match-card,.play-shell .learn-layer-card,.play-shell .daily-status-card{width:100%;min-width:0;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:static;transform:none}.learn-screen[data-learn-screen=play]>.play-shell .learn-match-card,.learn-screen[data-learn-screen=play]>.play-shell .learn-layer-card{z-index:auto;position:static;top:auto;left:auto;transform:none}.learn-screen[data-learn-screen=play]>.play-shell .learn-match-card{grid-area:match}.learn-screen[data-learn-screen=play]>.play-shell .learn-layer-card{grid-area:layer}.play-shell .learn-match-card{grid-area:match;grid-template-rows:auto minmax(14px,auto);gap:0;display:grid}.play-shell .learn-score-row{gap:var(--space-2)}.play-shell .learn-match-card span,.play-shell .daily-score-label{color:var(--color-ink-soft);font-size:var(--font-size-label);letter-spacing:.1em}.play-shell .learn-match-card strong,.play-shell .daily-score-line strong{color:var(--color-ink);font-size:20px;font-weight:800;line-height:1;animation:none}.play-shell .learn-match-card p{min-height:14px;color:var(--color-ink-soft);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;font-weight:600;line-height:14px;overflow:hidden}.play-shell .learn-layer-card{gap:var(--space-1);grid-area:layer;grid-template-rows:12px 32px;display:grid}.play-shell .learn-play-status-content-layered .learn-layer-card{grid-template-rows:32px}.play-shell .learn-play-status-content-layered .learn-layer-card>p{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.play-shell .learn-layer-card p{color:var(--color-ink-soft);text-align:left;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;font-weight:600;line-height:12px;overflow:hidden}.play-shell .learn-layer-chip-row{gap:var(--space-1)}.play-shell .learn-layer-chip{border-color:var(--color-line);border-radius:var(--radius-button);height:32px;min-height:32px;padding:0 var(--space-1);box-shadow:none;color:var(--color-ink);background:0 0;font-size:11px}.play-shell .learn-layer-chip-selected{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-on-ink)}.play-shell .learn-assist-action-row{gap:var(--space-2);grid-area:assist;grid-template-columns:repeat(2,minmax(0,1fr));min-height:32px;display:grid}.play-shell .learn-assist-action-row>button{border-color:var(--color-line);border-radius:var(--radius-button);height:32px;min-height:32px;padding:0 var(--space-2);box-shadow:none;color:var(--color-ink);background:0 0;font-size:12px}.play-shell .learn-action-button-hidden{visibility:hidden;pointer-events:none}.play-shell .daily-status-card{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.play-shell .daily-budget,.play-shell .daily-budget-item,.play-shell .daily-budget-dots{gap:var(--space-1)}.play-shell .daily-budget{flex-wrap:nowrap;justify-content:flex-start}.play-shell .daily-budget-divider{color:var(--color-line)}.play-shell .daily-budget-dot-full{background:var(--color-ink);box-shadow:none}.play-shell .daily-budget-dot-spent{background:var(--color-line);box-shadow:none}.play-shell .daily-score-line{justify-content:flex-end;align-items:baseline;gap:var(--space-2);min-height:32px;display:flex}.play-shell .learn-pattern,.play-shell .learn-placement-grid,.play-shell .learn-foundation-grid,.play-shell .daily-placement-grid{place-self:center;gap:var(--space-1);width:362px;min-width:362px;max-width:362px;box-shadow:none;background:0 0;border:0;border-radius:0;grid-area:auto;margin:0;padding:0;display:grid;transform:none}.learn-screen[data-learn-screen=foundation]>.play-shell .learn-foundation-grid,.learn-screen[data-learn-screen=listen]>.play-shell .learn-pattern,.learn-screen[data-learn-screen=play]>.play-shell .learn-placement-grid,.learn-screen[data-learn-screen=daily]>.play-shell .daily-placement-grid{grid-area:auto;align-self:center;transform:none}.play-shell .learn-beat-group-rail{display:none}.play-shell .learn-rhythm-matrix{grid-template-columns:var(--play-shell-row-label-width) var(--grid-column-gap) repeat(8, var(--play-shell-grid-hit-size));grid-template-rows:repeat(var(--learn-visual-rows), var(--play-shell-grid-hit-size));grid-auto-flow:row;grid-auto-rows:var(--play-shell-grid-hit-size);-moz-column-gap:0;column-gap:0;row-gap:var(--grid-row-gap);width:362px;min-width:362px;max-width:362px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:grid}.play-shell .learn-rhythm-matrix>[data-row="1"]{grid-row:1}.play-shell .learn-rhythm-matrix>[data-row="2"]{grid-row:2}.play-shell .learn-rhythm-matrix>[data-row="3"]{grid-row:3}.play-shell .learn-rhythm-matrix>[data-step="1"]{grid-column:3}.play-shell .learn-rhythm-matrix>[data-step="2"]{grid-column:4}.play-shell .learn-rhythm-matrix>[data-step="3"]{grid-column:5}.play-shell .learn-rhythm-matrix>[data-step="4"]{grid-column:6}.play-shell .learn-rhythm-matrix>[data-step="5"]{grid-column:7}.play-shell .learn-rhythm-matrix>[data-step="6"]{grid-column:8}.play-shell .learn-rhythm-matrix>[data-step="7"]{grid-column:9}.play-shell .learn-rhythm-matrix>[data-step="8"]{grid-column:10}.play-shell .learn-lane-label{box-sizing:border-box;width:var(--play-shell-row-label-width);min-width:var(--play-shell-row-label-width);height:var(--play-shell-grid-hit-size);box-shadow:none;color:var(--color-ink-soft);background:0 0;border:0;grid-column:1;margin:0;padding:0}.play-shell .learn-lane-mark{border:1px solid var(--color-ink-soft);border-radius:var(--radius-cell);width:28px;height:28px;box-shadow:none}.play-shell .learn-grid-cell,.play-shell .learn-pattern-cell{box-sizing:border-box;width:var(--play-shell-grid-hit-size);min-width:var(--play-shell-grid-hit-size);height:var(--play-shell-grid-hit-size);border:solid #0000;border-width:0 var(--play-shell-grid-visual-inset);border-radius:var(--radius-cell);box-shadow:none;background-image:none;background-clip:padding-box;margin:0;padding:0}.play-shell .learn-pattern[data-answer-visible=false] .learn-pattern-cell[data-lane-sound=Kick],.play-shell .chromatic-cell-empty[data-lane-sound=Kick]{background-color:var(--kick-rest)}.play-shell .learn-pattern[data-answer-visible=false] .learn-pattern-cell[data-lane-sound=Snare],.play-shell .chromatic-cell-empty[data-lane-sound=Snare]{background-color:var(--snare-rest)}.play-shell .learn-pattern[data-answer-visible=false] .learn-pattern-cell[data-lane-sound=HiHat],.play-shell .chromatic-cell-empty[data-lane-sound=HiHat]{background-color:var(--hihat-rest)}.play-shell .learn-grid-cell-filled,.play-shell .learn-grid-cell-scaffolded,.play-shell .learn-grid-cell-has-hint,.play-shell .learn-grid-cell-cued{box-shadow:none;background-image:none}.play-shell .learn-foundation-cell-ghost{border:solid #0000;border-width:0 var(--play-shell-grid-visual-inset);background-color:var(--color-line-soft);color:var(--color-ink);opacity:1;outline:1px dashed var(--color-ink-soft);outline-offset:calc(-1 * var(--play-shell-grid-visual-inset))}.play-shell .learn-foundation-cell-placed{box-shadow:none}.play-shell .learn-rhythm-active-column{top:0;bottom:0;left:calc(var(--play-shell-row-label-width) + var(--grid-column-gap) + (var(--learn-active-index) * var(--play-shell-grid-hit-size)));width:var(--play-shell-grid-hit-size);border:0;border-left:1px solid var(--color-line);border-right:1px solid var(--color-line);background:var(--column-shade);border-radius:0}.play-shell .play-shell-dock{align-self:end}.play-shell .play-shell-dock-foundation{height:var(--play-shell-foundation-dock-height);grid-template-columns:minmax(0,1fr);grid-template-rows:var(--play-shell-foundation-dock-height)}.play-shell .play-shell-dock-slot,.play-shell .play-shell-dock-slot>*{width:100%;min-width:0;height:100%;margin:0}.play-shell .play-shell-dock button{border:1.5px solid var(--color-ink);border-radius:var(--radius-button);min-width:0;height:56px;min-height:56px;padding:0 var(--space-3);box-shadow:none;color:var(--color-ink);font-family:var(--font-family);font-size:var(--font-size-button);background:0 0;font-weight:700}.play-shell .play-shell-dock .learn-primary-button{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-on-ink)}.play-shell .play-shell-dock button:active:not(:disabled){border-color:var(--color-ink-pressed);background:var(--color-ink-pressed);color:var(--color-on-ink);box-shadow:var(--shadow-inset-pressed)}.play-shell .play-shell-dock button:disabled,.play-shell .play-shell-dock .learn-primary-button:disabled{border-color:var(--color-line);color:var(--color-text-disabled);box-shadow:none;opacity:1;background:0 0}.startup-stage{padding:max(var(--space-4), env(safe-area-inset-top)) var(--space-4) max(var(--space-4), env(safe-area-inset-bottom));gap:0}.startup-brand-lockup{gap:var(--space-1)}.startup-action-stack{gap:var(--space-2)}.startup-content,.startup-mode-panel{gap:var(--space-4)}.startup-card-header{gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-3)}.startup-card-title{gap:var(--space-2)}.startup-card-footer{padding:0 var(--space-4) var(--space-4)}.startup-card-content{padding:0 var(--space-4) var(--space-2)}.startup-footer{gap:var(--space-1) var(--space-2)}@media (width<=620px){.startup-mode-panel{gap:var(--space-2)}.startup-card-header{padding:var(--space-3) var(--space-4) var(--space-2)}.startup-card-footer{padding:0 var(--space-4) var(--space-3)}.startup-card-content{padding:0 var(--space-4) var(--space-1)}}@media (width<=620px) and (height<=740px){.startup-stage{padding-bottom:max(var(--space-2), env(safe-area-inset-bottom))}.startup-mode-panel{gap:var(--space-1)}.startup-card-header{gap:var(--space-1);padding:var(--space-2) var(--space-3) var(--space-1)}}.play-shell-status-replacement{flex:1;align-content:center;min-height:0;display:grid}.play-shell .learn-checked-status{gap:var(--space-1);display:grid}.play-shell .learn-checked-status p,.play-shell .learn-checked-status span{color:var(--color-ink-soft);font-size:var(--font-size-body);margin:0;font-weight:600;line-height:1.4}.play-shell .learn-checked-status p{font-size:var(--font-size-label);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.play-shell .learn-checked-status strong{color:var(--color-ink);font-size:var(--font-size-headline);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-result-card,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .learn-comparison,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .learn-fixed-action-bar-inner,.learn-screen[data-learn-screen=complete] .learn-complete-score,.learn-screen[data-learn-screen=complete] .learn-comparison,.learn-screen[data-learn-screen=complete] .learn-fixed-action-bar-inner{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-result-card,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .learn-comparison,.learn-screen[data-learn-screen=complete] .learn-complete-score,.learn-screen[data-learn-screen=complete] .learn-comparison{gap:var(--space-3)}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .learn-fixed-action-bar,.learn-screen[data-learn-screen=complete] .learn-fixed-action-bar{width:100%;position:static;transform:none}.sound-mark,.learn-sound-dot,.learn-pattern-sound,.learn-sound-letter,.play-shell .learn-lane-mark{box-shadow:none;border:0}.learn-pattern-cell,.learn-comparison-cell,.play-shell .learn-grid-cell,.play-shell .learn-pattern-cell{box-shadow:none;background-image:none;border:0;outline:0}.learn-pattern-brick,.learn-comparison-brick{border-radius:var(--radius-cell);width:100%;height:100%;box-shadow:none;background-image:none;border:0}.learn-target-brick,.learn-pattern-cell-active-hit .learn-pattern-brick,.learn-placement-grid-complete .learn-grid-cell-filled,.learn-grid-cell-focused,.learn-grid-cell-playing,.learn-grid-cell-removed,.learn-grid-cell-rejected,.play-shell .learn-foundation-cell-ghost{box-shadow:none;background-image:none;border:0;outline:0}.play-shell .learn-foundation-cell-ghost{background-color:unset;color:var(--color-ink);opacity:1}.play-shell .learn-grid-cell:focus-visible,.play-shell .learn-placement-grid:focus-visible,.placed-brick-button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.play-shell .learn-rhythm-active-column{margin:calc(-1 * var(--playhead-column-bleed)) calc(-1 * var(--play-shell-grid-visual-inset));border:0;border-left:1px solid var(--color-line);border-right:1px solid var(--color-line);background:var(--column-shade);border-radius:0;top:0;bottom:0}.play-shell .learn-rhythm-matrix{grid-template-rows:repeat(var(--learn-visual-rows), var(--play-shell-grid-hit-size));grid-auto-rows:var(--play-shell-grid-hit-size);align-content:start}.learn-screen[data-learn-screen=foundation]>.play-shell,.learn-screen[data-learn-screen=listen]>.play-shell,.learn-screen[data-learn-screen=play]>.play-shell,.learn-screen[data-learn-screen=daily]>.play-shell{min-height:0}.play-shell .learn-rhythm-matrix{position:relative}.play-shell .learn-rhythm-active-column{left:calc(var(--play-shell-row-label-width) + var(--grid-column-gap) + (var(--grid-column-gap) / -4));width:calc(var(--play-shell-grid-hit-size) + (var(--grid-column-gap) / 2));margin:calc(-1 * var(--playhead-column-bleed)) 0;transform:translate3d(calc(var(--learn-active-index) * var(--play-shell-grid-hit-size)), 0, 0);transition:none}.play-shell .learn-foundation-complete-heading{white-space:nowrap;font-size:1.125rem;display:block}.play-shell .learn-grid-cell,.play-shell .learn-pattern-cell{border:solid #0000;border-width:0 var(--play-shell-grid-visual-inset);background-clip:padding-box}.play-shell .learn-pattern[data-answer-visible=false] .learn-pattern-cell{background-image:none}.play-shell .learn-beat-divider{top:0;bottom:0;left:calc(var(--play-shell-row-label-width) + var(--grid-column-gap) + (var(--beat-boundary-step) * var(--play-shell-grid-hit-size)));z-index:2;background:var(--color-line);pointer-events:none;border:0;border-radius:0;width:1px;position:absolute}.play-shell-status-replacement,.play-shell .learn-checked-status{transition:none;animation:none}.play-shell .learn-foundation-cue-region{grid-template-columns:minmax(0,1fr)}.play-shell .learn-foundation-cue-region .learn-cue-action{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-on-ink)}.learn-comparison{--learn-comparison-step-gap:var(--grid-column-gap)}.learn-comparison-group{gap:var(--grid-row-gap);position:relative}.learn-comparison-lane{gap:var(--space-2)}.learn-comparison-group:after{content:"";top:0;bottom:0;left:calc(var(--learn-comparison-label-width) + var(--space-2) + (4 * var(--learn-comparison-step-size)) + (3.5 * var(--grid-column-gap)));background:var(--color-line);pointer-events:none;width:1px;position:absolute}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-top-row{justify-content:flex-end}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-header,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-result-card,.learn-screen[data-learn-screen=complete] .learn-complete-shell>h1,.learn-screen[data-learn-screen=complete] .learn-complete-score{text-align:center}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-result-card{justify-items:center}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-attempt-row,.learn-screen[data-learn-screen=complete] .learn-feedback-chip-row{justify-content:center}.learn-screen[data-learn-screen=complete] .learn-complete-score{justify-items:center}.play-shell .play-shell-status{text-align:center;align-items:center;position:relative}.learn-screen[data-learn-screen=foundation]>.play-shell,.learn-screen[data-learn-screen=daily]>.play-shell{grid-template-rows:calc(var(--play-shell-status-height) + var(--space-8) + var(--space-8)) minmax(0, 1fr) var(--play-shell-dock-height)}.learn-screen[data-learn-screen=foundation]>.play-shell-foundation{grid-template-rows:calc(var(--play-shell-status-height) + var(--space-8) + var(--space-8)) minmax(0, 1fr) var(--play-shell-foundation-dock-height)}.play-shell .play-shell-status-topline{z-index:3;pointer-events:none;width:100%;position:absolute;inset:0 0 auto}.play-shell .play-shell-navigation,.play-shell .play-shell-top-control{pointer-events:auto}.play-shell .play-shell-eyebrow{width:100%;min-height:44px;margin-top:var(--space-8);justify-content:center;gap:var(--space-1);text-align:center;flex-direction:column}.play-shell .play-shell-meta{text-align:center}.play-shell .play-shell-headline,.play-shell .play-shell-hint,.play-shell .play-shell-status-content,.play-shell .play-shell-coaching{text-align:center;width:100%}.play-shell .play-shell-hint{place-items:center;min-height:24px;display:grid}.play-shell .daily-status-card{justify-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.play-shell .daily-budget{justify-content:center}.play-shell .daily-state-cue{min-height:24px;color:var(--color-ink);font-size:var(--font-size-body);place-items:center;margin:0;font-weight:700;line-height:24px;display:grid}.audio-help-link-row{place-items:center;min-height:44px;display:grid}.play-shell .play-shell-coaching[data-empty=true]{pointer-events:none}.audio-help-link{min-width:44px;min-height:44px;padding:0 var(--space-2);border-radius:var(--radius-cell);color:var(--color-ink-soft);font:inherit;font-size:var(--font-size-body);text-underline-offset:var(--space-1);touch-action:manipulation;background:0 0;border:0;margin:0;font-weight:600;line-height:1.4;text-decoration:underline;text-decoration-thickness:1px}.audio-help-link:hover{color:var(--color-ink)}.audio-help-link:focus-visible{outline:var(--focus-ring-compact);outline-offset:var(--focus-offset)}.audio-help-link:active{transform:scale(.96)}.audio-help-dialog,.audio-help-dialog[data-state]{left:max(var(--space-4), env(safe-area-inset-left));right:max(var(--space-4), env(safe-area-inset-right));width:auto;max-width:30rem;max-height:calc(100dvh - var(--space-8));border-radius:var(--radius-button);margin-inline:auto;overflow:hidden auto;transform:translateY(-50%)}.audio-help-dialog-header{text-align:left}.audio-help-list{gap:var(--space-2);margin:var(--space-2) 0 0;padding-left:var(--space-6);color:var(--color-ink-soft);font-size:var(--font-size-body);text-wrap:pretty;line-height:1.4;display:grid}.audio-help-actions{gap:var(--space-2)}.audio-help-actions button{min-height:44px}.play-shell .daily-score-line{-moz-column-gap:var(--space-2);justify-content:center;align-items:baseline;column-gap:var(--space-2);row-gap:var(--space-1);grid-template-columns:auto auto;grid-template-areas:"label value""feedback feedback";min-height:52px;display:grid}.play-shell .daily-score-line[data-score-visible=false]{min-height:24px}.play-shell .daily-score-label{font-size:var(--font-size-body);letter-spacing:.04em;text-transform:none;font-weight:700;line-height:1.2}.play-shell .daily-score-line strong{font-variant-numeric:tabular-nums;font-size:24px}.play-shell .daily-score-feedback{width:100%;min-height:20px;color:var(--color-ink-soft);text-align:center;text-wrap:pretty;margin:0;font-size:13px;font-weight:600;line-height:20px}.play-shell-daily .play-shell-coaching{display:none}.play-shell .learn-foundation-cue-region{justify-items:center;gap:var(--space-2)}.play-shell .learn-foundation-cue-region .learn-cue-action{width:min(100%,480px)}.play-shell .learn-foundation-progress{justify-content:center;align-items:center;gap:var(--space-2);width:100%;margin:0;padding:0;list-style:none;display:flex}.play-shell .learn-foundation-progress li{border:1px solid var(--color-line);width:28px;height:28px;color:var(--color-ink-soft);font-size:var(--font-size-label);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-weight:800;display:grid}.play-shell .learn-foundation-progress li[data-state=active]{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-on-ink)}.play-shell .learn-foundation-progress li[data-state=complete]{border-color:var(--color-ink-soft);background:var(--color-line-soft);color:var(--color-ink)}.play-shell .play-shell-dock-foundation{height:var(--play-shell-foundation-dock-height);grid-template-rows:repeat(2,56px);grid-template-columns:minmax(0,1fr)}.play-shell .play-shell-dock-foundation-primary{grid-row:1}.play-shell .play-shell-dock-foundation-secondary{grid-row:2}.play-shell .learn-listen-cue-region{place-items:center;min-height:8px}.play-shell .learn-target-progress{border-radius:var(--radius-cell);background:var(--color-line-soft);opacity:0;width:min(100%,360px);height:4px;overflow:hidden}.play-shell .learn-target-progress[data-playing=true]{opacity:1}.play-shell .learn-target-progress>span{background:var(--color-ink);height:100%;transition-property:width;transition-duration:.12s;transition-timing-function:linear;display:block}.learn-screen[data-learn-screen=daily][data-daily-phase=reveal]{min-height:100dvh;min-height:var(--app-viewport-height);background:var(--color-bg);overflow:clip auto}.learn-screen[data-learn-screen=daily] .daily-reveal-shell{box-sizing:border-box;width:min(100%, var(--play-shell-max-width));min-height:100dvh;min-height:var(--app-viewport-height);justify-items:center;gap:var(--space-4);padding:max(var(--space-4), env(safe-area-inset-top)) var(--space-4) max(var(--space-8), env(safe-area-inset-bottom));margin-inline:auto;display:grid}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-top-row,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-header,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-result-card,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-beat-card,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .learn-comparison,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .learn-fixed-action-bar{width:100%}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-header,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-result-card{text-align:center;justify-items:center}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-result-card{gap:var(--space-3)}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-result-success,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-result-usage,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-result-streak{color:var(--color-ink);text-align:center;margin:0}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-result-success{font-size:clamp(1.25rem, 5.4vw, var(--font-size-headline));text-wrap:balance;font-weight:700;line-height:1.2}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-result-usage,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-result-streak{font-size:var(--font-size-body);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.35}.daily-manual-copy-dialog,.daily-manual-copy-dialog[data-state]{left:max(var(--space-4), env(safe-area-inset-left));right:max(var(--space-4), env(safe-area-inset-right));width:auto;max-width:30rem;margin-inline:auto;transform:translateY(-50%);transition:none!important}.daily-manual-copy-dialog[data-state=open]{animation:.18s ease-out both daily-manual-dialog-in!important}.daily-manual-copy-dialog[data-state=closed]{animation:.15s ease-in both daily-manual-dialog-out!important}@keyframes daily-manual-dialog-in{0%{opacity:0;transform:translateY(calc(-50% + var(--space-2)))}to{opacity:1;transform:translateY(-50%)}}@keyframes daily-manual-dialog-out{0%{opacity:1;transform:translateY(-50%)}to{opacity:0;transform:translateY(calc(-50% + var(--space-2)))}}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-beat-card{border:1px solid var(--color-line);border-radius:var(--radius-button);box-shadow:none;background:0 0}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-actions,.learn-screen[data-learn-screen=daily] .daily-reveal-shell .learn-action-dock-row{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-actions{padding-bottom:env(safe-area-inset-bottom);grid-template-columns:minmax(0,1fr)}@media (prefers-reduced-motion:reduce){.play-shell .learn-target-progress>span{transition:none}.daily-manual-copy-dialog[data-state]{animation:none!important}}.learn-placement-grid,.learn-rhythm-matrix,.learn-grid-cell,.daily-placement-grid{touch-action:manipulation}.play-shell .learn-pattern[data-locked=true] .learn-rhythm-matrix{pointer-events:none;cursor:default}.play-shell .learn-pattern[data-locked=true] .learn-pattern-cell,.play-shell .learn-pattern[data-locked=true] .learn-lane-label{opacity:.52}.play-shell .learn-pattern[data-locked=true][data-active-step]:not([data-active-step=""]) .learn-rhythm-active-column{opacity:1}.play-shell .learn-checked-status{justify-content:center;align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;width:100%;display:flex}.play-shell .learn-checked-score-lockup{justify-content:center;align-items:baseline;gap:var(--space-2);min-width:0;display:inline-flex}.play-shell .learn-checked-score-lockup>p{color:var(--color-ink-soft);font-size:var(--font-size-body);letter-spacing:.04em;text-transform:none;margin:0;font-weight:700;line-height:1.2}.play-shell .learn-checked-score-lockup>strong{color:var(--color-ink);font-size:var(--font-size-headline);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.play-shell .learn-checked-feedback{width:100%;color:var(--color-ink-soft);font-size:var(--font-size-body);text-align:center;text-wrap:pretty;margin:0;font-weight:600;line-height:1.4}.play-shell .learn-checked-status>.learn-assist-action-row{width:min(100%,20rem)}.play-shell .learn-checked-status>.learn-assist-action-row>button{height:44px;min-height:44px}.startup-card-action,.play-shell .play-shell-dock button{font-family:var(--font-family);font-size:var(--font-size-button);letter-spacing:normal;font-weight:900}.learn-comparison-playhead{top:0;bottom:0;left:calc(var(--learn-comparison-label-width) + var(--space-2));z-index:2;width:var(--learn-comparison-step-size);border-left:1px solid var(--color-line);border-right:1px solid var(--color-line);background:var(--column-shade);pointer-events:none;transition:none;position:absolute}.learn-screen[data-learn-screen=daily] .daily-reveal-shell .daily-training-row{grid-template-columns:minmax(0,1fr)}.daily-result-return{color:var(--color-ink);font-size:var(--font-size-body);text-align:center;margin:0;font-weight:700}.play-shell .daily-given-cell{cursor:default;pointer-events:none;place-items:center;display:grid}@media (width>=761px){.learn-screen[data-learn-screen=daily] .daily-reveal-shell .learn-fixed-action-bar{margin-top:var(--space-4)}}.application-shell{min-width:0;min-height:100dvh;min-height:var(--app-viewport-height);background:var(--color-bg)}.app-mode-root{min-height:var(--app-viewport-height)}.application-route-frame{min-width:0;min-height:0}.application-shell[data-consent-prompt=true]{height:100dvh;height:var(--app-viewport-height);grid-template-rows:minmax(0,1fr) auto;display:grid;overflow:hidden}.application-shell[data-consent-prompt=true] .application-route-frame{overscroll-behavior:contain;overflow:clip auto}.analytics-consent-banner{box-sizing:border-box;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) max(var(--space-4), env(safe-area-inset-right)) max(var(--space-4), env(safe-area-inset-bottom)) max(var(--space-4), env(safe-area-inset-left));border-top:1px solid var(--color-line);background:var(--color-bg);box-shadow:0 -8px 24px rgb(var(--color-ink-channel) / .08);color:var(--color-ink);font-family:var(--font-family);grid-template-columns:minmax(0,1fr) minmax(360px,auto) 44px;display:grid}.analytics-consent-copy{min-width:0}.analytics-consent-copy h2{color:var(--color-ink);text-wrap:balance;margin:0;font-size:1.125rem;font-weight:700;line-height:1.2}.analytics-consent-copy p{max-width:50rem;margin:var(--space-1) 0 0;color:var(--color-ink-soft);font-size:var(--font-size-body);text-wrap:pretty;font-weight:500;line-height:1.4}.analytics-consent-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.analytics-consent-actions button{border:1px solid var(--color-ink);border-radius:var(--radius-button);background:var(--color-ink);min-width:0;min-height:44px;box-shadow:none;color:var(--color-on-ink);font-size:var(--font-size-body);white-space:normal}.analytics-consent-actions button:hover{background:var(--color-ink-pressed)}.analytics-consent-actions button:active{box-shadow:var(--shadow-inset-pressed);transform:scale(.96)}.analytics-consent-actions button:focus-visible,.analytics-consent-privacy-link:focus-visible{outline:var(--focus-ring-compact);outline-offset:var(--focus-offset)}.analytics-consent-privacy-link{min-width:44px;min-height:44px;color:var(--color-ink-soft);font-size:var(--font-size-body);text-underline-offset:var(--space-1);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.privacy-page{min-height:100dvh;min-height:var(--app-viewport-height);background:var(--color-bg);color:var(--color-ink);font-family:var(--font-family);overflow-x:clip}.privacy-document{box-sizing:border-box;gap:var(--space-8);width:min(100%,48rem);padding:max(var(--space-8), env(safe-area-inset-top)) max(var(--space-4), env(safe-area-inset-right)) max(var(--space-8), env(safe-area-inset-bottom)) max(var(--space-4), env(safe-area-inset-left));margin-inline:auto;display:grid}.privacy-header{gap:var(--space-2);display:grid}.privacy-back-link,.privacy-footer a{width:fit-content;min-height:44px;color:var(--color-ink-soft);font-size:var(--font-size-body);text-underline-offset:var(--space-1);align-items:center;font-weight:600;text-decoration:underline;display:inline-flex}.privacy-back-link:focus-visible,.privacy-footer a:focus-visible,.privacy-document a:focus-visible,.privacy-choice button:focus-visible{outline:var(--focus-ring-compact);outline-offset:var(--focus-offset)}.privacy-kicker,.privacy-updated{color:var(--color-ink-soft);font-size:var(--font-size-label);letter-spacing:.12em;text-transform:uppercase;margin:0;font-weight:700;line-height:1.4}.privacy-header h1{color:var(--color-ink);text-wrap:balance;margin:0;font-size:clamp(2rem,8vw,3rem);font-weight:700;line-height:1.05}.privacy-introduction{margin:var(--space-2) 0 0;color:var(--color-ink);text-wrap:pretty;font-size:1.125rem;font-weight:500;line-height:1.5}.privacy-document section{min-width:0}.privacy-document h2,.privacy-document h3{color:var(--color-ink);text-wrap:balance;font-weight:700}.privacy-document h2{margin:0 0 var(--space-3);font-size:1.5rem;line-height:1.2}.privacy-document h3{margin:var(--space-6) 0 var(--space-2);font-size:1.125rem;line-height:1.3}.privacy-document p,.privacy-document li{color:var(--color-ink-soft);overflow-wrap:anywhere;text-wrap:pretty;font-size:1rem;font-weight:500;line-height:1.6}.privacy-document p{margin:0}.privacy-document p+p{margin-top:var(--space-3)}.privacy-document ul{margin:var(--space-2) 0 var(--space-4);padding-left:var(--space-6)}.privacy-document li+li{margin-top:var(--space-1)}.privacy-document a{color:var(--color-ink);text-underline-offset:var(--space-1);text-decoration:underline}.privacy-choice{padding-block:var(--space-6);border-block:1px solid var(--color-line)}.privacy-choice strong{color:var(--color-ink)}.privacy-choice-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.privacy-choice-actions button{border-color:var(--color-ink);border-radius:var(--radius-button);min-height:44px;box-shadow:none;color:var(--color-ink);font-size:var(--font-size-body);background:0 0}.privacy-choice-actions button:hover{background:var(--color-line-soft)}.privacy-choice-actions button:active{box-shadow:var(--shadow-inset-pressed);transform:scale(.96)}.privacy-choice-announcement{min-height:1.6em;margin-top:var(--space-2)!important}.privacy-footer{padding-top:var(--space-4);border-top:1px solid var(--color-line-soft)}.startup-footer-primary,.startup-footer-privacy{justify-content:center;align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.startup-footer a{align-items:center;min-height:40px;display:inline-flex}.startup-footer a:focus-visible{border-radius:var(--radius-cell);outline:var(--focus-ring-compact);outline-offset:var(--focus-offset)}@media (width<=760px){.analytics-consent-banner{gap:var(--space-3);grid-template-columns:minmax(0,1fr) 44px}.analytics-consent-actions{grid-area:2/1/auto/-1}.analytics-consent-privacy-link{grid-area:1/2}}@media (width<=480px){.analytics-consent-banner{padding-top:var(--space-3)}.analytics-consent-actions{grid-template-columns:minmax(0,1fr)}.privacy-document{gap:var(--space-6)}.privacy-choice-actions{grid-template-columns:minmax(0,1fr);display:grid}.startup-footer{row-gap:var(--space-4);width:100%}.startup-footer-primary,.startup-footer-privacy{flex-basis:100%}.startup-footer-privacy .startup-footer-divider{display:none}.startup-footer a{min-height:var(--space-6);position:relative}.startup-footer a:after{content:"";height:40px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}}@media (prefers-reduced-motion:reduce){.analytics-consent-banner *,.privacy-page *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.game-screen{--free-build-radius:var(--radius-button)}.game-screen .game-nav-button,.game-screen .guide-button,.game-screen .refresh-button,.game-screen .info-button,.game-screen .web-experiment-badge,.game-screen .score-delta,.game-screen .score-stack,.game-screen .current-brick-pill,.game-screen .current-brick-token,.game-screen .score-feedback,.game-screen .stage-message-complete,.game-screen .stage-message-intro,.game-screen .stage-report-button,.game-screen .chance-picker,.game-screen .chance-picker-letter,.game-screen .chance-picker-pill,.game-screen .transport-mode-group,.game-screen .transport-mode-button,.game-screen .finish-beat-button,.game-screen .chance-edit-control,.game-screen .chance-discovery-guide,.game-screen .info-popover-close,.game-screen .free-build-cue{border-radius:var(--free-build-radius)}.game-screen .storage-cell-slot,.game-screen .falling-brick-piece,.game-screen .placed-brick-button,.game-screen .probability-badge,.game-screen .score-signal-track,.game-screen .score-signal-fill{border-radius:0}.game-screen .game-nav-button,.game-screen .guide-button,.game-screen .refresh-button,.game-screen .info-button,.game-screen .transport-mode-button,.game-screen .finish-beat-button,.game-screen .chance-edit-control,.game-screen .chance-discovery-guide,.game-screen .chance-picker-pill,.game-screen .chance-picker-target select,.game-screen .info-popover-close,.game-screen .stage-report-button{min-height:44px}.game-screen .score-stack{border-color:rgb(var(--workbench-rail) / .12);border-radius:var(--free-build-radius);background:rgb(var(--workbench-surface) / .72);box-shadow:none;overflow:visible}.game-screen .current-brick-pill{min-height:44px;padding:var(--space-2);background:0 0;border:0}.game-screen .score-complete-status{border-radius:var(--free-build-radius);padding:var(--space-2);background:0 0;overflow:visible}.game-screen .current-brick-mode{color:var(--color-ink);font-size:var(--font-size-body);text-wrap:balance;font-weight:800;line-height:1.15}.game-screen .free-build-cue{box-sizing:border-box;width:min(100%, calc((var(--cell-size-x) * 16) + 14px));align-content:center;gap:var(--space-1);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);height:5.75rem;min-height:5.75rem;padding:var(--space-2) var(--space-3);display:grid}.game-screen .free-build-cue p{margin:0}.game-screen .free-build-transient-cue{min-height:2.4em;color:var(--color-ink-soft);font-size:var(--font-size-label);overflow-wrap:anywhere;text-wrap:pretty;align-items:center;font-weight:700;line-height:1.2;display:grid}.game-screen .free-build-transient-cue .placement-coach{color:var(--color-ink);background:0 0;border:0;padding:0;display:block}.game-screen .transport-bar{border:1px solid rgb(var(--workbench-rail) / .14);border-radius:var(--free-build-radius);background:rgb(var(--workbench-surface) / .66);padding:var(--space-2);box-shadow:none}.game-screen .finish-control-wrap,.game-screen .finish-beat-button{min-width:5.5rem}.game-screen .transport-mode-group,.game-screen .finish-beat-button,.game-screen .chance-discovery-strip{box-shadow:none}.game-screen .chance-discovery-strip{border-top:1px solid var(--color-line);padding-top:var(--space-2);background:0 0;border-radius:0}.game-screen .chance-discovery-option{box-shadow:none;background:0 0}.game-screen .stage-message-complete{box-shadow:0 0 0 1px rgb(var(--workbench-rail) / .12)}.game-screen .well-wall{background:rgb(var(--workbench-rail) / .52)!important}.game-screen .score-feedback{align-content:stretch;gap:var(--space-1);border-radius:var(--free-build-radius);width:100%;min-height:0;max-height:none;padding:var(--space-2);background:0 0;border:0;grid-area:feedback;overflow:visible}.game-screen .score-feedback-heading{justify-content:space-between;align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.game-screen .score-feedback-heading>span{color:var(--color-ink-soft);font-size:var(--font-size-label);letter-spacing:.1em;text-transform:uppercase;flex:none;font-weight:800;line-height:1}.game-screen .score-feedback-tag{min-width:0;color:var(--color-ink);font-size:var(--font-size-body);text-align:right;text-wrap:balance;line-height:1.1;display:block}.game-screen .score-signal-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;display:grid}.game-screen .score-signal{gap:var(--space-1);min-width:0;display:grid}.game-screen .score-signal>span{color:var(--color-ink-soft);font-size:var(--font-size-label);overflow-wrap:anywhere;text-wrap:balance;font-weight:700;line-height:1.08}.game-screen .score-signal-track{height:var(--space-1);border-radius:var(--radius-cell);background:var(--color-line);overflow:hidden}.game-screen .score-signal-fill{border-radius:inherit;background:var(--color-ink);height:100%;display:block}.game-screen .score-next-cue{min-width:0;color:var(--color-ink-soft);font-size:var(--font-size-label);overflow-wrap:anywhere;text-wrap:pretty;margin:0;font-weight:650;line-height:1.2}.game-screen .score-next-cue strong{color:var(--color-ink);font-weight:850}@media (width>=901px){.game-screen .score-feedback{min-height:6.5rem;max-height:none}.game-screen .score-feedback-copy{-webkit-line-clamp:unset;display:block}}@media (width<=900px){.game-screen .score-stack,.game-screen-touch .score-stack{gap:var(--space-1) var(--space-2);border-radius:var(--radius-button);height:auto;min-height:8.75rem;padding:var(--space-2);grid-template:"score-number current score-delta""score-label current score-delta""feedback feedback feedback""complete complete complete"/auto minmax(0,1fr) auto}.game-screen .score-number{align-self:end}.game-screen .score-label{color:var(--color-ink-soft);font-size:var(--font-size-label);text-align:center;white-space:nowrap;grid-area:score-label;align-self:start;font-weight:750;line-height:1;display:block}.game-screen .score-status-stack{height:auto;min-height:0;display:contents}.game-screen .current-brick-pill{grid-area:current;align-self:center;min-height:44px}.game-screen .score-feedback{grid-area:feedback;width:100%;min-height:5.25rem;max-height:none}.game-screen .score-feedback-copy{-webkit-line-clamp:unset;display:none}.game-screen .score-feedback-tag{font-size:var(--font-size-body)}.game-screen .score-signal>span,.game-screen .score-next-cue{font-size:var(--font-size-label)}.game-screen .score-complete-status{grid-area:complete}}.beat-report-listening-mission{gap:var(--space-1);border-radius:var(--radius-button);background:var(--color-line-soft);min-width:0;padding:var(--space-3);text-align:left;display:grid}.beat-report-listening-mission p,.beat-report-listening-mission h3,.beat-report-listening-mission span{margin:0}.beat-report-listening-mission p{color:var(--color-ink-soft);font-size:var(--font-size-label);letter-spacing:.1em;text-transform:uppercase;font-weight:800;line-height:1}.beat-report-listening-mission h3{color:var(--color-ink);font-size:var(--font-size-body);text-wrap:balance;font-weight:800;line-height:1.25}.beat-report-listening-mission span{color:var(--color-ink-soft);font-size:var(--font-size-body);font-weight:650;line-height:1.25}@media (prefers-reduced-motion:reduce){.onboarding-progress span,.game-screen .score-signal-fill{transition:none}}.game-screen .free-build-storage-zone{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.game-screen .storage-cell-slot{border-radius:var(--radius-cell);background:var(--color-line-soft)}.game-screen .first-drop-map{z-index:12;min-height:var(--space-6);color:var(--color-ink-soft);font-size:var(--font-size-label);text-align:center;pointer-events:none;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;font-weight:750;line-height:1;display:grid;position:absolute}.game-screen .first-drop-map strong{color:var(--color-ink);font-weight:850}@media (width>=901px){:root{--cell-size-x:clamp(28px, min(4.25svh, 4.5vw), 42px);--cell-size-y:clamp(24px, min(3.1svh, 3.25vw), 30px)}}@media (width<=900px){:root{--cell-size-y:clamp(27px, 3.35svh, 31px)}}@media (width<=520px){:root{--cell-size-y:clamp(25px, calc((100dvh - 424px) / 12), 30px)}}@media (width<=520px) and (height<=860px){:root{--cell-size-y:clamp(24px, calc((100dvh - 438px) / 12), 29px)}}@media (width>=521px) and (width<=900px) and (height<=740px){.game-screen{--cell-size-y:clamp(25px, calc((100dvh - 400px) / 12), 28px)}}.game-screen .chance-discovery-meaning{color:var(--color-ink-soft);font-weight:700;line-height:1.1}@media (width<=900px){.game-screen .chance-discovery-strip{align-items:center;gap:var(--space-2);min-height:44px;margin-top:var(--space-2);padding:var(--space-2) var(--space-1) 0 var(--space-3);text-align:left;background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.game-screen .chance-discovery-option{display:none}.game-screen .chance-discovery-meaning{min-width:0;font-size:var(--font-size-label);text-wrap:pretty}.game-screen .chance-discovery-guide{border-radius:var(--radius-button);min-height:44px;padding-inline:var(--space-3);white-space:nowrap}}@media (width<=700px) and (height<=840px){.beat-report-footer{box-shadow:none;position:static}}.onboarding-button{min-height:44px}.game-screen .game-stage{width:min(100%,1180px)}.game-screen .game-tagline{color:rgb(var(--color-ink-channel) / .8);font-weight:450}.game-screen .score-stack{width:min(100%, calc((var(--cell-size-x) * 16) + 14px));place-items:stretch stretch;gap:var(--space-1);border:0;border-bottom:1px solid var(--color-line);min-height:0;padding:0 0 var(--space-1);text-align:center;background:0 0;border-radius:0;grid-template:"summary""complete""feedback"/minmax(0,1fr);display:grid}.game-screen .score-summary{grid-area:summary;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-width:0;display:grid}.game-screen .score-primary{grid-column:2;justify-items:center;gap:2px;display:grid}.game-screen .score-primary .score-number,.game-screen .score-primary .score-label{grid-area:auto;align-self:auto}.game-screen .score-primary .score-label{color:var(--color-ink-soft);font-size:var(--font-size-label);white-space:nowrap;font-weight:750;line-height:1;display:block}.game-screen .score-feedback-heading{justify-content:center;gap:var(--space-3)}.game-screen .score-feedback-tag{text-align:left}.game-screen .score-summary .score-delta-group{grid-area:auto/3;place-self:center end}.game-screen .score-complete-status{grid-area:complete}.game-screen .free-build-cue{height:6rem;min-height:6rem}.game-screen .free-build-cue-primary{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.game-screen .guidance-toggle{border:1px solid var(--color-line);border-radius:var(--free-build-radius);min-width:44px;min-height:44px;color:var(--color-ink-soft);padding-inline:var(--space-2);font-size:var(--font-size-label);white-space:nowrap;background:0 0;font-weight:800}.game-screen .guidance-toggle:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.game-screen .free-build-cue[data-guidance=off]{height:3.5rem;min-height:3.5rem}.game-screen .guidance-off-copy{color:var(--color-ink-soft)}.game-screen .score-delta-group{color:var(--color-ink-soft);white-space:nowrap;grid-area:auto/3;align-self:center;justify-items:center;gap:2px;font-size:.68rem;font-weight:800;line-height:1;display:grid}.game-screen .score-delta{border:1px solid var(--color-line);background:0 0;grid-area:auto;min-width:2.9rem;padding:.24rem .5rem}.game-screen .score-diagnostics-heading{color:var(--color-ink-soft);font-size:.68rem;font-weight:750;line-height:1.1}.game-screen .score-signal-label{justify-content:space-between;align-items:baseline;gap:var(--space-1);min-width:0;display:flex}.game-screen .score-signal-label strong{color:var(--color-ink);font-variant-numeric:tabular-nums}.game-screen .info-popover{border-radius:var(--free-build-radius);width:min(28rem,100vw - 28px);max-height:min(42rem,100dvh - 28px);padding:var(--space-4);position:relative;inset:auto}.game-screen .info-popover:before{display:none}.game-screen .info-popover-close{width:100%;margin-top:var(--space-4);border:1px solid var(--color-line);background:var(--color-bg);color:var(--color-ink);font-weight:800}.game-screen .score-diagnostic-definitions{gap:var(--space-2);margin:var(--space-2) 0 0;display:grid}.game-screen .score-diagnostic-definitions div{gap:2px;display:grid}.game-screen .score-diagnostic-definitions dt,.game-screen .score-diagnostic-definitions dd{margin:0}.game-screen .score-diagnostic-definitions dt{color:var(--color-ink);font-size:var(--font-size-label);font-weight:850}.game-screen .score-diagnostic-definitions dd{color:var(--color-ink-soft);font-size:var(--font-size-label);font-weight:650;line-height:1.25}.game-screen .chance-picker-target{gap:var(--space-1);color:var(--color-ink-soft);font-size:var(--font-size-label);font-weight:800;display:grid}.game-screen .chance-picker-target select{border:1px solid var(--color-line);border-radius:var(--free-build-radius);background:var(--color-bg);width:100%;color:var(--color-ink);padding:0 var(--space-3);font:inherit}.game-screen .chance-edit-control,.game-screen .chance-discovery-guide{border:1px solid var(--color-line);min-width:44px;color:var(--color-ink);padding-inline:var(--space-3);font-size:var(--font-size-label);white-space:nowrap;background:0 0;font-weight:850}.game-screen .guidance-toggle:hover,.game-screen .chance-edit-control:not(:disabled):hover,.game-screen .chance-discovery-guide:not(:disabled):hover,.game-screen .info-popover-close:hover{background:var(--color-line-soft)}.game-screen .guidance-toggle:active,.game-screen .chance-edit-control:not(:disabled):active,.game-screen .chance-discovery-guide:not(:disabled):active,.game-screen .info-popover-close:active{background:var(--color-line)}.game-screen .chance-edit-control:disabled,.game-screen .chance-discovery-guide:disabled{cursor:not-allowed;color:var(--color-ink-soft);opacity:.55}.game-screen .chance-edit-control:focus-visible,.game-screen .info-popover-close:focus-visible,.game-screen .chance-picker-target select:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.game-screen .transport-bar{border:0;border-top:1px solid var(--color-line);background:0 0;border-radius:0}.game-screen .chance-discovery-strip{align-items:center;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) repeat(3,auto) auto auto;display:grid}.game-screen .chance-discovery-option,.game-screen .storage-cell-slot,.game-screen .falling-brick-piece,.game-screen .placed-brick-button,.game-screen .probability-badge,.game-screen .score-signal-track,.game-screen .score-signal-fill{border-radius:0}.game-screen .probability-badge{background:rgb(var(--color-bg-channel) / .86);border:0}.game-screen .probability-badge-default{display:none}@media (width>=901px){.game-screen{--cell-size-x:clamp(34px, min(5.2svh, 4vw), 48px);--cell-size-y:clamp(25px, min(3.2svh, 2.65vw), 31px)}.game-screen .score-feedback{min-height:5.25rem}.game-screen .game-stage{width:min(100%,1180px);padding-inline:clamp(16px,2.2vw,32px)}}@media (width<=900px){.game-screen{overflow:hidden auto}.game-screen .game-stage{width:100%;min-height:100dvh;min-height:var(--app-viewport-height);padding-top:max(6px, env(safe-area-inset-top));padding-bottom:max(6px, env(safe-area-inset-bottom));gap:6px}.game-screen .game-stage-header{row-gap:4px}.game-screen-touch .game-title-block{align-content:center;min-height:0}.game-screen .score-stack,.game-screen-touch .score-stack{min-height:0;padding:6px var(--space-2) var(--space-2);grid-template-columns:minmax(0,1fr);grid-template-areas:"summary""complete""feedback";gap:5px}.game-screen .score-delta-group{grid-area:auto/3;align-self:center}.game-screen .score-delta{grid-area:auto}.game-screen .score-feedback{min-height:4.7rem;padding:var(--space-1) 0 0}.game-screen .score-feedback-heading{gap:var(--space-1)}.game-screen .score-diagnostics-heading{display:none}.game-screen .score-signal-grid{gap:var(--space-1)}.game-screen .score-signal-label{font-size:.66rem}.game-screen .game-stage-body{grid-template-rows:auto auto auto;gap:5px}.game-screen .free-build-cue{height:5.5rem;min-height:5.5rem;padding:6px var(--space-2);gap:2px}.game-screen .free-build-transient-cue{min-height:2.35em;font-size:.72rem}.game-screen .transport-bar{padding:6px;position:static;bottom:auto}.game-screen .chance-discovery-strip{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"title meaning edit guide";gap:5px;min-height:44px;margin-top:5px;padding:5px 0 0}.game-screen .chance-discovery-title{grid-area:title}.game-screen .chance-discovery-meaning{grid-area:meaning}.game-screen .chance-edit-control{min-width:0;padding-inline:var(--space-2);grid-area:edit}.game-screen .chance-discovery-guide{padding-inline:var(--space-2);grid-area:guide}}@media (width<=520px){.game-screen{--cell-size-x:clamp(16px, calc((100vw - 42px) / 16), 25px);--cell-size-y:clamp(23px, calc((100dvh - 480px) / 12), 28px)}.game-screen .game-stage{padding-inline:10px}.game-screen .game-title{font-size:clamp(1rem,4.8vw,1.25rem)}.game-screen .game-tagline{color:rgb(var(--color-ink-channel) / .78);font-size:clamp(.66rem,2.45vw,.76rem);font-weight:450}.game-screen .score-stack,.game-screen-touch .score-stack{min-height:0}.game-screen .score-feedback{min-height:4.45rem}.game-screen .score-feedback-tag{font-size:.76rem}.game-screen .score-signal-label{justify-items:start;gap:1px;font-size:.62rem;display:grid}.game-screen .free-build-cue{height:5.5rem;min-height:5.5rem}.game-screen .chance-discovery-title{display:none}.game-screen .chance-discovery-strip{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"meaning edit guide"}.game-screen .chance-discovery-meaning{font-size:.66rem}.game-screen .chance-edit-control,.game-screen .chance-discovery-guide{min-height:44px;padding-inline:7px;font-size:.66rem}.game-screen .chance-picker{width:min(20rem,96%)}.game-screen .chance-picker-target select{font-size:.72rem}.onboarding-button{min-height:44px}}@media (prefers-reduced-motion:reduce){.game-screen .finish-beat-button,.game-screen .free-build-transient-cue>span{transform:none!important}.game-screen .finish-beat-button,.game-screen .free-build-transient-cue>span,.game-screen .score-signal-fill,.onboarding-card,.onboarding-spotlight,.game-screen .info-popover,.chance-picker,.stage-message{transition:opacity .01ms linear!important;animation:none!important}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{--tw-text-opacity:1;color:rgb(var(--foreground) / var(--tw-text-opacity,1))}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity:1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity,1))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:bg-accent:hover{--tw-bg-opacity:1;background-color:rgb(var(--accent) / var(--tw-bg-opacity,1))}.hover\:bg-destructive\/80:hover{background-color:rgb(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:rgb(var(--destructive) / .9)}.hover\:bg-muted:hover{--tw-bg-opacity:1;background-color:rgb(var(--muted) / var(--tw-bg-opacity,1))}.hover\:bg-muted\/50:hover{background-color:rgb(var(--muted) / .5)}.hover\:bg-primary:hover{--tw-bg-opacity:1;background-color:rgb(var(--primary) / var(--tw-bg-opacity,1))}.hover\:bg-primary\/80:hover{background-color:rgb(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:rgb(var(--primary) / .9)}.hover\:bg-secondary:hover{--tw-bg-opacity:1;background-color:rgb(var(--secondary) / var(--tw-bg-opacity,1))}.hover\:bg-secondary\/80:hover{background-color:rgb(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{--tw-text-opacity:1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity,1))}.hover\:text-foreground:hover{--tw-text-opacity:1;color:rgb(var(--foreground) / var(--tw-text-opacity,1))}.hover\:text-muted-foreground:hover{--tw-text-opacity:1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity,1))}.hover\:text-primary-foreground:hover{--tw-text-opacity:1;color:rgb(var(--primary-foreground) / var(--tw-text-opacity,1))}.hover\:text-primary\/90:hover{color:rgb(var(--primary) / .9)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_rgb\(var\(--accent\)\)\]:hover{--tw-shadow:0 0 0 1px rgb(var(--accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.focus\:bg-accent:focus{--tw-bg-opacity:1;background-color:rgb(var(--accent) / var(--tw-bg-opacity,1))}.focus\:bg-primary:focus{--tw-bg-opacity:1;background-color:rgb(var(--primary) / var(--tw-bg-opacity,1))}.focus\:text-accent-foreground:focus{--tw-text-opacity:1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity,1))}.focus\:text-primary-foreground:focus{--tw-text-opacity:1;color:rgb(var(--primary-foreground) / var(--tw-text-opacity,1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--ring) / var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--ring) / var(--tw-ring-opacity,1))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:rgb(var(--background) / 1)}.active\:scale-\[0\.97\]:active{--tw-scale-x:.97;--tw-scale-y:.97;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:scale-100:disabled{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-55:disabled{opacity:.55}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:rgb(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{--tw-border-opacity:1;border-color:rgb(var(--border) / var(--tw-border-opacity,1))}.group.toast .group-\[\.toast\]\:bg-muted{--tw-bg-opacity:1;background-color:rgb(var(--muted) / var(--tw-bg-opacity,1))}.group.toast .group-\[\.toast\]\:bg-primary{--tw-bg-opacity:1;background-color:rgb(var(--primary) / var(--tw-bg-opacity,1))}.group.toaster .group-\[\.toaster\]\:bg-background{--tw-bg-opacity:1;background-color:rgb(var(--background) / var(--tw-bg-opacity,1))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{--tw-text-opacity:1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-primary-foreground{--tw-text-opacity:1;color:rgb(var(--primary-foreground) / var(--tw-text-opacity,1))}.group.toaster .group-\[\.toaster\]\:text-foreground{--tw-text-opacity:1;color:rgb(var(--foreground) / var(--tw-text-opacity,1))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:rgb(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{--tw-bg-opacity:1;background-color:rgb(var(--destructive) / var(--tw-bg-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{--tw-text-opacity:1;color:rgb(var(--destructive-foreground) / var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--destructive) / var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{--tw-bg-opacity:1;background-color:rgb(var(--accent) / var(--tw-bg-opacity,1))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:rgb(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{--tw-text-opacity:1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity,1))}.aria-selected\:text-muted-foreground[aria-selected=true]{--tw-text-opacity:1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity,1))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\]\:bg-accent\/50[data-active]{background-color:rgb(var(--accent) / .5)}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{--tw-bg-opacity:1;background-color:rgb(var(--accent) / var(--tw-bg-opacity,1))}.data-\[state\=active\]\:bg-background[data-state=active]{--tw-bg-opacity:1;background-color:rgb(var(--background) / var(--tw-bg-opacity,1))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(var(--primary) / var(--tw-bg-opacity,1))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{--tw-bg-opacity:1;background-color:rgb(var(--accent) / var(--tw-bg-opacity,1))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:rgb(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{--tw-bg-opacity:1;background-color:rgb(var(--secondary) / var(--tw-bg-opacity,1))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(var(--muted) / var(--tw-bg-opacity,1))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{--tw-bg-opacity:1;background-color:rgb(var(--input) / var(--tw-bg-opacity,1))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{--tw-text-opacity:1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity,1))}.data-\[state\=active\]\:text-foreground[data-state=active]{--tw-text-opacity:1;color:rgb(var(--foreground) / var(--tw-text-opacity,1))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{--tw-text-opacity:1;color:rgb(var(--primary-foreground) / var(--tw-text-opacity,1))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{--tw-text-opacity:1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity,1))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{--tw-text-opacity:1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity,1))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=closed\]\:ease-in[data-state=closed]{transition-timing-function:cubic-bezier(.4,0,1,1)}.data-\[state\=open\]\:ease-out[data-state=open]{transition-timing-function:cubic-bezier(0,0,.2,1)}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-bottom-2[data-state=closed]{--tw-exit-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-bottom-2[data-state=open]{--tw-enter-translate-y:.5rem}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[state\=closed\]\:ease-in[data-state=closed]{animation-timing-function:cubic-bezier(.4,0,1,1)}.data-\[state\=open\]\:ease-out[data-state=open]{animation-timing-function:cubic-bezier(0,0,.2,1)}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.dark\:border-destructive:is(.dark *){--tw-border-opacity:1;border-color:rgb(var(--destructive) / var(--tw-border-opacity,1))}@media (width>=640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-\[var\(--radius-button\)\]{border-radius:var(--radius-button)}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (width>=768px){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){--tw-bg-opacity:1;background-color:rgb(var(--accent) / var(--tw-bg-opacity,1))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:rgb(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{--tw-text-opacity:1;color:rgb(var(--destructive) / var(--tw-text-opacity,1))}.\[\&\>svg\]\:text-foreground>svg{--tw-text-opacity:1;color:rgb(var(--foreground) / var(--tw-text-opacity,1))}.\[\&\>svg\]\:text-muted-foreground>svg{--tw-text-opacity:1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity,1))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:rgb(var(--muted-foreground) / 1)}.\[\&_\.recharts-cartesian-grid_line\]\:stroke-border\/50 .recharts-cartesian-grid line{stroke:rgb(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:rgb(var(--border) / 1)}.\[\&_\.recharts-dot\]\:stroke-transparent .recharts-dot{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline-offset:2px;outline:2px solid #0000}.\[\&_\.recharts-polar-grid_\[stroke\]\]\:stroke-border .recharts-polar-grid [stroke]{stroke:rgb(var(--border) / 1)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:rgb(var(--muted) / 1)}.\[\&_\.recharts-reference-line_\[stroke\]\]\:stroke-border .recharts-reference-line [stroke]{stroke:rgb(var(--border) / 1)}.\[\&_\.recharts-sector\]\:stroke-transparent .recharts-sector{stroke:#0000}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline-offset:2px;outline:2px solid #0000}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{--tw-text-opacity:1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity,1))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_\[data-slot\=button-group\]\]\:shadow-none [data-slot=button-group]{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.\[\&_button\:first-child\:not\(\:last-child\)\]\:rounded-r-none button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\[\&_button\:focus-visible\]\:z-10 button:focus-visible{z-index:10}.\[\&_button\:last-child\:not\(\:first-child\)\]\:rounded-l-none button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\[\&_button\:not\(\:first-child\)\:not\(\:last-child\)\]\:rounded-none button:not(:first-child):not(:last-child){border-radius:0}.\[\&_button\:not\(\:focus-visible\)\:not\(\:first-child\)\]\:-ml-px button:not(:focus-visible):not(:first-child){margin-left:-1px}.\[\&_button\]\:relative button{position:relative}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}
