:root{--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom);--safe-left:env(safe-area-inset-left);--safe-right:env(safe-area-inset-right);--ink:#fff3c4;--edge:#2a1608}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:#120d0a;color:var(--ink);font-family:"Trebuchet MS",Verdana,sans-serif;touch-action:none}#app{position:fixed;inset:0;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);display:grid;place-items:center}#gameCanvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;max-width:760px;left:50%;transform:translateX(-50%);background:#120d0a;image-rendering:pixelated;display:block}.hud{z-index:10;position:fixed;top:calc(8px + var(--safe-top));left:50%;transform:translateX(-50%);width:min(740px,calc(100vw - 16px - var(--safe-left) - var(--safe-right)));display:grid;grid-template-columns:1fr 1fr 1.2fr auto auto;gap:6px;align-items:center;font-weight:900;text-shadow:2px 2px #000;pointer-events:none}.hud>*{background:rgba(35,20,8,.78);border:3px solid var(--ink);padding:5px 7px;box-shadow:0 0 0 2px #000}.hud button{pointer-events:auto}.hidden{display:none!important}#mistakes{letter-spacing:4px}.screen{position:fixed;inset:0;padding:calc(20px + var(--safe-top)) calc(14px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(14px + var(--safe-left));display:grid;place-items:center;background:rgba(0,0,0,.38);z-index:100}.panel{width:min(560px,94vw);max-height:92vh;overflow:auto;text-align:center;background:#221207;border:5px solid var(--ink);box-shadow:0 0 0 5px #000, inset 0 0 0 3px #7a4a17;padding:20px}.panel h1{font-size:clamp(30px,8vw,56px);line-height:1;margin:6px 0 18px;text-shadow:4px 4px #000;color:#ffd84c}.rules-text{font-size:clamp(14px,3.9vw,18px);line-height:1.22;margin:0 auto 8px;max-width:450px}.rules-text p{margin:0 0 10px}.rules-text p:last-child{margin-bottom:0}.pixel{font:900 18px/1 "Trebuchet MS",Verdana,sans-serif;color:#241000;background:#ffd84c;border:4px solid #fff3c4;box-shadow:0 5px 0 #8b4b00,0 0 0 3px #000;padding:13px 16px;margin:8px;cursor:pointer}.pixel:active,.touch button:active,.touch button.flash{transform:translateY(4px);box-shadow:0 1px 0 #8b4b00,0 0 0 3px #000}.pixel.ghost{background:#513016;color:#fff3c4}.pixel.small{font-size:14px;padding:8px;margin:0}.touch{position:fixed;left:50%;bottom:calc(10px + var(--safe-bottom));transform:translateX(-50%);width:min(520px,calc(100vw - 20px - var(--safe-left) - var(--safe-right)));display:grid;grid-template-columns:64px 64px;justify-content:space-between;gap:10px 0;z-index:40;pointer-events:none;padding-top:8px;border-top:2px solid rgba(255,243,196,.28)}.touch button{pointer-events:auto;width:64px;min-height:58px;border:4px solid #fff3c4;background:rgba(34,18,7,.74);color:#ffd84c;font-size:34px;box-shadow:0 5px 0 #000;font-weight:900;touch-action:none}#loader{min-height:24px;color:#6dff86}@media (min-width:800px){.touch{opacity:.62;width:520px}.touch button{min-height:56px}}@media (max-height:660px){.touch{gap:7px 0}.touch button{min-height:56px}.hud{font-size:12px}.panel{padding:12px}.pixel{padding:10px 12px}}

#fxOverlay{position:absolute;inset:0;z-index:30;overflow:hidden;pointer-events:none;max-width:760px;width:100%;height:100%;left:50%;transform:translateX(-50%)}
.fx-item{position:absolute;left:0;top:0;display:block;opacity:0;pointer-events:none;will-change:transform}
.fx-item.active{opacity:1}
.fx-item img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;pointer-events:none}
#tractorFx{z-index:1}
#headFx{z-index:2}
.fx-bubble{position:absolute;left:var(--fx-bubble-x,-156px);top:var(--fx-bubble-y,-8px);width:var(--fx-bubble-w,146px);padding:9px 10px;background:#fff3c4;color:#211;border:4px solid #111;box-shadow:0 0 0 2px #fff3c4,4px 4px 0 rgba(0,0,0,.45);font:900 16px/1.15 "Trebuchet MS",Verdana,sans-serif;text-align:center;text-shadow:none;white-space:nowrap;pointer-events:none}
.fx-bubble:after{content:"";position:absolute;right:-13px;top:22px;border-width:8px 0 8px 10px;border-style:solid;border-color:transparent transparent transparent #111}
