:root{color-scheme:dark;--serum:#8cff00;--acid:#39ff82;--ink:#050807;--panel:#0b1711;--line:#274332}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 0,#173b20 0,#07130d 38%,#020403 100%);font-family:Arial,Helvetica,sans-serif;color:#efffe9;display:grid;place-items:center;padding:16px;overflow-x:hidden}
.game-shell{width:min(1100px,100%);background:rgba(3,9,6,.92);border:1px solid #345b3d;border-radius:20px;box-shadow:0 0 50px rgba(94,255,74,.13),inset 0 0 30px rgba(38,130,60,.08);padding:16px}
header{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 14px}.brand{display:flex;gap:12px;align-items:center}.header-actions{display:flex;gap:8px;align-items:center}.trophy{color:var(--serum)}.vial{display:grid;place-items:center;width:54px;height:54px;filter:drop-shadow(0 0 9px rgba(140,255,0,.6));flex:0 0 auto}.vial img{display:block;width:100%;height:100%;object-fit:contain}.wallet-button{height:44px;padding:0 13px;font-size:10px;letter-spacing:.1em;display:flex;align-items:center;gap:7px}.wallet-dot{width:8px;height:8px;border-radius:50%;background:#69736c}.wallet-button.connected .wallet-dot{background:var(--serum);box-shadow:0 0 8px var(--serum)}
h1{font-size:clamp(21px,4vw,34px);line-height:.9;margin:0;letter-spacing:.08em;color:var(--serum);text-shadow:0 0 13px rgba(140,255,0,.4)}header p{font-size:9px;letter-spacing:.24em;margin:6px 0 0;color:#9daf9e}
button{font:900 15px Arial;border:1px solid #79d348;color:#dfffd0;background:linear-gradient(#1c3a21,#102416);border-radius:12px;cursor:pointer;box-shadow:inset 0 0 12px rgba(142,255,66,.08)}button:active{transform:translateY(1px);filter:brightness(1.25)}.small-button{width:44px;height:44px}
.hud{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.hud div{background:linear-gradient(180deg,#0b1b11,#061009);border:1px solid #31573b;border-radius:10px;padding:9px 13px;display:flex;align-items:center;justify-content:space-between;box-shadow:inset 0 1px rgba(176,255,125,.04)}.hud span{font-size:10px;color:#9caf9f;letter-spacing:.18em}.hud strong{font-family:monospace;font-size:19px;color:var(--serum);text-shadow:0 0 9px rgba(140,255,0,.3)}
.canvas-wrap{position:relative;border:2px solid #31533a;border-radius:14px;overflow:hidden;background:#020604;box-shadow:inset 0 0 36px #000}canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;touch-action:none}
.overlay{position:absolute;inset:0;display:none;place-items:center;background:rgba(0,5,2,.65);backdrop-filter:blur(3px);padding:20px}.overlay.visible{display:grid}.panel{text-align:center;background:rgba(7,19,11,.94);border:1px solid #64a849;border-radius:16px;padding:clamp(18px,4vw,38px);max-width:560px;box-shadow:0 0 45px rgba(104,255,48,.13)}.eyebrow{color:#8aa08b;font-size:10px;letter-spacing:.22em}.panel h2{font-size:clamp(28px,6vw,58px);line-height:.95;margin:12px 0;color:var(--serum);text-shadow:0 0 18px rgba(140,255,0,.35)}.panel>p:not(.eyebrow):not(.instructions){color:#cbd8cc}.panel button{margin-top:10px;padding:13px 24px;background:var(--serum);color:#07120b;border:0;box-shadow:0 0 20px rgba(140,255,0,.28)}.instructions{font-size:11px;color:#7f9283;margin:18px 0 0}
.overlay.start-scene{background:linear-gradient(90deg,rgba(0,7,3,.2),rgba(0,7,3,.48),rgba(0,7,3,.2)),url('assets/start-menu-bg.png') center/cover no-repeat;backdrop-filter:none}.overlay.end-scene{background:linear-gradient(90deg,rgba(2,0,0,.24),rgba(2,0,0,.58),rgba(2,0,0,.24)),url('assets/game-over-bg.png') center/cover no-repeat;backdrop-filter:none}.overlay.start-scene .panel,.overlay.end-scene .panel{background:rgba(4,15,8,.9);box-shadow:0 0 55px rgba(0,0,0,.72),0 0 35px rgba(104,255,48,.16)}.overlay.end-scene .panel{border-color:#d84949;background:rgba(12,8,8,.91)}.overlay.end-scene .panel h2{color:#ff5a54;text-shadow:0 0 18px rgba(255,40,35,.45)}
.overlay.level-transition{place-items:end center;padding:20px;background:linear-gradient(180deg,rgba(0,4,2,.08) 0%,rgba(0,5,2,.12) 48%,rgba(0,8,3,.88) 100%),url('assets/level-complete-bg.png') center/cover no-repeat;backdrop-filter:none}.overlay.level-transition .panel{width:min(760px,94%);max-width:none;padding:15px 24px;background:linear-gradient(90deg,rgba(2,12,6,.94),rgba(8,28,12,.86),rgba(2,12,6,.94));border-color:#8cff00;border-radius:13px;box-shadow:0 0 34px rgba(140,255,0,.34),inset 0 0 24px rgba(140,255,0,.06)}.overlay.level-transition .eyebrow,.overlay.level-transition .instructions{display:none}.overlay.level-transition .panel h2{font-size:clamp(25px,5vw,44px);line-height:1;margin:0 0 6px;letter-spacing:.03em}.overlay.level-transition .panel>p:not(.eyebrow):not(.instructions){margin:0;color:#eefbe9;font-size:clamp(12px,2vw,16px);letter-spacing:.04em}
.secondary-action{margin-left:8px!important;background:#15241a!important;color:#bfff9a!important;border:1px solid #6aac49!important}.result-actions{display:flex;gap:8px;justify-content:center;margin-top:8px}.result-actions button{font-size:10px;padding:9px 13px}.season-summary{margin:8px 0 14px;padding:10px;border:1px solid #31523a;border-radius:9px;color:#cfe1d1;font-size:11px}.season-summary strong{display:block;color:#8cff00;margin-bottom:4px}.missions-panel{position:relative;width:min(820px,100%);max-width:820px;max-height:92%;overflow:auto}.missions-panel h2{font-size:clamp(25px,5vw,42px)}.mission-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left}.mission-columns h3{font-size:11px;letter-spacing:.12em;color:#8cff00}.mission-card{border:1px solid #31523a;border-radius:10px;padding:11px;margin:8px 0;background:#07110b}.mission-card.complete{border-color:#8cff00}.mission-card strong{display:block;font-size:12px}.mission-card span{font-size:10px;color:#a8b7aa}.progress-track{height:6px;background:#18251d;border-radius:9px;margin-top:8px;overflow:hidden}.progress-track i{display:block;height:100%;background:#8cff00}.achievement-locked{opacity:.45}@media(max-width:700px){.mission-columns{grid-template-columns:1fr}.result-actions{flex-wrap:wrap}}
.mobile-controls{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:14px}.mobile-controls button{height:58px;font-size:22px;touch-action:none}.mobile-controls .fire{color:#07120b;background:var(--serum);font-size:15px}.mobile-controls .jump{color:#dfffd0;background:linear-gradient(#352354,#1d1433);border-color:#a86dff;font-size:13px}
.reward-bar{margin-top:10px;display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#07110c;font-size:11px}.reward-bar span{color:var(--serum);font-weight:900;letter-spacing:.12em}.reward-bar strong{color:#dfffd0}.reward-bar em{margin-left:auto;color:#728478;font-style:normal}.leaderboard-panel{position:relative;width:min(520px,100%)}.leaderboard-panel h2{font-size:clamp(26px,5vw,44px)}.close-button{position:absolute;right:10px;top:10px;width:38px;height:38px;font-size:24px}.leaderboard-panel ol{list-style:none;margin:18px 0;padding:0;text-align:left}.leaderboard-panel li{display:grid;grid-template-columns:38px 1fr auto auto;gap:10px;padding:10px;border-bottom:1px solid #24402d;align-items:center}.leaderboard-panel li:first-child{color:var(--serum)}.leaderboard-panel .rank{font-family:monospace;color:#809086}.leaderboard-panel .player-name{font-weight:900}.leaderboard-panel .player-level{font-size:10px;color:#7e9182}.leaderboard-panel .player-score{font-family:monospace;font-weight:900}.reward-note{font-size:9px!important;letter-spacing:.12em;color:#788a7c!important}
.wallet-panel{position:relative;width:min(820px,100%);max-height:94%;overflow:auto}.wallet-panel h2{font-size:clamp(25px,5vw,42px)}.wallet-status{border:1px solid #31523a;border-radius:10px;padding:12px;background:#06100a;color:#b8c7ba;font:12px monospace;overflow-wrap:anywhere}.connect-wallet{padding:12px 18px;margin:14px 5px;background:var(--serum);color:#061008;border:0}.disconnect-wallet{padding:12px 18px;margin:14px 5px}.hidden{display:none!important}.upgrade-heading{display:flex;justify-content:space-between;align-items:end;text-align:left;margin:18px 2px 8px;padding-bottom:8px;border-bottom:1px solid #294a34}.upgrade-heading span,.upgrade-heading strong{display:block}.upgrade-heading span{font:8px monospace;letter-spacing:.18em;color:#6f8274}.upgrade-heading strong{font-size:13px;letter-spacing:.12em;color:#caff9b}.upgrade-heading em{font:9px monospace;color:#748078}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;text-align:left;margin-top:6px}.upgrade-card{position:relative;overflow:hidden;border:1px solid #31523a;border-radius:14px;padding:13px;background:radial-gradient(circle at 18% 0,rgba(140,255,0,.1),transparent 35%),linear-gradient(145deg,#0b1d12,#050d08);box-shadow:inset 0 1px rgba(255,255,255,.03);transition:border-color .2s,transform .2s,box-shadow .2s}.upgrade-card:hover{transform:translateY(-2px);border-color:#669c4d;box-shadow:0 8px 22px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.04)}.upgrade-card.new:after{content:'NEW';position:absolute;right:-28px;top:11px;width:92px;padding:3px 0;text-align:center;transform:rotate(42deg);background:#8cff00;color:#071009;font:bold 8px monospace;letter-spacing:.12em}.upgrade-card-head{display:flex;justify-content:space-between;align-items:start}.upgrade-card-head i{display:grid;place-items:center;width:44px;height:44px;border:1px solid #69b945;border-radius:12px;background:linear-gradient(145deg,#173c1d,#09170d);color:#a7ff56;font:normal 27px Arial;text-shadow:0 0 12px #8cff00;box-shadow:inset 0 0 16px rgba(140,255,0,.12)}.upgrade-card-head span{font:10px monospace;color:#66756a}.upgrade-card>label{display:block;margin-top:10px;font:8px monospace;letter-spacing:.15em;color:#77927e}.upgrade-grid h3{color:var(--serum);margin:5px 0;font-size:17px;letter-spacing:.04em}.upgrade-grid p{min-height:34px;margin:0 0 7px;font-size:10px;color:#b1c0b3;line-height:1.4}.upgrade-card>em{display:block;min-height:21px;color:#6f9f79;font:8px monospace;font-style:normal;letter-spacing:.04em}.upgrade-meta{display:flex;justify-content:space-between;align-items:center;margin:9px 0 6px;padding-top:8px;border-top:1px solid #203c29}.upgrade-meta strong{margin:0!important;font-size:15px!important}.upgrade-meta strong small{display:inline!important;margin:0!important;font-size:7px!important;color:#769079!important}.upgrade-meta>b{border:1px solid #385942;border-radius:12px;padding:3px 7px;color:#9aada0;font:8px monospace}.upgrade-buy{width:100%;padding:9px 5px;font-size:9px;letter-spacing:.08em}.upgrade-buy.locked{opacity:.48;cursor:not-allowed}.upgrade-card.active-upgrade{border-color:#8cff00;box-shadow:0 0 22px rgba(140,255,0,.15),inset 0 0 24px rgba(140,255,0,.05)}.upgrade-card.active-upgrade .upgrade-card-head i{background:#8cff00;color:#061008;text-shadow:none}.upgrade-card.active-upgrade .upgrade-buy{opacity:1;background:#17341d;color:#8cff00;border:1px solid #71c64c}.wallet-safety{font-size:10px!important;color:#718076!important;margin:15px 0 0!important}
@media(max-width:760px),(pointer:coarse){body{padding:4px;align-items:start}.game-shell{padding:7px;border-radius:14px}header{padding-bottom:8px}.brand{gap:7px}.vial{width:43px;height:43px}header p{font-size:7px;letter-spacing:.16em}.header-actions{gap:5px}.small-button,.wallet-button{width:42px;height:42px}.mobile-controls{display:grid}.hud{gap:5px;margin-bottom:7px}.hud div{padding:6px 3px;display:block;text-align:center}.hud span{display:block;margin-bottom:3px}.hud strong{font-size:14px}.overlay{padding:7px;overflow:auto}.overlay>.panel{width:min(94%,520px);padding:12px}.overlay>.panel .eyebrow{font-size:7px;margin:0}.overlay>.panel h2{font-size:clamp(25px,8vw,36px);margin:7px 0}.overlay>.panel>p:not(.eyebrow):not(.instructions){font-size:13px;line-height:1.25;margin:7px 0}.overlay>.panel>button:not(.close-button){margin-top:5px;padding:10px 17px}.instructions{display:none}.reward-bar{display:grid;gap:3px}.reward-bar em{margin:0}.wallet-button{padding:0;justify-content:center}.wallet-button #walletButtonText{display:none}.wallet-overlay{position:fixed;z-index:20;padding:8px}.wallet-panel{max-height:calc(100dvh - 16px)}.upgrade-heading{display:block}.upgrade-heading em{display:block;margin-top:4px}.upgrade-grid{grid-template-columns:1fr}.upgrade-grid p,.upgrade-card>em{min-height:0}}
.admin-link{display:grid;place-items:center;text-decoration:none}.profile-editor{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin:10px 0;text-align:left}.profile-editor label{display:grid;gap:5px;font-size:9px;letter-spacing:.12em;color:#91a294}.profile-editor input{background:#061009;border:1px solid #31523a;border-radius:9px;padding:10px;color:#efffe9}.profile-editor button{margin:0;padding:11px 14px}.upgrade-grid small{display:block;color:#9db09f;font-size:9px;margin:-5px 0 9px}

/* Upgrade cartridges: roomy, readable and styled like UAS laboratory hardware. */
.wallet-panel{width:min(900px,100%)}
.upgrade-heading{margin-top:22px;padding:0 2px 11px;border-bottom:1px solid #396242}
.upgrade-heading span{margin-bottom:3px;font-size:9px;color:#7e9984}
.upgrade-heading strong{font-size:15px;color:#b8ff78;text-shadow:0 0 12px rgba(140,255,0,.25)}
.upgrade-heading em{font-size:9px;color:#859087}
.upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:13px}
.upgrade-card{min-height:310px;padding:17px 17px 15px;border-color:#355c3e;border-radius:16px;background:linear-gradient(115deg,rgba(17,48,25,.92),rgba(5,17,10,.97) 42%),radial-gradient(circle at 12% 5%,rgba(140,255,0,.16),transparent 35%);box-shadow:inset 0 1px 0 rgba(205,255,174,.08),inset 5px 0 0 rgba(93,175,58,.22),0 12px 25px rgba(0,0,0,.23)}
.upgrade-card:before{content:'';position:absolute;inset:8px;pointer-events:none;border:1px solid rgba(136,255,92,.05);border-radius:11px}
.upgrade-card:hover{transform:translateY(-3px);border-color:#7bd64f;box-shadow:0 14px 28px rgba(0,0,0,.32),0 0 20px rgba(140,255,0,.09),inset 5px 0 0 rgba(140,255,0,.42)}
.upgrade-card-head{align-items:center;margin-bottom:11px}
.upgrade-card-head i{width:60px;height:60px;border-radius:15px;border:1px solid #75d64c;background:radial-gradient(circle,#214d29,#0a1d10 68%);font-size:34px;box-shadow:inset 0 0 20px rgba(140,255,0,.15),0 0 17px rgba(140,255,0,.08)}
.upgrade-card-head span{align-self:flex-start;padding:5px 8px;border:1px solid #2f5338;border-radius:20px;background:#07120b;font-size:9px;color:#8ca191}
.upgrade-card>label{margin-top:0;font-size:9px;color:#84a28a}
.upgrade-grid h3{margin:5px 0 8px;font-size:21px;line-height:1;color:#97ff34;text-shadow:0 0 13px rgba(140,255,0,.16)}
.upgrade-grid p{min-height:39px;margin-bottom:9px;font-size:12px;line-height:1.45;color:#d2ddd4}
.upgrade-card>em{min-height:25px;padding:7px 9px;border-left:2px solid #477d51;background:rgba(4,12,7,.5);font-size:9px;line-height:1.35;color:#85b58d}
.upgrade-meta{margin:12px 0 9px;padding-top:11px;border-top-color:#315039}
.upgrade-meta strong{font-size:22px!important;color:#f1ffe8!important;text-shadow:0 0 10px rgba(140,255,0,.12)}
.upgrade-meta strong small{font-size:8px!important;color:#91aa94!important;letter-spacing:.08em}
.upgrade-meta>b{padding:4px 9px;border-color:#4b7655;background:#08150c;color:#b5c9b8;font-size:9px}
.upgrade-grid small[data-duration]{position:relative;margin:0 0 13px;padding:0 0 10px;font-size:9px;color:#b5c6b8}
.upgrade-grid small[data-duration]:before{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;border:1px solid #294a32;border-radius:5px;background:#061009}
.upgrade-grid small[data-duration]:after{content:'';position:absolute;left:1px;bottom:1px;width:var(--durability,100%);max-width:calc(100% - 2px);height:2px;border-radius:4px;background:linear-gradient(90deg,#57bd34,#a4ff45);box-shadow:0 0 7px rgba(140,255,0,.42)}
.upgrade-buy{position:relative;z-index:1;margin-top:auto!important;min-height:45px;padding:10px!important;border-radius:11px;font-size:10px;white-space:nowrap}
.upgrade-card.active-upgrade{border-color:#87ef50;background:linear-gradient(115deg,rgba(18,60,27,.95),rgba(5,19,10,.98) 48%);box-shadow:0 0 25px rgba(140,255,0,.13),inset 5px 0 0 #8cff00}
.upgrade-card.active-upgrade:before{border-color:rgba(140,255,0,.12)}
.upgrade-card.active-upgrade .upgrade-card-head i{background:radial-gradient(circle at 40% 35%,#c7ff76,#76e926 70%);color:#09200a;box-shadow:0 0 22px rgba(140,255,0,.36)}
.upgrade-card.active-upgrade .upgrade-buy{background:linear-gradient(#214b27,#112d18);color:#a1ff51;border-color:#79d849;box-shadow:inset 0 0 13px rgba(140,255,0,.09)}
.upgrade-card.new:after{right:-27px;top:12px;width:96px;padding:4px 0;background:#a0ff3d;color:#061008;font-size:8px;box-shadow:0 2px 10px rgba(0,0,0,.35)}
@media(max-width:680px){.upgrade-grid{grid-template-columns:1fr}.upgrade-card{min-height:0}.upgrade-grid p,.upgrade-card>em{min-height:0}.upgrade-heading em{margin-top:5px}}
@media(max-width:760px),(pointer:coarse){body.game-active header{padding-bottom:3px}body.game-active .brand .vial{width:30px;height:30px}body.game-active .brand h1{font-size:17px}body.game-active .brand p,body.game-active .reward-bar{display:none}body.game-active .hud{margin-bottom:3px}body.game-active .canvas-wrap{min-height:46dvh}body.game-active canvas{height:46dvh;object-fit:fill}.game-active .mobile-controls{position:sticky;bottom:max(3px,env(safe-area-inset-bottom));z-index:12;background:rgba(2,8,4,.94);padding:7px 2px 3px}.game-active .mobile-controls button{height:64px}.game-active .mobile-controls .fire{font-size:19px}.profile-editor{grid-template-columns:1fr}.profile-editor button{width:100%}}

/* Full-viewport game layout. The 960x540 world keeps its 16:9 shape. */
body.game-page{width:100%;height:100dvh;min-height:100dvh;padding:0;overflow:hidden;display:block;background:#020403}
body.game-page .game-shell{width:100vw;max-width:none;height:100dvh;min-height:100dvh;margin:0;padding:10px 12px max(8px,env(safe-area-inset-bottom));border:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden}
body.game-page header{flex:0 0 auto;padding:2px 4px 8px}
body.game-page .hud{flex:0 0 auto;margin-bottom:7px}
body.game-page .canvas-wrap{flex:1 1 auto;min-height:0;display:grid;place-items:center;border-radius:10px}
body.game-page .canvas-wrap>canvas{width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:16/9;background:#020604}
body.game-page .reward-bar{flex:0 0 auto;margin-top:7px;padding:6px 10px}
body.game-page .mobile-controls{flex:0 0 auto}
body.game-page .game-shell:fullscreen{width:100vw;height:100vh;padding-top:max(8px,env(safe-area-inset-top));background:#020403}

@media(max-width:760px),(pointer:coarse){
  body.game-page .game-shell{padding:4px 5px max(4px,env(safe-area-inset-bottom))}
  body.game-page header{padding:1px 2px 4px}
  body.game-page .hud{margin-bottom:4px}
  body.game-page .canvas-wrap,body.game-page.game-active .canvas-wrap{min-height:0}
  body.game-page .canvas-wrap>canvas,body.game-page.game-active canvas{width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:16/9}
  body.game-page .reward-bar{margin-top:4px;padding:5px 7px}
  body.game-page .mobile-controls,body.game-page.game-active .mobile-controls{position:relative;bottom:auto;padding:5px 1px 0;background:transparent;gap:6px}
  body.game-page .mobile-controls button,body.game-page.game-active .mobile-controls button{height:clamp(48px,9dvh,64px)}
}

@media(orientation:landscape) and (max-height:620px){
  body.game-page header{padding-bottom:3px}
  body.game-page .brand .vial{width:32px;height:32px}
  body.game-page .brand h1{font-size:17px}
  body.game-page .brand p,body.game-page .reward-bar{display:none}
  body.game-page .hud{position:absolute;z-index:5;left:8px;top:43px;width:min(430px,48vw);opacity:.9;pointer-events:none}
  body.game-page .hud div{padding:4px 7px;background:rgba(4,14,8,.82)}
  body.game-page .mobile-controls{position:absolute;z-index:8;left:8px;right:8px;bottom:max(5px,env(safe-area-inset-bottom));grid-template-columns:repeat(3,minmax(0,1fr));justify-content:space-between;pointer-events:none}
  body.game-page .mobile-controls button{pointer-events:auto;opacity:.88}
}

.store-button{padding:10px 12px;color:#8cff00;background:#102619;border:1px solid #649b40;border-radius:10px;font-weight:bold;cursor:pointer}.bundle-checkout{position:sticky;bottom:0;display:grid;gap:9px;padding:16px;margin-top:16px;background:#08170e;border:1px solid #8cff00;border-radius:12px;z-index:3}.bundle-checkout small{color:#a1b7a4}.bundle-checkout button{padding:12px}.bundle-checkout button:disabled{opacity:.45}.selected-upgrade{border-color:#c9ff72!important;box-shadow:0 0 15px #8cff0033}

.holder-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0}.holder-actions a{padding:11px 12px;border:1px solid #75bf45;border-radius:9px;color:#caff9b;background:#102417;text-decoration:none;font:bold 10px monospace}.field-guide-overlay{z-index:25!important;background:rgba(0,5,2,.94)}.field-guide-panel{width:min(900px,96%)!important;max-height:94%;overflow:auto;text-align:left!important}.field-guide-panel h2,.field-guide-panel>.eyebrow,.field-guide-panel>p{text-align:center}.field-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.field-guide-grid section{background:#09190f;border:1px solid #395c3e;padding:14px;border-radius:12px}.field-guide-grid h3{color:#8cff00;font-size:15px;margin:0 0 10px}.field-guide-grid p{font:13px/1.5 Arial!important;margin:8px 0!important;color:#c0d1c2}.field-guide-grid strong{color:#efffe9}.field-guide-panel>button{display:block;margin:12px auto!important}@media(max-width:600px){.field-guide-grid{grid-template-columns:1fr}.header-actions{flex-wrap:wrap}#shareXButton{font-size:9px;padding:8px}}

.guide-entry{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:22px;align-items:center;margin:16px 0}.guide-entry canvas{width:100%;height:auto;border:1px solid #47753d;border-radius:14px}.guide-entry h3{color:#8cff00;font-size:24px;margin:8px 0}.guide-entry p{font:15px/1.5 Arial;color:#cadbcd}.guide-entry #guideTip{border-left:3px solid #8cff00;padding-left:12px;color:#a9cb94}.guide-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px}.guide-navigation button{padding:12px 20px}.guide-navigation button:disabled{opacity:.35;cursor:default}.guide-navigation span{font:13px monospace;color:#b7cbb8}@media(max-width:650px){.guide-entry{grid-template-columns:1fr;gap:10px}.guide-entry canvas{max-width:260px;justify-self:center}.guide-entry h3{font-size:20px}.guide-entry p{font-size:13px}.guide-navigation button{padding:10px 14px}}

.buy-serum-panel{border:1px solid #70b744;border-radius:14px;padding:18px;margin:18px 0;background:#0a1c11;text-align:left}.buy-serum-panel h3{color:#8cff00}.buy-serum-panel p{font:13px/1.5 Arial;overflow-wrap:anywhere}.buy-serum-panel label{display:inline-grid;gap:6px;margin:8px;color:#bbd2bd}.buy-serum-panel input,.buy-serum-panel select{padding:10px;background:#07110b;border:1px solid #456a42;color:#efffe9;border-radius:7px;max-width:160px}.buy-serum-panel button{padding:12px;margin:8px}.buy-serum-panel button:disabled{opacity:.45}.buy-serum-panel a{color:#adff68;font-size:12px}#swapQuote{white-space:pre-line;border-left:2px solid #8cff00;padding-left:10px}

#resultShareDialog{width:min(620px,92vw);max-height:90dvh;overflow:auto;padding:24px;border:1px solid #8cff00;border-radius:16px;background:#07110b;color:#efffe9;text-align:center}#resultShareDialog::backdrop{background:rgba(0,0,0,.8)}#resultShareDialog h2{color:#8cff00;font:900 24px Arial}#resultShareImage{display:block;width:100%;height:auto;border-radius:8px}#resultShareHelp{font:15px/1.6 Arial;color:#cfe1d1}#closeResultShare{float:right;background:transparent;color:#efffe9;border:0;font-size:26px;cursor:pointer}.share-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.share-links a{padding:13px 17px;border:1px solid #8cff00;border-radius:8px;color:#8cff00;font:bold 13px Arial;text-decoration:none}.share-links a:focus-visible{outline:3px solid white;outline-offset:3px}

.share-links[hidden]{display:none!important}

#seasonWelcome{width:min(680px,94vw);max-height:90dvh;overflow:auto;box-sizing:border-box;border:1px solid #8cff00;border-radius:18px;padding:clamp(18px,4vw,30px);background:linear-gradient(145deg,#102719,#050d08);color:#efffe9;text-align:center;box-shadow:0 0 50px #8cff001c}#seasonWelcome::backdrop{background:#000c}#seasonWelcome h2{color:#8cff00;font:900 clamp(24px,5vw,36px)/1.1 Arial;overflow-wrap:anywhere}#seasonWelcome p{font:14px/1.5 Arial;color:#c3d4c5}#seasonWelcome h3{font:700 17px Arial;color:#d9ffae}#seasonWelcome .welcome-prize{display:flex;align-items:center;justify-content:center;gap:18px;padding:18px;border:1px solid #547b3e;border-radius:12px;background:#031008;margin:18px 0}#seasonWelcome .welcome-prize span{font:bold 11px monospace;letter-spacing:.08em;color:#8cff00}#welcomePrizeImage{width:100px;height:100px;object-fit:contain;border-radius:10px}#welcomePrize{margin:8px 0;overflow-wrap:anywhere}#welcomeStandings{padding:0;list-style:none;margin:10px 0}#welcomeStandings li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;padding:12px 8px;text-align:left;border-bottom:1px solid #28432e;font:14px Arial}#welcomeStandings .welcome-player{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#welcomeStandings strong{color:#8cff00}#continueSeasonWelcome{padding:14px 22px;background:#8cff00;color:#07110a;font-weight:900;border:0;border-radius:10px;cursor:pointer}#continueSeasonWelcome:focus-visible{outline:3px solid white;outline-offset:4px}#seasonWelcome .welcome-note{font-size:12px}#seasonWelcome [hidden]{display:none!important}@media(max-width:450px){#seasonWelcome .welcome-prize{flex-direction:column}#welcomeStandings li{font-size:12px;gap:5px}}

#seasonWelcome .welcome-art{height:170px;position:relative;margin:-12px -8px 12px;overflow:hidden;border-radius:12px;background:radial-gradient(ellipse at center bottom,#70ff0033,transparent 65%),linear-gradient(#03100888,#031008ee),url('assets/uas-labs-background.png') center 55%/cover}#seasonWelcome .welcome-scientist{position:absolute;height:143px;width:100px;object-fit:contain;left:50%;bottom:8px;transform:translateX(-50%);filter:drop-shadow(0 0 12px #8cff0055)}#seasonWelcome .welcome-mutant{position:absolute;height:135px;width:135px;object-fit:contain;bottom:6px;filter:drop-shadow(0 0 10px #8cff0033)}#seasonWelcome .welcome-mutant.left{left:10%;transform:rotate(-6deg)}#seasonWelcome .welcome-mutant.right{right:10%;transform:rotate(6deg)}#seasonWelcome .welcome-serum{position:absolute;right:10px;top:10px;display:flex;align-items:center;gap:5px;color:#8cff00;font:900 14px Arial;letter-spacing:.06em}#seasonWelcome .welcome-serum img{width:26px;height:33px;object-fit:contain}@media(max-width:450px){#seasonWelcome .welcome-art{height:140px}#seasonWelcome .welcome-scientist{height:120px;width:78px}#seasonWelcome .welcome-mutant{height:104px;width:104px}#seasonWelcome .welcome-mutant.left{left:0}#seasonWelcome .welcome-mutant.right{right:0}#seasonWelcome .welcome-serum{font-size:11px}}

/* Keep held game controls from selecting their labels on touch screens. */
button,button *,[role="button"],[role="button"] *,canvas{
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
}
button,[role="button"]{touch-action:manipulation}


/* Movement stays together on the left; Jump is centred; Fire is at the right. */
.mobile-controls .movement-controls{grid-column:1;justify-self:start;display:flex;gap:6px;pointer-events:none}
.mobile-controls .movement-controls button{width:clamp(42px,12vw,70px);pointer-events:auto}
.mobile-controls>.jump{grid-column:2;justify-self:center;width:clamp(48px,14vw,84px)}
.mobile-controls>.fire{grid-column:3;justify-self:end;width:clamp(48px,14vw,84px)}
.wallet-choices{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:12px 0}
.wallet-choices button{padding:12px 16px;min-height:44px}
