/* SEAWAYS' own layer, over the engine's vendored stylesheet.
   Small on purpose: the less this file does, the more of the interface is
   the engine's, which is the point being proved. */

/* The engine badges any host that is not sandtable.thrain.ai as BENCH, so
   that its own QA can never mistake a test page for the live site. This IS
   a live site, on a different host, so the badge is hidden here rather than
   changing the engine's rule — which stays exactly as strict as it was. */
#envbadge { display: none !important; }

/* the muster's unit line: two classes of traffic, not two armies */
#muster .mrow em { max-width: 128px; text-align: right; line-height: 1.15; }
#muster .mrow b { min-width: 2.4em; }

/* ---- the shell: two frames, cross-faded ----------------------------- */
html, body { margin: 0; height: 100%; background: #0d0d0d; overflow: hidden; }
#stage { position: fixed; inset: 0; }
#stage iframe {
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
  opacity: 0; transition: opacity 620ms ease;
}
#stage iframe.live { opacity: 1; }

/* The speed control is injected INTO the live frame's console, so it is
   styled by the engine's own button rules and reads as part of the
   instrument rather than as something bolted on top of it. */
#swspeed { min-width: 92px; letter-spacing: 0.12em; }
#swage {
  font-family: var(--mono, ui-monospace, Menlo, monospace);
  font-size: 9px; letter-spacing: 0.16em; color: var(--bone-faint, #8f8a80);
  white-space: nowrap; padding-left: 2px;
}
#swage.stale { color: #e8875a; }

/* first paint, before any frame is live: the loader plate is inside the
   frame, so the shell needs its own quiet holding colour */
#boot {
  position: fixed; inset: 0; display: grid; place-items: center;
  font-family: ui-monospace, Menlo, monospace; font-size: 10px;
  letter-spacing: 0.3em; color: #55504a; pointer-events: none;
  transition: opacity 400ms ease;
}
#boot.gone { opacity: 0; }
