/* Blue Meridian shared tokens + local fonts (home + notes) */

@font-face {
  font-family: "Newsreader";
  src: url("../assets/fonts/newsreader-latin.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
  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: "Newsreader";
  src: url("../assets/fonts/newsreader-italic-latin.woff2") format("woff2");
  font-weight: 200 800;
  font-style: italic;
  font-display: swap;
  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: "Archivo";
  src: url("../assets/fonts/archivo-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-style: normal;
  font-display: swap;
  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: "Spline Sans Mono";
  src: url("../assets/fonts/spline-sans-mono-latin.woff2") format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
  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;
}

:root {
  /* One deep blue, one light. */
  --bg: #07111f;
  --bg-deep: #040a12;
  --ink: #f3f7ff;
  --mist: #8ea4c2;
  --signal: #6fb6ff;
  --halo-white: #ffffff;
  --halo-blue: #bfe3ff;
  --line: rgba(158, 188, 222, 0.16);
  --line-strong: rgba(158, 188, 222, 0.32);

  /* Broad halo layer, shared by home and notes.
     Outer falloff: 18% → 44% → 70% → 100%. */
  --halo-outer-falloff:
    rgba(255, 255, 255, 0.72) 0%,
    rgba(191, 227, 255, 0.50) 18%,
    rgba(111, 182, 255, 0.28) 44%,
    rgba(111, 182, 255, 0.16) 70%,
    transparent 100%;

  /* Type */
  --display: "Newsreader", "Noto Serif SC", "Songti SC", "SimSun", serif;
  --body: "Archivo", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --mono: "Spline Sans Mono", "SFMono-Regular", Consolas, "Noto Sans SC",
    "PingFang SC", "Microsoft YaHei", monospace;

  /* Frame */
  --header-h: 64px;
  --nav-h: 72px;
  --gutter: clamp(22px, 4vw, 56px);
  --content-w: 1080px;
  --seam-left: max(12px, calc(50vw - 560px - 44px));
  --content-shift: clamp(0px, calc((100vw - 1100px) * 0.15), 64px);

  /* Motion */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Keyboard-style ampersand: the plain body cut, same size and colour. */
.amp {
  font-family: var(--body);
  font-style: normal;
  font-weight: 400;
  font-size: 1em;
  letter-spacing: 0;
  color: inherit;
  padding-inline: 0.04em;
  vertical-align: baseline;
}

