:root{--fx-ink:var(--ink,#1a0f14);--fx-banana:var(--banana,#ffd23a);--fx-banana-hi:var(--banana-hi,#fff08c);--fx-cream:var(--cream,#fff6d6);--fx-jungle:var(--jungle-deep,#0a2a1c);--fx-gain:#b9f08a;--fx-loss:#ff9a82;--fx-font-px:var(--font-display,"Press Start 2P", "Courier New", monospace);--fx-overshoot:var(--pop,cubic-bezier(.2, 1.8, .4, 1));--fx-overshoot-mid:cubic-bezier(.2, 1.6, .4, 1);--fx-overshoot-soft:cubic-bezier(.2, 1.4, .4, 1);--fx-overshoot-craft:cubic-bezier(.2, 1.5, .4, 1);--fx-overshoot-pop:cubic-bezier(.3, 1.7, .5, 1);--fx-burst:cubic-bezier(.2, .8, .4, 1);--fx-fly:cubic-bezier(.4, 0, .55, 1);--fx-e-pop:var(--fx-overshoot-pop);--fx-e-stamp:var(--fx-overshoot-mid)}.fx-pixel,html[data-style=pixel]{--fx-e-pop:steps(5);--fx-e-stamp:steps(6)}.fx-pop{animation:fx-pop .45s var(--fx-e-pop)}@keyframes fx-pop{0%{transform:scale(1)}35%{transform:scale(1.35)rotate(-4deg)}to{transform:scale(1)}}.fx-bump strong{animation:fx-count-bump .32s var(--fx-overshoot)}@keyframes fx-count-bump{0%{color:#fff6cf;transform:scale(1.5)}to{transform:scale(1)}}.fx-nudge{animation:.32s ease-out fx-nudge}@keyframes fx-nudge{0%,to{transform:translate(0)}25%{transform:translate(-4px)}60%{transform:translate(4px)}}.fx-chip-pop{animation:fx-chip-pop .3s var(--fx-overshoot) both}@keyframes fx-chip-pop{0%{transform:scale(.7)}}.fx-gain{z-index:6;pointer-events:none;white-space:nowrap;font:700 15px var(--fx-font-px);color:var(--fx-gain);text-shadow:0 2px var(--fx-ink), 0 0 6px var(--fx-ink);animation:.85s ease-out forwards fx-float-gain;position:absolute;top:38%;left:50%;transform:translate(-50%)}.fx-gain.down{color:var(--fx-loss)}@keyframes fx-float-gain{0%{opacity:0;transform:translate(-50%)scale(.5)}18%{opacity:1;transform:translate(-50%,-4px)scale(1.2)}to{opacity:0;transform:translate(-50%,-20px)scale(1)}}.fx-gain-popup{z-index:15;pointer-events:none;white-space:nowrap;background:var(--fx-jungle);border:3px solid var(--fx-ink);box-shadow:0 3px 0 var(--fx-ink);color:var(--fx-cream);font:700 22px/1 var(--fx-font-px);font-variant-numeric:tabular-nums;padding:3px 6px;position:absolute;top:0;left:0}.fx-ftext{z-index:41;pointer-events:none;white-space:nowrap;font:11px var(--fx-font-px);color:var(--fx-banana);text-shadow:2px 2px 0 var(--fx-ink), -1px -1px 0 var(--fx-ink);animation:1s steps(10,end) forwards fx-ftext;position:absolute;transform:translate(-50%)}.fx-ftext.neg{color:#ff8a6a}.fx-ftext.big{color:var(--fx-banana-hi);font-size:16px}@keyframes fx-ftext{0%{opacity:1;margin-top:0}to{opacity:0;margin-top:-50px}}.fx-spark{z-index:99;pointer-events:none;width:8px;height:8px;box-shadow:0 0 0 2px var(--fx-ink);position:fixed}.fx-fly{z-index:960;pointer-events:none;will-change:transform;position:fixed}.fx-chip{background:var(--fx-banana);border:3px solid var(--fx-ink);box-sizing:content-box;width:14px;height:14px}.fx-combo{z-index:9;text-align:center;pointer-events:none;color:#fff0bc;text-shadow:0 3px #4a3a12,0 0 10px #ffd23a99;min-width:96px;position:absolute;top:40%;left:14px}.fx-combo[hidden]{display:none}.fx-combo strong{font:700 44px/1 var(--fx-font-px);color:var(--fx-banana);display:block}.fx-combo span{font:700 12px/1 var(--fx-font-px);letter-spacing:.2em;display:block}.fx-combo-timer{background:#0b2929cc;border:1px solid #5a7c63;height:5px;margin:5px 8px 0;display:block}.fx-combo-timer b{background:var(--fx-banana);transform-origin:0;height:100%;display:block}.fx-combo.pop strong{animation:fx-combo-pop .22s var(--fx-overshoot-mid)}.fx-combo[data-tier="2"] strong{color:#ff9a4a}.fx-combo[data-tier="3"] strong{color:#ff5a3c}@keyframes fx-combo-pop{0%{transform:scale(1.5)rotate(-4deg)}to{transform:scale(1)}}.fx-word{z-index:406;pointer-events:none;white-space:nowrap;font-family:var(--fx-font-px);letter-spacing:2px;color:var(--c);text-shadow:3px 0 0 var(--fx-ink), -3px 0 0 var(--fx-ink), 0 3px 0 var(--fx-ink), 0 -3px 0 var(--fx-ink), 3px 3px 0 var(--fx-ink), -3px 3px 0 var(--fx-ink), 3px -3px 0 var(--fx-ink), -3px -3px 0 var(--fx-ink), 0 6px 0 var(--fx-ink);font-size:clamp(18px,3.6vw,34px);position:fixed}.fx-banner{z-index:16;background:var(--fx-jungle);border:3px solid var(--fx-banana);width:min(300px,100% - 28px);box-shadow:0 3px 0 var(--fx-ink);color:#fff0bc;cursor:pointer;align-items:center;gap:10px;padding:8px 12px;display:flex;position:absolute;top:30%;left:50%;transform:translate(-50%)}.fx-banner[hidden]{display:none}.fx-banner.show{animation:fx-banner-in .5s var(--fx-overshoot-soft)}.fx-banner.hide{animation:.3s ease-in forwards fx-banner-out}.fx-banner-art{width:48px;height:48px;image-rendering:pixelated;flex:none}.fx-banner-copy{min-width:0}.fx-banner-copy strong{font:700 19px/1 var(--fx-font-px);color:var(--fx-banana);text-shadow:0 2px #4a3a12;display:block}.fx-banner-copy span{font:600 12px/1.25 var(--fx-font-px);color:#d6dcb9;margin-top:3px;display:block}.fx-banner-copy span:empty{display:none}@keyframes fx-banner-in{0%{opacity:0;transform:translate(-50%)translateY(-30px)scale(.8)}to{opacity:1;transform:translate(-50%)}}@keyframes fx-banner-out{to{opacity:0;transform:translate(-50%)translateY(-20px)}}.fx-stamp{--jc:var(--fx-banana);z-index:940;pointer-events:none;max-width:96vw;animation:fx-stamp-in .4s var(--fx-e-stamp) both, fx-stamp-out .5s ease-in 2.6s forwards;justify-items:center;gap:4px;display:grid;position:fixed;top:26%;left:50%;transform:translate(-50%,-50%)rotate(-2deg)}.fx-stamp b{z-index:1;font:400 clamp(18px, 5vw, 40px)/1 var(--fx-font-px);letter-spacing:.03em;white-space:nowrap;color:var(--jc);text-shadow:0 4px 0 #1a0f1499, 0 0 18px var(--jc);-webkit-text-stroke:2px #3c1c00a6;paint-order:stroke fill;position:relative}.fx-stamp small{z-index:1;font:clamp(8px, 2vw, 12px) var(--fx-font-px);color:var(--fx-cream);text-shadow:0 2px #1a0f14b3;position:relative}.fx-rays{z-index:0;opacity:0;background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--jc) 55%, transparent) 0 7deg, transparent 7deg 22deg);width:360px;height:360px;animation:7s linear infinite fx-spin;position:absolute;top:50%;left:50%;translate:-50% -50%;-webkit-mask:radial-gradient(circle,#000 18%,#0000 68%);mask:radial-gradient(circle,#000 18%,#0000 68%)}.fx-stamp.t2{--jc:#ff9a3a}.fx-stamp.t2 .fx-rays{opacity:.85}.fx-stamp.t3{--jc:var(--fx-cream);top:30%}.fx-stamp.t3 b{background:linear-gradient(90deg,#ff5d73,#ffd23a,#7be05a,#4cc9f0,#c9a0ff,#ff5d73) 0 0/300% 100%;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px #1a0f1499);text-shadow:none;-webkit-text-stroke:0;-webkit-background-clip:text;background-clip:text;font-size:clamp(22px,6.4vw,52px);animation:1.1s linear infinite fx-rainbow}.fx-stamp.t3 .fx-rays{opacity:1;width:620px;height:620px}@keyframes fx-stamp-in{0%{opacity:0;transform:translate(-50%,-50%)scale(3.4)rotate(-16deg)}55%{opacity:1;transform:translate(-50%,-50%)scale(.9)rotate(3deg)}to{transform:translate(-50%,-50%)scale(1)rotate(-2deg)}}@keyframes fx-stamp-out{to{opacity:0;transform:translate(-50%,-110%)scale(.9)rotate(-2deg)}}@keyframes fx-spin{to{rotate:360deg}}@keyframes fx-rainbow{to{background-position:300% 0}}html[data-fx=low] .fx-rays{display:none}.fx-edge-pulse{z-index:13;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center, transparent 42%, var(--pulse,var(--fx-banana)) 135%);position:fixed;inset:0}.fx-edge-pulse.on{animation:.75s ease-out fx-edge-pulse}@keyframes fx-edge-pulse{0%{opacity:calc(var(--strength,.6) * .85)}to{opacity:0}}.fx-flash{z-index:13;pointer-events:none;opacity:0;background:radial-gradient(#0000 45%,#e0482f99 100%);position:fixed;inset:0}.fx-flash.on{animation:.45s ease-out fx-flash-hit}@keyframes fx-flash-hit{0%{opacity:1}to{opacity:0}}.fx-low-health .fx-flash{animation:1.2s ease-in-out infinite fx-low-health}@keyframes fx-low-health{0%,to{opacity:.1}50%{opacity:.45}}.fx-stop,.fx-stop *{animation-play-state:paused!important}.fx-hit{animation:.3s steps(3,end) fx-toy-hit}@keyframes fx-toy-hit{0%{transform:none}33%{transform:translateY(5px)scaleY(.88)}66%{transform:translateY(-5px)}}.fx-ready{animation:.7s steps(5,end) fx-toy-ready}@keyframes fx-toy-ready{0%,to{transform:none}30%{transform:translateY(-9px)scale(1.12)}60%{transform:translateY(2px)}}.fx-hop{animation:.35s steps(4,end) fx-toy-hop}@keyframes fx-toy-hop{40%{transform:translateY(-9px)}}.fx-hud-bump{animation:.4s steps(4,end) fx-hud-bump}@keyframes fx-hud-bump{0%{transform:translateY(0)}25%{transform:translateY(-9px)}60%{transform:translateY(3px)}to{transform:translateY(0)}}.fx-nope{animation:.3s step-end fx-toy-nope}@keyframes fx-toy-nope{0%,to{translate:0}25%{translate:-4px}75%{translate:4px}}.fx-deny{animation:.35s steps(6,end) fx-shake}@keyframes fx-shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.fx-shake{animation:.45s step-end fx-coco-shake}@keyframes fx-coco-shake{0%,to{transform:translate(0)}12%{transform:translate(-5px)}30%{transform:translate(5px)}48%{transform:translate(-5px)}66%{transform:translate(3px)}84%{transform:translate(-2px)}}.fx-bought{animation:.4s steps(4,end) fx-bought}@keyframes fx-bought{0%{filter:brightness(1.8)}50%{transform:translateY(-4px)}to{transform:none}}.fx-chip-up{animation:.5s steps(5,end) fx-chipbump}@keyframes fx-chipbump{0%{transform:scale(1)}30%{filter:brightness(1.5);transform:scale(1.18)}to{transform:scale(1)}}.fx-chip-down{animation:.4s steps(4,end) fx-chipdrop}@keyframes fx-chipdrop{0%{transform:scale(1)}30%{color:#ff8a6a;transform:scale(.92)}to{transform:scale(1)}}.fx-gearflash{animation:1s steps(8,end) fx-gearflash}@keyframes fx-gearflash{0%,40%{filter:brightness(1.8)saturate(1.5)}20%{transform:scale(1.06)rotate(1deg)}to{filter:none;transform:none}}.fx-drop-in{animation:.4s steps(5,end) both fx-drop-in}@keyframes fx-drop-in{0%{transform:translate(var(--tx,0), -80px);opacity:0}}.fx-pop-in{animation:.45s steps(6,end) both fx-pop-in}@keyframes fx-pop-in{0%{opacity:0;transform:translate(-50%)scale(.3)}70%{transform:translate(-50%)scale(1.1)}}.fx-blink{animation:.5s steps(2,end) infinite alternate fx-blink}@keyframes fx-blink{0%{filter:brightness()}to{filter:brightness(1.55)}}.fx-twinkle{animation:1.4s step-end infinite fx-twinkle}@keyframes fx-twinkle{0%{opacity:1}50%{opacity:0}}.fx-glow-border{animation:1.4s step-end infinite fx-glow-border}@keyframes fx-glow-border{50%{border-color:var(--fx-banana)}}.fx-hint{border:3px solid var(--fx-banana);pointer-events:none;animation:1s ease-in-out infinite fx-hint-frame;position:absolute;inset:-3px}@keyframes fx-hint-frame{50%{opacity:.55;transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.fx-pop,.fx-bump strong,.fx-nudge,.fx-chip-pop,.fx-combo.pop strong,.fx-banner.show,.fx-banner.hide,.fx-edge-pulse.on,.fx-flash.on,.fx-hit,.fx-ready,.fx-hop,.fx-hud-bump,.fx-nope,.fx-deny,.fx-shake,.fx-bought,.fx-chip-up,.fx-chip-down,.fx-gearflash,.fx-drop-in,.fx-pop-in,.fx-blink,.fx-twinkle,.fx-glow-border,.fx-hint,.fx-rays,.fx-stamp.t3 b,.fx-gain,.fx-ftext{animation:none}.fx-stamp{animation:.5s ease-in 2.6s forwards fx-stamp-out}.fx-low-health .fx-flash{opacity:.28;animation:none}}*,:before,:after{box-sizing:border-box;border-radius:0}html,body{background:var(--jungle-deep);height:100%;color:var(--cream);overscroll-behavior:none;margin:0;overflow:hidden}body{font-family:var(--font-ui);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-size:16px}button{font:inherit;color:inherit;cursor:pointer}.spr{image-rendering:pixelated;background-repeat:no-repeat;flex:none;display:block}img{image-rendering:pixelated}:focus-visible{outline:3px solid var(--banana);outline-offset:-3px}[hidden]{display:none!important}#app{justify-content:center;height:100dvh;display:flex;position:relative}.deco{z-index:0;background:repeating-linear-gradient(90deg, transparent 0 46px, #0000001f 46px 48px), linear-gradient(var(--jungle-deep), var(--jungle2));position:fixed;inset:0}.col{z-index:1;width:100%;max-width:480px;height:100dvh;padding:4px 6px calc(4px + env(safe-area-inset-bottom));background:var(--jungle2);box-shadow:0 0 0 3px var(--ink);flex-direction:column;align-items:stretch;gap:4px;display:flex;position:relative;overflow:hidden}.btn{min-height:36px;font-family:var(--font-label);background:var(--wood);color:var(--cream);border:3px solid var(--ink);text-shadow:2px 2px 0 var(--ink);box-shadow:inset 0 3px 0 #ffffff29, inset 0 -3px 0 #00000052, 0 3px 0 var(--ink);touch-action:manipulation;padding:0 10px;font-size:21px;font-weight:400;line-height:1;position:relative}.btn:active{box-shadow:inset 0 3px 0 #ffffff29, inset 0 -3px 0 #00000052, 0 1px 0 var(--ink);transform:translateY(2px)}.btn.go{background:var(--leaf)}.btn.sell,.btn.pitch{background:var(--banana);color:var(--wood-deep);text-shadow:none}.btn.danger{background:var(--red)}.btn.off{color:var(--cream-dark);background:#5a4a3a}.btn.mini{min-height:28px;padding:0 8px;font-size:18px}.btn.wide{width:100%;margin-top:8px}.btn small{font-family:var(--font-body);text-shadow:none;margin-top:2px;font-size:17px;font-weight:400;display:block}.btn .badge{background:var(--red);color:var(--cream);border:2px solid var(--ink);min-width:20px;font:16px var(--font-body);text-align:center;padding:2px 3px;position:absolute;top:-8px;right:-6px}.btn.pulse{animation:.8s steps(2,end) infinite pulse}@keyframes pulse{50%{filter:brightness(1.35)}}.hud{flex-direction:column;flex:none;gap:2px;display:flex}.hud-row{gap:4px;display:flex}.chip{background:var(--wood-deep);border:3px solid var(--ink);flex:1;align-items:center;gap:4px;min-width:0;height:26px;padding:0 5px;display:flex;box-shadow:0 3px #00000047}.chip .num{z-index:2;font:400 21px/1 var(--font-body);color:var(--banana);text-shadow:2px 2px 0 var(--ink);white-space:nowrap;position:relative}.chip.c-money{flex:1.5}.chip.c-prov,.chip.c-paper{flex:1.4}.chip.c-streak{flex:.7}@media (max-width:400px){.chip{gap:2px;padding:0 3px}.chip .num{font-size:18px}}.chip.dim{opacity:.55}.hud-row.promo{align-items:center;gap:6px;height:22px;margin-top:2px}.promo-title{font:400 18px/1 var(--font-label);color:var(--cream);white-space:nowrap;text-overflow:ellipsis;text-shadow:2px 2px 0 var(--ink);flex:50%;overflow:hidden}.bar{background:var(--ink);border:3px solid var(--ink);flex:50%;height:20px;position:relative}.bar-fill{background:var(--leaf);position:absolute;top:0;bottom:0;left:0}.bar-txt{font:18px/1 var(--font-body);color:var(--cream);text-shadow:2px 2px 0 var(--ink);mix-blend-mode:normal;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.floor{border:3px solid var(--ink);background:#3a2210;flex:none;align-self:center;width:348px;max-width:100%;height:108px;position:relative;overflow:hidden;box-shadow:0 3px #00000047}.floor-wall{background:repeating-linear-gradient(90deg,#4a2c14 0 30px,#432811 30px 32px);position:absolute;inset:0 0 24px}.floor-wall:after{content:"";border-top:3px solid var(--ink);background:repeating-linear-gradient(90deg,#7a4d22 0 22px,#6a4219 22px 24px);height:24px;position:absolute;bottom:-24px;left:0;right:0}.machine{z-index:3;width:176px;height:128px;position:absolute;bottom:0;left:0}.machine i{image-rendering:pixelated;background-repeat:no-repeat;position:absolute;top:0;left:0}.m-idle{animation:1s steps(6,end) infinite m-strip}.m-eat{animation:.4s steps(4,end) infinite m-strip;display:none}.machine.eating .m-idle{display:none}.machine.eating .m-eat{display:block}@keyframes m-strip{to{background-position:var(--end) 0}}.ceo{z-index:3;width:128px;height:128px;position:absolute;top:0;left:212px}.ceo-sprite{position:absolute;top:-10px;left:0}.ceo-desk{position:absolute;top:60px;left:0}.lux{position:absolute}.poster{z-index:1;cursor:pointer;width:64px;height:48px;position:absolute;top:4px;left:174px}.poster p{text-align:center;font:12px/.85 var(--font-body);color:var(--ink);text-transform:uppercase;justify-content:center;align-items:center;margin:0;display:flex;position:absolute;overflow:hidden}.poster .spr{position:absolute;top:0;left:0}.bubble{z-index:10;background:var(--cream);color:var(--ink);border:3px solid var(--ink);font:17px/1 var(--font-body);box-shadow:0 3px 0 var(--ink);pointer-events:none;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:48px;padding:3px 6px;font-size:16px;display:-webkit-box;position:absolute;top:4px;left:6px;right:6px;overflow:hidden}.bubble.fade{opacity:0;transition:opacity .5s steps(4,end)}.fad{z-index:9;background:var(--banana);max-width:60%;color:var(--wood-deep);border:3px solid var(--ink);font:15px/1 var(--font-label);white-space:nowrap;text-overflow:ellipsis;padding:2px 6px;position:absolute;bottom:4px;left:4px;overflow:hidden}.orders{scrollbar-width:none;touch-action:pan-x;flex:none;gap:4px;height:84px;display:flex;overflow:auto hidden}.orders::-webkit-scrollbar{display:none}.order{background:var(--wood);border:3px solid var(--ink);flex-direction:column;flex:1 0 104px;gap:1px;min-width:0;padding:3px 4px;display:flex;position:relative;box-shadow:inset 0 3px #ffffff29,inset 0 -3px #00000052,0 3px #00000047}.order-empty{border:3px dashed var(--wood-dark);color:var(--cream-dark);font:18px var(--font-body);flex:1;justify-content:center;align-items:center;display:flex}.reqs{gap:2px;padding-right:26px;display:flex}.req{background:var(--wood-deep);border:2px solid var(--ink);width:36px;height:36px;padding:2px;position:relative}.req.done .spr{opacity:.4}.req .ok{text-align:center;font:16px/1 var(--font-body);color:var(--ink);background:var(--leaf-light);position:absolute;top:11px;left:0;right:0}.cb{font:12px/12px var(--font-label);background:var(--ink);color:var(--banana);padding:0 2px;position:absolute;top:0;left:0}.tb{font:18px/1 var(--font-body);color:var(--cream);text-shadow:2px 2px 0 var(--ink);position:absolute;bottom:0;right:2px}.reward{height:18px;font:18px/18px var(--font-body);color:var(--banana);text-shadow:2px 2px 0 var(--ink);white-space:nowrap;flex:none;align-items:center;gap:3px;display:flex}.reward span{margin-right:4px}.reward .ico{margin-top:0}.memo{font:13px/13px var(--font-label);color:var(--cream-dark);white-space:nowrap;text-overflow:ellipsis;flex:none;overflow:hidden}.decline{width:24px;height:24px;font:8px var(--font-display);background:var(--wood-dark);color:var(--cream);border:2px solid var(--ink);box-shadow:0 2px 0 var(--ink);touch-action:manipulation;padding:0;position:absolute;top:3px;right:3px}.order.tgt-fit{outline:3px solid var(--banana);outline-offset:-3px;animation:.8s steps(2,end) infinite tgt}.order.tgt-util{outline:3px dashed var(--leaf-light);outline-offset:-3px}.board-host{flex:1 1 0;justify-content:center;align-items:center;min-height:0;padding:3px 0 4px;display:flex}.board{box-shadow:0 0 0 3px var(--ink);background:var(--wood-deep);touch-action:none;display:grid;position:relative}.cell{background:var(--floor) center / var(--tile) var(--tile);touch-action:none;border:0;width:100%;height:100%;margin:0;padding:0;display:block;position:relative;box-shadow:inset 0 0 0 1px #00000047}.cell .spr{left:calc((var(--cell) - var(--spr)) / 2);top:calc((100% - var(--spr)) / 2);pointer-events:none;position:absolute}.cell b{pointer-events:none;font-weight:400;position:absolute}.cell .tb{bottom:0;right:2px}.cell .cb{top:1px;left:1px}.cell .sb{font:13px/13px var(--font-label);color:var(--cream);background:#1a0f14cc;padding:0 2px;bottom:1px;left:1px}.cell .ab{font:13px/13px var(--font-label);color:var(--leaf-light);background:#1a0f14cc;padding:0 2px;top:1px;right:1px}.cell.locked{background:var(--locked) center / var(--tile) var(--tile);touch-action:auto}.cell.sel{box-shadow:inset 0 0 0 3px var(--banana), inset 0 0 0 5px var(--ink);background-color:#ffd23a40}.cell.tgt-merge{outline:3px solid var(--banana);outline-offset:-3px;animation:.8s steps(2,end) infinite tgt}.cell.tgt-feed{outline:3px solid var(--leaf-light);outline-offset:-3px}.cell.tgt-empty:after{content:"";background:var(--banana);opacity:.55;width:6px;height:6px;position:absolute;top:calc(50% - 3px);left:calc(50% - 3px)}.cell.aura:before{content:"";border:2px dotted var(--leaf-light);pointer-events:none;position:absolute;inset:3px}.cell.drop-hot,.order.drop-hot,.ceo.drop-hot,.machine.drop-hot,.chip.drop-hot,.slot.drop-hot,.btn.drop-hot{outline:3px solid var(--cream);outline-offset:-3px;filter:brightness(1.3)}.cell.dragging .spr,.slot.dragging .spr{opacity:.3}.is-dragging,.is-dragging *{cursor:grabbing}@keyframes tgt{50%{outline-color:var(--cream)}}.lease{z-index:4;background:var(--banana);height:100%;min-height:0;color:var(--wood-deep);border:3px solid var(--ink);font:400 21px/1 var(--font-label);box-shadow:0 3px 0 var(--ink);touch-action:manipulation;place-self:center stretch;margin:0 6px;padding:0 8px}.lease small{font:15px/1 var(--font-body);display:block}.lease.off{color:var(--cream-dark);background:#5a4a3a}.ghost{z-index:100;pointer-events:none;filter:drop-shadow(0 3px 0 var(--ink));position:fixed;top:0;left:0}.panel{background:var(--wood);border:3px solid var(--ink);flex-direction:column;flex:none;gap:3px;height:146px;padding:4px 6px;display:flex;overflow:hidden auto;box-shadow:inset 0 3px #ffffff29,0 3px #00000047}.coach{background:var(--ink);min-height:24px;color:var(--banana);font:17px/15px var(--font-body);flex:none;align-items:center;gap:6px;padding:0 3px 0 6px;display:flex}.coach-txt{flex:1}.sel-view,.idle-view{flex-direction:column;gap:3px;min-height:0;display:flex}.sel-head{align-items:center;gap:6px;display:flex}.sel-head .thumb{margin:0}.sel-title{white-space:nowrap;flex:1;align-items:baseline;gap:6px;min-width:0;display:flex;overflow:hidden}.sel-name{font:400 22px/1 var(--font-body);color:var(--banana);text-shadow:2px 2px 0 var(--ink)}.sel-sub{font:16px/1 var(--font-label);color:var(--cream);text-overflow:ellipsis;overflow:hidden}.info{font:17px/15px var(--font-body);color:var(--cream);min-height:30px;text-shadow:1px 1px 0 var(--ink)}.btns{flex-wrap:wrap;gap:4px;display:flex}.btns .btn{white-space:nowrap;flex:auto;min-height:36px;padding:0 4px;font-size:20px}.main-btns .btn{flex:1}.closet{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.idle-msg.wide{flex-basis:100%;margin:0}.closet-label{font:16px var(--font-label);color:var(--cream);margin-right:2px}.slot{border:3px solid var(--ink);background:var(--wood-deep) center / 48px 48px;touch-action:none;width:40px;height:40px;padding:0;position:relative}.slot .spr{pointer-events:none;position:absolute;top:1px;left:1px}.slot b{pointer-events:none;font-weight:400;position:absolute}.slot .tb{font-size:16px;bottom:-2px;right:0}.slot .cb{top:-1px;left:-1px}.closet.pulse .slot{animation:.8s steps(2,end) infinite pulse}.idle-msg{min-width:0;font:17px/15px var(--font-body);color:var(--cream);min-height:15px;text-shadow:1px 1px 0 var(--ink);flex:1;margin-left:4px}.idle-msg.warn{color:var(--banana)}.toast{z-index:40;background:var(--ink);color:var(--banana);border:3px solid var(--banana);font:19px/1 var(--font-body);text-align:center;pointer-events:none;padding:5px 8px;position:absolute;bottom:140px;left:10px;right:10px;box-shadow:0 3px #00000080}.toast.out{opacity:0;transition:opacity .35s steps(4,end)}.fx-canvas{pointer-events:none;z-index:90;width:100%;height:100%;position:fixed;inset:0}.fx-overlay{z-index:80;pointer-events:none;position:absolute;inset:0;overflow:hidden}.fx-overlay .fx-gain-popup{font:22px/1 var(--font-body);color:var(--banana);text-shadow:2px 2px 0 var(--ink);white-space:nowrap;background:0 0;border:0;padding:0;position:absolute;top:0;left:0}.fx-banner{z-index:95}.sheet-layer{z-index:60;position:absolute;inset:0}.sheet-backdrop{background:#1a0f14a6;position:absolute;inset:0}.sheet{background:var(--wood);border:3px solid var(--ink);max-height:88%;box-shadow:0 -3px 0 var(--wood-light);border-bottom:0;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.sheet.slide{animation:.24s steps(6,end) slide-up}@keyframes slide-up{0%{transform:translateY(100%)}}.sheet-head{background:var(--wood-dark);border-bottom:3px solid var(--ink);flex:none;justify-content:space-between;align-items:center;padding:6px 8px;display:flex}.sheet-title{font:12px var(--font-display);color:var(--banana);text-shadow:2px 2px 0 var(--ink)}.sheet-body{touch-action:pan-y;-webkit-overflow-scrolling:touch;min-height:0;font:19px/1.05 var(--font-body);flex:1;padding:8px 8px 14px;overflow-y:auto}.ssec{font:10px var(--font-display);color:var(--banana);text-shadow:2px 2px 0 var(--ink);margin:10px 0 4px}.ssec:first-child{margin-top:0}.srow{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0;display:flex}.srow.col{flex-direction:column;align-items:stretch}.entry{background:var(--wood-dark);border:3px solid var(--ink);flex-wrap:nowrap;padding:5px 6px}.entry.locked{opacity:.8}.etxt{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.etxt strong{font:400 21px/1 var(--font-label);color:var(--cream)}.blurb{font:17px/15px var(--font-body);color:var(--cream-dark)}.extra{font:16px/1 var(--font-label);color:var(--leaf-light)}.why{font:17px/1 var(--font-body);color:var(--banana)}.entry .btn{flex:none;min-width:84px}.lead{font:20px/1.05 var(--font-body);margin:4px 0 6px}.hint{font:17px/1 var(--font-body);color:var(--cream-dark);margin:2px 0}.slabel{font:17px var(--font-label);color:var(--cream);min-width:96px}.sval{text-align:center;min-width:44px;font:22px var(--font-body);color:var(--banana)}.stepper{gap:4px}.stepper .hint{flex-basis:100%;margin:0}.worker{background:var(--wood-dark);border:3px solid var(--ink);margin:6px 0;padding:6px}.wtop{flex-wrap:nowrap}.crew{background:var(--wood-deep);border:3px solid var(--ink);flex:none;width:64px;height:64px}.winfo{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.winfo strong{font:400 22px var(--font-label)}.wstatus{font:18px/1 var(--font-body);color:var(--leaf-light)}.wstatus[class*=st-]:not(.st-running){color:var(--banana)}.tray{background:var(--wood-deep);border:3px solid var(--ink);margin-top:6px;padding:4px}.tray-head{font:16px var(--font-label);color:var(--cream);margin-bottom:4px}.tchip{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tlead{background:var(--ink);flex:none;width:36px;height:36px;padding:2px;position:relative}.tname{font:19px var(--font-body);flex:100px}.tbtns{flex-wrap:wrap;flex-basis:100%;gap:4px;display:flex}.tbtns .btn{min-height:30px;padding:0 6px;font-size:18px}.effects{font:19px/1.05 var(--font-body);margin:2px 0 6px;padding-left:20px}.pitch-btns .btn{flex:1}.export{resize:none;background:var(--ink);width:100%;height:72px;color:var(--cream);border:3px solid var(--wood-dark);font:16px var(--font-body)}.warn{color:var(--banana)}.credits{font:16px/1 var(--font-body);color:var(--cream-dark);margin-top:12px}.btns .btn:after,.tbtns .btn:after,.slot:after{content:"";position:absolute;inset:-4px 0}.slot:after{inset:-2px}.btn.mini:after,.decline:after{content:"";position:absolute;inset:-10px}@media (max-width:340px){.btns .btn{padding:0 1px;font-size:16px}.closet{gap:2px}.slot{width:36px;height:36px}}.coach .btn.mini:after{inset:-8px}html.reduce-motion *,html.reduce-motion :before,html.reduce-motion :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){html:not(.full-motion) *,html:not(.full-motion) :before,html:not(.full-motion) :after{transition:none!important;animation:none!important}}.col.compact .floor{height:56px}.col.compact .floor>:not(.bubble):not(.fad){zoom:.5}.col.compact .floor-wall{inset:0 0 24px}.col.compact .bubble{max-height:40px;font-size:15px;top:2px}.col.compact .fad{padding:0 5px;font-size:14px;bottom:2px}.col.compact .orders{height:70px}.col.compact .memo{display:none}.col.compact .panel{height:128px}.col.compact .hud-row.promo{margin-top:0}.col.scroll{overflow-y:auto}.col.scroll>*{flex-shrink:0}.col.compact .floor>:not(.machine):not(.bubble):not(.fad):not(.floor-wall){margin-left:300px}
