<!-- SOLID CITY · part 2937 -->
ne b{display:block;color:#f5c952;font:700 20px "Oxanium"}.scoreline span{font-size:8px;color:#829b95}

    .side{display:grid;grid-template-rows:auto auto minmax(160px,1fr);gap:10px;min-width:0}
    .panel{border:1px solid var(--line);background:var(--panel);padding:12px;min-width:0}
    .panel-title{font:600 11px "Oxanium";letter-spacing:.08em;margin:0 0 9px;display:flex;justify-content:space-between;align-items:center}.panel-title span{font:400 8px "IBM Plex Mono";color:var(--muted)}
    .controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .control-block{text-align:center;min-width:0}
    .control-block label{display:block;font:600 9px "Oxanium";margin-bottom:6px;color:var(--muted)}
    .pad{position:relative;aspect-ratio:1;border:1px solid var(--line);background:radial-gradient(circle,var(--panel-2) 0 24%,transparent 25%),linear-gradient(var(--line),var(--line)) center/1px 100% no-repeat,linear-gradient(90deg,var(--line),var(--line)) center/100% 1px no-repeat;touch-action:none;cursor:crosshair;user-select:none}
    .pad::after{content:"";position:absolute;inset:12%;border:1px dashed var(--line);border-radius:50%}
    .nub{position:absolute;left:50%;top:50%;width:26px;height:26px;border:2px solid currentColor;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;color:var(--gold);background:color-mix(in srgb,var(--gold) 18%,transparent);z-index:2}
    .weapon .nub{color:var(--teal);border-radius:0;transform:translate(-50%,-50%) rotate(45deg)}
    .control-hint{font-size:8px;color:var(--muted);margin-top:5px;line-height:1.35}
    .log{display:flex;flex-direction:column;min-height:0}
    .log-list{overflow:auto;min-height:118px;max-height:220px;scrollbar-width:thin;margin:0;padding:0;list-style:none}
    .log-list li{font-size:9px;line-height:1.45;padding:5px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:38px 1fr;gap:7px}.log-list time{color:var(--muted)}.log-list b.gold{color:var(--gold)}.log-list b.teal{color:var(--teal)}
    .telemetry{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
    .telemetry div{background:var(--panel);padding:8px 6px;text-align:center}.telemetry b{font:600 15px "Oxanium";display:block}.telemetry span{font-size:7px;color:var(--muted)}

    .architecture{margin-top:12px;border:1px solid var(--line);background:var(--panel);padding:clamp(15px,2.5vw,26px)}
    .architecture-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.architecture h2{font:700 clamp(18px,2vw,27px) "Oxanium";margin:0}.architecture-head p{margin:3px 0 0;color:var(--muted);font-size:10px;max-width:640px;line-height:1.55}
    .arch-grid{display:grid;grid-template-columns:1fr 52px 1fr 52px 1fr;align-items:stretch}
    .arch-node{border:1px solid var(--line);padding:14px;background:var(--panel-2)}.arch-node h3{font:600 12px "Oxanium";margin:0 0 7px}.arch-node p{font-size:9px;line-height:1.55;color:var(--muted);margin:0}.arch-node .rule{color:var(--ink);margin-top:7px}.arch-arrow{display:grid;place-items:center;color:var(--muted);font-size:19px}
    .research-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);margin-top:12px}.research-strip div{background:var(--panel);padding:10px}.research-strip b{font:600 10px "Oxanium";display:block;margin-bottom:3px}.research-strip span{font-size:8px;line-height:1.4;color:var(--muted)}
    .kbd{border:1px solid var(--line);padding:1px 4px;background:var(--panel-2);font-size:8px}

    @media (max-width:900px){
      .game-grid{grid-template-columns:1fr}.side{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.side .log{grid-column:1/-1}.log-list{max-height:120px}canvas{height:min(52vh,540px)}
      .arch-grid{grid-template-columns:1fr}.arch-arrow{height:30px;transform:rotate(90deg)}.research-strip{grid-template-columns:1fr 1fr 1fr}.research-strip div:nth-child(n+4){grid-column:span 1}
    }
    @media (max-width:580px){
      .shell{padding:10px 8px 28px}.mission-rail{grid-template-columns:1fr}.route-chip{display:none}
      .ownership{grid-template-columns:1fr}.task+.task{border-left:0;border-top:1px solid var(--line)}.task{padding:8px 10px}.task-icon{width:30px;height:30px}.latency b{font-size:10px}
      .preset-row{gap:4px}.preset{padding:7px;min-height:58px}.preset span{font-size:8px}
      canvas{height:48vh;min-height:310px;max-height:470px}.side{grid-template-columns:1fr}.side .log{grid-column:auto}.panel{padding:10px}.controls{max-width:410px;margin:0 auto;width:100%}.log-list{max-height:126px}
      .architecture-head{display:block}.architecture-head p{margin-top:7px}.research-strip{grid-template-columns:1fr 1fr}.research-strip div:last-child{grid-column:1/-1}
      .modal{padding:20px}.hud{padding:8px}
    }
    @media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.scanlines{display:none}}
  </style>
</head>
<body>
<main c