:root{color-scheme:light;--ink: #243044;--muted: #667085;--cream: #fff7df;--sky: #8fd7ff;--grass: #56bd73;--green: #22a06b;--red: #ff5b64;--gold: #ffc83d;--white: #ffffff;--shadow: 0 18px 48px rgba(22, 55, 90, .22)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;color:var(--ink);font-family:Nunito,system-ui,sans-serif;background:radial-gradient(circle at 16% 10%,rgba(255,236,145,.8),transparent 28rem),linear-gradient(180deg,#caefff,#e8f8ff 46%,#fff2cd);overflow-x:hidden;-webkit-touch-callout:none}button{font:inherit;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;touch-action:manipulation}.game-card,.scene-wrap,.controls,.control-button,.icon-button,canvas{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.app-shell{min-height:100svh;display:grid;place-items:center;padding:max(14px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.game-card{width:min(1100px,100%);min-width:0}.topbar,.hud,.controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar{margin-bottom:10px}.eyebrow{margin:0 0 2px;color:#0c7a5b;font-size:.78rem;font-weight:900;letter-spacing:.12em}h1,h2{margin:0;font-family:Fredoka,system-ui,sans-serif;line-height:1}h1{font-size:clamp(1.6rem,7vw,3.4rem)}.stats{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.stat{min-width:76px;padding:8px 10px;border:2px solid rgba(36,48,68,.08);border-radius:8px;background:#ffffffc2;box-shadow:0 8px 22px #16375a1a}.stat span,.health-wrap span{display:block;color:var(--muted);font-size:.75rem;font-weight:900}.stat strong{display:block;font-size:1.1rem}.hud{margin-bottom:8px}.health-wrap{flex:1}.health-track{height:18px;overflow:hidden;border:2px solid rgba(36,48,68,.14);border-radius:999px;background:#ffffffb3}.health-fill{width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#26c281,#96e455);transition:width .18s ease,background .18s ease}.achievements{display:flex;align-items:center;gap:8px;margin:0 0 8px;overflow:hidden}.achievements-label{flex:0 0 auto;color:var(--muted);font-size:.76rem;font-weight:900}.achievements-list{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none}.achievements-list::-webkit-scrollbar{display:none}.achievement{flex:0 0 auto;min-width:64px;padding:5px 7px;border:2px solid rgba(36,48,68,.1);border-radius:8px;color:inherit;cursor:pointer;text-align:center;background:#ffffffa3;opacity:.48;box-shadow:none}.achievement-icon{display:block;font-size:1.35rem;filter:grayscale(1);opacity:.5;line-height:1.1}.achievement-name{display:block;font-size:.62rem;font-weight:900;white-space:nowrap}.achievement.is-current{border-color:#ffb82f80;background:#ffffffb8;opacity:.72}.achievement.is-unlocked{border-color:#22a06b5c;background:#e5fff2db;opacity:1}.achievement.is-unlocked .achievement-icon{filter:none;opacity:1}.icon-button{width:44px;height:44px;border:0;border-radius:8px;color:var(--ink);font-weight:900;background:var(--white);box-shadow:0 8px 18px #16375a29}.scene-wrap{position:relative;width:100%;max-width:100%;overflow:hidden;border:3px solid rgba(36,48,68,.11);border-radius:8px;background:var(--sky);box-shadow:var(--shadow);aspect-ratio:16 / 9}canvas{display:block;width:100%;height:100%;touch-action:none}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:linear-gradient(180deg,#ffffffad,#fff7dfe0)}.overlay.hidden{display:none}.overlay-panel{position:relative;z-index:2;width:min(460px,100%);padding:22px;border:2px solid rgba(36,48,68,.09);border-radius:8px;text-align:center;background:#ffffffeb;box-shadow:0 18px 46px #16375a2e}.end-panel{overflow:hidden}.credits-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:none;place-items:center;background:radial-gradient(circle at center,rgba(255,255,255,.12),transparent 34rem),#0e1726}.credits-backdrop.is-visible{display:grid}.credits-backdrop img{position:absolute;left:50%;top:50%;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain!important;transform:translate(-50%,-50%);opacity:0;transition:opacity 1.3s ease-in-out}.credits-backdrop img.is-visible{opacity:1}.credits-countdown{margin:0 0 14px;color:#0c7a5b;font-size:1.15rem;font-weight:900}.credits-countdown.hidden{display:none}#endOverlay.credits-mode{background:transparent}#endOverlay.credits-mode .end-panel{align-self:end;margin-bottom:34px;width:auto;padding:0;border:0;background:transparent;box-shadow:none}#endOverlay.credits-mode .end-image,#endOverlay.credits-mode .badge,#endOverlay.credits-mode h2,#endOverlay.credits-mode p{display:none}#endOverlay.credits-mode .primary-button{min-width:150px;background:linear-gradient(180deg,#20c77cf5,#11965ef5)}.credits-progress{position:absolute;z-index:3;left:16px;right:16px;bottom:14px;height:7px;overflow:hidden;border-radius:999px;background:#ffffff5c;box-shadow:0 2px 10px #0000002e}.credits-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffe28a,#fff)}.credits-progress span.is-running{animation:credit-progress 3s linear forwards}@keyframes credit-progress{0%{width:0}to{width:100%}}.end-image{display:block;width:min(260px,78%);max-height:210px;margin:0 auto 12px;object-fit:contain}.end-image:not([src]),.end-image[src=""]{display:none}.celebration-fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.celebration-fx.hidden{display:none}.celebration-fx span{position:absolute;top:-18px;left:var(--x);width:10px;height:18px;border-radius:3px;background:var(--c);animation:confetti-fall var(--d) linear infinite;animation-delay:var(--delay);transform:rotate(var(--r))}.celebration-fx span:nth-child(1){--x: 8%;--c: #ff5b64;--d: 1.9s;--delay: 0s;--r: 12deg}.celebration-fx span:nth-child(2){--x: 18%;--c: #ffc83d;--d: 2.4s;--delay: -.9s;--r: 74deg}.celebration-fx span:nth-child(3){--x: 30%;--c: #2b92ff;--d: 2.1s;--delay: -.4s;--r: 145deg}.celebration-fx span:nth-child(4){--x: 43%;--c: #22a06b;--d: 2.7s;--delay: -1.2s;--r: 38deg}.celebration-fx span:nth-child(5){--x: 54%;--c: #ff8f2d;--d: 2s;--delay: -.2s;--r: 88deg}.celebration-fx span:nth-child(6){--x: 64%;--c: #9b7cff;--d: 2.5s;--delay: -1.4s;--r: 156deg}.celebration-fx span:nth-child(7){--x: 74%;--c: #ff5b64;--d: 2.2s;--delay: -.8s;--r: 22deg}.celebration-fx span:nth-child(8){--x: 84%;--c: #ffc83d;--d: 2.8s;--delay: -1.8s;--r: 119deg}.celebration-fx span:nth-child(9){--x: 92%;--c: #2b92ff;--d: 2.3s;--delay: -.6s;--r: 64deg}.celebration-fx span:nth-child(10){--x: 37%;--c: #22a06b;--d: 2.9s;--delay: -1.6s;--r: 101deg}@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(var(--r))}12%{opacity:1}to{opacity:0;transform:translate3d(34px,360px,0) rotate(calc(var(--r) + 360deg))}}.badge{display:inline-flex;margin:0 0 10px;padding:6px 10px;border-radius:999px;color:#795000;font-size:.78rem;font-weight:900;background:#ffe7a5}.overlay-panel h2{font-size:clamp(1.6rem,8vw,2.9rem)}.overlay-panel p{margin:12px 0 18px;color:#465166;font-weight:700}.primary-button,.control-button{cursor:pointer;border:0;border-radius:8px;color:var(--white);font-weight:900;box-shadow:0 10px #00000021,0 16px 28px #16375a33}.primary-button{min-width:170px;padding:13px 22px;background:linear-gradient(180deg,#20c77c,#11965e)}.controls{margin-top:12px}.control-button{flex:1;min-height:74px;padding:12px 14px;background:linear-gradient(180deg,#2b92ff,#1464d8)}.control-button.jump{background:linear-gradient(180deg,#ffb22f,#ec7b16)}.control-button span,.control-button strong{display:block}.control-button span{font-size:.9rem}.control-button strong{font-size:1.7rem;line-height:1}.primary-button:active,.control-button:active,.icon-button:active{transform:translateY(3px);box-shadow:0 5px #00000021,0 10px 18px #16375a29}.helper{margin:12px 0 0;color:#526076;text-align:center;font-size:.92rem;font-weight:800}@media (max-width: 700px){.app-shell{align-items:start;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.topbar{align-items:end;flex-wrap:wrap;margin-bottom:6px}.topbar>div:first-child{min-width:0}h1{font-size:clamp(1.42rem,8vw,2.1rem)}.stat{min-width:64px;padding:6px 7px}.stat span,.health-wrap span{font-size:.68rem}.stat strong{font-size:.92rem}.stats{max-width:158px;gap:5px}.hud{margin-bottom:5px}.health-track{height:15px}.icon-button{width:38px;height:38px}.achievements{margin-bottom:5px}.achievement{min-width:52px;padding:4px 5px}.achievement-icon{font-size:1.18rem}.achievement-name{font-size:.56rem}.scene-wrap{aspect-ratio:16 / 10}.controls{position:sticky;bottom:max(10px,env(safe-area-inset-bottom));margin-top:8px;gap:8px}.control-button{min-height:68px}.helper{display:none}.overlay{padding:8px}.overlay-panel{padding:14px}#endOverlay{align-items:end;background:linear-gradient(180deg,#ffffff14,#1423374d)}#endOverlay .overlay-panel{width:min(100%,350px);max-height:76%;padding:8px 10px;overflow-y:auto}#endOverlay .badge{display:none}#endOverlay h2{font-size:1rem;line-height:1.02}#endOverlay p{margin:5px 0 8px;font-size:.74rem;line-height:1.12}#endOverlay .primary-button{min-width:136px;padding:8px 10px;font-size:.78rem}#startOverlay{align-items:end;background:linear-gradient(180deg,#ffffff0f,#14233742)}.start-panel{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px;width:min(100%,350px);padding:8px 10px;text-align:left;background:#ffffffe6}.start-panel .badge{display:none}.start-panel h2{font-size:.98rem;line-height:1.02}.start-panel p{display:none}.start-panel .primary-button{grid-column:2;min-width:82px;padding:9px 10px}.end-image{width:min(96px,42%);max-height:62px;margin-bottom:5px}}@media (max-height: 650px) and (orientation: landscape){.app-shell{padding-block:8px}.game-card{width:min(940px,100%)}.controls{margin-top:8px}.control-button{min-height:56px}.helper{display:none}}
