<!-- SOLID CITY · part 3469 -->
AnimationFrame(loop)});
  document.getElementById('restartBtn').addEventListener('click',function(){debrief.hidden=true;setup();missionStart=performance.now();last=missionStart;running=true;requestAnimationFrame(loop)});
  setup();resize();draw();
})();
</script>
</body>
</html>

===== FILE: public/city/swarm/index.html.bak-summit-20261011 =====
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
  <meta name="color-scheme" content="light dark" />
  <link rel="icon" href="data:," />
  <title>Swarm Command</title>
  <style>
    :root{
      color-scheme:light dark;
      --bg:#071013;--panel:#0d1a1e;--panel2:#122329;--ink:#f2f7f6;--muted:#9bb0b2;
      --line:#284047;--gold:#ffc34d;--gold2:#ff8b3d;--teal:#52e0d0;--red:#ff625f;--green:#7ee39b;
      --shadow:0 18px 48px rgba(0,0,0,.28);--soft:rgba(255,255,255,.055);
    }
    @media(prefers-color-scheme:light){
      :root{--bg:#eaf2f1;--panel:#f8fbfa;--panel2:#fff;--ink:#102326;--muted:#52696d;--line:#bfd0d1;
      --gold:#a85b00;--gold2:#c63e19;--teal:#007f77;--red:#bd2f36;--green:#087b38;--shadow:0 18px 48px rgba(20,48,53,.15);--soft:rgba(14,58,64,.06)}
    }
    *{box-sizing:border-box}
    html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
    body{overflow-x:hidden}
    button{font:inherit;color:inherit}
    button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
    .app{width:min(1500px,100%);margin:0 auto;padding:clamp(10px,2vw,24px);padding-bottom:max(16px,env(safe-area-inset-bottom))}
    .mission-bar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(190px,1fr) minmax(260px,2fr) auto auto;gap:14px;align-items:center;margin-bottom:12px;padding-bottom:8px;background:var(--bg)}
    .objective h1{font-size:clamp(1.25rem,2.5vw,2rem);line-height:1;margin:0 0 6px;font-weight:780;letter-spacing:-.035em}
    .objective p{margin:0;color:var(--muted);font-size:.86rem}
    .progress-wrap{min-width:0}
    .progress-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font:700 .72rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);letter-spacing:.05em}
    .progress-track{height:14px;border:1px solid var(--line);background:var(--panel);position:relative;overflow:hidden;clip-path:polygon(0 0,98% 0,100% 50%,98% 100%,0 100%)}
    .progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--gold));transition:width .25s linear}
    .integrity{display:flex;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);padding:9px 12px}
    .integrity strong{font:800 1.25rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--green)}
    .integrity span{font-size:.68rem;color:var(--muted);line-height:1.2;text-transform:uppercase;letter-spacing:.09em}
    .layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;align-items:start}
    .field-shell{position:relative;background:#03090b;border:1px solid var(--line);min-height:560px;overflow:hidden;box-shadow:var(--shadow)}
    canvas{display:block;width:100%;height:560px;touch-action:none;background:#03090b}
    .hud-top{position:absolute;left:10px;right:10px;top:10px;display:flex;gap:8px;justify-content:space-between;pointer-events:none}
    .hud-chip{background:rgba(4,12,15,.86);border:1px solid rgba(115,223,213,.28);padding:7px 9px;font:700 .7rem ui-monospace,SFMono-Regular,Menlo,monospace;color:#dff8f4;backdrop-filter:blur(8px)}
    .hud-chip b{color:#5de1d2}
    .advisory{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;gap:9px;background:rgba(4,12,15,.9);border:1px solid rgba(255,195,77,.34);padding:9px 10px;color:#f9f4e6;font-size:.78rem;pointer-events:none}
    .advisory::before{content:"AI";font:800 .67rem ui-monospace,SFMono-Regular,Menlo,monospace;color:#ffca5e;border:1px solid #b97921;padding:3px 5px}
    .pause-btn{width:42px;height:42px;border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));background:var(--panel);color:var(--gold);font-size:1rem;font-weight:900;cursor:pointer;box-shadow:var(--shadow)}
    .pause-btn:hover{background:#ffc34d;color:#171207}.pause-btn[hidden]{display:none}
    .pause-screen{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(2,8,10,.9);backdrop-filter:blur(8px);color:#f3f8f7}.pause-screen[hidden]{display:none}
    .pause-card{width:min(380px,100%);padding:28px;border:1px solid #35555a;background:#0d1a1e;box-shadow:0 30px 100px rgba(0,0,0,.6);text-align:center}.pause-card h2{margin:0 0 8px;font-size:2rem;letter-spacing:-.04em}.pause-card p{margin:0 0 22px;color:#9fb3b5;font-size:.82rem}
    .pause-actions{display:grid;gap:9px}.pause-actions button,.pause-actions a{display:grid;place-items:center;min-height:52px;paddin