@font-face{font-family:Fredoka;src:url(/assets/fonts/fredoka-regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Fredoka;src:url(/assets/fonts/fredoka-semibold.ttf)format("truetype");font-weight:600 700;font-display:swap}@font-face{font-family:Silkscreen;src:url(/assets/fonts/silkscreen-regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Silkscreen;src:url(/assets/fonts/silkscreen-bold.ttf)format("truetype");font-weight:700;font-display:swap}:root{--sky:#7ec8f2;--sky-deep:#5bb0e6;--grass:#8ed36a;--sun:#ffd44d;--berry:#ff6f91;--cream:#fff6e6;--ink:#3a2e39;--ink-soft:#6b5b68;--shadow:#3a2e3933;--radius:18px;--space:8px;color:var(--ink);font-synthesis:none;background:var(--sky);font-family:Fredoka,Trebuchet MS,sans-serif}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 15% 10%, #ffffff80 0 2px, transparent 3px) 0 0 / 24px 24px, linear-gradient(180deg, var(--sky) 0 72%, var(--grass) 72% 100%);min-height:100vh}button,kbd{font:inherit}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{width:min(1100px,100%);margin:0 auto;padding:clamp(20px,4vw,46px) clamp(14px,3vw,32px) 32px}.app-header{text-align:center;max-width:760px;margin:0 auto clamp(20px,3vw,32px)}.eyebrow{letter-spacing:.16em;margin:0 0 8px;font-family:Silkscreen,Courier New,monospace;font-size:clamp(.72rem,2vw,.9rem);font-weight:800}.app-logo{width:min(620px,100%);height:auto;filter:drop-shadow(0 10px 14px var(--shadow));margin:0 auto;display:block}.app-header p:last-child{max-width:580px;margin:18px auto 0;font-size:clamp(1rem,2vw,1.18rem);line-height:1.5}.game-frame{box-sizing:content-box;touch-action:none;aspect-ratio:16/9;border:8px solid var(--cream);background:var(--sky-deep);border-radius:24px;width:calc(100% - 16px);position:relative;overflow:hidden;box-shadow:0 10px #3a2e392e,0 24px 50px #3a2e392e}#game-container{width:100%;height:100%;position:absolute;inset:0}#safe-area-probe{z-index:-1;visibility:hidden;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);pointer-events:none;position:absolute;inset:0}#game-container canvas{image-rendering:pixelated;touch-action:none;-webkit-user-select:none;user-select:none;display:block}.game-frame:fullscreen{background:var(--sky-deep);border:0;border-radius:0;width:100%;height:100%}.immersive-overlay{z-index:3;top:max(10px, env(safe-area-inset-top));text-align:center;pointer-events:none;background:#fff6e6f5;border:3px solid #3a2e3933;border-radius:14px;flex-direction:column;align-items:center;gap:8px;width:min(360px,100% - 24px);padding:10px 12px;display:none;position:absolute;left:50%;translate:-50%;box-shadow:0 6px #3a2e3926}.immersive-overlay p{margin:0;font-weight:700}.immersive-overlay button{background:var(--sun);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;pointer-events:auto;border:3px solid #3a2e3938;border-radius:12px;padding:8px 14px;font-weight:700}.immersive-overlay button:focus-visible{outline:3px solid var(--berry);outline-offset:3px}.game-page.is-immersive.is-portrait .immersive-overlay{display:flex}.control-card{width:-moz-fit-content;width:fit-content;max-width:100%;color:var(--ink-soft);background:#fff6e6e6;border:3px solid #3a2e3929;border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 22px;margin:24px auto 0;padding:14px 20px;font-size:.92rem;display:flex;box-shadow:0 6px #3a2e391f}.control-card strong{color:var(--ink);text-transform:uppercase;font-family:Silkscreen,Courier New,monospace}kbd{color:var(--ink);background:#fff;border:1px solid #3a2e393d;border-bottom-width:3px;border-radius:6px;padding:2px 7px;font-family:Silkscreen,Courier New,monospace;font-weight:700}a{color:#304f85;text-underline-offset:.18em;font-weight:600}a:hover{color:#8b3150}a:focus-visible{outline:3px solid var(--berry);outline-offset:3px;border-radius:4px}.orientation-hint{color:var(--ink-soft);text-align:center;background:#fff6e6e6;border:2px solid #3a2e3924;border-radius:14px;margin:16px auto 0;padding:10px 14px;font-weight:600;display:none}.site-footer{color:var(--ink-soft);text-align:center;flex-wrap:wrap;justify-content:center;gap:6px 10px;margin:24px auto 0;font-size:.9rem;display:flex}.analytics-choices-button,.analytics-consent-actions button,.analytics-consent-close{background:var(--cream);min-height:44px;color:var(--ink);cursor:pointer;border:3px solid #3a2e3938;border-radius:12px;font-weight:700}.analytics-choices-button:focus-visible,.analytics-consent-actions button:focus-visible,.analytics-consent-close:focus-visible,#analytics-consent-title:focus-visible{outline:3px solid var(--berry);outline-offset:3px}.analytics-choices-button{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));z-index:1001;padding:8px 14px;position:fixed;box-shadow:0 5px #3a2e392e}.analytics-consent-panel{right:max(12px, env(safe-area-inset-right));bottom:max(70px, calc(env(safe-area-inset-bottom) + 58px));z-index:1000;border:5px solid var(--cream);border-radius:var(--radius);background:#fffaf0;width:min(440px,100% - 24px);max-height:calc(100dvh - 94px);padding:20px;position:fixed;overflow-y:auto;box-shadow:0 8px #3a2e392e,0 18px 40px #3a2e393d}.analytics-consent-panel h2{margin:4px 0 10px;font-family:Silkscreen,Courier New,monospace;font-size:1.15rem;line-height:1.35}.analytics-consent-panel p{margin:0;line-height:1.5}.analytics-consent-kicker{color:#8b3150;letter-spacing:.04em;font-family:Silkscreen,Courier New,monospace;font-size:.7rem}.analytics-consent-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.analytics-consent-actions button{background:var(--sun);padding:10px 12px}.analytics-consent-close{color:#304f85;text-underline-offset:.18em;background:0 0;border-color:#0000;width:100%;margin-top:10px;padding:8px 12px;text-decoration:underline}.info-shell{width:min(900px,100%);margin:0 auto;padding:clamp(24px,5vw,56px) clamp(16px,4vw,32px) 40px}.info-shell--narrow{width:min(760px,100%)}.back-link{margin-bottom:18px;display:inline-block}.info-card{border:6px solid var(--cream);background:#fff6e6f7;border-radius:24px;padding:clamp(24px,5vw,48px);box-shadow:0 10px #3a2e3929,0 24px 50px #3a2e3929}.info-card h1,.info-card h2{font-family:Silkscreen,Courier New,monospace}.info-card h1{margin:6px 0 4px;font-size:clamp(2rem,7vw,3.4rem);line-height:1}.info-card h2{margin:30px 0 8px;font-size:clamp(1rem,4vw,1.25rem);line-height:1.35}.info-card p{font-size:1.05rem;line-height:1.65}.info-meta{color:var(--ink-soft);margin-top:6px;font-size:.92rem!important}.info-card code{font-family:Silkscreen,Courier New,monospace;font-size:.82em}.info-intro{max-width:720px;color:var(--ink-soft);margin-bottom:34px;font-size:1.12rem!important}.credit-section{margin-top:36px}.credits-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.credit-card{background:#ffffff8f;border:3px solid #3a2e3924;border-radius:16px;padding:20px}.credit-card--featured{background:#ffd44d21;border-color:#ff6f916b}.credit-card h3{margin:4px 0 8px;font-size:1.35rem}.credit-card p{margin:8px 0;font-size:1rem}.credit-kicker{color:#8b3150;letter-spacing:.04em;font-family:Silkscreen,Courier New,monospace;margin:0!important;font-size:.72rem!important}.credit-links{margin:12px 0 0;padding-left:20px;line-height:1.7}.license-pill{background:var(--sun);width:-moz-fit-content;width:fit-content;color:var(--ink);border-radius:7px;margin-top:12px;padding:4px 8px;font-family:Silkscreen,Courier New,monospace;font-size:.7rem;font-weight:700;text-decoration:none;display:inline-block}.credits-note{color:var(--ink-soft);border-top:3px dashed #3a2e3929;margin:40px 0 0;padding-top:22px}@media (max-width:800px) and (orientation:portrait){.orientation-hint{width:-moz-fit-content;width:fit-content;display:block}}@media (max-width:620px){.app-shell{padding-right:max(8px, env(safe-area-inset-right));padding-left:max(8px, env(safe-area-inset-left))}.game-frame{border-width:5px;border-radius:16px;width:calc(100% - 10px)}.control-card{border-radius:14px;align-items:flex-start}.control-card span{text-align:center;width:100%}.credits-grid{grid-template-columns:1fr}.analytics-consent-panel{right:max(8px, env(safe-area-inset-right));bottom:max(66px, calc(env(safe-area-inset-bottom) + 56px));width:calc(100% - 16px - env(safe-area-inset-left) - env(safe-area-inset-right));padding:16px}.analytics-consent-actions{grid-template-columns:1fr}}.game-page.is-immersive{overscroll-behavior:none;overflow:hidden}.game-page.is-immersive .app-shell{place-items:center;width:100dvw;min-width:0;max-width:none;height:100dvh;min-height:0;padding:0;display:grid}.game-page.is-immersive .app-header,.game-page.is-immersive .control-card,.game-page.is-immersive .orientation-hint,.game-page.is-immersive .site-footer,.game-page.is-immersive .analytics-choices-button,.game-page.is-immersive .analytics-consent-panel{display:none}.game-page.is-immersive .game-frame{aspect-ratio:auto;width:100dvw;height:100dvh;box-shadow:none;border:0;border-radius:0;margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
