/* h4d35x0 core tokens and reset.
   Shared by every bespoke surface. See content/site-direction.md. */

:root {
  --h4-bg: #0b0f0c;
  --h4-fg: #f2efea;
  /* 0.52 alpha over --h4-bg measures 5.10:1, which clears WCAG AA (4.5:1)
     for normal-size text. It was 0.42, which measured 3.71:1 and failed.
     --h4-dim is used on small uppercase labels, so it must clear AA. */
  --h4-dim: rgba(242, 239, 234, 0.52);
  --h4-faint: rgba(242, 239, 234, 0.2);
  --h4-line: rgba(242, 239, 234, 0.14);
  --h4-accent: #5df2a0;
  --h4-accent-soft: rgba(93, 242, 160, 0.14);
  --h4-warn: #f2b45d;
  --h4-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
}

*,
*::before,
*::after { box-sizing: border-box; }

html.h4-root { font-size: 62.5%; }

.h4-body {
  margin: 0;
  min-height: 100vh;
  background: var(--h4-bg);
  color: var(--h4-fg);
  font-family: var(--h4-mono);
  font-size: 1.4rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.h4-skip {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100;
  padding: 1rem 1.6rem;
  background: var(--h4-accent);
  color: var(--h4-bg);
  text-transform: uppercase;
  letter-spacing: 0.16em;
}
.h4-skip:focus { left: 0; }

a { color: inherit; }

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

/* the machine register */
.h4-u {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 1.15rem;
  color: var(--h4-dim);
}

/* A leftover [hidden] list once sat absolutely positioned over the radar and
   swallowed every click, because a later `display: block` rule outranked the
   UA's `[hidden] { display: none }`. Make hidden mean hidden, everywhere. */
[hidden] { display: none !important; }
