@font-face {
  font-family: "Rubik Bubbles";
  src: url("../fonts/RubikBubbles-Regular.ttf") format("truetype");
  font-weight: 400; font-display: swap;
}
@font-face {
  font-family: "Karrik";
  src: url("../fonts/Karrik-Regular.otf") format("opentype");
  font-weight: 400; font-display: swap;
}
:root {
  --orange: #eb8853;
  --pale: #ced9f7;
  --ink: #1e1e1e;
  /* 0.80, not 0.58: at 0.58 every micro label sat at 2.92:1 on the orange ground and
     3.68:1 on the pale panel, under the 4.5:1 AA floor for the 10-11px type it carries.
     0.80 measures 4.61:1 on orange and 7.01:1 on pale and still reads clearly softer
     than full ink (6.49:1). regenerate: node tests/contrast.mjs */
  --ink-soft: rgba(30, 30, 30, 0.80);
  --pale-soft: rgba(206, 217, 247, 0.5);
  --hair: rgba(30, 30, 30, 0.16);
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --font-display: "Rubik Bubbles", system-ui, sans-serif;
  --font-body: "Karrik", system-ui, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, monospace;
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--orange); color: var(--ink); font-family: var(--font-body); text-transform: lowercase; }
a { color: inherit; }
