/* varrisdom.dev tokens. The same ramp ossintheus.app is built on, value for
   value, so the two pages read as one hand. Colour is state, never chrome:
   one signal hue, spent on focus, live and the control that matters. Depth is
   surface steps and 1px hairlines; there is no drop shadow on this page. Text
   is dimmed by value, never by alpha. */

:root {
  color-scheme: dark;

  --void: #08080a;      /* the ground the whole page sits on   */
  --page: #0f0f10;      /* reading surface                     */
  --panel: #151516;     /* cards, the bio block                */
  --raised: #1c1c1d;    /* hover, chips                        */
  --well: #0b0b0c;      /* recessed: code, the effect list     */
  --line: #232325;      /* hairlines, 1px, everywhere          */
  --line-2: #2f2f33;    /* hairline at emphasis                */

  --bone: #f3f3f3;      /* primary text                        */
  --bone-dim: #c8c5c2;  /* primary, one step back              */
  --mute: #a29c99;      /* secondary: the floor for sentences  */
  --dim: #878180;       /* labels only, never a sentence       */

  --signal: #00d1ff;    /* the screensaver's own cyan                */
  --signal-deep: #00596d;
  --tick: #5f5f64;      /* the resting ruler tick: 3:1 on the void   */
  --thumb: #2c2c2f;

  --r-chip: 3px;
  --r-control: 6px;
  --r-panel: 8px;

  --font-display: "Pixelify Sans", ui-monospace, monospace;
  --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;

  /* 11 / 13 / 15 / 20 / 32 / 48. Nothing between 15 and 20 on purpose. */
  --s-11: 0.6875rem;
  --s-13: 0.8125rem;
  --s-15: 0.9375rem;
  --s-20: 1.25rem;
  --s-32: 2rem;
  --s-48: 3rem;

  --gutter: clamp(20px, 4.4vw, 68px);

  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --t-fast: 60ms;
  --t-press: 80ms;
  --t-base: 220ms;
  --t-enter: 380ms;
}

/* Type. Three faces, three jobs. Self-hosted subsets; nothing leaves this host. */
@font-face {
  font-family: "Pixelify Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/PixelifySans-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Pixelify Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/PixelifySans-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/Inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/Inter-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/ibm-plex-mono-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/ibm-plex-mono-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/ibm-plex-mono-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/ibm-plex-mono-500-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
