/* SpaceEx — design tokens, reset and the primitives every other sheet leans on.

   The palette is ink and sunlight: near-black glass, warm off-white type, and
   one accent — the colour of the Sun in the scene — for anything you can act
   on. Cool blue is kept for the scene's own instruments (the scanner, the
   "you are here" marker), so the interface and the model never blur. */

:root{
  --void:#030509;
  --deep:#070a11;
  --ink:#f3f1ec;
  --ink-2:#d9dbe0;
  --muted:#a3abb9;
  --dim:#6f7888;
  --accent:#f2c67c;
  --accent-2:#ffdca3;
  --accent-ink:#1a1206;
  --accent-soft:rgba(242,198,124,.14);
  --accent-line:rgba(242,198,124,.34);
  --ice:#8fd3ff;
  --good:#7ad9a4;
  --bad:#ff8a80;
  /* Kept as an alias: older sheets and the scene's labels still name it. */
  --cy:var(--accent);
  --warm:var(--accent);
  --violet:#b49cff;

  --panel:rgba(9,11,17,.62);
  --panel-solid:rgba(8,10,15,.94);
  --line:rgba(255,255,255,.11);
  --line-soft:rgba(255,255,255,.065);
  --edge-top:rgba(255,255,255,.09);
  --edge-bottom:rgba(0,0,0,.4);
  --shade-1:0 1px 2px rgba(0,0,0,.3);
  --shade-2:0 18px 40px -14px rgba(0,0,0,.7);
  --shade-3:0 44px 100px -34px rgba(0,0,0,.8);

  --radius:18px;
  --radius-s:12px;
  --pad:clamp(16px,2.2vw,32px);
  --top:clamp(72px,9vh,92px);
  --ease:cubic-bezier(.16,1,.3,1);
  --spring:cubic-bezier(.2,.9,.3,1.2);

  --font:'Geist','Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
  --display:'Instrument Serif','Iowan Old Style','Times New Roman',serif;
  --mono:'Geist Mono',ui-monospace,'SF Mono',Menlo,monospace;
}

*,*::before,*::after{box-sizing:border-box}
/* No double-tap zoom: a quick second tap on a planet or a button used to zoom
   the whole page on phones. `manipulation` switches off only that — scrolling
   and pinch-zoom still work. Set on every element, because a scrolling box
   starts its own chain and would not inherit it. The canvas owns every
   gesture and keeps touch-action:none (layout.css). */
*{touch-action:manipulation}
html,body{height:100%;margin:0}
html{background:var(--void);-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);
  color:var(--ink);
  background:var(--void);
  overflow:hidden;
  overscroll-behavior:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-feature-settings:'ss01' 1;
}
h1,h2,h3{font-weight:400;margin:0}
h1,h2{font-family:var(--display);letter-spacing:-.01em}
h3{font-family:var(--font)}
/* Figures sit in columns beside other figures, so they are tabular: the same
   width per digit, so 1,392,700 and 120,536 line up on the comma. */
.stats dd,.ratio,.tour-step,.loader-label,.cmp-table,.you-table{font-variant-numeric:tabular-nums;
  font-feature-settings:'tnum' 1}
p{margin:0}
button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}
input,select{font:inherit;color:inherit}
a{color:inherit}
kbd{
  font-family:var(--mono);font-size:10.5px;line-height:1;
  padding:4px 6px;border-radius:6px;color:var(--muted);
  background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line);
}

.skip{
  position:absolute;left:14px;top:-60px;z-index:200;
  padding:11px 18px;border-radius:12px;
  background:var(--accent);color:var(--accent-ink);font-weight:600;
  transition:top .18s ease;
}
.skip:focus{top:14px}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:10px}

/* The kicker style: small, spaced, monospaced — used for every label that
   names a category rather than saying something. */
.kicker,.eyebrow,.panel-kicker,.tw-kicker,.scale-kicker,.tour-badge{
  font-family:var(--mono);font-weight:500;text-transform:uppercase;letter-spacing:.14em;
}
