@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Press+Start+2P&display=swap";@layer components;/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--container-2xl:42rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.overflow-auto{overflow:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-2{padding-block:calc(var(--spacing)*2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.whitespace-break-spaces{white-space:break-spaces}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}@media (hover:hover){.hover\:opacity-90:hover{opacity:.9}}}:root{color:#fcf2d0;font-synthesis:none;background:#0c245f;font-family:IBM Plex Mono,ui-monospace,monospace}*{box-sizing:border-box}:root{--hud-h:76px}html,body,#root{background:#0c245f;min-height:100%;margin:0;overflow:hidden}body,.game-shell,.game-overlay,.game-overlay *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button{font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.game-shell,.game-canvas,.game-overlay{width:100%;height:100%;position:fixed;inset:0}@supports (height:100dvh){.game-shell,.game-canvas,.game-overlay{height:100dvh}html,body,#root{min-height:100dvh}}.game-canvas{opacity:0;background:linear-gradient(#0000 0 71%,#102f4c 71% 78%,#285e4b 78% 80%,#143f45 80% 100%),radial-gradient(35% 26% at 12% 75%,#225d72 0 42%,#0000 43%),radial-gradient(44% 28% at 47% 76%,#194d6a 0 45%,#0000 46%),radial-gradient(38% 25% at 83% 75%,#245d77 0 45%,#0000 46%),#0c245f;outline:none;display:block}.game-overlay{pointer-events:none;isolation:isolate;color:#fcf2d0}.game-hud{pointer-events:auto;z-index:12;background:linear-gradient(90deg,#051236f5,#0c245fe0);border-bottom:3px solid #f65a22;justify-content:space-between;align-items:center;height:76px;padding:10px clamp(14px,3vw,42px);display:flex;position:absolute;inset:0 0 auto;box-shadow:0 4px #0000002e}.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.brand-lockup img{object-fit:contain;width:46px;height:46px;image-rendering:pixelated}.eyebrow{color:#f5c84c;letter-spacing:.12em;margin:0 0 6px;font-size:9px;font-weight:600}.brand-lockup>div{min-width:0}.game-name{color:#fcf2d0;white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:"Press Start 2P",monospace;font-size:clamp(8px,1vw,12px);line-height:1.4;overflow:hidden}.hud-readout{color:#fcf2d0;letter-spacing:.06em;align-items:center;gap:clamp(8px,1.4vw,18px);font-size:15px;display:flex}.hud-readout b{color:#f5c84c;font-weight:600}.hud-divider{background:#fcf2d059;width:1px;height:18px}.start-panel{pointer-events:auto;z-index:6;background-position:50%;background-size:cover;grid-template-rows:1fr auto;grid-template-columns:minmax(340px,44%) 1fr;gap:18px;padding:116px clamp(20px,6vw,86px) 38px;display:grid;position:absolute;inset:0}.start-copy{z-index:2;align-self:center;max-width:590px;position:relative}.level-ribbon{color:#fcf2d0;letter-spacing:.08em;background:#f65a22;margin-bottom:17px;padding:8px 10px 7px;font-size:10px;font-weight:600;display:inline-block;box-shadow:4px 4px #0000003b}.high-score{color:#f5c84c;letter-spacing:.08em;margin:10px 0 0;font-family:"Press Start 2P",monospace;font-size:9px}.high-score b{color:#fcf2d0}.start-copy h1{color:#fcf2d0;letter-spacing:-.05em;text-shadow:5px 5px #f65a22;max-width:580px;margin:0;font-family:"Press Start 2P",monospace;font-size:clamp(25px,4vw,58px);line-height:1.28}.start-copy h1 em{color:#f5c84c;font-style:normal}.start-description{color:#fcf2d0eb;max-width:480px;margin:24px 0 22px;font-size:clamp(13px,1.4vw,16px);line-height:1.65}.menu-actions{flex-wrap:wrap;gap:11px;display:flex}.platform-note{color:#fcf2d08f;letter-spacing:.08em;margin:12px 0 0;font-size:14px;line-height:1.6}.platform-note:before{content:"";vertical-align:middle;background:#f5c84c;width:8px;height:8px;margin-right:8px;display:inline-block}.pixel-button,.text-button{pointer-events:auto;cursor:pointer;border:0;transition:transform .16s cubic-bezier(.23,1,.32,1),filter .16s cubic-bezier(.23,1,.32,1)}.pixel-button{color:#fff4d9;background:#f65a22;padding:15px 17px 13px;font-family:"Press Start 2P",monospace;font-size:10px;line-height:1.4;box-shadow:4px 4px #07173f}.pixel-button:hover{filter:brightness(1.12);transform:translate(-2px,-2px)}.pixel-button:active{transform:scale(.97);box-shadow:2px 2px #07173f}.pixel-button.secondary{color:#0c245f;background:#fcf2d0}.control-hint{color:#fcf2d0bd;margin:18px 0 0;font-size:14px;line-height:1.75}.control-hint b{color:#f5c84c}.menu-qr{z-index:8;width:clamp(72px,8vw,104px);height:auto;image-rendering:pixelated;background:#fcf2d0;padding:6px;position:absolute;bottom:clamp(34px,4.6vh,62px);right:clamp(20px,4vw,56px);box-shadow:4px 4px #05123673}.touch-controls:not(.is-active),.touch-controls:not(.is-active) *{pointer-events:none}.built-by{z-index:8;color:#fcf2d09e;letter-spacing:.04em;text-align:right;margin:0;font-size:10px;position:absolute;bottom:clamp(8px,1.4vh,16px);right:clamp(20px,4vw,56px)}.built-by a{pointer-events:auto;color:#f5c84c;border-bottom:1px dotted #f5c84c80;text-decoration:none}.built-by a:hover{color:#fcf2d0;border-bottom-color:#fcf2d0}.runner-card{z-index:3;color:#0c245f;background:#fcf2d0ed;place-self:start end;width:min(13vw,150px);padding:8px;position:relative;transform:translate(-100px,20px)rotate(2deg);box-shadow:5px 5px #f65a22}.runner-portrait{z-index:2;aspect-ratio:1;object-fit:cover;object-position:50% 23%;image-rendering:auto;background:#4c82e8;width:100%;display:block;position:relative}.menu-feature-dan{z-index:1;filter:drop-shadow(6px 7px #05123680);pointer-events:none;width:min(25vw,260px);height:auto;position:absolute;top:22%;left:50%;transform:translate(-50%)}.runner-card span{color:#0c245f;margin-top:6px;font-family:"Press Start 2P",monospace;font-size:9px;line-height:1.7;display:block}.next-theme{color:#0c245f;letter-spacing:.1em;max-width:none;margin:0 auto 22px;font-family:"Press Start 2P",monospace;font-size:8px;line-height:1.7}.next-theme b{color:#f65a22;margin-top:9px;font-size:clamp(10px,2.2vw,13px);line-height:1.55;display:block}.next-theme.is-new-chapter b{color:#0c245f;text-shadow:3px 3px #f5c84c}.next-theme.is-new-chapter{color:#f65a22}.level-select{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#051236d6;border-left:4px solid #f5c84c;grid-column:1/-1;align-self:end;max-width:730px;padding:14px;display:none}.level-select.is-open{display:block}.level-select p{color:#f5c84c;letter-spacing:.12em;margin:0 0 10px;font-size:10px;font-weight:600}.level-select-close{float:right;color:#fcf2d0;cursor:pointer;background:0 0;border:0;margin-top:-26px;font-size:18px;line-height:1}.level-select>div{overscroll-behavior:contain;flex-wrap:wrap;gap:6px;max-height:min(34vh,220px);padding-right:5px;display:flex;overflow-y:auto}.level-select button{color:#fcf2d0;cursor:pointer;background:0 0;border:1px solid #fcf2d047;min-width:34px;min-height:34px;font-size:10px}.level-select>div.chapter-jump{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;max-height:none;margin-bottom:15px;display:grid;overflow:visible}.level-select>div.chapter-jump button{color:#fcf2d0;text-align:left;letter-spacing:.04em;background:#0c245f80;border:1px solid #fcf2d047;align-items:center;gap:9px;min-height:42px;padding:8px 10px;font-family:"Press Start 2P",monospace;font-size:8px;line-height:1.5;display:flex}.level-select>div.chapter-jump button b{color:#f5c84c;flex:none;min-width:20px;font-size:11px}.level-select>div.chapter-jump button:hover:not(:disabled){background:#f65a22;border-color:#f65a22}.level-select>div.chapter-jump button:hover:not(:disabled) b{color:#fcf2d0}.level-select>div.chapter-jump button:disabled{cursor:default;opacity:.45;letter-spacing:.22em}.level-select-sub{margin-top:2px}.level-select button:hover{background:#f65a22;border-color:#f65a22}@media (pointer:coarse){.level-select button{min-width:44px;min-height:44px;font-size:12px}.level-select>div{gap:8px}}.play-status{z-index:8;letter-spacing:.07em;background:#051236b8;border:1px solid #fcf2d040;align-items:center;gap:9px;padding:8px 11px;font-size:9px;display:flex;position:absolute;top:92px;left:50%;transform:translate(-50%)}.save-dot{background:#77d56b;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #77d56b29}.course-showcase{--runner-ground:9.3%;--course-ground:12.4%;top:var(--hud-h);z-index:5;pointer-events:none;image-rendering:auto;background-position:bottom;background-repeat:no-repeat;background-size:cover;width:min(100%,1440px);position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%);container-type:size}.course-showcase:before{content:"";z-index:1;background:linear-gradient(#0e5cce 0% 70%,#0e5cce00);height:48px;position:absolute;inset:0 0 auto}.course-showcase:after{content:"";z-index:2;background:linear-gradient(#0c245f0a 30%,#0c245f29);position:absolute;inset:0}.course-ground{z-index:3;height:var(--course-ground);background:repeating-linear-gradient(90deg,#17454b 0 28px,#1d5256 28px 46px,#143f45 46px 72px);border-top:8px solid #77b957;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 8px #285e4b,inset 0 14px #fcf2d01f}.course-prop,.course-finish{z-index:6;position:absolute;transform:translate(-50%)}.course-prop-crate{bottom:var(--course-ground);background:repeating-linear-gradient(135deg,#f65a22 0 12px,#dc4719 12px 18px);border:5px solid #fcf2d0;width:8.6cqh;height:9.7cqh;box-shadow:5px 5px #05123685}.course-prop-crate:before,.course-prop-crate:after{content:"";background:#f5c84c;width:82px;height:7px;position:absolute;top:29px;box-shadow:0 2px #9e5a1e}.course-prop-crate:before{left:-14px;transform:rotate(42deg)}.course-prop-crate:after{right:-14px;transform:rotate(-42deg)}.course-prop-crate i,.course-prop-crate b{border:3px solid #fcf2d06b;position:absolute;inset:7px}.course-prop-crate b{border:0;border-top:4px solid #05123652;inset:19px 7px}.course-prop-gate{bottom:var(--course-ground);border-top:25px solid #2457af;border-left:14px solid #2457af;border-right:14px solid #2457af;width:18.6cqh;height:15.6cqh;box-shadow:inset 0 0 0 4px #fcf2d04d,5px 5px #05123666}.course-prop-gate:after{content:"";background:#f48ab7;height:7px;position:absolute;bottom:12px;left:7px;right:7px;box-shadow:0 3px #fcf2d0}.course-prop-gate i{background:#f65a22;border:3px solid #fcf2d0;width:25px;height:17px;position:absolute;bottom:-5px}.course-prop-gate i:first-child{left:-18px}.course-prop-gate i:nth-child(2){right:-18px}.course-prop-gate b{background:#f5c84c;border:2px solid #fcf2d0;border-radius:50%;width:14px;height:14px;position:absolute;top:-19px;left:calc(50% - 7px)}.course-prop-gap{z-index:4;height:calc(var(--course-ground) + 18px);background:repeating-linear-gradient(90deg,#0c245f 0 15px,#12366c 15px 30px);border-top:6px solid #0c245f;bottom:0;transform:translate(-50%);box-shadow:inset 0 12px #05123680}.course-prop-gap:after{content:"";background:#4c82e8;height:5px;position:absolute;top:-9px;left:0;right:0;box-shadow:0 3px #fcf2d0}.course-prop-swing{z-index:5;transform-origin:50% 0}.course-prop-swing i{background:#4c82e8;width:5px;position:absolute;top:0;bottom:7px;box-shadow:inset -2px 0 #fcf2d08c,2px 0 #05123659}.course-prop-swing i:first-child{left:14%}.course-prop-swing i:nth-child(2){right:14%}.course-prop-swing b{background:#f65a22;border:2px solid #0c245f;height:9px;position:absolute;bottom:0;left:-14%;right:-14%;box-shadow:0 3px #05123673,inset 0 2px #fcf2d099}.course-showcase[data-themed-swing="1"] .course-prop-swing{background:var(--prop-swing)no-repeat center/100% 100%}.course-showcase[data-themed-swing="1"] .course-prop-swing i,.course-showcase[data-themed-swing="1"] .course-prop-swing b{display:none}.course-prop-token{bottom:calc(var(--course-ground) + 10.3cqh);z-index:7;color:#f5c84c;text-shadow:3px 3px #0c245f;font-family:"Press Start 2P",monospace;font-size:2.8cqh;line-height:1;animation:1.2s ease-in-out infinite alternate token-float;transform:translate(-50%)}.course-finish{bottom:var(--course-ground);border-left:10px solid #f65a22;border-right:10px solid #f65a22;width:12.8cqh;height:20.6cqh;box-shadow:inset 5px 0 #fcf2d0,inset -5px 0 #fcf2d0}.course-finish:before{content:"";background:#f65a22;border:3px solid #fcf2d0;width:100px;height:22px;position:absolute;top:0;left:-14px;box-shadow:4px 4px #0c245f}.course-finish i{background:#f48ab7;border:3px solid #0c245f;border-radius:50% 50% 42% 42%;width:32px;height:35px;position:absolute;top:-37px}.course-finish i:first-child{left:-25px}.course-finish i:nth-child(2){right:-25px}.course-finish b{color:#fcf2d0;text-shadow:2px 2px #0c245f;font-family:"Press Start 2P",monospace;font-size:9px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.course-showcase[data-themed-crate="1"] .course-prop-crate,.course-showcase[data-themed-gate="1"] .course-prop-gate,.course-showcase[data-themed-finish="1"] .course-finish{box-shadow:none;background:bottom/contain no-repeat;border:0}.course-showcase[data-themed-crate="1"] .course-prop-crate:before,.course-showcase[data-themed-crate="1"] .course-prop-crate:after,.course-showcase[data-themed-crate="1"] .course-prop-crate i,.course-showcase[data-themed-crate="1"] .course-prop-crate b,.course-showcase[data-themed-gate="1"] .course-prop-gate:after,.course-showcase[data-themed-gate="1"] .course-prop-gate i,.course-showcase[data-themed-gate="1"] .course-prop-gate b,.course-showcase[data-themed-finish="1"] .course-finish:before,.course-showcase[data-themed-finish="1"] .course-finish i,.course-showcase[data-themed-finish="1"] .course-finish b{display:none}.course-showcase[data-themed-crate="1"] .course-prop-crate{background-image:var(--prop-crate)}.course-showcase[data-themed-gap="1"] .course-prop-gap{top:calc(100% - var(--course-ground));height:var(--course-ground);box-shadow:none;background:no-repeat center top/100% auto var(--prop-gap);border-top:0;bottom:auto}.course-showcase[data-themed-gap="1"] .course-prop-gap:after{display:none}.impact-burst{background:no-repeat center/contain var(--prop-impact,none)}.course-showcase[data-themed-impact="1"] .impact-burst{color:#0000;text-shadow:none}.course-showcase[data-themed-ground="1"] .course-ground{box-shadow:none;background:repeat-x left bottom/auto 100% var(--prop-ground);image-rendering:pixelated;border-top:0}.course-showcase[data-themed-crate="1"] .course-prop-crate{width:calc(9.7cqh*min(var(--prop-crate-aspect,.887),1.14));background-position:bottom;background-size:cover}.course-showcase[data-themed-gate="1"] .course-prop-gate{width:calc(15.6cqh*var(--prop-gate-aspect,1.19))}.course-showcase[data-themed-finish="1"] .course-finish{height:calc(20.6cqh*var(--prop-finish-scale,1));width:calc(20.6cqh*var(--prop-finish-scale,1)*var(--prop-finish-aspect,.62))}.course-showcase[data-themed-token="1"] .course-prop-token{width:calc(4.2cqh*var(--prop-token-aspect,1))}.course-showcase[data-themed-gate="1"] .course-prop-gate{background-image:var(--prop-gate)}.course-showcase[data-themed-finish="1"] .course-finish{background-image:var(--prop-finish)}.course-showcase[data-themed-token="1"] .course-prop-token{color:#0000;width:4.2cqh;height:4.2cqh;text-shadow:none;background:center/contain no-repeat var(--prop-token)}.interactive-runner{z-index:7;width:27.2cqh;height:27.2cqh;transform:translate(-50%)scaleX(var(--facing,1));background:var(--runner-sheet,url(/assets/dan-original-run-cycle-clean.webp))0 0/200% 200% no-repeat;filter:drop-shadow(calc(4px*var(--facing,1))5px 0 #0512368f);transition:left 40ms linear;position:absolute;overflow:hidden;display:block!important}.interactive-runner img{display:none}.interactive-runner.is-running{animation:.44s step-end infinite runner-run-cycle,.12s ease-in-out infinite alternate runner-bob}.interactive-runner.is-jumping{transform:translate(-50%)scaleX(var(--facing,1))rotate(-5deg)}.interactive-runner.is-swinging{transform:translate(-50%)scaleX(var(--facing,1))rotate(var(--swing-tilt,0deg));background-position:100% 0;animation:none}.interactive-runner.is-ducking,.interactive-runner.is-sliding{transform:translate(-50%)scaleX(calc(var(--facing,1)*1.1))scaleY(.56)rotate(-16deg);transform-origin:bottom;animation:none}@keyframes runner-run-cycle{0%,49%{background-position:0 0}50%,to{background-position:100% 0}}.impact-burst{z-index:8;color:#f5c84c;text-shadow:4px 4px #f65a22,-3px -3px #fcf2d0;place-items:center;width:16.1cqh;height:16.1cqh;font-family:"Press Start 2P",monospace;font-size:10.6cqh;line-height:1;animation:.62s steps(3,end) forwards impact-pop;display:grid;position:absolute;transform:translate(-50%,20%)}.impact-burst.is-laser{color:#f48ab7;text-shadow:5px 5px #f65a22,-4px -4px #f5c84c;font-size:108px}.impact-burst.is-gap{color:#4c82e8}@keyframes impact-pop{0%{opacity:0;transform:translate(-50%,20%)scale(.35)rotate(-24deg)}35%{opacity:1}to{opacity:0;transform:translate(-50%,20%)scale(1.5)rotate(22deg)}}@keyframes runner-bob{0%{transform:translate(-50%)scaleX(var(--facing,1))translateY(0)}to{transform:translate(-50%)scaleX(var(--facing,1))translateY(-4px)}}@keyframes token-float{to{transform:translateY(-12px)rotate(16deg)}}.restart-level-button,.return-menu-button{pointer-events:auto;z-index:10;color:#fcf2d0;cursor:pointer;letter-spacing:.04em;background:#051236b8;border:1px solid #fcf2d075;padding:8px 10px;font-size:9px;transition:background .16s ease-out,transform .16s ease-out;position:absolute;top:92px}.restart-level-button{right:clamp(14px,3vw,42px)}.mute-button{pointer-events:auto;color:#fcf2d0;cursor:pointer;letter-spacing:.04em;white-space:nowrap;background:#0512368c;border:1px solid #fcf2d075;margin-left:clamp(2px,.8vw,8px);padding:8px 11px;font-size:12px;transition:background .16s ease-out}.finale-mute{z-index:4;margin:0;padding:9px 14px;font-size:10px;position:absolute;top:14px;right:14px}.mute-button:hover{background:#f65a22}.mute-button[aria-pressed=true]{color:#f5c84c;border-color:#f5c84c99}.return-menu-button{left:clamp(14px,3vw,42px)}.restart-level-button:hover,.return-menu-button:hover{background:#f65a22;transform:translateY(-1px)}.restart-level-button:active,.return-menu-button:active{transform:scale(.97)}.milestone-card{pointer-events:auto;z-index:15;color:#0c245f;text-align:center;background:#fcf2d0;width:min(92vw,510px);padding:clamp(25px,5vw,46px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:10px 10px #f65a22}.milestone-card h2{margin:0 0 18px;font-family:"Press Start 2P",monospace;font-size:clamp(17px,3vw,27px);line-height:1.55}.milestone-card>p:not(.eyebrow){max-width:330px;margin:0 auto 24px;font-size:13px;line-height:1.7}.text-button{color:#0c245f;background:0 0;margin:17px auto 0;padding:8px;font-size:10px;text-decoration:underline;display:block}.finale-screen{pointer-events:auto;z-index:18;image-rendering:pixelated;text-align:center;background:url(/assets/themes/bday-backdrop.webp) 50% 42%/auto 62% no-repeat,linear-gradient(#0f3320 0 100%);place-items:start center;padding:26px 24px 32px;display:grid;position:absolute;inset:0;overflow:hidden}.finale-screen:after{content:"";z-index:0;height:24%;image-rendering:pixelated;background:url(/assets/themes/bday-ground.webp) bottom/auto 100% repeat-x;position:absolute;inset:auto 0 0}.finale-arch{z-index:1;opacity:.92;width:min(78vw,960px);height:min(54vw,430px);position:absolute;inset:auto 50% 19% auto;transform:translate(50%)}.finale-dancer{z-index:2;aspect-ratio:1;width:45%;min-width:192px;animation:2.4s ease-in-out infinite dancer-shuffle;position:absolute;bottom:0;left:7%}.finale-dancer-hop{animation:1.2s cubic-bezier(.3,0,.5,1) infinite dancer-hop;display:block;position:absolute;inset:0}.finale-dancer-sprite{image-rendering:pixelated;filter:drop-shadow(4px 5px #0512368f);background-position:0 0;background-repeat:no-repeat;background-size:200% 200%;animation:.28s step-end infinite runner-run-cycle,2.4s step-end infinite dancer-face;display:block;position:absolute;inset:0}@keyframes dancer-shuffle{0%{transform:translate(0)}25%{transform:translate(34%)}50%{transform:translate(0)}75%{transform:translate(-34%)}to{transform:translate(0)}}@keyframes dancer-hop{0%,42%{transform:translateY(0)}16%{transform:translateY(-26%)}58%,to{transform:translateY(0)}74%{transform:translateY(-16%)}}@keyframes dancer-face{0%,49%{transform:scaleX(1)}50%,to{transform:scaleX(-1)}}@media (prefers-reduced-motion:reduce){.finale-dancer,.finale-dancer-hop,.finale-dancer-sprite{animation:none}}.finale-arch-art{object-fit:contain;object-position:center bottom;width:100%;height:100%;image-rendering:pixelated}.arch-post{background:repeating-linear-gradient(#f65a22 0 18px,#fcf2d0 18px 36px);border:4px solid #fcf2d0;width:28px;height:88%;position:absolute;bottom:0;box-shadow:5px 5px #0c245f}.arch-post.left{left:4%}.arch-post.right{right:4%}.arch-beam{background:#f65a22;border:4px solid #fcf2d0;width:92%;height:42px;position:absolute;top:8%;left:4%;box-shadow:5px 5px #0c245f}.balloon{border:4px solid #0c245f;border-radius:50% 50% 46% 46%;width:48px;height:60px;position:absolute;top:0;box-shadow:4px 4px #0c245f8c}.balloon:after{content:"";background:#fcf2d0;width:2px;height:42px;position:absolute;top:57px;left:21px;transform:rotate(10deg)}.pink-one{background:#f48ab7;left:1%}.pink-two{background:#f48ab7;right:1%}.cream-one{background:#f5c84c;top:5%;right:8%}.pennant{clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);background:#f48ab7;border:3px solid #0c245f;width:74px;height:84px;position:absolute;top:18%}.pennant-one{left:32%}.pennant-two{background:#f5c84c;left:calc(50% - 37px)}.pennant-three{right:32%}@keyframes finale-rise{0%{opacity:0;transform:translateY(46vh)}to{opacity:1;transform:translateY(0)}}.finale-copy{z-index:2;text-shadow:3px 3px #0c245f80;max-width:650px;animation:1.5s cubic-bezier(.22,.61,.36,1) .6s both finale-rise;position:relative}@media (prefers-reduced-motion:reduce){.finale-copy{animation-duration:1ms;animation-delay:0s}}.finale-copy h2{color:#fcf2d0;text-shadow:5px 5px #f65a22;margin:10px 0;font-family:"Press Start 2P",monospace;font-size:clamp(20px,3.4vw,38px);line-height:1.38}.finale-copy>p:not(.eyebrow){color:#fcf2d0;max-width:440px;margin:0 auto 18px;font-size:14px;line-height:1.6}.reset-game-button{margin:13px auto 0;font-size:8px;display:block}.key-hint{color:#0c245f80;letter-spacing:.12em;margin:10px 0 0;font-size:8px}@media (hover:none),(max-width:700px){.key-hint{display:none}}.completion-badge{color:#fff4d9;background:#f65a22;border:5px solid #f5c84c;border-radius:50%;place-items:center;width:92px;height:92px;font-family:"Press Start 2P",monospace;font-size:31px;line-height:.9;display:inline-grid;box-shadow:5px 5px #0c245f}.completion-badge span{margin-top:5px;font-size:8px}.confetti-field{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-field i{width:9px;height:14px;animation:4.4s linear infinite confetti-fall;position:absolute;top:-20px;transform:rotate(16deg)}@keyframes confetti-fall{to{transform:translate(36px,112vh)rotate(500deg)}}.confirmation-card{pointer-events:auto;z-index:25;color:#0c245f;text-align:center;background:#fcf2d0;width:min(92vw,470px);padding:clamp(25px,5vw,42px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:10px 10px #0c245f,0 0 0 9999px #051236a8}.confirmation-card h2{margin:0 0 16px;font-family:"Press Start 2P",monospace;font-size:clamp(16px,3vw,24px);line-height:1.6}.confirmation-card>p:not(.eyebrow){max-width:350px;margin:0 auto 23px;font-size:12px;line-height:1.7}.confirmation-card>div{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.touch-controls{display:none}.touch-controls button{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:contain}.add-home-hint{display:none}@media (pointer:coarse){.add-home-hint{pointer-events:none;top:calc(var(--hud-h) + 5px);z-index:13;color:#f5c84c;letter-spacing:.06em;background:#051236d1;border:1px solid #f5c84c80;align-items:center;gap:6px;padding:5px 8px;font-family:"Press Start 2P",monospace;font-size:7px;line-height:1;display:flex;position:absolute;right:12px}.add-home-arrow{border-bottom:7px solid #f5c84c;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;animation:1s ease-in-out infinite alternate add-home-bob;display:block}}@media (display-mode:standalone){.add-home-hint{display:none!important}}@keyframes add-home-bob{0%{transform:translateY(2px)}to{transform:translateY(-3px)}}.rotate-device-prompt{display:none}@media (min-width:701px){.touch-controls{pointer-events:none;z-index:14;opacity:0;align-items:end;gap:18px;transition:opacity .18s ease-out,transform .18s ease-out;display:flex;position:absolute;inset:auto 24px 19px auto;transform:translateY(8px)}.touch-controls.is-active{opacity:1;transform:translateY(0)}.touch-move-group,.touch-action-group{pointer-events:auto;align-items:end;gap:7px;display:flex}.touch-controls button{color:#fcf2d0;touch-action:none;background:#0c245fd1;border:2px solid #fcf2d099;border-radius:50%;width:44px;height:44px;font-family:"Press Start 2P",monospace;font-size:12px;box-shadow:3px 3px #00000040}.touch-controls .touch-jump{color:#fff4d9;background:#f65a22eb;width:58px;height:58px;font-size:7px}.touch-controls .touch-slide{color:#f5c84c;width:50px;height:50px;font-size:6px}}@media (max-width:700px){:root{--hud-h:66px}.game-hud{height:66px;padding:8px 12px}.brand-lockup img{width:38px;height:38px}.eyebrow{margin-bottom:4px;font-size:7px}.game-name{font-size:8px}.hud-readout{gap:7px;font-size:9px}.hud-readout span:first-child{display:none}.start-panel{background-position:63%;flex-direction:column;justify-content:center;gap:16px;padding:92px 20px 34px;display:flex}.start-copy{align-self:start;max-width:88%}.level-ribbon{margin-bottom:13px;padding:7px 8px;font-size:8px}.start-copy h1{text-shadow:3px 3px #f65a22;font-size:clamp(24px,9.2vw,38px);line-height:1.36}.start-description{margin:17px 0;font-size:12px;line-height:1.55}.pixel-button{padding:13px 12px 11px;font-size:8px}.control-hint,.menu-qr{display:none}.platform-note{margin-top:9px;font-size:9px}.runner-card{width:105px;padding:7px;position:absolute;top:95px;right:20px;transform:rotate(2deg);box-shadow:4px 4px #f65a22}.menu-feature-dan{width:165px;top:25%;left:50%}.runner-card span{margin-top:5px;font-size:6px}.level-select{width:calc(100% - 40px);max-width:none;margin-top:auto}.level-select>div{max-height:min(38vh,200px)}.level-select button{min-width:40px;min-height:40px;font-size:11px}.play-status{white-space:nowrap;font-size:8px;top:76px}.restart-level-button,.return-menu-button{padding:7px 8px;font-size:8px;top:112px}.mute-button{padding:6px 7px;font-size:8px}.restart-level-button{right:12px}.return-menu-button{left:12px}.touch-controls{pointer-events:none;z-index:14;opacity:0;justify-content:space-between;align-items:end;padding:0 18px;transition:opacity .18s ease-out,transform .18s ease-out;display:flex;position:absolute;inset:auto 0 18px;transform:translateY(10px)}.touch-controls.is-active{opacity:1;transform:translateY(0)}.touch-move-group,.touch-action-group{pointer-events:auto;align-items:end;gap:9px;display:flex}.touch-controls button{color:#fcf2d0;touch-action:none;background:#0c245fb8;border:2px solid #fcf2d099;border-radius:50%;width:58px;height:58px;font-family:"Press Start 2P",monospace;font-size:17px;box-shadow:3px 3px #00000040}.touch-controls button:active{background:#f65a22;transform:scale(.93)}.touch-controls .touch-jump{color:#fff4d9;background:#f65a22e6;width:72px;height:72px;font-size:9px}.touch-controls .touch-slide{color:#f5c84c;width:60px;height:60px;font-size:7px}.finale-copy h2{font-size:clamp(18px,5.6vw,30px)}.finale-arch{width:120vw;height:56vh;bottom:10%}.arch-post{width:19px}.arch-beam{height:29px}.balloon{transform:scale(.7)}.pennant{transform:scale(.68)}}@media (min-width:701px) and (max-width:900px) and (max-height:520px) and (orientation:landscape){.restart-level-button,.return-menu-button{padding:7px 8px;font-size:8px;top:112px}.mute-button{padding:6px 7px;font-size:8px}.restart-level-button{right:12px}.return-menu-button{left:12px}.touch-controls{pointer-events:none;z-index:14;opacity:0;justify-content:space-between;align-items:end;padding:0 18px;transition:opacity .18s ease-out,transform .18s ease-out;display:flex;position:absolute;inset:auto 0 18px;transform:translateY(10px)}.touch-controls.is-active{opacity:1;transform:translateY(0)}.touch-move-group,.touch-action-group{pointer-events:auto;align-items:end;gap:9px;display:flex}.touch-controls button{color:#fcf2d0;touch-action:none;background:#0c245fb8;border:2px solid #fcf2d099;border-radius:50%;width:58px;height:58px;font-family:"Press Start 2P",monospace;font-size:17px;box-shadow:3px 3px #00000040}.touch-controls .touch-jump{color:#fff4d9;background:#f65a22e6;width:72px;height:72px;font-size:9px}.touch-controls .touch-slide{color:#f5c84c;width:60px;height:60px;font-size:7px}}@media (min-width:901px) and (max-aspect-ratio:6/5){.course-showcase{--runner-ground:12.5%;--course-ground:15.6%}}@media (orientation:landscape) and (max-height:560px){:root{--hud-h:54px}.game-hud{height:54px;padding:6px clamp(12px,3vw,28px)}.brand-lockup img{width:32px;height:32px}.eyebrow{margin-bottom:3px;font-size:6px}.game-name{font-size:9px}.start-panel{grid-template-columns:minmax(260px,54%) 1fr;gap:10px;padding:60px clamp(16px,4vw,40px) 14px;overflow-y:auto}.level-ribbon{margin-bottom:8px;padding:5px 8px 4px;font-size:8px}.start-copy h1{text-shadow:3px 3px #f65a22;font-size:clamp(18px,5.4vh,34px);line-height:1.22}.start-description{max-width:430px;margin:8px 0 10px;font-size:clamp(11px,2.4vh,13px);line-height:1.45}.control-hint,.menu-qr{display:none}.platform-note{margin-top:9px;font-size:9px}.pixel-button{padding:11px 12px 9px;font-size:8px}.menu-feature-dan{width:min(17vw,150px);top:50%;transform:translate(-50%,-44%)}.runner-card{width:min(20vw,170px);padding:9px}.runner-card span{margin-top:6px;font-size:7px}.level-select>div{max-height:40vh}}@media (orientation:landscape) and (max-height:430px){.start-description,.menu-qr{display:none}.start-panel{padding-top:54px}.start-copy h1{font-size:clamp(17px,6.2vh,27px)}.menu-feature-dan{width:min(14vw,118px)}}@media (max-width:700px) and (orientation:portrait){.game-hud,.start-panel,.course-showcase,.play-status,.restart-level-button,.touch-controls,.milestone-card,.finale-screen{display:none!important}.rotate-device-prompt{z-index:100;color:#fcf2d0;text-align:center;background:radial-gradient(circle at 50% 35%,#f65a223d,#0000 30%),#0c245f;place-content:center;gap:18px;padding:42px;display:grid;position:fixed;inset:0}.rotate-device-icon{color:#f5c84c;border:4px solid #f5c84c;width:92px;height:64px;margin:0 auto 5px;font-family:"Press Start 2P",monospace;font-size:38px;line-height:56px;transform:rotate(-22deg);box-shadow:6px 6px #f65a22}.rotate-device-prompt h2{margin:0;font-family:"Press Start 2P",monospace;font-size:clamp(18px,7vw,26px);line-height:1.55}.rotate-device-prompt p{color:#fcf2d0;max-width:280px;margin:0 auto;font-size:13px;line-height:1.7}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.confetti-field{display:none}}@media (min-width:701px) and (pointer:coarse){.touch-controls{justify-content:space-between;gap:0;padding:0 clamp(18px,4vw,48px);inset:auto 0 22px}.touch-move-group,.touch-action-group{gap:12px}.touch-controls button{width:64px;height:64px;font-size:18px}.touch-controls button:active{background:#f65a22;transform:scale(.93)}.touch-controls .touch-jump{width:78px;height:78px;font-size:9px}.touch-controls .touch-slide{width:66px;height:66px;font-size:8px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
