/* ---------------------------------------------------------------------------
   The client OS. Calmer than the cockpit on purpose: the cockpit is an
   instrument panel for someone who wants density; this is a workspace for a
   business owner who wants to get in, look at three things, and leave.

   EVERY colour and metric is a token. Restyling to a new visual direction
   should be editing this block and nothing else.
--------------------------------------------------------------------------- */
:root{
  /* ── LAYER 2 · this client's DNA. Five values. The whole per-client diff.
       Kept intact on the flip to dark — client's brand colours pop as
       accents against the black instead of being the primary hues. ── */
  --h1:#FF2E8B; --h2:#00B3B0; --h3:#FFC93D; --h4:#5B6BFF; --tempo:1;
  --core:#0A0A0A;

  /* ── LAYER 1 · universal. FLIPPED 2026-08-04 (Solomon): warm paper →
       dark chrome, so the OS matches the marketing site and the whole
       product reads as one thing. See vault decision "Client OS palette
       flip — 2026-08-04". Every value is a token; a future palette
       change should still be this block only. ── */
  --bg:#000; --surface:#0A0A0A; --surface-2:#111; --panel:#0B0C13;
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.17); --line-3:rgba(255,255,255,.22);
  --text:#EDEDED; --muted:#A1A1AA; --faint:#71717A; --paper:#FAFAFA;
  --accent:#FF2E8B; --accent-dim:rgba(255,46,139,.36); --gold:#FDE68A;
  --ok:#6EE7B7; --warn:#FDE68A; --stop:#FDA4AF; --on-accent:#FFFFFF;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Geist","Inter","Helvetica Neue",sans-serif;
  --mono:ui-monospace,"SF Mono","Geist Mono","Cascadia Mono",Menlo,Consolas,monospace;
  --serif:var(--sans);
  --r:14px; --pad:22px; --maxw:760px; --rail:246px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}

/* ── WHY color-scheme IS DECLARED, AND WHAT IT FIXED ──────────────────────
   Without it a browser renders form controls with its LIGHT-mode defaults —
   `ButtonFace` is a near-white grey. The reset below sets `color:inherit` on
   buttons, which is --text (#EDEDED). So every <button> in this OS that did
   not declare its own background painted near-white text on a near-white
   button: invisible, and reported as exactly that ("some of the buttons are
   white with white text", Solomon, 2026-09-06).
   Chasing it per-class was the wrong fix — the next button added without a
   background would have been invisible too. One line, at the root, and the UA
   defaults for <button>, <select>, <input>, scrollbars and the spinner arrows
   on number inputs all resolve dark. */
:root{color-scheme:dark}

/* The floor under every button, so a new one is never invisible before it is
   styled. Anything wanting a filled or bordered look still declares it; this
   only guarantees the default is legible rather than white-on-white. */
button{background:transparent;border:0;color:inherit;cursor:pointer}
body{background:var(--bg);color:var(--text);font:400 16.5px/1.65 var(--sans);
  -webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom)}
button,input,textarea{font:inherit;color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

