/* Shared Andromeda Wars visual language, aligned with Game Command. */
:root{color:#e3f4e8;background:#030d08;--signal:#5dff94;--signal-soft:#84cba1;--line:#24503a;--panel:#07180f}
.logo,.wordmark{letter-spacing:.045em}
.logo b,.wordmark span{color:var(--signal)}
.siteHeader{background:#030b07;border-color:var(--line);box-shadow:0 1px 0 #000}
.siteHeader .logo:before{content:'✦';display:inline-grid;place-items:center;width:35px;height:35px;margin-right:12px;border:1px solid #41845c;background:linear-gradient(140deg,#163022,#07120c);color:var(--signal);font:20px Georgia,serif;vertical-align:middle;box-shadow:inset 0 0 13px #48e47e27}
.siteHeader nav{color:#acbfaf}.siteHeader nav a:hover,.textButton:hover,.inlineLink:hover{color:var(--signal)}
.headerActions button{color:#c0dcc7}.navPlay,.mainButton{background:var(--signal);color:#03130a}
.navPlay:hover,.mainButton:hover{background:#c8ffda}
.hero{background:radial-gradient(ellipse at 78% 42%,#13402b 0%,#071b13 35%,#030b07 77%)}
.hero:after{opacity:.15;background-image:linear-gradient(#58ff9b50 1px,transparent 1px),linear-gradient(90deg,#58ff9b50 1px,transparent 1px)}
.hero:before{content:'0101   1100   0101   0010   1010   0011';position:absolute;right:2.7%;top:9%;width:18px;overflow-wrap:anywhere;color:#48ef8124;font:13px/1.5 monospace;letter-spacing:9px;z-index:1;pointer-events:none}
.eyebrow{color:var(--signal);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.15em}
.hero h1 em{color:var(--signal)}.lead{color:#bbd0bf}.beta{color:#81aa8b}
.planet{background:radial-gradient(circle at 30% 30%,#367c6b 0%,#1b5640 25%,#0b2f22 50%,#020806 71%);box-shadow:-14px -7px 28px #5efba665,-40px -5px 115px #21864b50,90px 40px 80px #020704}
.orbit{border-color:#71d99128}.beamBlue{color:#58c8ff;background:#58c8ff}.beamRed{color:#ff5e6e;background:#ff5e6e}.artTag{color:#9bcaa5}
.modeSection{background:#06140d}.sectionHeading p:last-child,.realText>p:not(.eyebrow):not(.shopNote){color:#b5cbbc}
.featureGrid{background:#356c4847;border-color:#356c4847}.featureGrid article{background:#081b11}.featureGrid .num,.inlineLink{color:var(--signal)}.featureGrid p{color:#9db9a4}
.realVisual{background:linear-gradient(130deg,#0d3422bf,#041009eb),repeating-linear-gradient(30deg,#1f4930,#1f4930 2px,#102619 3px,#102619 34px)}
.realVisual:after{border-color:#70f79a4a;box-shadow:0 0 0 28px #51ff800a,0 0 0 78px #51ff8007}.realVisual .reticle{color:#66fa9c88}.vertical{color:#8bca9b}
.realText{background:#091d12}.shopNote,.siteFooter{color:#8caa93}.siteFooter{background:#030d08}.siteFooter a{color:var(--signal)}

/* Game lobby, HUD and arena overlays. Keep team blue/red readable. */
body:has(#game){background:#030d08;color:#e3f4e8}
#menu{background:linear-gradient(90deg,#030d08f5 0%,#04110bea 52%,#061c1199 100%)}
.menuGlow{border-color:#5dff9428;box-shadow:0 0 0 65px #3af57908,0 0 0 130px #3af57904,0 0 160px #18784240}
.menuGlow:after{content:'0101';font:700 min(16vw,180px) ui-monospace,SFMono-Regular,Consolas,monospace;color:#54f9880c;letter-spacing:.15em}
.topline{border-bottom:1px solid var(--line);padding-bottom:20px}.wordmark span{color:var(--signal)}.wordmark small{color:#89aa91}
.backLink{font-size:12px;color:var(--signal);text-decoration:none;font-weight:800;letter-spacing:.1em}.backLink:hover{color:#fff}
.status,.menuContent .eyebrow{color:var(--signal)}.status:before{background:var(--signal);box-shadow:0 0 12px var(--signal)}
.menuContent{width:min(630px,100%)}.menuContent h1{font-size:clamp(64px,7.5vw,108px)}.menuContent h1 span{color:var(--signal)}.story{color:#a9c3af}
.form label,.join label{color:#c2ddc9}.form small{color:#86a38d}
input{background:#04110a;border-color:#285a39;color:#e5f4e8;border-radius:0}input:focus{border-color:var(--signal);box-shadow:0 0 0 2px #5dff9423}input::placeholder{color:#759581}
.actions button,.join button{border-radius:0}.primary{background:var(--signal);border-color:var(--signal);color:#04130a;box-shadow:0 0 22px #4cff8c27}.primary:hover{background:#bbffcf}
.outline{background:#071b10;border-color:#3d7850;color:#e4f6e9}.outline:hover{border-color:var(--signal)}
.join{border-color:#29573a}.join button{background:#153b24;color:var(--signal);border-color:#3f9d5c}.menuFoot{border-color:var(--line);color:#8bb29a}
#vignette{background:radial-gradient(ellipse,transparent 38%,#020905bd 100%)}#crosshair i{background:var(--signal);box-shadow:0 0 6px var(--signal)}
.matchscore,.timer,.hudBox{background:#04140bdc;border-color:#49775a85}.matchscore span{color:#d2e9d7}.matchscore em{color:#82ae90}.hudBox{border-left-color:var(--signal);color:#a8c6ae}.meter{background:#20472c}.meter span{background:var(--signal)}
.small{color:var(--signal)}.help{color:#c3e2ca}#killfeed{color:#d8ffe3}.centerNotice{text-shadow:0 0 14px #4afc8a}
#board{background:#04150cef;border-color:#4ba96799}#boardRows .row{border-bottom-color:#2a4d34}
@media(max-width:700px){.siteHeader .logo:before{width:25px;height:25px;margin-right:6px;font-size:15px}.hero:before{display:none}}

.modeChoice{display:block;margin-top:18px;color:#c2ddc9;font-size:11px;font-weight:800;letter-spacing:.13em}select{display:block;width:100%;background:#04110a;border:1px solid #285a39;color:#e5f4e8;padding:14px;margin-top:9px;font:inherit}.modeDescription{color:#b2cdb8;font-size:13px;min-height:34px;margin:9px 0}.objectiveHud{position:absolute;left:32px;top:90px;background:#04140bdc;border-left:3px solid #5dff94;padding:9px 14px;font-size:11px;letter-spacing:.1em;max-width:min(46vw,480px)}.objectiveHud span{display:block}.objectiveHud span:first-child{font-weight:900;color:#5dff94;margin-bottom:4px}@media(max-width:700px){.objectiveHud{top:80px;left:15px;max-width:65vw}.hudBox{min-width:75px;padding:6px}.footerRight{gap:4px}}

#actionPrompt{position:absolute;top:67%;left:50%;transform:translateX(-50%);color:#d8ffdd;background:#062014d9;border:1px solid #60eb87a9;padding:9px 15px;font:800 12px Inter,Arial,sans-serif;letter-spacing:.09em;text-align:center;max-width:80vw;min-width:180px}#actionPrompt:empty{display:none}

#minimap{position:absolute;right:32px;top:96px;width:180px;height:180px;border:1px solid #5aab77;box-shadow:0 4px 22px #0008;background:#07190fdd}@media(max-width:700px){#minimap{width:105px;height:105px;right:15px;top:80px}}

#weaponArt{position:absolute;right:-3vw;bottom:-5vw;width:min(68vw,1250px);height:auto;pointer-events:none;filter:drop-shadow(0 16px 20px #0008);transition:transform .08s ease;transform-origin:85% 88%;z-index:0}#weaponArt.kick{transform:translate(8px,15px) rotate(-1deg)}#hud header,#hud footer,#hud .objectiveHud,#hud .centerNotice,#hud #killfeed,#hud #minimap,#hud #actionPrompt{z-index:1}@media(max-width:700px){#weaponArt{width:85vw;right:-10vw;bottom:-7vw}}

/* Compact first-person view and clear sightline. */
#weaponArt{width:min(55vw,1040px);right:-7vw;bottom:-7vw}#crosshair{z-index:60}#crosshair i{background:#90ff9f;box-shadow:0 0 4px #061a0b,0 0 8px #5dff94}#minimap{left:auto;bottom:auto;right:32px;top:96px}#shotTrace{position:fixed;inset:0;width:100vw;height:100vh;z-index:55;pointer-events:none;overflow:visible;opacity:0;transition:opacity .18s ease}#shotTrace.active{opacity:1;transition:none}#shotLine{stroke:#72faff;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 6px #52d9ff)}#shotImpact{fill:none;stroke:#c9ffff;stroke-width:3;filter:drop-shadow(0 0 6px #72faff)}#loadout{position:absolute;bottom:68px;left:50%;transform:translateX(-50%);padding:5px 10px;background:#082012cc;border:1px solid #55986b;color:#d9f4df;font:700 11px Inter,Arial,sans-serif;white-space:nowrap;letter-spacing:.04em}#bombHeld{position:absolute;right:8vw;bottom:-1vw;width:280px;height:320px;background:linear-gradient(145deg,#536457,#1a2d25 45%,#080e0c);border:16px solid #1a2320;border-radius:25px;box-shadow:0 18px 30px #000b;transform:rotate(-13deg);z-index:0}#bombHeld .bombHandle{position:absolute;left:67px;top:-65px;width:115px;height:65px;border:14px solid #18201d;border-bottom:0;border-radius:22px 22px 0 0}#bombHeld .bombScreen{position:absolute;left:22px;right:22px;top:65px;padding:22px 7px;background:#03180f;border:5px solid #5d7266;color:#5dff94;text-align:center;font:700 16px/1.5 monospace}#bombHeld .bombScreen b{color:#ffa658;font-size:20px}#bombHeld .bombLED{position:absolute;bottom:36px;left:110px;width:22px;height:22px;background:#fd4d49;border-radius:50%;box-shadow:0 0 20px #ff5a4a}#bombHeld[hidden]{display:none!important}@media(max-width:700px){#weaponArt{width:70vw;right:-12vw;bottom:-8vw}#loadout{font-size:8px;bottom:54px}#minimap{right:15px;top:80px}#bombHeld{transform:scale(.65) rotate(-13deg);transform-origin:bottom right;right:2vw}}

/* First-person viewmodel from the user's physical rifle design. */
#weaponArt{width:78vw;max-width:1460px;right:-8vw;bottom:-10vw}#weaponArt.kick{transform:translate(3px,7px) rotate(-.35deg)}#shotTrace{display:none}#shotPulse{position:fixed;left:50%;top:50%;width:10px;height:10px;margin:-5px;border:2px solid #caffed;border-radius:50%;box-shadow:0 0 8px #78ffcc,0 0 19px #69ddff;z-index:54;pointer-events:none;opacity:0;transform:scale(.45)}#shotPulse.active{animation:shotPulse .17s ease-out}@keyframes shotPulse{0%{opacity:.9;transform:scale(1.25)}100%{opacity:0;transform:scale(.15)}}@media(max-width:700px){#weaponArt{width:105vw;right:-18vw;bottom:-12vw}}

/* Matrix Dock HUD: central red/timer/blue strip, lower-left radar, live vitals. */
#hud{padding:22px 28px}#hud header{align-items:flex-start}.matchscore{position:absolute;left:50%;top:18px;transform:translateX(-50%);gap:0;padding:0;background:#071713c7;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);border:1px solid #608c7880;box-shadow:0 5px 25px #0008}.teamScore{display:flex;align-items:center;gap:13px;padding:5px 20px;min-width:110px;justify-content:center}.teamScore span{font:700 11px monospace}.teamScore.red{background:#541d258c;border-right:1px solid #ff606b;box-shadow:inset 0 0 18px #ff354320}.teamScore.blue{background:#0c345a99;border-left:1px solid #48b6ff;box-shadow:inset 0 0 18px #329dff20}.matchscore .teamScore.red b{color:#ffadb0}.matchscore .teamScore.blue b{color:#9ce2ff}.matchscore .timer{border:0;background:#051310b3;padding:9px 17px;min-width:85px;text-align:center;color:#f4fff9;font:800 25px Impact,Arial,sans-serif}.sessionInfo{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font:10px monospace;color:#9fc9b4}.sessionInfo b{color:#e4faee}.sessionInfo button{padding:2px 0}.objectiveHud{top:88px;left:28px;max-width:400px;background:#061811a3;border-left-width:2px;font-size:10px}.objectiveHud span:first-child{color:#bceacb}#minimap{left:24px;bottom:30px;top:auto;right:auto;width:200px;height:200px;border-radius:50%;border:0;background:transparent;box-shadow:none}#hud footer{position:absolute;bottom:32px;right:28px;left:auto}.combatVitals{display:flex;gap:12px;align-items:end}.hudBox{min-width:112px;border:1px solid #5788727d;background:#031511cf;padding:10px 13px;color:#bcdfcc}.hudBox strong{font:800 40px Impact,Arial,sans-serif;margin:3px 0}.ammunition strong{color:#b8e5ff}.vitality strong{color:#c1ffcf}.pips{width:110px;height:6px;--rounds:10;background:linear-gradient(90deg,#91cde8 calc(var(--rounds)*10%),#183027 0);mask:repeating-linear-gradient(90deg,#000 0 8px,transparent 8px 11px)}.vitality .pips{background:linear-gradient(90deg,#7ae6a2 calc(var(--rounds)*10%),#183027 0)}#loadout{bottom:44px;background:#03150dbb;border-color:#3c6651;font-size:10px;max-width:48vw;white-space:normal;text-align:center}#crosshair{width:26px;height:26px}#crosshair i{background:#eafff0;box-shadow:0 0 5px #000}#crosshair i:nth-child(1),#crosshair i:nth-child(2){left:12px}#crosshair i:nth-child(3),#crosshair i:nth-child(4){top:12px}#vignette{background:radial-gradient(ellipse,transparent 50%,#02090670 100%)}#weaponArt{width:70vw;right:-9vw;bottom:-10vw;filter:brightness(.67) saturate(.65) drop-shadow(0 10px 15px #0008)}.help{font-size:10px;bottom:12px}#killfeed{top:92px}.menuContent h1{font-size:clamp(60px,7vw,96px)}@media(max-width:700px){#hud{padding:12px}.sessionInfo{display:none}#hud .wordmark{font-size:14px;max-width:90px}.wordmark small{font-size:7px}.matchscore{top:12px;left:auto;right:12px;transform:none}.teamScore{min-width:62px;padding:5px 8px;gap:6px}.teamScore span{font-size:8px}.matchscore .timer{font-size:18px;min-width:52px;padding:10px}.objectiveHud{top:80px;left:12px;max-width:60vw;font-size:9px}#minimap{width:125px;height:125px;left:12px;bottom:25px}#hud footer{bottom:25px;right:12px}.hudBox{min-width:70px;padding:7px}.hudBox strong{font-size:28px}.pips{width:66px;mask:repeating-linear-gradient(90deg,#000 0 4px,transparent 4px 6.6px)}.combatVitals{gap:5px}#loadout{bottom:9px;font-size:8px;max-width:90vw}#weaponArt{width:100vw;right:-20vw;bottom:-16vw}}
