:root{--jungle-900: #142010;--jungle-800: #1d2f16;--jungle-700: #2a4520;--jungle-500: #44722f;--leaf: #6fa33c;--brown-900: #2a1a10;--brown-700: #4e2d16;--brown-500: #7a4a26;--sand: #e7cf9d;--cream: #fff3d6;--fire: #ff7a1a;--ember: #ffab2e;--spark: #ffe27a;--muted: #b9b3a3;--safe-top: calc( var(--tg-viewport-safe-area-inset-top, env(safe-area-inset-top, 0px)) + var(--tg-viewport-content-safe-area-inset-top, 0px) );--safe-bottom: calc( var(--tg-viewport-safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)) + var(--tg-viewport-content-safe-area-inset-bottom, 0px) )}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--jungle-900);color:var(--cream);font-family:ui-rounded,SF Pro Rounded,Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4;overflow:hidden;overscroll-behavior:none;user-select:none;-webkit-user-select:none;touch-action:manipulation}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}h1,h2,h3,p{margin:0}.btn{display:block;width:100%;min-height:50px;padding:12px 16px;border-radius:14px;background:var(--brown-500);border-bottom:4px solid var(--brown-700);font-weight:800;color:var(--cream)}.btn.primary{background:var(--fire);border-bottom-color:#c2500a;color:#2a1203}.btn:active:not(:disabled){transform:translateY(2px);border-bottom-width:2px}.btn:disabled{opacity:.5}.link{color:var(--sand);text-decoration:underline;padding:10px;min-height:44px}.note{color:var(--muted);font-size:14px}.splash{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px;text-align:center;background:radial-gradient(circle at 50% 40%,var(--jungle-700),var(--jungle-900))}.splash h1{font-size:34px;color:var(--spark)}.splash .btn{max-width:220px}.toast{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 24px);transform:translate(-50%);max-width:86%;padding:10px 16px;border-radius:12px;background:var(--brown-900);border:2px solid var(--brown-500);font-weight:700;text-align:center;z-index:50;animation:rise .2s ease-out}.camp{height:100%;display:flex;flex-direction:column;background:linear-gradient(var(--jungle-900),var(--jungle-800) 30%,var(--jungle-700))}.hud{display:flex;gap:6px;padding:calc(var(--safe-top) + 10px) 10px 8px}.pill{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;padding:7px 6px;border-radius:999px;background:#00000059;border:2px solid rgba(255,243,214,.12);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.pill .ico{font-size:15px}.pill.points{color:var(--spark)}.boost-banner{margin:0 10px;padding:6px 12px;border-radius:10px;background:linear-gradient(90deg,#ff7a1a47,#ffab2e1f);border:1px solid rgba(255,171,46,.5);color:var(--spark);font-weight:800;font-size:13px;text-align:center;font-variant-numeric:tabular-nums}.scene{position:relative;flex:1;min-height:0;overflow:hidden}.clearing{position:absolute;left:-15%;right:-15%;top:12%;bottom:-8%;border-radius:50%;background:radial-gradient(ellipse at 50% 55%,#7c9a45 0%,#5b8236 45%,#3c6229 75%,transparent 76%)}.art{display:block;width:100%;height:auto;overflow:visible}.plot{position:absolute;width:34%;max-width:150px}.plot-grove{left:5%;top:13%}.plot-banana{right:5%;top:19%}.plot-workshop{left:7%;top:60%}.building,.fire{display:block;width:100%;text-align:center}.building:active .art,.fire:active .art{transform:scale(.96)}.label{display:inline-block;margin-top:2px;padding:3px 10px;border-radius:9px;background:#142010c7;font-weight:800;font-size:12.5px;line-height:1.25;white-space:nowrap}.label small{display:block;font-weight:700;font-size:11px;color:var(--sand);font-variant-numeric:tabular-nums}.bubble{position:absolute;left:50%;top:-40px;transform:translate(-50%);z-index:2;min-height:44px;padding:6px 14px;border-radius:999px;background:var(--cream);color:var(--brown-900);border-bottom:3px solid var(--sand);font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums;animation:bob 1.6s ease-in-out infinite}.bubble.full{background:var(--spark);border-bottom-color:var(--ember)}.bubble em{font-style:normal;font-size:10px;margin-left:5px;padding:1px 5px;border-radius:5px;background:var(--fire);color:#fff;vertical-align:2px}.bubble:disabled{opacity:.6}.pop{position:absolute;left:50%;top:-36px;z-index:3;font-weight:800;font-size:18px;color:var(--spark);text-shadow:0 2px 0 rgba(0,0,0,.5);white-space:nowrap;pointer-events:none;animation:float-up 1.1s ease-out forwards}.fire{position:absolute;left:50%;top:40%;width:30%;max-width:130px;transform:translate(-50%)}.fire .label{color:var(--spark)}.flame{transform-origin:60px 100px;animation:flicker .9s ease-in-out infinite alternate}.flame.f2{animation-duration:.7s}.flame.f3{animation-duration:.5s}.glow{animation:pulse-glow 1.4s ease-in-out infinite alternate}.wiz{position:absolute;right:7%;top:46%;display:flex;flex-direction:column;align-items:center}.wiz .label{margin-top:8px;color:var(--spark);position:relative}.wiz:active img{transform:scale(.96)}.wiz img{display:block;image-rendering:pixelated;animation:breathe 2.4s ease-in-out infinite;transform-origin:bottom center;position:relative}.wiz:before{content:"";position:absolute;left:4px;right:4px;top:169px;height:16px;border-radius:50%;background:#0000004d;filter:blur(3px)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;z-index:20}.sheet{width:100%;padding:18px 16px calc(var(--safe-bottom) + 18px);border-radius:22px 22px 0 0;background:var(--brown-900);border-top:3px solid var(--brown-500);display:flex;flex-direction:column;gap:10px;animation:rise .18s ease-out}.sheet h2{font-size:20px}.sheet h3{font-size:15px;margin-top:6px;color:var(--spark)}.sheet .lvl{font-size:12px;font-weight:800;padding:2px 8px;border-radius:8px;background:var(--jungle-500);vertical-align:3px}.sheet dl{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;margin:0;font-variant-numeric:tabular-nums}.sheet dt{color:var(--muted)}.sheet dd{margin:0;font-weight:800}.cost{display:flex;gap:8px;margin:0;padding:0;list-style:none}.cost li{padding:5px 10px;border-radius:9px;background:#ffffff12;font-weight:800;font-variant-numeric:tabular-nums}.cost li.short{color:#ff8d7a;background:#ff503c24}.drum-menu,.calibrate{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:calc(var(--safe-top) + 56px) 22px calc(var(--safe-bottom) + 22px);text-align:center;background:radial-gradient(circle at 50% 30%,#3a2a14 0%,var(--jungle-900) 70%)}.drum-menu h1,.calibrate h1{font-size:32px;color:var(--spark);font-variant-numeric:tabular-nums}.sub{color:var(--sand);max-width:320px}.drum-fire{width:150px}.back{position:absolute;left:8px;top:calc(var(--safe-top) + 8px);min-height:44px;padding:8px 14px;font-weight:800;color:var(--sand)}.tally{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;margin:4px 0;padding:0;list-style:none;color:var(--sand);text-align:left}.tally b{color:var(--cream);font-size:18px;font-variant-numeric:tabular-nums}.reward{color:var(--spark);font-weight:800;max-width:320px}.actions{width:100%;max-width:340px;display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:14px}.pulse{width:130px;height:130px;margin:24px 0;border-radius:50%;background:radial-gradient(circle,var(--spark),var(--fire) 60%,#c2500a);box-shadow:0 0 50px #ff7a1a80}.stage{height:100%;padding-top:var(--safe-top);background:#0b1409}.stage canvas{display:block;width:100%;height:100%;touch-action:none}.howto{margin:4px 0;padding:0;list-style:none;color:var(--sand);text-align:left;max-width:320px;display:grid;gap:6px}.howto b{color:var(--spark)}.run-menu .tally{grid-template-columns:auto auto;font-size:18px}.energy{display:flex;gap:6px;font-size:22px}.energy span{opacity:.22;filter:grayscale(1)}.energy span.on{opacity:1;filter:none}.track{height:100%;display:flex;flex-direction:column;background:#0d140b}.track-hud{position:absolute;top:calc(var(--safe-top) + 8px);left:0;right:0;z-index:2;display:flex;justify-content:center;gap:8px;pointer-events:none}.track-hud span{padding:5px 12px;border-radius:999px;background:#00000073;font-weight:800;font-variant-numeric:tabular-nums}.track-stage{flex:1;min-height:0;overflow:hidden}.pad{display:flex;gap:8px;padding:10px 10px calc(var(--safe-bottom) + 10px);background:var(--brown-900);border-top:3px solid var(--brown-500)}.pad-btn{flex:1;height:76px;border-radius:16px;background:var(--brown-500);border-bottom:5px solid var(--brown-700);font-weight:800;font-size:17px;touch-action:none}.pad-btn.jump{flex:1.6;background:var(--fire);border-bottom-color:#c2500a;color:#2a1203}.pad-btn small{display:block;font-size:11px;font-weight:700;opacity:.6}.pad-btn:active{transform:translateY(3px);border-bottom-width:2px}@keyframes bob{50%{transform:translate(-50%,-5px)}}@keyframes float-up{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-54px)}}@keyframes flicker{0%{transform:scale(1) skew(-2deg)}to{transform:scale(.94,1.07) skew(2deg)}}@keyframes pulse-glow{to{opacity:.5}}@keyframes breathe{50%{transform:scaleY(1.015)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@media(prefers-reduced-motion:reduce){.bubble,.flame,.glow,.wiz img{animation:none}}
