<!-- SOLID CITY · part 2905 -->
arrow","Aptos Narrow",system-ui,sans-serif;text-transform:uppercase;letter-spacing:.04em;list-style:none;display:flex;justify-content:space-between;align-items:center}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:22px;color:var(--cyan)}details[open] summary:after{content:"−"}
    .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}
    .stat{background:var(--panel);padding:13px}.stat strong{display:block;font:700 25px/1 "Arial Narrow","Aptos Narrow",system-ui,sans-serif;color:var(--cyan)}.stat span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
    .log{max-height:244px;overflow:auto;border-top:1px solid var(--line)}.event{display:grid;grid-template-columns:64px 1fr;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line);font-size:11px}.event time{color:var(--muted);font-variant-numeric:tabular-nums}.event b{text-transform:uppercase;font-size:10px;color:var(--cyan);margin-right:5px}.event.interference b{color:var(--danger)}.event.rescue b{color:var(--ok)}
    .story{padding:0 14px 14px;color:var(--muted);font-size:12px;line-height:1.55;border-top:1px solid var(--line)}.story h3{font:700 18px/1 "Arial Narrow","Aptos Narrow",system-ui,sans-serif;text-transform:uppercase;color:var(--ink);margin:14px 0 7px}.story ol{padding-left:20px;margin:6px 0}.story li+li{margin-top:5px}
    .toast{position:fixed;z-index:20;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#101c21;color:#fff;border:1px solid #4f6c77;padding:11px 15px;max-width:calc(100vw - 24px);font-size:12px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
    .result{position:absolute;inset:0;z-index:7;display:none;place-items:center;background:rgba(2,10,15,.88);color:#fff;padding:20px;text-align:center}.result.show{display:grid}.result h2{font:800 clamp(38px,7vw,70px)/.9 "Arial Narrow","Aptos Narrow",system-ui,sans-serif;text-transform:uppercase;margin:0 0 10px}.result p{color:#cee5eb;max-width:470px;margin:0 auto 18px;line-height:1.5}
    @media(max-width:900px){.layout{grid-template-columns:1fr}.stations{grid-template-columns:repeat(4,1fr)}.station{min-height:98px;padding:10px}.station-note{display:none}.lower{grid-template-columns:1fr}.controls{min-height:90px}.mission-strip{grid-template-columns:1fr}.status-line{justify-content:flex-start}}
    @media(max-width:640px){.shell{padding:8px}.mission-strip{padding:8px 10px;margin-bottom:6px;gap:7px}.eyebrow{font-size:10px}.objective{font-size:20px;margin:2px 0}.brief{display:none}.status-line{gap:5px}.status-pill{padding:5px 7px;font-size:10px}.layout{gap:6px}.battle-wrap{height:300px}#battle{height:300px;aspect-ratio:auto}.hud-top{top:5px;left:5px;right:5px;gap:3px}.meter{padding:4px}.meter span{font-size:8px}.advisory{left:6px;bottom:6px;max-width:calc(100% - 12px);font-size:9px;padding:6px}.stations{grid-template-columns:1fr 1fr}.station{min-height:65px;padding:8px}.station-name{font-size:13px;margin-bottom:4px}.owner{font-size:9px}.panel-head{padding:7px 9px}.panel-head h2{font-size:17px}.hint{font-size:9px}.controls{padding:0;border:0}.controls-empty{display:none!important}.control-group.active{padding:8px}.mission-state{grid-template-columns:repeat(4,1fr);gap:3px;margin-top:0}.count{padding:6px 4px}.count b{font-size:17px}.count span{font-size:7px}.stats-grid{grid-template-columns:repeat(2,1fr)}.lower{margin-top:6px;gap:6px}.start-card h1{font-size:34px;margin-bottom:8px}.start-card p{font-size:11px;line-height:1.35;margin-bottom:10px}.primary{min-height:46px}.start-screen{padding:10px}}
    @media(max-height:560px) and (orientation:landscape){.shell{padding:6px}.mission-strip{display:none}.layout{grid-template-columns:minmax(0,1.45fr) minmax(315px,.75fr);gap:6px}.battle-wrap{height:calc(100vh - 12px)}#battle{height:100%;width:100%;aspect-ratio:auto}.station-panel{max-height:calc(100vh - 12px);overflow:auto}.panel-head{padding:8px}.station{min-height:74px;padding:8px}.station-note{display:none}.controls{padding:8px}.control-btn{min-height:42px}.mission-state{margin-top:7px}.lower{display:none}}
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
  </style>
</head>
<body>
  <main class="shell">
    <section class="mission-strip" aria-label="Mission status">
      <div>
        <div class="eyebrow">Operation Lantern · Rescue Corridor 7</div>
        <div class="objective" id="objective">Recover three stranded pilots and reach the rescue gate.</div>
        <div class="brief">Claim any station with one tap. Your AI crew instantly yields that station and continues the rest.</div>
      </div>
      <div class="status-line">
        <div class="status-pill"><i class="dot"></i><span id="signalText">Signal verified</span></div>
        <div class="status-pill">Crew <b