*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body{color:#4a2a00;touch-action:none;background:#8fd6ff;height:100%;margin:0;font-family:"Baloo 2",Comic Sans MS,Chalkboard SE,system-ui,sans-serif;overflow:hidden}#game,#game canvas{width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}.screen{z-index:20;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#start{background:radial-gradient(circle at 50% 30%,#fff5aabf,#78c85a8c)}.card{text-align:center;background:#fffbe8;border:6px solid #ffd23f;border-radius:36px;max-width:560px;padding:24px 36px 28px;animation:.5s cubic-bezier(.2,1.6,.4,1) pop-in;box-shadow:0 14px #e0a800,0 24px 50px #00000040}.hero{font-size:84px;line-height:1;animation:1.2s ease-in-out infinite wiggle}h1{color:#ff7a00;text-shadow:3px 3px #ffd23f;margin:4px 0 8px;font-size:clamp(36px,7vw,56px);line-height:1}.story{margin:8px 0 18px;font-size:clamp(18px,3.5vw,24px);line-height:1.3}.big-btn{color:#fff;cursor:pointer;background:#3cc13b;border:none;border-radius:999px;padding:8px 48px 4px;font-family:inherit;font-size:40px;font-weight:800;transition:transform .1s;animation:1.4s ease-in-out infinite pulse;box-shadow:0 8px #238a22}.big-btn:active{transform:translateY(6px);box-shadow:0 2px #238a22}.how{flex-wrap:wrap;justify-content:center;gap:22px;margin-top:20px;font-size:20px;display:flex}.key{background:#fff;border:2px solid #c9a24a;border-bottom-width:5px;border-radius:8px;min-width:34px;margin:0 2px;padding:2px 6px;font-size:18px;display:inline-block}.key.wide{min-width:80px}.win-card{background:#fff4fb;border-color:#ff8ad8;box-shadow:0 14px #e05cb7,0 24px 50px #00000040}.star-total{margin:0 0 18px;font-size:26px}#win{pointer-events:none;align-items:flex-end;padding-bottom:3vh}#win .card{pointer-events:auto;text-align:left;grid-template-columns:auto auto;align-items:center;column-gap:28px;max-width:720px;padding:10px 28px 18px;display:grid}#win h1{text-align:center;grid-column:1/-1;margin:4px 0}#win .story{margin:0}#win .star-total{grid-column:1;margin:6px 0 0}#win .big-btn{grid-area:2/2/span 2;padding:8px 32px 4px;font-size:32px}@media (width<=640px){#win .card{text-align:center;grid-template-columns:1fr}#win .big-btn{grid-area:auto/1;margin-top:10px}}@media (width>=901px){#start{background:linear-gradient(90deg,#fff5aab3,#fff5aa00 65%);justify-content:flex-start;padding-left:5vw}#start .card{max-width:480px}}#hud{z-index:10;pointer-events:none;align-items:center;gap:12px;display:flex;position:fixed;top:12px;left:12px;right:12px}#progress{flex:1;align-items:center;gap:6px;max-width:560px;display:flex}#progress-track{background:#ffffffbf;border:4px solid #fff;border-radius:999px;flex:1;height:22px;position:relative;box-shadow:0 3px #00000026}#progress-fill{background:linear-gradient(90deg,#ffe066,#ffb703);border-radius:999px;width:0%;position:absolute;inset:0 auto 0 0}#progress-banana{font-size:32px;position:absolute;top:50%;left:0%;transform:translate(-50%,-55%)}#progress-home{font-size:40px}#stars,.round-btn{background:#ffffffd9;border:4px solid #fff;border-radius:999px;align-items:center;gap:6px;height:52px;padding:0 16px;font-family:inherit;font-size:26px;font-weight:800;display:flex;box-shadow:0 3px #00000026}.round-btn{pointer-events:auto;cursor:pointer;justify-content:center;width:52px;padding:0}#stars.bump{animation:.35s ease-out bump}#bubble{z-index:11;white-space:nowrap;pointer-events:none;background:#fff;border:5px solid #8b5a2b;border-radius:28px;padding:8px 24px 4px;font-size:clamp(22px,4.5vw,34px);font-weight:800;animation:.35s cubic-bezier(.2,1.6,.4,1) pop-in;position:fixed;top:90px;left:50%;transform:translate(-50%);box-shadow:0 6px #00000026}#touch{z-index:12;height:0;position:fixed;inset:auto 0 0}#dpad{width:210px;height:210px;position:fixed;bottom:20px;left:20px}.pad{color:#4a2a00;touch-action:none;background:#ffffff8c;border:4px solid #fff;border-radius:22px;width:72px;height:72px;font-family:inherit;font-size:34px;position:absolute;box-shadow:0 4px #0003}.pad.pressed{background:#ffdc50e6;transform:translateY(3px)}.pad.up{top:0;left:69px}.pad.left{top:69px;left:0}.pad.right{top:69px;right:0}.pad.down{bottom:0;left:69px}.pad.jump{color:#fff;background:#ff8c00bf;border-radius:50%;width:130px;height:130px;font-size:30px;font-weight:800;position:fixed;bottom:40px;left:auto;right:28px}.touch-only{display:none}@media (pointer:coarse){.keys-only{display:none}.touch-only{display:block}}@media (height<=500px){.card{border-width:5px;padding:8px 24px 14px}.hero{font-size:40px}h1{margin:2px 0 4px;font-size:32px}.story{margin:2px 0 8px;font-size:16px}.big-btn{padding:6px 32px 2px;font-size:26px}.how{margin-top:8px;font-size:15px}#win .card{padding:4px 18px 10px}#win .story{display:none}#win h1{font-size:28px}#win .star-total{font-size:18px}#win .big-btn{grid-row:2;font-size:22px}#dpad{width:174px;height:174px;bottom:14px;left:14px}.pad{width:60px;height:60px;font-size:28px}.pad.up,.pad.down{left:57px}.pad.left,.pad.right{top:57px}.pad.jump{width:110px;height:110px;font-size:24px;bottom:24px}#bubble{top:70px}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}#bubble{animation-name:bubble-in}@keyframes bubble-in{0%{opacity:0;transform:translate(-50%)scale(.4)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes wiggle{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)translateY(-6px)}}@keyframes pulse{0%,to{scale:1}50%{scale:1.06}}@keyframes bump{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}
