/*
 * Shared PaperDesk font foundation.
 *
 * Keep this file limited to same-origin font faces and neutral typography
 * tokens. Page-specific typography and layout belong to their owning styles.
 */
@font-face {
  font-family: "PaperDesk Geist Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("assets/fonts/geist/geist-sans-latin-wght-normal.woff2?v=1.7.2") format("woff2");
}

@font-face {
  font-family: "PaperDesk Geist Mono";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("assets/fonts/geist/geist-mono-latin-wght-normal.woff2?v=1.7.2") format("woff2");
}

@font-face {
  font-family: "PaperDesk Inter Latin";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("assets/shadcn/inter-latin-wght-normal.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+20A0-20CF,
    U+2122,
    U+2191,
    U+2193,
    U+2212,
    U+2215,
    U+FEFF,
    U+FFFD;
}

/*
 * Khmer is locally hosted and unicode-scoped so Latin text continues through
 * Geist Sans, with bundled Inter retained as the same-origin fallback.
 * Source: @fontsource-variable/noto-sans-khmer 5.2.8 (OFL-1.1).
 */
@font-face {
  font-family: "PaperDesk Noto Sans Khmer";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("assets/fonts/noto-sans-khmer/noto-sans-khmer-khmer-wght-normal.woff2?v=5.2.8") format("woff2");
  unicode-range: U+1780-17FF, U+19E0-19FF, U+200C-200D, U+25CC;
}

@font-face {
  font-family: "PaperDesk Inter Latin";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("assets/shadcn/inter-latin-ext-wght-normal.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-1EFF,
    U+1EF2-1EFF,
    U+2020,
    U+20A0-20AB,
    U+20AD-20C0,
    U+2113,
    U+2C60-2C7F,
    U+A720-A7FF;
}

:root {
  --pd-font-latin: "PaperDesk Geist Sans", "PaperDesk Inter Latin", "Inter", "Segoe UI", Arial, sans-serif;
  --pd-font-mono: "PaperDesk Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --pd-font-khmer: "PaperDesk Noto Sans Khmer";
  --pd-font-ui: var(--pd-font-khmer), var(--pd-font-latin), "Noto Sans Khmer", "Khmer OS Siemreap", "Khmer OS Battambang", system-ui, sans-serif;
  --font-sans: var(--pd-font-ui);
  --font-mono: var(--pd-font-mono);
  --font-heading: var(--pd-font-ui);
  --default-font-family: var(--pd-font-ui);
  --pd-font-weight-body: 400;
  --pd-font-weight-body-strong: 450;
  --pd-font-weight-control: 500;
  --pd-font-weight-heading: 600;
  --pd-font-weight-title: 700;
}
