<!-- SOLID CITY · part 2018 -->
   </div>
      <button class="launch" id="launch">LAUNCH FLEET</button>
      <a class="city-back" href="../?back=strike">← back to Solid City</a>
    </div>
  </div>
  <header class="topbar">
    <div class="mission"><strong>Mission · Hold the Meridian Beacon</strong><small id="missionLine">First squadron to secure 100% control wins.</small></div>
    <button class="stat-open" id="statsOpen">LIVE STATS</button>
  </header>
  <main class="battlefield">
    <section class="screen gold" data-team="gold">
      <div class="screen-head"><b>GOLD SQUADRON · SCREEN 1</b><span class="health" id="goldHealth">4 ships combat-ready</span><span class="signal">LINK GOOD</span></div>
      <div class="view"><canvas id="goldCanvas" aria-label="Gold Squadron tactical view"></canvas><div class="objective"><span>BEACON</span><div class="meter"><i id="goldMeter"></i></div><span id="goldProgress">0%</span></div><div class="selected" id="goldSelected"><strong>Tap a Gold fighter</strong> to take its helm</div></div>
      <div class="commands"><div class="orders" aria-label="Gold squadron orders"><button data-team="gold" data-order="form">FORM UP</button><button data-team="gold" data-order="attack">ATTACK</button><button data-team="gold" data-order="defend">DEFEND</button><button data-team="gold" data-order="intercept">INTERCEPT</button></div><div class="pilot"><button class="fire" data-team="gold" data-action="fire">FIRE</button><button data-team="gold" data-action="shield">SHIELD</button><button class="release" data-team="gold" data-action="release">YIELD</button></div></div>
    </section>
    <section class="screen teal" data-team="teal">
      <div class="screen-head"><b>TEAL SQUADRON · SCREEN 2</b><span class="health" id="tealHealth">4 ships combat-ready</span><span class="signal">LINK GOOD</span></div>
      <div class="view"><canvas id="tealCanvas" aria-label="Teal Squadron tactical view"></canvas><div class="objective"><span>BEACON</span><div class="meter"><i id="tealMeter"></i></div><span id="tealProgress">0%</span></div><div class="selected" id="tealSelected"><strong>Tap a Teal fighter</strong> to intervene</div></div>
      <div class="commands"><div class="orders" aria-label="Teal squadron orders"><button data-team="teal" data-order="form">FORM UP</button><button data-team="teal" data-order="attack">ATTACK</button><button data-team="teal" data-order="defend">DEFEND</button><button data-team="teal" data-order="intercept">INTERCEPT</button></div><div class="pilot"><button class="fire" data-team="teal" data-action="fire">FIRE</button><button data-team="teal" data-action="shield">SHIELD</button><button class="release" data-team="teal" data-action="release">YIELD</button></div></div>
    </section>
  </main>
  <div class="toast" id="toast"></div>
  <div class="drawer" id="drawer" role="dialog" aria-modal="true" aria-label="Fleet statistics"><div class="sheet"><div class="sheet-head"><div><h2>Fleet telemetry</h2><p>Values come from this battle’s state and event ledger.</p></div><button class="close" id="statsClose" aria-label="Close statistics">×</button></div><div class="scoreboard"><div class="score gold"><b id="goldScore">0%</b><span>GOLD MISSION PROGRESS</span></div><div class="score teal"><b id="tealScore">0%</b><span>TEAL MISSION PROGRESS</span></div></div><div class="ships" id="shipStats"></div><h3 class="event-title">COORDINATION EVENTS</h3><div class="events" id="events"></div></div></div>
  <div class="debrief" id="debrief"><div class="debrief-card"><h2 id="winner">Gold secures the beacon.</h2><p id="summary"></p><button id="again">FLY AGAIN</button></div></div>
      <a href="/city/?back=strike" style="display:inline-block;margin:10px 0 0 10px;padding:12px 22px;border:2px solid #c99a3a;border-radius:10px;color:#ffd27a;font:700 14px system-ui,sans-serif;text-decoration:none">← RETURN TO SOLID CITY</a>
<script>
(function(){
  'use strict';
  var W=1200,H=720,BEACON={x:600,y:360,r:70},rngSeed=88421,ships=[],shots=[],rocks=[],sparks=[],events=[],progress={gold:0,teal:0},selected={gold:null,teal:null},order={gold:'form',teal:'form'},running=false,last=performance.now(),missionStart=performance.now(),eventCounts={handoff:0,rescue:0,formation:0,rejected:0,hit:0};
  var names={gold:['AURIC-1','MESA-2','SOL-3','CROWN-4'],teal:['TIDELINE-1','VAPOR-2','REEF-3','CURRENT-4']};
  var pilots={gold:['AI KAI','AI LUMA','AI ORBIT','AI NOVA'],teal:['AI MIRA','AI VEIL','AI ECHO','AI WAVE']};
  function rand(){rngSeed=(rngSeed*1664525+1013904223)>>>0;return rngSeed/4294967296}
  function clamp(v,a,b){return Math.max(a,Math.min(b,v))} function dist(a,b){return Math.hypot(a.x-b.x,a.y-b.y)}
  function stamp(){var s=Math.floor((performance.now()-missionStart)/1000);return String(Math.floor(s/60)).padStart(2,'0')+':'+String(s%60).padStart(2,'0')}
  function log(type,text,ship){events.unshift({time:stamp(),type:type,text:text,ship:ship||'FLEET'});if(events.length>80)events.pop();if(eventCounts[type]!=null