:root{font-family:Arial,Helvetica,sans-serif;color:#fff;--blue:#3978ef;--orange:#ff962f;--dark:rgba(28,43,13,.82);--border:rgba(255,255,255,.35);font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#86ba46}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation;color:inherit;border:1px solid var(--border);border-radius:6px;background:rgba(255,255,255,.12);padding:10px 14px;transition:background .15s,transform .15s}button:hover{background:rgba(255,255,255,.24)}button:active{transform:translateY(1px)}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffba55;outline-offset:3px}[hidden]{display:none!important}#game{position:fixed;inset:0;width:100%;height:100%;outline:none;touch-action:none;cursor:crosshair}#topbar{position:fixed;left:22px;top:18px;display:flex;align-items:flex-start;gap:10px;z-index:5}.wordmark{font-weight:950;font-size:24px;line-height:.88;letter-spacing:-1px;text-shadow:0 2px 3px #31451c55;margin-right:7px}.icon-button{font-size:22px;height:40px;width:43px;padding:3px;background:var(--dark)}#connection{font-size:10px;font-weight:700;letter-spacing:.7px;margin:13px 0 0 4px;color:#fff;text-shadow:0 1px 2px #273819} .dark-panel{background:var(--dark);border:1px solid var(--border);border-radius:9px;box-shadow:0 8px 28px #27301825}#leaderboard{position:fixed;top:16px;right:17px;width:230px;font-size:13px;z-index:4;overflow:hidden}.panel-heading{font-size:13px;font-weight:bold;padding:9px 12px;background:#15210980;text-align:center}#population{opacity:.7;font-weight:normal}#leaders{list-style:none;padding:7px 11px;margin:0}#leaders li{display:flex;align-items:center;gap:7px;line-height:23px}#leaders .rank{width:16px;color:#ffffffa0}#leaders .pilot{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}#leaders .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}#my-rank{padding:7px 12px;color:#85e8e1;background:#ffffff0d;display:flex;justify-content:space-between}#team-score{padding:7px 12px;font-size:11px;border-top:1px solid #ffffff33}#feed{position:fixed;right:20px;top:330px;text-align:right;pointer-events:none;font-size:12px;text-shadow:0 1px 3px #0008}.feed-line{margin:7px 0;animation:feed 5s forwards}@keyframes feed{0%{opacity:0;transform:translateY(-5px)}10%,80%{opacity:1;transform:none}100%{opacity:0}}#selection{position:fixed;top:15px;left:50%;transform:translateX(-50%);text-align:center;z-index:7;width:min(880px,calc(100% - 540px))}#selection h2{font-size:16px;margin:0 0 13px;text-shadow:0 1px 3px #435e28}#selection-options{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}#selection-options button{background:#d8efb788;border:2px solid white;color:#123eb2;font-size:15px;font-weight:bold;width:140px;min-height:100px;padding:10px 7px;border-radius:17px;display:flex;flex-direction:column;align-items:center;gap:6px}#selection-options button:hover{background:#e3ffc8cc;transform:translateY(-3px)}.evo-image{width:90px;height:46px;object-fit:contain}.choice-symbol{height:40px;display:grid;place-items:center;font-size:29px;color:#ff8f2b}.choice-desc{font-weight:normal;font-size:10px;color:#213b21;line-height:1.3}#selection-hide{padding:5px;font-size:11px}#selection-show{position:fixed;top:75px;left:50%;transform:translateX(-50%);z-index:6}#upgrades{position:fixed;left:15px;bottom:27px;width:245px;z-index:6}#available{font-size:14px;font-weight:bold;margin:0 0 6px 12px;text-shadow:0 1px 3px #42612b}#available span{color:var(--orange)}.stat-row{position:relative;width:100%;border:none;display:flex;align-items:center;gap:6px;height:28px;padding:0 9px 0 5px;border-radius:20px;margin:4px 0;background:#23350ed9;overflow:hidden;font-size:12px}.stat-fill{position:absolute;inset:3px auto 3px 3px;border-radius:18px;background:#ff922a;z-index:0;transition:width .2s}.stat-row>*:not(.stat-fill){position:relative;z-index:1}.stat-row kbd{background:#f6f6f2;color:#303523;border-radius:3px;font-size:10px;min-width:16px;padding:1px;border:1px solid #555}.stat-name{flex:1;text-align:left}.stat-value{font-size:10px;min-width:24px;text-align:right}.stat-plus{font-size:15px;font-weight:bold;min-width:10px}#progress{position:fixed;bottom:24px;left:29%;right:19%;display:flex;align-items:center;z-index:4;filter:drop-shadow(0 2px 3px #2b471e55)}.xp-level{background:var(--blue);border:1px solid #8cb8ff;border-radius:25px;padding:8px 13px;white-space:nowrap;font-size:12px}.xp-level strong{font-size:23px;font-weight:normal;margin-left:2px}.xp-track{position:relative;height:28px;background:#24390ecc;border-radius:20px;flex:1;overflow:hidden;border:1px solid #ffffff33}#xp-fill{background:linear-gradient(#648eff,#3978ef);height:100%;width:0;transition:width .2s}#xp-label{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;font-weight:bold;text-shadow:0 1px 2px #0007}.xp-track i{position:absolute;top:1px;color:#f8a34e;font-size:22px;font-style:normal;opacity:.7}#abilities{position:fixed;bottom:78px;left:50%;transform:translateX(-50%);display:flex;gap:12px;z-index:5}#abilities button{position:relative;background:var(--dark);width:94px;height:71px;padding:6px 4px 5px;display:flex;flex-direction:column;align-items:center;border:1px solid #ffffffa0;overflow:hidden}#abilities kbd{position:absolute;top:5px;left:5px;font-size:10px;background:#ffffff22;padding:1px 3px;border:1px solid #ffffff55;border-radius:2px}.ability-icon{font-size:26px;line-height:31px}.ability-name{font-size:10px;line-height:1.1}.cooldown{position:absolute;inset:0;background:#17220de8;display:grid;place-items:center;font-size:24px;font-weight:bold}.cooldown:empty{display:none}#minimap{position:fixed;right:18px;bottom:22px;width:143px;height:143px;background:#1a2b0ecd;border:2px solid #ffffff77;border-radius:5px;z-index:5}#hint{position:fixed;bottom:7px;left:50%;transform:translateX(-50%);font-size:10px;white-space:nowrap;color:#1f351bd9}#toast{position:fixed;top:26%;left:50%;transform:translateX(-50%);padding:10px 18px;border-radius:5px;background:#18240deb;z-index:30;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none}#toast.show{opacity:1}#flash{position:fixed;inset:0;background:#fff;z-index:2147483647;pointer-events:none;opacity:1}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:#23320a18;z-index:10;padding:16px;overflow:auto}.menu-panel{padding:25px 29px 18px;width:min(430px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;scrollbar-width:thin;background:rgba(29,40,16,.93)}h1{font-size:35px;line-height:1;letter-spacing:.1px;color:#ff982c;text-align:center;margin:0 0 7px;font-weight:900;text-shadow:0 2px 0 #743c1677}.subtitle{text-align:center;color:#eceddf;font-size:16px;margin:0 0 20px}.menu-panel input,.menu-panel select,dialog select,dialog input{width:100%;min-height:38px;color:#fff;background:#17200ed9;border:1px solid #afb49a88;border-radius:5px;padding:8px 11px;outline-offset:2px}.menu-panel input::placeholder{color:#bac0af}.menu-panel label{display:block;font-size:11px;color:#d6ddcb;line-height:1.4;margin-bottom:9px}.menu-panel label input,.menu-panel label select{margin-top:4px}.menu-panel select{font-size:13px}.segments{display:flex;border:1px solid #afb49a88;border-radius:5px;overflow:hidden;margin:10px 0}.segments button{border:0;border-radius:0;flex:1;padding:10px}.segments .selected{background:var(--blue);font-weight:bold}.form-row{display:flex;gap:12px}.form-row>label{flex:1}.blue{background:var(--blue);border-color:#2c67da;box-shadow:0 3px 0 #234e9f55}.blue:hover{background:#508bf4}.primary{width:100%;font-size:21px;font-weight:bold;padding:13px}.small{font-size:11px;line-height:1.4;color:#bdc8b4;margin:0 0 12px}.control-guide{display:flex;justify-content:space-around;gap:8px;border-top:1px solid #ffffff44;margin-top:19px;padding-top:15px;text-align:center;font-size:12px}.control-guide kbd{display:inline-block;font-family:inherit;font-size:10px;min-width:20px;padding:4px 3px;border:1px solid #bfc7b6;border-radius:3px;margin:0 1px}.control-guide small{display:block;font-size:11px;margin-top:7px;color:#e5eadc}.mouse-guide{font-size:24px;line-height:23px}.menu-links{display:flex;justify-content:center;gap:15px;margin-top:16px}.menu-links button,.text-button{background:transparent;border:0;box-shadow:none;padding:5px 0;font-size:11px;color:#e0e6d5}.menu-links button:hover,.text-button:hover{text-decoration:underline;background:transparent}#colors{display:flex;gap:9px;justify-content:center;margin:5px 0 13px}.color-choice{padding:0;width:21px;height:21px;border-radius:50%;border:2px solid #ffffff44}.color-choice.selected{outline:2px solid white;outline-offset:2px}#launch-error{font-size:12px;color:#ffd2a7;text-align:center;margin-bottom:0}#resume-actions{display:flex;justify-content:center;gap:20px;align-items:center;margin-top:15px}body.paused form,body.paused .control-guide{display:none}.death-panel{width:min(420px,100%);text-align:center;padding:28px}.death-panel h2{font-size:23px}.death-panel dl{display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:10px;font-size:15px;margin:23px 20px}.death-panel dd{margin:0;text-align:right;font-weight:bold}.death-panel p{font-size:12px;color:#d9dfcb}.death-actions{display:flex;gap:10px;margin-top:15px}.death-actions button{flex:1;font-size:13px}dialog{color:#fff;padding:29px;max-width:520px;width:calc(100% - 32px);max-height:85dvh;background:rgba(26,39,16,.98)!important}dialog::backdrop{background:#10200e80;backdrop-filter:blur(4px)}dialog h2{margin:0 0 18px;color:#ffad56;font-size:23px}dialog h3{font-size:15px;margin-top:23px}dialog p,dialog li{font-size:13px;line-height:1.65;color:#e0e6d5}dialog .setting{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:12px 0;font-size:13px}dialog .setting select{width:140px}dialog .setting input{width:90px;min-height:30px}dialog .close{position:absolute;right:10px;top:8px;padding:0 6px;font-size:22px;border:0;background:none}.record-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.record-grid div{background:#ffffff0b;padding:13px;border-radius:5px;font-size:11px}.record-grid strong{display:block;font-size:23px;margin-bottom:4px}.medal{border-top:1px solid #ffffff22;padding:9px 0;display:flex;justify-content:space-between;font-size:12px}.medal.locked{opacity:.4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.touch-pad{position:fixed;bottom:90px;width:120px;height:120px;border-radius:50%;border:2px solid #ffffff44;background:#ffffff15;touch-action:none;display:grid;place-items:center;color:#ffffff99;font-size:10px;font-weight:bold;user-select:none}.touch-pad i{position:absolute;left:38px;top:38px;width:40px;height:40px;border-radius:50%;background:#ffffff33;pointer-events:none}#move-pad{left:24px}#aim-pad{right:24px}#touch-controls{z-index:6;position:fixed;inset:0;pointer-events:none}#touch-controls .touch-pad{pointer-events:auto}
@media(max-width:1000px){#selection{width:calc(100% - 285px);left:15px;transform:none;top:80px}#selection-options{gap:8px}#selection-options button{width:105px;min-height:85px;font-size:12px}.choice-desc{display:none}#upgrades{width:205px}#progress{left:245px;right:180px}#connection{display:none}.evo-image{width:70px;height:38px}}
@media(max-width:650px){#topbar{left:12px;top:12px;gap:6px}.wordmark{font-size:18px}.icon-button{width:33px;height:33px;font-size:18px}#leaderboard{width:157px;right:10px;top:10px;font-size:10px}.panel-heading{font-size:10px;padding:5px}#leaders{padding:4px 7px}#leaders li{line-height:18px;gap:4px}#leaders li:nth-child(n+6){display:none}#my-rank{padding:5px 7px}#feed{top:180px;right:10px;font-size:10px}#selection{top:65px;left:10px;width:calc(100% - 185px);max-height:40vh;overflow:auto}#selection h2{font-size:12px}#selection-options{gap:6px}#selection-options button{width:85px;min-height:73px;font-size:10px;border-radius:10px;padding:5px}.evo-image{width:65px;height:34px}#upgrades{left:8px;bottom:57px;width:155px}.stat-row{font-size:10px;height:23px;margin:3px 0;padding-right:6px}.stat-value{font-size:8px}.stat-row kbd{font-size:8px;min-width:12px}#available{font-size:11px;margin-left:6px}#progress{left:10px;right:10px;bottom:15px}.xp-level{padding:5px 10px;font-size:10px}.xp-level strong{font-size:18px}.xp-track{height:24px}#minimap{width:85px;height:85px;right:10px;bottom:60px}#abilities{bottom:57px;left:51%;gap:5px}#abilities button{width:64px;height:57px;padding:4px 1px}.ability-icon{font-size:21px;line-height:26px}.ability-name{font-size:8px}#hint{display:none}.menu-panel{padding:20px 23px 15px}h1{font-size:30px}.subtitle{margin-bottom:14px}.menu-panel .primary{padding:10px}.control-guide{margin-top:14px;padding-top:12px}.menu-links{margin-top:12px}.touch-pad{width:96px;height:96px;bottom:160px}.touch-pad i{left:27px;top:27px}#move-pad{left:18px}#aim-pad{right:18px}body.touch-active #upgrades{bottom:52px}body.touch-active .stat-row{height:20px;margin:2px 0}body.touch-active #available{display:none}body.touch-active #minimap{bottom:270px}body.touch-active #abilities{bottom:70px;left:68%}}
@media(max-height:650px) and (min-width:651px){.menu-panel{padding:17px 25px 13px}h1{font-size:30px}.subtitle{margin-bottom:12px}.control-guide{margin-top:13px;padding-top:10px}.menu-links{margin-top:10px}#upgrades{bottom:18px}.stat-row{height:23px;margin:3px 0}#minimap{width:100px;height:100px}#progress{bottom:18px}.menu-panel label{margin-bottom:6px}}

.stat-row:disabled{opacity:1;color:#ecf2e2}.stat-row:disabled .stat-plus{opacity:.35}.stat-row:disabled:hover{background:#23350ed9}.evo-image{position:relative;display:block;background-image:url('/assets/sprites.png');background-size:400% 200%;background-position:0 0;width:100px;height:58px}.evo-barrels{position:absolute;right:0;top:19px;font-size:20px;color:#697777;z-index:-1}#upgrade-toggle{position:fixed;left:10px;bottom:59px;z-index:7;background:#23350ee8;font-size:11px;padding:9px 12px}body.touch-active #upgrades{display:none}body.touch-active.show-upgrades #upgrades{display:block;bottom:285px}body.touch-active.show-upgrades .stat-row{height:24px;margin:3px 0}body.touch-active.show-upgrades #available{display:block}

/* The battlefield receives input through every noninteractive HUD surface. */
*,*::before,*::after{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}
#topbar,#leaderboard,#feed,#progress,#minimap,#hint,#selection,#selection-options,#upgrades,#stat-rows,#abilities{pointer-events:none}
#topbar button,#selection button,#selection-show,#upgrade-toggle,#stat-rows button:enabled,#abilities button:enabled{pointer-events:auto}

/* One row of choices; keep readable cards and spacing on narrow screens. */
#selection-options{flex-wrap:nowrap;justify-content:flex-start;gap:28px;overflow-x:auto;overflow-y:hidden;padding:5px 3px 12px;scrollbar-width:thin;overscroll-behavior-x:contain}
#selection-options button{flex:0 0 auto}
#selection-options button:first-child{margin-left:auto}
#selection-options button:last-child{margin-right:auto}
@media(max-width:1000px){#selection-options{gap:20px}}
@media(max-width:650px){#selection-options{gap:16px}}

/* Use a single centered row when it fits, then balanced, evenly spaced rows. */
#selection{width:min(1100px,calc(100% - 540px))}
#selection-options{display:grid;grid-template-columns:repeat(var(--choice-columns,4),minmax(0,150px));flex-wrap:unset;justify-content:center;align-items:stretch;overflow:visible;gap:28px}
#selection-options button{width:100%;min-width:0}
#selection-options button:first-child,#selection-options button:last-child{margin:0}
#selection-options button:hover{transform:none}
@media(max-width:1000px){#selection{width:calc(100% - 285px)}#selection-options{gap:20px}}
@media(max-width:650px){#selection{top:175px;left:10px;width:calc(100% - 20px);max-height:none;overflow:visible}#selection-options{gap:12px}}

.evo-image{width:120px;height:80px;max-width:100%;background:none!important;object-fit:contain}
@media(max-width:1000px){.evo-image{width:100px;height:67px}}
@media(max-width:650px){.evo-image{width:90px;height:60px}}
#dev-tools{position:fixed;top:350px;right:16px;width:250px;max-height:calc(100dvh - 525px);overflow:auto;z-index:12;padding:12px;background:#172514f2;border-color:#b4e59c;font-size:12px;scrollbar-width:thin}
.dev-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.dev-heading strong{color:#bdf197;font-size:16px}.dev-heading button{font-size:10px;padding:5px 7px}.dev-note{font-size:10px;line-height:1.5;color:#b7c8ad;margin:9px 0}#dev-state{display:block;line-height:1.6;margin:8px 0 10px;color:#fff3a4;font-size:11px}.dev-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0}.dev-actions button{font-size:11px;padding:9px 5px}.dev-label{display:grid;grid-template-columns:1fr 110px;align-items:center;gap:8px;margin-top:11px}.dev-label input{width:100%;padding:7px;background:#0b180a;border:1px solid #779266;border-radius:4px;font:inherit;color:white}.dev-freeze{display:flex;gap:8px;align-items:center;line-height:1.5;margin:12px 0}.dev-freeze input{accent-color:#80bd5a;width:16px;height:16px;margin:0}.dev-reset{width:100%;font-size:11px;padding:8px}#dev-result{display:block;color:#c8f7ba;font-size:10px;line-height:1.5}
@media(max-height:760px){#dev-tools{top:90px;max-height:calc(100dvh - 120px)}}
@media(max-width:650px){#dev-tools{top:175px;right:10px;width:min(300px,calc(100% - 20px));max-height:calc(100dvh - 230px)}}

@media(max-width:650px){#dev-tools{top:65px;left:10px;right:auto;max-height:calc(100dvh - 110px)}#dev-tools.dev-collapsed{width:190px}}

#tester-controls{border-top:1px solid #ffffff40;margin-top:12px;padding-top:10px;display:grid;gap:8px}#tester-controls label{display:flex;gap:7px;align-items:center}#tester-controls small{font-size:11px;opacity:.75}#tester-dialog{border:1px solid #628c91;border-radius:14px;background:#122e32;color:#f1f6ec;width:min(560px,92vw);max-height:85vh;padding:25px;box-shadow:0 25px 90px #0009}#tester-dialog::backdrop{background:#061719a8}#tester-dialog h2{font-size:23px;margin:8px 0}#tester-dialog p{line-height:1.5;font-size:14px}#tester-dialog .tester-kicker{color:#b9e982;font-size:11px;letter-spacing:1.5px}#tester-dialog textarea{display:block;width:100%;margin:10px 0;padding:12px;background:#fff;color:#152b29;border:0;border-radius:6px;font:inherit;user-select:text}#tester-dialog label{font-size:13px}.tester-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.tester-actions button{padding:10px 14px;font:inherit;font-size:13px}#tester-dialog article{padding:13px 0;border-top:1px solid #ffffff30}#tester-dialog small{display:block;font-size:11px;opacity:.7;margin-top:5px}

#tester-queue{position:fixed;left:16px;top:140px;width:250px;max-height:42vh;background:#122e32ed;color:#edf7e9;border:1px solid #86a68b80;border-radius:10px;padding:12px;z-index:35;pointer-events:auto;box-shadow:0 8px 24px #0003}#tester-queue[hidden]{display:none}.tester-queue-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}#tester-queue button{font:inherit;font-size:12px}#tester-queue>p,#tester-queue-list>p{font-size:11px;line-height:1.4;opacity:.8;margin:8px 0}#tester-queue-list{max-height:29vh;overflow:auto;overscroll-behavior:contain}.tester-queue-item{display:block;text-align:left;width:100%;padding:9px;margin-top:6px;background:#ffffff12;color:#edf7e9;border:1px solid #ffffff25;border-radius:5px;cursor:pointer}.tester-queue-item:hover{background:#ffffff28}#tester-queue-list[hidden]{display:none}@media(max-width:650px){#tester-queue{top:120px;left:8px;width:195px;max-height:30vh;padding:9px}#tester-queue-list{max-height:18vh}}

.choice-numbers{display:block;font-size:10px;color:#264479;line-height:1.4;margin-top:5px}.choice-desc{line-height:1.35}

@media(max-width:1000px){.choice-desc{display:block;font-size:10px}.choice-numbers{font-size:9px}}@media(max-width:650px){.choice-desc{font-size:9px}.choice-numbers{font-size:8px}#tester-queue{max-height:22vh}#tester-queue-list{max-height:12vh}}

#tester-queue-clear{margin-top:9px;width:100%;padding:7px 9px;border:1px solid #ffffff35;border-radius:5px;background:#ffffff12;color:inherit}#tester-queue-clear:disabled{opacity:.4;cursor:default}
