/* Holding page. Temporary: the full site source is untouched in src/, and
   `npm run build` still produces it in dist/. Nothing here is generated. */

@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/archivo-700.woff2") format("woff2");
}

:root {
  /* Lifted verbatim from src/styles/global.css so the shutdown page sits on
     the same ground as the site it replaces. */
  --ink: #0E131B;
  --text: #B9CBDE;
  --signal: #82AFE6;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  background-color: var(--ink);
  color-scheme: dark;
  -webkit-text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding:
    max(1.25rem, env(safe-area-inset-top))
    max(1.25rem, env(safe-area-inset-right))
    max(1.25rem, env(safe-area-inset-bottom))
    max(1.25rem, env(safe-area-inset-left));
  background-color: var(--ink);
  color: var(--text);
  font-family: "Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* fit-content under max-width:100% means the box hugs the longest line
   ("fighting for") but still shrinks and wraps rather than overflowing if a
   fallback face renders wider than Archivo. The mask below is measured
   against that box, so the fade always lands on the same words. */
h1 {
  width: fit-content;
  max-width: 100%;
  /* Sized off both axes: the vw term fills the width on a phone, the svh term
     keeps all three lines on screen in landscape and in short desktop windows,
     and min() means the larger never wins. The vh line is the fallback for
     engines without svh. 16vw rather than 18vw leaves ~12% headroom, which
     is what the system-sans fallback costs while the webfont swaps in: at
     320px it still sets on three lines, so nothing reflows. */
  font-size: clamp(3rem, min(16vw, 24vh), 18rem);
  font-size: clamp(3rem, min(16vw, 24svh), 18rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;

  /* The fade. Alpha stops rather than one straight ramp, so the falloff reads
     as a curve and does not band on a dark ground. It bottoms out at 0.45,
     which measures 11.23:1 on the first word and 3.74:1 on the last: visibly
     faded, still clear of the 3:1 floor for text this size. */
  -webkit-mask-image: linear-gradient(
    to right,
    rgb(0 0 0 / 1) 0%,
    rgb(0 0 0 / 1) 26%,
    rgb(0 0 0 / 0.93) 44%,
    rgb(0 0 0 / 0.75) 62%,
    rgb(0 0 0 / 0.57) 81%,
    rgb(0 0 0 / 0.45) 100%
  );
  mask-image: linear-gradient(
    to right,
    rgb(0 0 0 / 1) 0%,
    rgb(0 0 0 / 1) 26%,
    rgb(0 0 0 / 0.93) 44%,
    rgb(0 0 0 / 0.75) 62%,
    rgb(0 0 0 / 0.57) 81%,
    rgb(0 0 0 / 0.45) 100%
  );
}

::selection {
  background: color-mix(in srgb, var(--signal) 30%, transparent);
}
