:root{color-scheme:light;font-family:Arial,Helvetica,sans-serif;background:#e9e9e9}@font-face{font-family:GamePixel;src:local("Press Start 2P"),local("PressStart2P-Regular");font-style:normal;font-weight:400;font-display:swap}*{box-sizing:border-box}html,body,#app-shell{width:100%;height:100%;margin:0;overflow:hidden}body{background:#e9e9e9;touch-action:none;-webkit-user-select:none;user-select:none}#app-shell{display:grid;place-items:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#game-frame{position:relative;width:min(100vw,56.25vh);max-width:100vw;max-height:100vh;aspect-ratio:9 / 16;overflow:hidden;background:#fff;box-shadow:0 18px 48px #0000002e}#game-root{position:absolute;inset:0;display:grid;place-items:center}#game-root canvas{width:100%!important;height:100%!important;display:block;image-rendering:pixelated}.intro-overlay{position:absolute;inset:0;z-index:30;display:block;overflow:hidden;background:#000;opacity:1;transition:opacity .76s ease}.intro-poster-layer{position:absolute;inset:0;z-index:0;background:#000;transform:translateZ(0)}.intro-poster-layer img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;-webkit-user-select:none;user-select:none;pointer-events:none}.intro-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:50% 50%;background:#000;opacity:0;transition:opacity .68s ease}.intro-overlay[data-intro-state=playing-intro] .intro-video,.intro-overlay[data-intro-state=fading] .intro-video,.intro-overlay[data-intro-state=done] .intro-video{opacity:1}.intro-loading-layer{position:absolute;inset:0;z-index:12;display:grid;place-items:center;background:transparent;color:#fff;cursor:default;opacity:1;transition:opacity .22s ease;pointer-events:none}.intro-loading-ui{display:grid;width:min(74%,320px);gap:14px;justify-items:center}.intro-loading-track{width:100%;height:24px;overflow:hidden;border:4px solid #162431;background:linear-gradient(180deg,#2d3740 0,#121a22);box-shadow:7px 7px #0c141cad,inset 0 0 0 2px #f8f4ee33;image-rendering:pixelated}.intro-loading-fill{display:block;width:0%;height:100%;background:repeating-linear-gradient(90deg,#faf6ef 0 12px,#d7d0c5 12px 15px),linear-gradient(180deg,#fffaf1 0,#e7dfd4);transition:width .24s cubic-bezier(.22,.72,.18,1);image-rendering:pixelated}.intro-loading-label{color:#f8f4ee;font-family:GamePixel,Monaco,Courier New,monospace;font-size:clamp(10px,3.2vw,13px);font-weight:900;letter-spacing:0;line-height:1;text-shadow:3px 3px 0 rgba(12,20,28,.86),0 0 10px rgba(22,36,49,.35)}.intro-sound-choice{position:relative;display:block;width:min(88%,390px);aspect-ratio:1037 / 622;border:0;background-image:url(/assets/ui/popup/sound-popup-panel.png);background-position:center;background-repeat:no-repeat;background-size:contain;color:transparent;box-shadow:none;outline:0;font-family:GamePixel,Monaco,Courier New,monospace;text-align:center;pointer-events:auto;image-rendering:pixelated;filter:drop-shadow(10px 12px 0 rgba(12,20,28,.68))}.intro-sound-choice:before{display:none}.intro-sound-choice:after{display:none}.intro-sound-choice[hidden]{display:none}.intro-overlay[data-intro-state=sound-choice] .intro-sound-choice{animation:intro-popup-enter .56s cubic-bezier(.16,.86,.25,1) both}.intro-sound-choice__title{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.intro-sound-choice__actions{display:grid;position:absolute;left:17.5%;right:17.5%;bottom:16.5%;grid-template-columns:1fr 1fr;gap:7%}.intro-sound-choice__button{min-width:0;min-height:48px;aspect-ratio:408 / 210;border:0;border-radius:0;background-color:transparent;background-image:url(/assets/ui/popup/sound-off-up.png);background-position:center;background-repeat:no-repeat;background-size:contain;color:transparent;box-shadow:none;font-family:GamePixel,Monaco,Courier New,monospace;font-size:0;font-weight:400;line-height:1;text-shadow:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;image-rendering:pixelated}.intro-sound-choice__button--primary{background-image:url(/assets/ui/popup/sound-on-up.png)}.intro-sound-choice__button:active{transform:translate(1px,1px);background-image:url(/assets/ui/popup/sound-off-down.png)}.intro-sound-choice__button--primary:active{background-image:url(/assets/ui/popup/sound-on-down.png)}.intro-overlay[data-intro-state=sound-choice] .intro-loading-ui{display:none}.intro-overlay[data-intro-state=sound-choice] .intro-loading-layer{pointer-events:auto}.intro-overlay[data-intro-state=playing-intro] .intro-loading-layer,.intro-overlay[data-intro-state=playing-title] .intro-loading-layer,.intro-overlay[data-intro-state=waiting-start] .intro-loading-layer,.intro-overlay[data-intro-state=continuing] .intro-loading-layer,.intro-overlay[data-intro-state=fading] .intro-loading-layer,.intro-overlay[data-intro-state=done] .intro-loading-layer{opacity:0;pointer-events:none}.intro-overlay[data-intro-state=loading] .intro-control-bar,.intro-overlay[data-intro-state=sound-choice] .intro-control-bar{display:none}.intro-control-bar{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:3;display:flex;gap:8px}.intro-control-button{height:32px;padding:0 10px;border:1px solid rgba(255,229,156,.45);border-radius:0;background:#070a108f;color:#fff1c8;box-shadow:0 4px 10px #0000003d,inset 0 0 0 1px #ffffff0d;font-family:Courier New,monospace;font-size:11px;font-weight:900;line-height:1;text-shadow:0 2px 0 rgba(0,0,0,.42);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.intro-control-button.is-active{border-color:#ffe59ce6;background:linear-gradient(180deg,#f5c25bf0,#a74f18f0),#d89036;color:#180e05;text-shadow:none}.intro-start-button{position:absolute;top:61%;left:50%;z-index:2;width:min(52%,220px);height:52px;transform:translate(-50%,-50%);border:0;background:transparent;color:#ffd43a;font-family:Courier New,monospace;font-size:clamp(26px,8.5vw,42px);font-weight:900;letter-spacing:0;line-height:1;text-align:center;text-shadow:0 2px 0 #7b2d04,0 4px 0 #120600,0 0 12px rgba(255,217,61,.74),0 0 24px rgba(255,120,42,.38);touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:intro-start-pulse .72s steps(2,end) infinite}.intro-start-button[hidden]{display:none}.intro-start-button:focus-visible{outline:2px solid #fff4a7;outline-offset:4px}.intro-overlay--waiting-start .intro-video{filter:saturate(1.08) contrast(1.02)}.intro-overlay--fading-to-black .intro-video{opacity:1}.intro-overlay--revealing-game{opacity:0;pointer-events:none;transition:opacity .26s ease-out}@keyframes intro-popup-enter{0%{opacity:0;transform:translateY(14px) scale(.9)}54%{opacity:1;transform:translateY(-3px) scale(1.018)}76%{transform:translateY(1px) scale(.996)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes intro-start-pulse{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.58;transform:translate(-50%,-50%) scale(1.035)}}.overlay,.hud{display:none}.character-picker{position:absolute;top:max(14px,env(safe-area-inset-top));left:14px;right:14px;z-index:10;display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr)) 34px 34px;align-items:center;gap:6px;padding:6px;border:1px solid rgba(255,229,156,.32);border-radius:999px;background:#06080c70;box-shadow:0 10px 24px #0003,inset 0 0 0 1px #ffffff0d;-webkit-backdrop-filter:blur(3px) saturate(1.08);backdrop-filter:blur(3px) saturate(1.08);transition:opacity .22s ease}#game-frame[data-public-share-build=true] .character-picker,#game-frame[data-public-share-build=true] .intro-control-bar,#game-frame[data-public-share-build=true] [data-fx-toggle],#game-frame[data-public-share-build=true] .crt-scanlines,#game-frame[data-public-share-build=true] .vignette-overlay,#game-frame[data-public-share-build=true] .film-grain,#game-frame[data-public-share-build=true] .crt-flicker,#game-frame[data-public-share-build=true] .crt-dither{display:none!important}.character-picker__label{padding:0 7px 0 8px;color:#fff1c8c7;font-size:11px;font-weight:700;letter-spacing:.04em;line-height:1}.character-pill,.music-toggle,.fx-toggle{min-width:0;height:32px;padding:0 8px;border:1px solid rgba(255,229,156,.28);border-radius:999px;background:linear-gradient(180deg,#ffffff12,#fff0),#0a0e148a;color:#fff1c8;font-family:inherit;font-size:12px;font-weight:700;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.music-toggle,.fx-toggle{display:grid;width:32px;padding:0;place-items:center;font-size:13px}.character-pill.is-active,.music-toggle.is-active,.fx-toggle.is-active{border-color:#ffe59cdb;background:radial-gradient(circle at 50% 28%,#fff6c985,#ffe09100 58%),linear-gradient(180deg,#f5c25bf0,#a74f18f0);color:#160e06;box-shadow:inset 0 1px #ffffff47,0 5px 12px #00000038}.touch-controls{--arrow-hit-size: clamp(76px, 20vw, 92px);--arrow-visual-size: clamp(64px, 17vw, 78px);--run-hit-size: clamp(92px, 24vw, 112px);--run-visual-size: clamp(82px, 22vw, 100px);position:absolute;left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:10;display:grid;grid-template-areas:"left right spacer run";grid-template-columns:var(--arrow-hit-size) var(--arrow-hit-size) minmax(18px,1fr) var(--run-hit-size);align-items:end;column-gap:clamp(4px,1.5vw,8px);pointer-events:none;transition:opacity .22s ease}#game-frame[data-opening-state=waiting-intro] .character-picker,#game-frame[data-opening-state=waiting-intro] .touch-controls,#game-frame[data-opening-state=baby-flight] .character-picker,#game-frame[data-opening-state=baby-flight] .touch-controls,#game-frame[data-opening-state=baby-bounce] .character-picker,#game-frame[data-opening-state=baby-bounce] .touch-controls,#game-frame[data-opening-state=transforming] .character-picker,#game-frame[data-opening-state=transforming] .touch-controls{opacity:0;pointer-events:none}#game-frame[data-controls-state=entering][data-opening-state=transforming] .touch-controls{opacity:1;pointer-events:none}#game-frame[data-controls-state=entering][data-opening-state=transforming] .touch-btn{pointer-events:none}#run-btn{grid-area:run;--control-enter-delay: 135ms;--control-enter-rotation: 3deg}#move-left{grid-area:left;--control-enter-delay: 0ms;--control-enter-rotation: -4deg}#move-right{grid-area:right;--control-enter-delay: 70ms;--control-enter-rotation: 4deg}.touch-btn{display:grid;width:var(--arrow-hit-size);height:var(--arrow-hit-size);place-items:center;border:0;border-radius:0;background-color:transparent;background-position:center;background-repeat:no-repeat;background-size:var(--arrow-visual-size) var(--arrow-visual-size);color:transparent;font-family:inherit;font-size:0;font-weight:700;line-height:1;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;image-rendering:pixelated;filter:drop-shadow(0 8px 9px rgba(0,0,0,.34));transition:transform 80ms ease,filter 80ms ease}.touch-btn--arrow{background-image:url(/assets/ui/controls/arrow-right-up.png)}.touch-btn--run{width:var(--run-hit-size);height:var(--run-hit-size);background-size:var(--run-visual-size) var(--run-visual-size);background-image:url(/assets/ui/controls/run-up.png)}.touch-btn.is-active{transform:translateY(2px) scale(.985);filter:drop-shadow(0 4px 5px rgba(0,0,0,.3))}#move-left{background-image:url(/assets/ui/controls/arrow-left-up.png)}#move-left.is-active{background-image:url(/assets/ui/controls/arrow-left-down.png)}#move-right{background-image:url(/assets/ui/controls/arrow-right-up.png)}#move-right.is-active{background-image:url(/assets/ui/controls/arrow-right-down.png)}.touch-btn--run.is-active{background-image:url(/assets/ui/controls/run-down.png)}.motivation-bubble{position:absolute;top:clamp(220px,36%,260px);right:max(-8px,env(safe-area-inset-right));z-index:13;display:grid;width:min(72%,312px);aspect-ratio:1342 / 633;align-items:center;padding:8.5% 15.5% 10% 8.5%;background-image:url(/assets/ui/speech/speachbbb.png);background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(7px 9px 0 rgba(12,20,28,.58));image-rendering:pixelated;pointer-events:none;transform-origin:86% 50%}.motivation-bubble[hidden]{display:none}#game-frame[data-motivation-state=entering] .motivation-bubble{animation:motivation-bubble-enter .52s cubic-bezier(.16,.86,.25,1) both}#game-frame[data-motivation-state=exiting] .motivation-bubble{animation:motivation-bubble-exit .38s cubic-bezier(.64,0,.34,1) both}.motivation-bubble__text{display:block;max-width:100%;color:#172230;font-family:GamePixel,Monaco,Courier New,monospace;font-size:clamp(8px,2.75vw,11px);line-height:1.55;letter-spacing:0;text-shadow:2px 2px 0 rgba(185,178,168,.55);white-space:normal}#game-frame[data-motivation-state=typing] .motivation-bubble__text:after{content:"";display:inline-block;width:.65em;height:1em;margin-left:.18em;vertical-align:-.1em;background:#172230;animation:motivation-caret-blink .72s steps(2,end) infinite}#game-frame[data-controls-state=entering] .touch-btn{animation:touch-control-enter .88s cubic-bezier(.16,.86,.24,1) var(--control-enter-delay, 0ms) backwards}#game-frame[data-motivation-lock=true] .touch-btn{pointer-events:none}#game-frame[data-motivation-state=entering] .character-picker,#game-frame[data-motivation-state=typing] .character-picker,#game-frame[data-motivation-state=exiting] .character-picker{opacity:0;pointer-events:none}@keyframes motivation-bubble-enter{0%{transform:translate(44px) translateY(4px) scale(.9)}60%{transform:translate(-5px) translateY(-1px) scale(1.018)}82%{transform:translate(1px) translateY(0) scale(.996)}to{transform:translate(0) translateY(0) scale(1)}}@keyframes motivation-bubble-exit{0%{transform:translate(0) translateY(0) scale(1)}to{transform:translate(48px) translateY(-2px) scale(.94)}}@keyframes motivation-caret-blink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes touch-control-enter{0%{opacity:0;transform:translateY(140px) rotate(var(--control-enter-rotation, 0deg)) scale(.96)}62%{opacity:1;transform:translateY(-7px) rotate(calc(var(--control-enter-rotation, 0deg) * -.22)) scale(1.008)}84%{transform:translateY(1px) rotate(calc(var(--control-enter-rotation, 0deg) * .08)) scale(.998)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@media(hover:hover)and (pointer:fine){.touch-controls{opacity:.82}}@media(prefers-reduced-motion:reduce){.intro-overlay[data-intro-state=sound-choice] .intro-sound-choice,#game-frame[data-controls-state=entering] .touch-btn{animation:none}}.crt-scanlines{position:absolute;inset:0;z-index:8;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.07),rgba(0,0,0,.07) 1px,transparent 1px,transparent 3px)}.vignette-overlay{position:absolute;inset:0;z-index:9;pointer-events:none;background:radial-gradient(circle,transparent var(--vignette-size, 45%),rgba(10,8,12,calc(var(--vignette-opacity, .3) * .5)) 85%,rgba(5,3,7,var(--vignette-opacity, .3)) 100%)}.film-grain{position:absolute;top:-10%;left:-10%;width:120%;height:120%;z-index:7;pointer-events:none;opacity:var(--grain-opacity, 0);animation:grain-animation var(--grain-speed, .3s) steps(6) infinite}@keyframes grain-animation{0%,to{transform:translate(0)}10%{transform:translate(-1%,-2%)}20%{transform:translate(-3%,1%)}30%{transform:translate(2%,-1%)}40%{transform:translate(-2%,2%)}50%{transform:translate(-1%,1%)}60%{transform:translate(2%,2%)}70%{transform:translate(3%,1%)}80%{transform:translate(-2%,-3%)}90%{transform:translate(1%,2%)}}.crt-flicker{position:absolute;inset:0;z-index:10;pointer-events:none;background:rgba(255,255,255,var(--flicker-opacity, .1));mix-blend-mode:overlay;animation:flicker-anim .15s infinite;display:none}@keyframes flicker-anim{0%{opacity:.88}50%{opacity:1}to{opacity:.88}}.crt-dither{position:absolute;inset:0;z-index:5;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Crect width='4' height='4' fill='white' opacity='0.16'/%3E%3Crect x='4' y='4' width='4' height='4' fill='white' opacity='0.16'/%3E%3Crect x='4' width='4' height='4' fill='black' opacity='0.16'/%3E%3Crect y='4' width='4' height='4' fill='black' opacity='0.16'/%3E%3C/svg%3E");background-size:8px 8px;mix-blend-mode:overlay;image-rendering:pixelated;opacity:var(--dither-opacity, .15);display:none}.intro-overlay .intro-fx-overlay,.intro-overlay .film-grain{z-index:1}.intro-control-bar,.intro-start-button{z-index:4}
