
:root{color-scheme:dark;--night:#11182d;--panel:#202d48;--line:#3c4d67;--cream:#f6f1dd;--muted:#aebbd0;--gold:#ffd36b;--grass:#86b84d;--coral:#ef6476;font-family:'Trebuchet MS',Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--night);color:var(--cream)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{border:0}button:active{transform:translateY(1px)}[hidden]{display:none!important}.game-shell{height:100dvh;display:grid;grid-template-rows:70px minmax(0,1fr) 30px;max-width:1920px;margin:auto}.game-header{display:flex;align-items:center;gap:22px;padding:0 32px;border-bottom:1px solid #ffffff10;position:relative;z-index:6;background:var(--night)}.brand{display:flex;align-items:center;gap:10px;background:none;color:var(--cream);font-size:26px;font-weight:900;letter-spacing:-1.2px;padding:0}.brand img{width:34px;height:34px;image-rendering:pixelated}.connection{font-size:11px;color:var(--muted);padding-left:13px;border-left:1px solid var(--line)}.connection.online{color:#b2d986}.header-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.icon-button{color:var(--cream);background:#ffffff09;border:1px solid #ffffff12;border-radius:8px;padding:9px 12px;font-size:12px}.icon-button:hover{background:#ffffff16}#fullscreen{font-size:22px;padding:4px 11px}.world{position:relative;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 50%,#263c3b 0%,#11182d 75%)}.arena-wrap{height:calc(100% - 106px);aspect-ratio:15/13;max-width:calc(100% - 28px);position:relative;margin-top:20px}.arena-wrap canvas{width:100%;height:100%;display:block;image-rendering:pixelated;outline:none}.world.menu-open .arena-wrap{height:115%;max-width:none;opacity:.24;filter:blur(1px);transform:rotate(-5deg) scale(1.12);pointer-events:none}.player-hud{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:min(950px,calc(100% - 28px));display:flex;gap:12px;z-index:2;justify-content:center}.player-chip{flex:1;max-width:220px;display:flex;align-items:center;gap:9px;background:#11182ded;border:1px solid var(--line);border-left:4px solid var(--player);border-radius:7px;padding:9px 12px;min-width:0}.player-chip .player-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-chip strong{margin-left:auto;color:var(--gold);font-size:20px}.player-chip.out{opacity:.45}.slot-0{--player:#f7eccc}.slot-1{--player:#92abc4}.slot-2{--player:#ef6476}.slot-3{--player:#75bcf5}.player-number{display:grid;place-items:center;width:22px;height:22px;background:var(--player);color:#142039;border-radius:5px;font-size:12px;font-weight:bold;flex-shrink:0}.match-hud{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:min(900px,calc(100% - 28px));height:44px;display:flex;align-items:center;gap:16px;z-index:2;font-size:12px}.match-hud strong{font-size:24px;color:var(--gold);font-variant-numeric:tabular-nums}.match-hud #inventory{color:var(--muted);margin-left:auto;font-size:11px}.small-button{background:#263750;color:var(--cream);padding:8px 12px;border-radius:6px}.game-footer{display:flex;justify-content:space-between;align-items:center;padding:0 32px;color:#7f90a9;font-size:10px;background:var(--night)}.menu-layer{position:absolute;inset:0;z-index:3;overflow:auto;display:grid;align-content:center;padding:30px;background:#11182d60;backdrop-filter:blur(4px)}.home-screen{width:min(1080px,100%);margin:auto;display:grid;grid-template-columns:340px minmax(0,1fr);gap:65px;align-items:center}.eyebrow{font-size:11px;color:#b5cb9f;display:flex;align-items:center;gap:7px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--grass)}h1,h2,p{margin-top:0}h1{font-size:clamp(36px,4.5vw,62px);line-height:1.02;letter-spacing:-2.5px;margin:15px 0}.intro{font-size:21px;line-height:1.35;color:#b9c7d5;margin:0 0 24px}.home-main label,.lobby-map label{display:block;font-size:11px;color:var(--muted);margin:12px 0 7px}input,select{background:#111b31;color:var(--cream);border:1px solid #53647b;border-radius:7px;padding:12px 13px;min-width:0;width:100%}input::placeholder{color:#6e829b}.primary,.secondary{padding:12px 17px;border-radius:8px;font-weight:bold;font-size:13px;min-height:43px}.primary{background:var(--gold);color:#20263c;box-shadow:0 4px 0 #af7d31}.primary:hover{background:#ffe28d}.secondary{background:#293b56;color:var(--cream);border:1px solid #4c607a}.secondary:hover{background:#354c6b}.jumbo{width:100%;font-size:17px;padding:16px 19px;display:flex;justify-content:space-between;align-items:center;margin-top:15px}.split-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.bot-button{width:100%;display:flex;align-items:center;gap:9px;background:transparent;color:var(--cream);padding:17px 0 9px;font-size:13px;text-align:left}.bot-button img{width:20px;height:20px;image-rendering:pixelated}.bot-button span{margin-left:auto;font-size:10px;color:var(--muted)}#bot-count{font-size:11px;padding:7px 9px;width:auto;background:#11182d70;border-color:#3a4b62}.mode-note{font-size:10px;color:#91a3ba;line-height:1.6;margin:13px 0 0}.join-form>div{display:flex;gap:8px}.join-form input{text-transform:uppercase;letter-spacing:3px}.map-section{min-width:0}.map-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.map-heading h2{font-size:26px;letter-spacing:-.8px;margin:6px 0 0}.map-heading>span{font-size:11px;color:var(--muted)}.map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.map-card{padding:0;background:#1b2940;color:var(--cream);border:2px solid #3d5267;border-radius:10px;overflow:hidden;text-align:left;position:relative}.map-card canvas{width:100%;height:auto;display:block;image-rendering:pixelated;opacity:.7;transition:opacity .15s}.map-card span{display:block;padding:10px 9px;font-size:11px;font-weight:bold;line-height:1.25;min-height:36px}.map-card:hover canvas,.map-card.selected canvas{opacity:1}.map-card.selected{border-color:var(--gold);box-shadow:0 0 0 2px #ffd36b20}.map-card.selected:after{content:'✓';position:absolute;top:7px;right:7px;background:var(--gold);color:var(--night);border-radius:50%;width:21px;height:21px;display:grid;place-items:center;font-size:13px;font-weight:bold}.map-description{font-size:12px;color:#a9bcd0;min-height:32px;margin:15px 0 0;line-height:1.6}.lobby-screen{width:min(920px,100%);margin:auto;background:#18243be8;border:1px solid #3c5068;border-radius:18px;padding:28px}.lobby-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.lobby-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:45px;align-items:center}.lobby-layout h1{font-size:35px;letter-spacing:-1.2px;margin:10px 0}.lobby-layout>div>p{font-size:12px;color:var(--muted);line-height:1.7}.invite-code{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px dashed #60788b;border-radius:9px;margin:18px 0;background:#101a2c}.invite-code span{display:block;font-size:10px;color:var(--muted)}.invite-code strong{display:block;font-size:27px;letter-spacing:6px;color:var(--gold)}.invite-code button{font-size:11px;padding:8px 10px}.lobby-players{list-style:none;padding:0;margin:18px 0;display:grid;gap:8px}.lobby-players li{display:flex;gap:10px;align-items:center;font-size:13px;background:#283a51;border-radius:7px;padding:10px 12px}.lobby-players small{margin-left:auto;color:#a7bdd1;font-size:10px}.lobby-map canvas{width:100%;image-rendering:pixelated;border-radius:8px;display:block;box-shadow:0 8px 30px #0004}.lobby-map p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:10px}.lobby-status{min-height:22px;color:var(--gold)!important}.phase-overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;pointer-events:none;text-align:center}.phase-overlay>div{background:#11182de8;border:1px solid #4d635a;border-radius:15px;padding:24px 36px;max-width:90%;box-shadow:0 15px 60px #0008}.phase-overlay h2{font-size:36px;letter-spacing:-1px;margin:7px 0}.phase-overlay p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.phase-overlay span{font-size:11px;color:var(--gold)}.phase-actions{display:flex;justify-content:center;gap:10px;pointer-events:auto}.phase-actions:has(button:not([hidden])){margin-top:20px}.countdown h2{font-size:110px;line-height:1;color:var(--gold);margin:10px}.modal-layer{position:absolute;inset:0;background:#0a1126bb;z-index:9;display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px);overflow:auto}.modal-card{width:min(420px,100%);background:#22304a;border:1px solid #526078;border-radius:15px;padding:30px;position:relative}.modal-card h2{font-size:28px;letter-spacing:-.8px}.modal-card p{font-size:13px;line-height:1.7;color:var(--muted)}.modal-card>button:not(.close-button){display:block;width:100%;margin-top:13px}.close-button{position:absolute;top:12px;right:14px;background:none;color:var(--cream);font-size:25px}.control-legend{display:grid;gap:10px;font-size:12px;margin:22px 0}kbd{background:#43516a;padding:4px 7px;border-radius:4px;font:inherit;font-weight:bold;color:var(--cream)}.pickup-legend{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:11px}.pickup-legend span{display:flex;align-items:center;gap:8px}.pickup-legend img{width:24px;height:24px;image-rendering:pixelated}.notice{position:absolute;z-index:12;bottom:20px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 30px);background:#354861;color:var(--cream);border:1px solid #7690a3;padding:12px 18px;border-radius:9px;font-size:12px;line-height:1.5;box-shadow:0 10px 30px #0005}.touch-controls{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:1000px){.home-screen{gap:30px;grid-template-columns:300px minmax(0,1fr)}.menu-layer{padding:24px}.map-grid{gap:9px}.map-card span{font-size:10px}h1{font-size:42px}.game-header{padding:0 20px}.brand{font-size:23px}}
@media(max-width:740px){.game-shell{grid-template-rows:58px minmax(0,1fr) 25px}.game-header{padding:0 14px;gap:10px}.brand{font-size:22px;letter-spacing:-1px}.brand img{width:28px;height:28px}.connection{font-size:9px;padding-left:9px}.header-actions{gap:5px}.icon-button{font-size:10px;padding:8px}#help-open{font-size:0}#help-open:after{content:'?';font-size:16px}#fullscreen{display:none}.home-screen{grid-template-columns:1fr;gap:28px;max-width:520px}.menu-layer{padding:22px 18px;align-content:start}.home-main h1{font-size:42px}.intro{font-size:17px;margin-bottom:15px}.home-main .eyebrow{display:none}.split-buttons{margin-top:12px}.mode-note{font-size:10px}.map-heading h2{font-size:23px}.map-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.map-card span{font-size:9px;min-height:38px;padding:8px 6px}.game-footer{padding:0 14px;font-size:8px}.game-footer span:last-child{display:none}.lobby-screen{padding:18px}.lobby-layout{grid-template-columns:1fr;gap:22px}.lobby-layout h1{font-size:30px}.lobby-map{max-width:320px;margin:auto}.lobby-top{margin-bottom:8px}.invite-code{padding:11px}.lobby-layout .jumbo{font-size:15px}.world:not(.menu-open) .arena-wrap{height:auto;width:calc(100% - 16px);aspect-ratio:15/13;max-height:calc(100% - 100px);max-width:calc((100dvh - 290px)*15/13);margin-top:10px}.player-hud{gap:5px;top:6px;width:calc(100% - 16px)}.player-chip{padding:7px 5px;gap:4px;border-left-width:3px}.player-number{width:17px;height:19px;font-size:10px}.player-chip .player-name{font-size:9px}.player-chip strong{font-size:16px}.match-hud{font-size:10px;gap:9px;width:calc(100% - 20px);bottom:7px}.match-hud strong{font-size:20px}.match-hud #inventory{font-size:9px}.small-button{font-size:10px;padding:7px}.phase-overlay>div{padding:20px 18px}.phase-overlay h2{font-size:27px}.countdown h2{font-size:80px}.phase-overlay p{font-size:11px}.game-shell.playing-touch{grid-template-rows:58px minmax(0,1fr) 145px 22px}.playing-touch .touch-controls{display:flex}.touch-controls{justify-content:space-between;gap:25px;align-items:center;padding:9px 25px;background:#11182d}.dpad{display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(2,43px);gap:5px}.dpad button,.touch-actions button{background:#344861;color:var(--cream);border-radius:8px;touch-action:none;user-select:none}.dpad [data-dir=up]{grid-column:2}.dpad [data-dir=left]{grid-column:1;grid-row:2}.dpad [data-dir=down]{grid-column:2;grid-row:2}.dpad [data-dir=right]{grid-column:3;grid-row:2}.touch-actions{display:grid;grid-template-columns:repeat(2,58px);gap:5px}.touch-actions button{padding:9px 6px;font-size:10px}.touch-actions #touch-bomb{grid-column:1/-1;background:var(--gold);color:var(--night);font-size:14px;font-weight:bold;padding:15px}.touch-actions [data-action=detonate]{grid-column:1/-1;padding:6px;font-size:9px}}
@media(max-width:370px){.brand{font-size:19px}.brand img{width:24px;height:24px}.connection{font-size:8px;max-width:68px}.header-actions .icon-button{padding:7px}.menu-layer{padding:16px 14px}.home-main h1{font-size:38px}.home-main .intro{font-size:15px}.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-card span{font-size:10px;min-height:32px}.touch-controls{padding:9px 13px;gap:10px}.dpad{grid-template-columns:repeat(3,34px)}.touch-actions{grid-template-columns:repeat(2,51px)}.match-hud #inventory{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-chip .player-name{max-width:42px}.brand span{letter-spacing:-1.2px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.world.menu-open .arena-wrap{transform:none}}
