:root{--cream:#f5f0dc;--ink:#263a2d;--yellow:#efc348;--green:#42634b}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.45 system-ui,sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #263a2d55;border-radius:6px;background:var(--cream);color:var(--ink);padding:9px 13px;font-weight:700}button:hover{background:#f9d968}button:focus-visible,input:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #cf6238;outline-offset:3px}button:disabled{opacity:.5;cursor:default}header,main,footer{max-width:1440px;margin:auto}header{display:flex;align-items:center;gap:25px;padding:22px 30px;border-bottom:1px solid #263a2d33}.brand{font-weight:950;font-size:25px;letter-spacing:-1px;color:inherit;text-decoration:none}.brand span{color:#a87b28}.season{margin-left:auto;font-size:11px;letter-spacing:2px}.intro{padding:30px 30px 25px;position:relative}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px}h1{font-size:clamp(48px,7vw,94px);letter-spacing:-5px;line-height:1.1;margin:7px 0 12px}h1 em{font-family:Georgia,serif;font-weight:400}h1>span{color:#bd8d25;margin-left:25px}.intro p{margin:0;font-size:15px}.arena{margin:0 25px;position:relative;height:min(74vh,800px);min-height:490px;overflow:hidden;background:#b5bc8c;border:2px solid var(--ink);border-radius:12px;isolation:isolate}#game{display:block;width:100%;height:100%;touch-action:none}.topbar{position:absolute;top:15px;left:15px;right:15px;display:flex;gap:7px;align-items:center;pointer-events:none}.topbar button{pointer-events:auto}.pill{font-size:10px;font-weight:800;letter-spacing:.5px;padding:8px 10px;background:#f5f0dce8;border-radius:30px}.tools{margin-left:auto;display:flex;gap:6px}.tools button{font-size:11px;padding:7px}#scorecard{position:absolute;top:72px;left:20px;width:185px;background:#f5f0dce8;padding:13px;border-radius:7px;pointer-events:none}#scorecard small{font-size:10px;display:block}#scorecard strong{display:block;font-size:32px;line-height:1.2}#scorecard strong small{display:inline;font-size:12px}#scorecard b{font-size:12px}.growth{height:5px;background:#263a2d22;margin:8px 0}.growth i{display:block;width:0;height:100%;background:var(--green)}#leaders{position:absolute;right:20px;top:72px;width:205px;background:#f5f0dce8;padding:13px;border-radius:7px;font-size:11px}#leaders ol{padding:0;list-style:none;margin:8px 0}#leaders li{display:flex;justify-content:space-between;gap:7px;padding:3px 0}#leaders li span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me{font-weight:900;color:#8c4b22}#leaders small{font-size:9px}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#24392332;z-index:5;padding:15px}.overlay.hidden{display:none}.start-card{width:min(390px,100%);border:2px solid var(--ink);box-shadow:7px 7px 0 #263a2d35;background:var(--cream);padding:28px;text-align:center;border-radius:10px}h2{font:italic 46px/1.1 Georgia,serif;margin:14px 0}.start-card p{font-size:14px}.start-card label{display:block;font-size:11px;text-align:left;margin:15px 0 4px}.start-card input{width:100%;padding:10px;border:1px solid #263a2d77;border-radius:5px;background:#fff9e9;color:var(--ink)}.play-btn{display:block;width:100%;background:var(--yellow);border:2px solid var(--ink);margin:12px 0;font-size:17px;padding:13px}.start-card>small{display:block;font-size:10px}.bottom-hint{position:absolute;bottom:15px;left:20px;display:flex;gap:15px;font-size:10px;background:#f5f0dccc;padding:6px 10px;border-radius:5px;pointer-events:none}.actions{position:absolute;bottom:24px;right:20px;display:flex;gap:9px}.actions button{width:83px;background:#f5f0dce8;font-size:22px;touch-action:none}.actions button small{display:block;font-size:8px}.actions button.active{background:var(--yellow)}#joystick{display:none;position:absolute;bottom:24px;left:20px;width:100px;height:100px;border-radius:50%;background:#f5f0dc77;border:2px solid #f5f0dccc;touch-action:none}#joystick i{position:absolute;left:32px;top:32px;width:32px;height:32px;border-radius:50%;background:#263a2da8;pointer-events:none}#toast{position:absolute;left:50%;bottom:120px;transform:translateX(-50%);background:var(--ink);color:var(--cream);padding:10px 17px;border-radius:5px;font-weight:800;font-size:13px;opacity:0;pointer-events:none;max-width:80%;text-align:center}#map{position:absolute;width:90px;height:90px;bottom:60px;left:20px;border:2px solid #f5f0dc99;border-radius:6px;background:#d9c77f;pointer-events:none}.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:25px 30px}.rules p{font-size:12px;margin:0}.rules b{display:block;margin-bottom:5px}footer{padding:20px 30px;border-top:1px solid #263a2d22;font-size:10px;letter-spacing:1px}@media(pointer:coarse){#joystick{display:block}.bottom-hint{display:none}#map{bottom:140px;left:25px}}@media(max-width:700px){header{padding:13px 15px;gap:10px}.brand{font-size:20px}.season{display:none}#sound{margin-left:auto;font-size:11px}.intro{padding:20px 16px}h1{letter-spacing:-3px;font-size:54px}h1>span{margin-left:5px}.intro p{font-size:12px}.arena{margin:0 8px;min-height:570px;height:78svh;border-radius:8px}.topbar{top:8px;left:8px;right:8px;flex-wrap:wrap;gap:4px}.pill{font-size:8px;padding:6px}.tools{gap:3px}.tools button{font-size:9px;padding:5px}#scorecard{top:75px;left:10px;width:140px;padding:9px}#scorecard strong{font-size:25px}#leaders{top:75px;right:10px;width:145px;padding:9px;font-size:9px}#leaders li:nth-child(n+5){display:none}#leaders small{font-size:8px}.actions{right:12px;bottom:25px}.actions button{width:65px;padding:9px 5px}.start-card{padding:22px}.rules{grid-template-columns:1fr;gap:16px;padding:20px}.bottom-hint{display:none}#map{width:65px;height:65px;bottom:140px;left:15px}#joystick{display:block;left:14px}.intro .eyebrow{font-size:8px}footer{padding:15px}.start-card h2{font-size:40px}}@media(max-height:550px) and (orientation:landscape){header,.intro,.rules,footer{display:none}.arena{height:100svh;min-height:0;margin:0;border-radius:0}.start-card{padding:12px;max-width:360px}.start-card h2{font-size:28px;margin:4px}.start-card p{margin:6px}.start-card label{margin-top:5px}#scorecard,#leaders{top:52px}#map{display:none}.actions{bottom:12px}.topbar{top:8px}#joystick{bottom:12px}.start-card .eyebrow{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Tarnished paper and iron, rather than a toy farm. */
body{background:#c1baa0;color:#262d24}header{border-color:#77745e}.arena{border-color:#343b2d;box-shadow:0 0 0 3px #726c4e}.intro h1{letter-spacing:-.065em}button{border-radius:1px!important}#scorecard,#leaders,.pill{background:#cfc6a4e8;border:1px solid #68664e;border-radius:1px!important}.start-card{background:#c4ba95!important;border:2px solid #414a34!important;border-radius:0!important}#joystick{border-color:#938b63!important}#sound{font-size:13px}footer{color:#414c37}
/* The game owns the screen; no landing-page frame around the field. */
body{overflow:hidden}body>header{height:48px;max-width:none;padding:6px 14px;gap:12px;background:#363d2d;color:#d4caa5;border-bottom:2px solid #656548}body>header .brand{font-size:21px}body>header .season{font-size:10px;letter-spacing:1px}body>main{max-width:none;margin:0}body>main>.intro,.rules,body>footer{display:none!important}.arena{margin:0!important;height:calc(100dvh - 48px)!important;min-height:0!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}.start-card h2{font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-style:normal;letter-spacing:-1px}#sound{padding:5px 10px;background:#b9b18b;color:#252c20;font-size:12px;line-height:1.2;max-width:150px}@media(max-width:600px){body>header{height:44px;padding:5px 8px}.arena{height:calc(100dvh - 44px)!important}body>header .season{display:none}body>header .brand{font-size:19px}#sound{margin-left:auto;font-size:11px;max-width:140px}.topbar{left:8px;right:8px;gap:4px}.tools button{font-size:10px;padding:5px}.pill{padding:6px;font-size:9px}#scorecard{left:8px;width:115px;padding:8px}#leaders{right:8px}.bottom-hint{display:none!important}}

/* Power-up and world event readouts stay legible over the field. */
#eventBanner{position:absolute;top:58px;left:50%;transform:translateX(-50%);max-width:min(480px,80%);padding:8px 15px;background:#e8cb6c;color:#202b1b;border:2px solid #353d2a;font-weight:900;font-size:12px;letter-spacing:.04em;text-align:center;pointer-events:none}#eventBanner[hidden]{display:none}.actions #ability{background:#e3c96e}.actions #ability.active{background:#fae17d}.actions #ability small{font-size:8px;line-height:1.15;overflow-wrap:anywhere}@media(max-width:700px){.actions{gap:4px}.actions button{width:58px}.actions #ability small{font-size:7px}#eventBanner{top:45px;font-size:10px;padding:5px 8px}}

#replay{position:absolute;left:16px;bottom:160px;width:220px;padding:7px;background:#252e21ee;border:2px solid #e0c46b;color:#fff2c3;z-index:3;box-shadow:4px 4px 0 #0005}#replay[hidden],#vladimir[hidden]{display:none}.replay-title{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.04em}.replay-title button{padding:1px 7px;font-size:16px;line-height:1;background:#efdb93}#replayCanvas{display:block;width:100%;height:auto;margin:5px 0;background:#aaa17e}#replayCaption{font-size:10px}#vladimir{position:absolute;top:24%;left:50%;transform:translateX(-50%) rotate(-3deg);z-index:2;pointer-events:none;text-align:center;color:#fff1ad;text-shadow:3px 3px #26291e,-1px -1px #26291e}#vladimir b{display:block;font:900 clamp(34px,6vw,76px)/.9 Impact,sans-serif}#vladimir span{font-weight:900;font-size:13px;background:#2f3829;padding:3px 8px}@media(max-width:700px){#replay{left:8px;bottom:220px;width:160px}.replay-title{font-size:8px}#replayCaption{font-size:9px}#vladimir{top:30%}}


#districtStatus{margin-top:7px;padding-top:6px;border-top:1px solid #726d50;color:#333a29;font-weight:700;line-height:1.25}#map{background:#c8bd91}

/* The authoritative chicken cloud obscures the edges without stealing touch input. */
#chickenOverlay{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,#e4d8a74d 100%)}#chickenOverlay[hidden]{display:none}#chickenOverlay i{position:absolute;display:block;width:clamp(22px,4vw,52px);height:clamp(40px,7vw,86px);background:#f5eac5d9;clip-path:polygon(50% 0,83% 18%,100% 48%,75% 77%,50% 100%,25% 77%,0 48%,17% 18%);filter:drop-shadow(1px 2px 1px #4a3f2566)}#chickenOverlay i:nth-child(1){left:3%;top:12%;transform:rotate(-48deg)}#chickenOverlay i:nth-child(2){left:16%;top:33%;transform:rotate(62deg)}#chickenOverlay i:nth-child(3){left:8%;bottom:10%;transform:rotate(-28deg)}#chickenOverlay i:nth-child(4){right:3%;top:13%;transform:rotate(44deg)}#chickenOverlay i:nth-child(5){right:15%;top:38%;transform:rotate(-55deg)}#chickenOverlay i:nth-child(6){right:6%;bottom:12%;transform:rotate(30deg)}#chickenOverlay i:nth-child(7){left:33%;top:3%;transform:rotate(72deg)}#chickenOverlay i:nth-child(8){right:31%;bottom:3%;transform:rotate(-65deg)}#chickenOverlay i:nth-child(9){right:30%;top:19%;transform:rotate(27deg)}@media(max-width:700px){#chickenOverlay i:nth-child(2),#chickenOverlay i:nth-child(5),#chickenOverlay i:nth-child(9){display:none}}

#replay3d{display:block;width:100%;height:auto;aspect-ratio:16/9;margin:5px 0;background:#aaa17e}#replay3d[hidden],#replayCanvas[hidden]{display:none}

#coach{position:absolute;top:100px;left:50%;transform:translateX(-50%);z-index:2;max-width:min(430px,65%);padding:7px 12px;background:#e7dfb8ef;color:#263124;border:2px solid #45513b;font-size:12px;line-height:1.3;font-weight:800;text-align:center;pointer-events:none}#coach[hidden]{display:none}@media(max-width:700px){#coach{top:78px;max-width:55%;font-size:10px;padding:5px 8px}}

/* Before the engine starts, the real animated field is the menu backdrop. */
.pre-game .topbar,.pre-game #scorecard,.pre-game #leaders,.pre-game #map,.pre-game #joystick,.pre-game .actions,.pre-game .bottom-hint{display:none!important}
.pre-game .overlay{display:flex;justify-content:flex-start;align-items:center;padding:clamp(18px,5vw,80px);background:linear-gradient(90deg,#1c211be8 0%,#252820b8 35%,#26291c22 75%)}
.pre-game .start-card{width:min(440px,100%);padding:clamp(20px,3.5vw,42px);text-align:left;color:#eee2bd;background:#35382ce8!important;border:3px solid #b9a46b!important;box-shadow:9px 9px 0 #1a1b13aa;transform:rotate(-1deg);position:relative}
.pre-game .start-card:before{content:'CAUTION  /  FARM MACHINERY';position:absolute;right:-8px;top:-20px;transform:rotate(4deg);background:#bd5531;color:#f9e6bf;padding:4px 9px;font-size:10px;font-weight:900;letter-spacing:.08em}
.pre-game .start-card .eyebrow{color:#d4b869;font-size:10px;letter-spacing:.12em}
.pre-game .start-card h2{font-size:clamp(40px,5.5vw,74px);line-height:.88;letter-spacing:-.03em;color:#f2e5bf;margin:18px 0;text-shadow:3px 3px #a0432a}
.pre-game .start-card p{font-size:15px;font-weight:700;line-height:1.35;color:#ded5b8}.pre-game .start-card label{color:#d4b869;font-weight:900;letter-spacing:.08em}.pre-game .start-card input{background:#e3d8b6;border:2px solid #1f291d;border-radius:0;color:#21291d;padding:12px}.pre-game .play-btn{color:#23271b;background:#edc44c;box-shadow:4px 4px #10150faa;border:2px solid #141b14;font-size:17px}.pre-game .play-btn:hover{background:#f5d96a;transform:translate(1px,1px)}.pre-game .start-card>small{font-size:11px;color:#cfc6a7;text-align:left;line-height:1.35}
@media(max-width:700px){.pre-game .overlay{align-items:flex-end;justify-content:center;padding:16px 14px 75px;background:linear-gradient(0deg,#1c211bf2 0%,#252820a0 45%,#26291c00 80%)}.pre-game .start-card{width:min(370px,100%);padding:19px 22px;transform:rotate(-.6deg)}.pre-game .start-card h2{font-size:43px;margin:10px 0}.pre-game .start-card p{font-size:13px}.pre-game .start-card label{margin-top:8px}.pre-game .start-card input{padding:8px}.pre-game .play-btn{margin:8px 0;padding:9px;font-size:15px}.pre-game .start-card>small{font-size:10px}}

#lobbyFields[hidden],#openLobby[hidden],#lookHint[hidden]{display:none!important}.pre-game.preview-ready #game{visibility:hidden}.pre-game.preview-ready .arena{background:transparent}.pre-game.preview-ready main{position:relative;z-index:3;pointer-events:none}.pre-game.preview-ready .start-card{pointer-events:auto}.pre-game.preview-ready .overlay{pointer-events:none;background:linear-gradient(90deg,#1c211bb0 0%,#25282044 35%,transparent 70%)}.pre-game.preview-ready .start-card{background:#35382cd9!important}.pre-game #lobbyFields small{display:block;color:#cfc6a7;font-size:11px;line-height:1.35}.pre-game:not(.intro-running) #sceneRadio.radio-intro{top:8px;bottom:auto}@media(max-width:700px){.pre-game.preview-ready .overlay{background:linear-gradient(0deg,#1c211bdd 0%,#25282044 45%,transparent 80%)}.pre-game #lobbyFields small{font-size:10px}}
.pre-game.preview-ready>header{position:relative;z-index:3}

#driverCaption{position:absolute;left:50%;bottom:20%;transform:translateX(-50%);max-width:75%;z-index:4;padding:7px 12px;background:#151b13dd;color:#fff2c5;font-weight:900;font-size:clamp(14px,2vw,22px);text-align:center;text-shadow:2px 2px #111;pointer-events:none}#driverCaption[hidden]{display:none}@media(max-width:700px){#driverCaption{bottom:27%;font-size:14px;max-width:85%}}
/* Keep Vladimir and the window visible while the lobby controls are open. */
.pre-game.preview-ready .overlay{background:linear-gradient(90deg,#1c211b66 0%,transparent 48%)}
.pre-game.preview-ready .start-card{width:min(320px,100%);padding:22px 24px}
.pre-game.preview-ready .start-card h2{font-size:clamp(37px,3.7vw,50px);margin:12px 0}
.pre-game.preview-ready .start-card p{font-size:13px}
@media(max-width:700px){.pre-game.preview-ready .overlay{background:linear-gradient(0deg,#1c211b99,transparent 64%)}.pre-game.preview-ready .start-card{width:min(310px,100%);padding:15px 18px}.pre-game.preview-ready .start-card h2{font-size:36px;margin:8px 0}}

/* Lightweight social signals, attached to existing readouts rather than covering the field. */
#friendSignal,#threatSignal{margin-top:5px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}#friendSignal{color:#2f5942}#threatSignal{color:#9c3626}#friendSignal[hidden],#threatSignal[hidden],#killFeed[hidden],#matchResult[hidden],#abilityHint[hidden]{display:none!important}#killFeed,#matchResult{margin-top:8px;padding-top:6px;border-top:1px solid #726d50;line-height:1.3;font-size:10px;overflow-wrap:anywhere}#killFeed div+div{margin-top:3px}#killFeed .involved{font-weight:900;color:#9c3626}#matchResult{font-weight:900}#abilityHint{font-weight:600;opacity:.85;line-height:1.1;margin-top:3px}@media(max-width:700px){#killFeed,#matchResult{font-size:9px}#abilityHint{font-size:7px}}

#matchResult .result-head{display:flex;justify-content:space-between;align-items:center;gap:5px}#matchResult .result-close{font-size:17px;line-height:1;padding:0 4px;background:transparent;border:0}#matchResult .result-list{max-height:min(30vh,210px);overflow-y:auto;margin-top:4px;overscroll-behavior:contain}#matchResult .result-row{display:flex;justify-content:space-between;gap:6px;font-weight:500;padding:2px 0}#matchResult .result-row span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#matchResult .result-row span:last-child{white-space:nowrap}#matchResult .result-row.me{font-weight:900;color:#8c4b22}

#matchResult{font-size:11px}
@media(max-width:700px){#matchResult .result-list{max-height:5.8em}}
/* Solo match controls and clear, touch-friendly state changes. */
#mode{display:block;width:100%;min-height:44px;margin:4px 0 12px;padding:8px;background:#fff2c9;color:#28301c;border:2px solid #3a4027;font:inherit;font-weight:800}
#pauseScreen,#soloResult{position:absolute;inset:0;z-index:45;display:grid;place-items:center;background:rgba(26,30,19,.78);text-align:center;color:#fff1c2}
#pauseScreen[hidden],#soloResult[hidden],#streak[hidden]{display:none}
#pauseScreen>div,#soloResult>div{background:#323b27;border:3px solid #e9c35e;padding:30px;box-shadow:8px 8px 0 #1a2117;max-width:90%}
#pauseScreen b,#soloResult b{font-size:clamp(28px,6vw,56px);font-weight:900}#pauseScreen button,#soloResult button{min-height:48px;padding:10px 20px;background:#e5be55;color:#222b1d;border:0;font-weight:900;cursor:pointer}
#streak{position:absolute;z-index:8;top:22%;left:50%;transform:translateX(-50%) rotate(-3deg);font-size:clamp(18px,3vw,32px);font-weight:900;color:#fff4bb;background:#a83d22;padding:8px 16px;box-shadow:4px 4px #322b1b;pointer-events:none;white-space:nowrap}
#pause,#orbit{min-height:38px}
