<!-- SOLID CITY · part 3263 -->
ner('DOMContentLoaded', early); else early();
if (!start()) {
  var done = false;
  addEventListener('sc-city-built', function () { if (!done && start()) done = true; });
  var k = 0, iv = setInterval(function () { if (done || ++k > 400) return clearInterval(iv); if (start()) { done = true; clearInterval(iv); } }, 300);
}
})();


===== FILE: public/city/space/index.html =====
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">
<meta name="theme-color" content="#000000">
<meta name="apple-mobile-web-app-capable" content="yes">
<title>SPACE MISSION · Solid City — epistles</title>
<style>
@font-face{font-family:RC;src:url(/city/fonts/RobotoCondensed-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:#000;overflow:hidden;overscroll-behavior:none;touch-action:none;color:#f4ead2;font-family:RC,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
[hidden]{display:none!important}
#gl{position:fixed;inset:0;width:100%;height:100%;display:block}
/* ---------- loader ---------- */
#load{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(20px + env(safe-area-inset-top)) 22px calc(20px + env(safe-area-inset-bottom));background:radial-gradient(90% 60% at 50% 30%,#3a0710 0,#0a0204 62%,#000 100%)}
#load .crest{font-size:40px;color:#e8c36a;text-shadow:0 0 22px rgba(232,195,106,.6)}
#load .kicker{font:700 12px/1 RC,system-ui;letter-spacing:.32em;color:#ff4d5e;margin-top:8px}
#load h1{font:800 clamp(38px,12vw,74px)/.95 RC,system-ui;letter-spacing:.06em;color:#e8c36a;margin:8px 0 10px;text-shadow:0 3px 0 #5a0410,0 0 30px rgba(255,140,60,.25)}
#load p{max-width:420px;color:#d9cfd9;line-height:1.45;margin:0 0 16px;font-size:15px}
#load .steps{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:0 0 18px;max-width:440px}
#load .steps span{font:700 11px/1 RC,system-ui;letter-spacing:.14em;padding:7px 9px;border-radius:999px;border:1px solid #6b5220;color:#f6dc8e;background:rgba(20,10,12,.7)}
.bar{width:min(320px,80vw);height:8px;border-radius:8px;background:#1a0e10;border:1px solid #6b5220;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#a30d1d,#ff4d5e,#e8c36a);transition:width .25s}
#load-msg{margin-top:9px;font-size:12px;letter-spacing:.14em;color:#a49aa8;min-height:16px}
.big{min-width:250px;min-height:60px;border-radius:16px;border:2px solid #e8c36a;background:linear-gradient(180deg,#ff3048,#a30d1d);color:#fff;font:900 20px/1 RC,system-ui;letter-spacing:.2em;cursor:pointer;box-shadow:0 10px 30px rgba(227,18,44,.45);margin-top:16px}
.big[disabled]{opacity:.35}
.cs{display:flex;gap:8px;align-items:center;margin-top:14px;font-size:12px;letter-spacing:.14em;color:#b9aeb8}
.cs input{width:150px;height:44px;border-radius:12px;border:1px solid #6b5220;background:#0c0a0e;color:#fff;font:700 16px RC,system-ui;padding:0 12px;text-transform:uppercase;-webkit-user-select:text;user-select:text}
.back{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;color:#e8c36a;font-size:14px;text-decoration:none;padding:0 10px}
.keys{margin-top:6px;color:#8d8392;font-size:12px;letter-spacing:.06em}
/* ---------- HUD ---------- */
#hud{position:fixed;inset:0;z-index:10;pointer-events:none}
#hud button,#hud a,#stick{pointer-events:auto}
.top{position:absolute;top:calc(8px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));right:calc(8px + env(safe-area-inset-right));display:flex;flex-direction:column;gap:6px}
.row{display:flex;gap:6px;align-items:stretch;min-width:0}
.pill{background:rgba(6,4,8,.74);border:1px solid #6b5220;border-radius:11px;padding:4px 9px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.pill b{font:800 16px/1.05 RC,ui-monospace,monospace;color:#f6dc8e;white-space:nowrap}
.pill span{font-size:9px;letter-spacing:.16em;color:#b9aeb8;white-space:nowrap}
.obj{flex:1}.obj b{color:#ff5a6a;font-size:13px;letter-spacing:.08em;overflow:hidden;text-overflow:ellipsis}
.ib{width:44px;min-height:44px;border-radius:11px;border:1px solid #6b5220;background:rgba(6,4,8,.74);color:#e8c36a;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:18px;padding:0;cursor:pointer;flex:0 0 44px}
.meter{flex:1;min-width:0}.meter .mb{height:7px;border-radius:5px;background:#1a0e10;overflow:hidden;margin-top:3px}
.meter .mb i{display:block;height:100%;width:100%;transition:width .12s}
#m-sh i{background:linear-gradient(90deg,#3aa0ff,#9fe8ff)}#m-sh.low i{background:#ff3048}
#m-bo i{background:linear-gradient(90deg,#ff7a1a,#ffd27a)}
.kills b{color:#9fffbf}
#h-mother{position:ab