.fp{--u:clamp(9px, min(1.05vw, 1.95vh), 40px);--ink:#2b1a0e;--wood:#7a4b25;--wood-d:#4a2d15;--cream:#fff3d6;--cream-d:#f2dca8;--leaf:#58b84a;--leaf-d:#2f7d32;--fire:#ff7a1a;--fire-d:#d9480f;--water:#3da5ff;--water-d:#1769c2;--gold:#ffd23f;--outline:0 .09em 0 var(--ink), 0 -.06em 0 var(--ink), .07em 0 0 var(--ink), -.07em 0 0 var(--ink), .06em .06em 0 var(--ink), -.06em .06em 0 var(--ink), 0 .15em .3em #00000073;font:700 var(--u) / 1.25 ui-rounded, "Nunito", "Baloo 2", "Comic Sans MS", "Segoe UI", system-ui, sans-serif;color:var(--ink);-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.fp *,.fp :before,.fp :after{box-sizing:border-box}.fp .hidden{display:none!important}.fp .screen{pointer-events:none;position:absolute;inset:0}.fp button{font:inherit;color:inherit;cursor:pointer;pointer-events:auto}.fp h1,.fp h2,.fp h3,.fp p,.fp ul{margin:0;padding:0}.fp .panel{pointer-events:auto;background:linear-gradient(#fff8e3, var(--cream));border:.28em solid var(--ink);box-shadow:0 .4em 0 var(--wood-d), 0 .9em 1.6em #00000059;border-radius:1.2em;padding:1.1em 1.3em}.fp .sec{text-transform:uppercase;letter-spacing:.12em;color:var(--wood);margin:.8em 0 .35em;font-size:.95em}.fp .sec.wide{grid-column:1/-1;margin:.4em 0 0}.fp .btn{pointer-events:auto;border:.22em solid var(--ink);background:var(--leaf);color:#fff;text-shadow:0 .08em #00000059;box-shadow:0 .25em 0 var(--ink);border-radius:.9em;padding:.5em 1.1em;font-size:1.15em;font-weight:900;transition:transform .1s,filter .1s,box-shadow .1s}.fp .btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-.1em)scale(1.04)rotate(-1deg)}.fp .btn:active:not(:disabled){box-shadow:0 .07em 0 var(--ink);transform:translateY(.18em)}.fp .btn:disabled{filter:grayscale(.8);opacity:.6;cursor:default}.fp .btn-play{background:linear-gradient(var(--fire), var(--fire-d));padding:.45em 1.4em;font-size:1.55em;animation:1.6s ease-in-out infinite fp-pulse}.fp .btn-blue{background:linear-gradient(var(--water), var(--water-d))}.fp .btn-green{background:linear-gradient(var(--leaf), var(--leaf-d))}.fp .btn-small{box-shadow:0 .18em 0 var(--ink);padding:.3em .8em;font-size:.95em}.fp .btn-small.btn-play{padding:.3em .8em;font-size:.95em;animation:none}.fp .btn-row{flex-wrap:wrap;align-items:center;gap:.7em;margin-top:1em;display:flex}.fp .btn-col{flex-direction:column;gap:.7em;margin-top:.8em;display:flex}.fp button:focus-visible{outline-offset:.14em;box-shadow:0 0 0 .4em var(--water-d);outline:.22em solid #fff}.fp .coin-pill{background:var(--gold);border:.2em solid var(--ink);box-shadow:0 .15em 0 var(--ink);border-radius:2em;padding:.1em .8em;font-weight:900;display:inline-block}.fp .menu{background:linear-gradient(90deg,#14281459,#0000 60%);align-items:center;padding:0 3vw;display:flex}.fp .menu-panel{background:linear-gradient(#fff8e3e6,#fff3d6db);width:min(46em,94vw);max-height:96vh;position:relative;overflow-y:auto}.fp .menu-panel .coin-pill{position:absolute;top:.8em;right:1em}.fp .logo{flex-wrap:wrap;align-items:center;gap:.1em .25em;margin:-.1em 0 .1em;font-size:3.2em;line-height:1;display:flex}.fp .logo-word{display:inline-flex}.fp .logo-ch{letter-spacing:.01em;animation:2.4s ease-in-out infinite fp-wobble;animation-delay:calc(var(--i) * -.25s);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .08em 0 var(--ink), 0 .14em 0 #00000040;font-weight:900;display:inline-block}.fp .logo-word.forest .logo-ch{color:var(--leaf)}.fp .logo-word.panic .logo-ch{color:var(--fire)}.fp .logo-fire,.fp .logo-drop{font-size:.8em;animation:1.1s ease-in-out infinite fp-bounce}.fp .logo-drop{animation-delay:-.5s}.fp .opt-grid{grid-template-columns:repeat(auto-fit,minmax(14em,1fr));gap:.6em;display:grid}.fp .opt{text-align:left;border:.2em solid var(--ink);box-shadow:0 .18em 0 var(--ink);background:#fff;border-radius:.8em;flex-direction:column;gap:.1em;padding:.55em .8em;transition:transform .1s,background .15s;display:flex}.fp .opt:hover{transform:translateY(-.1em)}.fp .opt.on{border-color:var(--leaf-d);box-shadow:0 .18em 0 var(--leaf-d), 0 0 0 .2em var(--leaf);background:#c9f0b8}.fp .opt.locked{color:#6b5d48;background:#ddd2bd}.fp .opt-title{font-size:1.1em;font-weight:900}.fp .opt-desc{opacity:.8;font-size:.82em;font-weight:700}.fp .players-row{gap:.5em;display:flex}.fp .pcount{border:.2em solid var(--ink);box-shadow:0 .15em 0 var(--ink);background:#fff;border-radius:.8em;padding:.3em .9em;font-size:1.15em}.fp .pcount.on{background:var(--water);color:#fff;text-shadow:0 .06em #0006}.fp .best{flex-wrap:wrap;gap:.3em 1.2em;margin-top:.8em;font-size:.9em;display:flex}.fp .best-t{color:var(--fire-d);font-weight:900}.fp .controls{flex-direction:column;gap:.3em;margin-top:.5em;display:flex}.fp .ctl-row{flex-wrap:wrap;align-items:center;gap:.25em .6em;font-size:.85em;display:flex}.fp .ctl-who{background:var(--pc,#4c9a4c);color:#fff;border:.15em solid var(--ink);text-shadow:0 .06em #00000080;border-radius:.6em;padding:0 .5em;font-weight:900}.fp kbd{font:inherit;border:.12em solid var(--ink);box-shadow:0 .1em 0 var(--ink);background:#fff;border-radius:.4em;padding:0 .35em;font-weight:900}.fp .controls.compact .ctl-row{font-size:.78em}.fp .hint .controls{color:#fff;text-shadow:var(--outline);background:#1e140a8c;border-radius:1em;padding:.5em .8em}.fp .hint .ctl-item{text-shadow:0 .08em 0 var(--ink)}.fp .hint kbd{color:var(--ink);text-shadow:none}.fp .overlay{pointer-events:auto;z-index:5;background:#141e0f8c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fp .howto-panel{width:min(40em,92vw);max-height:92vh;overflow-y:auto}.fp .howto-panel h2{margin-bottom:.3em;font-size:1.8em}.fp .howto-list{flex-direction:column;gap:.35em;list-style:none;display:flex}.fp .howto-panel .btn{margin-top:1em}.fp .hud{color:#fff;text-shadow:var(--outline)}.fp .hud-box{border:.2em solid var(--ink);background:#23190c80;border-radius:1em;padding:.45em .7em;position:absolute;top:1.2%}.fp .hud-label{letter-spacing:.08em;text-transform:uppercase;opacity:.95;margin-bottom:.2em;font-size:.8em}.fp .health{width:18em;left:1.2%}.fp .health.danger .bar{animation:.4s infinite fp-shake-s}.fp .bar{border:.17em solid var(--ink);background:#00000073;border-radius:1em;height:1.1em;position:relative;overflow:hidden}.fp .bar.big{height:1.6em;overflow:visible}.fp .bar.big .bar-fill{border-radius:1em}.fp .bar.small{border-width:.12em;flex:1;height:.55em}.fp .bar-fill{background:var(--leaf);width:0;height:100%;transition:width .25s,background .25s}.fp .bar-fill.water{background:linear-gradient(#7fd1ff, var(--water))}.fp .bar-fill.charge{background:linear-gradient(#ff9a9a,#e5413a)}.fp .bar-fill.dash{background:linear-gradient(#ffe27a, var(--gold))}.fp .bar-txt{justify-content:center;align-items:center;font-size:.85em;display:flex;position:absolute;inset:0}.fp .bar-mark{border:.08em solid var(--ink);background:#fff;border-radius:.2em;width:.22em;margin-left:-.11em;position:absolute;top:-.35em;bottom:-.35em}.fp .fires{margin-top:.35em;font-size:.95em}.fp .fires.flash{color:#ffcf8a;animation:.7s infinite fp-flash}.fp .hud-center{flex-direction:column;align-items:center;min-width:14em;display:flex;position:absolute;top:.8%;left:50%;transform:translate(-50%)}.fp .timer{font-size:2.8em;font-weight:900;line-height:1}.fp .timer.urgent{color:#ff5a4a;animation:.6s infinite fp-pulse}.fp .timer.endless:before{content:"♾️ ";font-size:.6em}.fp .score-row{font-size:1.6em;font-weight:900}.fp .score{display:inline-block}.fp .score.pop{animation:.35s ease-out fp-pop}.fp .wave{opacity:.95;min-height:1.2em;font-size:.95em}.fp .popups{width:0;height:0;position:relative}.fp .popup{white-space:nowrap;font-size:1.9em;font-weight:900;animation:1.3s ease-out forwards fp-float;position:absolute;top:.3em;left:0;transform:translate(-50%)}.fp .popup.pos{color:#8dff6a}.fp .popup.neg{color:#ff7a6a}.fp .wind{text-align:center;right:1.2%}.fp .compass{border:.2em solid var(--ink);background:#ffffff2e;border-radius:50%;width:4.6em;height:4.6em;margin:0 auto;position:relative}.fp .compass-arrow{color:#bfe9ff;justify-content:center;align-items:center;font-size:2.4em;transition:transform .4s;display:flex;position:absolute;inset:0}.fp .cd{opacity:.75;font-size:.55em;position:absolute}.fp .cd.n{top:.1em;left:50%;transform:translate(-50%)}.fp .cd.s{bottom:.1em;left:50%;transform:translate(-50%)}.fp .cd.e{top:50%;right:.25em;transform:translateY(-50%)}.fp .cd.w{top:50%;left:.25em;transform:translateY(-50%)}.fp .pips{justify-content:center;gap:.2em;margin-top:.3em;display:flex}.fp .pip{border:.12em solid var(--ink);background:#0006;border-radius:50%;width:.7em;height:.7em}.fp .pip.on{background:#bfe9ff}.fp .event-banner{color:#fff;text-shadow:var(--outline);border:.12em solid var(--ink);background:linear-gradient(var(--fire), var(--fire-d));white-space:nowrap;border-radius:1em;align-items:center;gap:.5em;padding:.2em .9em;font-size:2.4em;font-weight:900;display:none;position:absolute;top:26%;left:50%;transform:translate(-50%)}.fp .event-banner.show{animation:3.8s ease-in-out forwards fp-banner;display:flex}.fp .event-banner.ev-wind{background:linear-gradient(#7fd1ff, var(--water-d))}.fp .event-banner.ev-dry{background:linear-gradient(#ffd23f,#c78a10)}.fp .event-banner.ev-branches{background:linear-gradient(#8bc34a, var(--leaf-d))}.fp .ev-emoji{font-size:1.2em;animation:.6s infinite fp-bounce}.fp .toasts{flex-direction:column;gap:.4em;display:flex;position:absolute;top:22%;left:1.2%}.fp .toast{border:.15em solid var(--ink);background:#23190cbf;border-radius:.9em;padding:.3em .8em;font-size:1.1em;animation:2.6s forwards fp-toast}.fp .toast.good{background:#2f7d32e6}.fp .toast.bad{background:#be321ee6}.fp .toast.warn{background:#1e64bee6}.fp .hint{max-width:96vw;transition:opacity 1.5s;position:absolute;bottom:17%;left:50%;transform:translate(-50%)}.fp .hint.fade{opacity:0}.fp .cards{flex-wrap:wrap;justify-content:center;gap:.8em;padding:0 1em;display:flex;position:absolute;bottom:1.5%;left:0;right:0}.fp .pcard{border:.2em solid var(--ink);border-top:.55em solid var(--pc);background:#23190c99;border-radius:1em;width:15em;padding:.45em .7em .55em}.fp .pcard.stunned{animation:.3s infinite fp-shake-s}.fp .pc-head{align-items:center;gap:.4em;margin-bottom:.25em;font-size:1.05em;display:flex}.fp .pc-dot{background:var(--pc);border:.14em solid var(--ink);border-radius:50%;width:.9em;height:.9em}.fp .tool-icon{margin-left:auto;font-size:1.4em}.fp .tool-name{font-size:.8em}.fp .bar.low{animation:.6s infinite fp-flash}.fp .tool-others{opacity:.85;gap:.3em;min-height:1.3em;margin-top:.3em;display:flex}.fp .mini-tool{filter:drop-shadow(0 0 .1em #000);font-size:1.1em}.fp .mini-row{align-items:center;gap:.4em;margin-top:.2em;font-size:.75em;display:flex}.fp .mini-row.ready .bar-fill{filter:brightness(1.2)}.fp .pause,.fp .results,.fp .shop{pointer-events:auto;background:#0f1e0f8c;justify-content:center;align-items:center;display:flex}.fp .results{overflow-y:auto}.fp .pause-panel{text-align:center;width:min(30em,92vw)}.fp .big-title{color:var(--wood-d);font-size:2.4em}.fp .pause-panel .btn{width:100%}.fp .pause-panel .ctl-row{justify-content:center}.fp .results-panel{text-align:center;z-index:2;width:min(36em,94vw);max-height:96vh;position:relative;overflow-y:auto}.fp .results-panel.enter{animation:.6s cubic-bezier(.2,1.6,.4,1) fp-enter}.fp .result-emoji{font-size:2em;animation:1s infinite fp-bounce}.fp .result-title{flex-wrap:wrap;justify-content:center;font-size:3.4em;line-height:1;display:flex}.fp .rt-ch{animation:1.8s ease-in-out infinite fp-wobble;animation-delay:calc(var(--i) * -.17s);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 .08em 0 var(--ink);display:inline-block}.fp .result-title.win .rt-ch{color:var(--leaf)}.fp .result-title.lose .rt-ch{color:var(--fire)}.fp .consolation{color:var(--wood-d);margin:.4em 0;font-size:1.1em}.fp .stars{justify-content:center;gap:.1em;font-size:3em;display:flex}.fp .star{filter:grayscale()brightness(.5);opacity:.5;transform:scale(.7)}.fp .star.on{filter:drop-shadow(0 .05em 0 var(--ink));opacity:1;animation:fp-star .7s calc(.5s + var(--i) * .3s) cubic-bezier(.2, 1.8, .4, 1) backwards;transform:scale(1)}.fp .new-best{background:var(--gold);border:.18em solid var(--ink);border-radius:2em;margin:.3em 0;padding:.1em .9em;font-size:1.3em;font-weight:900;animation:1s infinite fp-pulse;display:inline-block}.fp .big-stats{justify-content:center;gap:.8em;margin:.5em 0;display:flex}.fp .big-stat{border:.2em solid var(--ink);background:#fff;border-radius:.9em;flex-direction:column;flex:1;padding:.3em;display:flex}.fp .big-stat b{color:var(--fire-d);font-size:2.2em;line-height:1.1}.fp .big-stat.coin b{color:#b27d00}.fp .stat-list{text-align:left;background:#fff9;border-radius:.8em;padding:.3em .8em}.fp .stat-row{border-bottom:.1em dashed #0003;justify-content:space-between;padding:.2em 0;display:flex}.fp .stat-row:last-child{border:0}.fp .results .btn-row{justify-content:center}.fp .confetti{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.fp .conf{top:-8%;left:var(--x);width:var(--w);height:calc(var(--w) * 1.6);background:var(--c);animation:fp-fall var(--t) var(--d) linear infinite;border-radius:.15em;position:absolute}.fp .conf.leaf{background:0 0;width:auto;height:auto;font-size:1.8em;font-style:normal}.fp .shop-panel{flex-direction:column;width:min(52em,95vw);max-height:94vh;display:flex}.fp .shop-head{justify-content:space-between;align-items:center;display:flex}.fp .shop-head h2{font-size:2em}.fp .shop-note{color:var(--wood);margin:.2em 0 .6em;font-size:.85em}.fp .tabs{flex-wrap:wrap;gap:.4em;margin-bottom:.6em;display:flex}.fp .tab{border:.2em solid var(--ink);background:var(--cream-d);border-radius:.8em .8em 0 0;padding:.3em .9em;font-weight:900}.fp .tab.on{background:var(--leaf);color:#fff;text-shadow:0 .06em #0006}.fp .shop-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(21em,1fr));align-content:start;gap:.6em;padding:.2em .2em .6em;display:grid;overflow-y:auto}.fp .shop-card{border:.2em solid var(--ink);box-shadow:0 .18em 0 var(--ink);background:#fff;border-radius:.9em;align-items:center;gap:.7em;padding:.5em .7em;display:flex}.fp .shop-card.owned{background:#e4f6d8}.fp .shop-card.equipped{box-shadow:0 .18em 0 var(--ink), 0 0 0 .22em var(--gold)}.fp .sc-icon{text-align:center;min-width:1.2em;font-size:2.2em}.fp .swatch{border:.12em solid var(--ink);border-radius:50%;width:1.3em;height:1.3em;display:inline-block}.fp .sc-main{flex-direction:column;flex:1;min-width:0;font-size:.95em;display:flex}.fp .sc-main span{opacity:.8;font-size:.8em;font-weight:700}.fp .sc-side{flex-direction:column;align-items:flex-end;gap:.2em;display:flex}.fp .sc-status{color:var(--leaf-d);font-size:.85em;font-weight:900}.fp .lv-pips{gap:.2em;margin-top:.2em;display:flex}.fp .lv{border:.12em solid var(--ink);background:#ddd;border-radius:50%;width:.8em;height:.8em}.fp .lv.on{background:var(--leaf)}.fp .shake{animation:.45s fp-shake}@keyframes fp-wobble{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-.08em)rotate(3deg)}}@keyframes fp-bounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-.25em)scale(1.1)}}@keyframes fp-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes fp-flash{0%,to{opacity:1}50%{opacity:.45}}@keyframes fp-pop{0%{transform:scale(1)}40%{color:var(--gold);transform:scale(1.5)}to{transform:scale(1)}}@keyframes fp-float{0%{opacity:0;transform:translate(calc(-50% + var(--dx,0)), 0) scale(.6)}15%{opacity:1;transform:translate(calc(-50% + var(--dx,0)), -.3em) scale(1.2)}to{opacity:0;transform:translate(calc(-50% + var(--dx,0)), -2.5em) scale(1)}}@keyframes fp-banner{0%{opacity:0;transform:translate(-50%,-3em)scale(.7)}8%{opacity:1;transform:translate(-50%)scale(1.1)}14%{transform:translate(-50%)scale(1)}85%{opacity:1}to{opacity:0;transform:translate(-50%,-1em)scale(.9)}}@keyframes fp-toast{0%{opacity:0;transform:translate(-2em)}8%{opacity:1;transform:none}85%{opacity:1}to{opacity:0}}@keyframes fp-enter{0%{opacity:0;transform:scale(.5)rotate(-4deg)}to{opacity:1;transform:none}}@keyframes fp-star{0%{transform:scale(0)rotate(-180deg)}to{transform:scale(1)rotate(0)}}@keyframes fp-fall{0%{transform:translate(0)rotate(0)}to{transform:translate(var(--sx), 115vh) rotate(var(--r))}}@keyframes fp-shake{0%,to{transform:none}20%{transform:translate(-.4em)}40%{transform:translate(.4em)}60%{transform:translate(-.3em)}80%{transform:translate(.3em)}}@keyframes fp-shake-s{0%,to{transform:translate(0)}50%{transform:translate(.1em)}}@media (prefers-reduced-motion:reduce){.fp *,.fp :before,.fp :after{animation-duration:10ms!important;animation-iteration-count:1!important}}@media (height<=640px){.fp .logo{font-size:2.4em}.fp .menu-panel{padding:.7em 1em}}
