/* Goose Greetings design tokens.
 *
 * Aesthetic direction: crisp, cheerful, a little cheeky.
 * - Type: Parkinsans for everything (display, interface, body). DM Mono only for postal data
 *   (address blocks, tracking codes). Card artwork may use its own faces.
 * - Color: cool tone. Paper white, wing navy ink, sky tint, pond blue for links and focus,
 *   beak orange as the single accent and the only primary-action color.
 * - Density: loose on marketing pages, normal inside the app. 4px base scale.
 * - Radius: pills for actions, 20px panels, 6px for anything that is a physical card.
 * - Elevation: interface panels use borders, never shadows. Only mail casts a shadow.
 * - Components: filled orange for the one primary action, outlined ink for secondary.
 * - Imagery: real photographs inside cards. No illustration except the goose mark.
 * - Motion: quiet. 200ms ease on state changes. One flourish: cards lift when touched.
 */
@font-face { font-family: "Parkinsans"; src: url("../fonts/Parkinsans.woff2") format("woff2"); font-weight: 300 800; font-display: swap; }
@font-face { font-family: "DM Mono"; src: url("../fonts/DMMono.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "DM Mono"; src: url("../fonts/DMMono-Medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Young Serif"; src: url("../fonts/YoungSerif.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Caprasimo"; src: url("../fonts/Caprasimo.woff2") format("woff2"); font-weight: 400; font-display: swap; }

:root {
  /* color */
  --paper: oklch(98.4% 0.006 250);
  --card: oklch(99.6% 0.002 250);
  --ink: oklch(22.5% 0.035 265);
  --ink-soft: oklch(44% 0.03 262);
  --ink-faint: oklch(50% 0.028 260);
  --line: oklch(90% 0.012 255);
  --line-strong: oklch(80% 0.02 258);
  --sky: oklch(93.5% 0.035 245);
  --sky-deep: oklch(86% 0.06 245);
  --pond: oklch(48% 0.16 262);
  --beak: oklch(75% 0.17 58);
  --beak-press: oklch(69% 0.175 54);
  --beak-wash: oklch(95% 0.045 70);
  --ok: oklch(50% 0.12 155);
  --ok-wash: oklch(94% 0.045 155);
  --warn: oklch(52% 0.12 75);
  --warn-wash: oklch(94% 0.06 85);
  --err: oklch(52% 0.19 27);
  --err-wash: oklch(94% 0.035 27);

  /* type */
  --font: "Parkinsans", "Avenir Next", "Segoe UI", sans-serif;
  --mono: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --t-xs: 0.8125rem;   /* 13 */
  --t-sm: 0.9375rem;   /* 15 */
  --t-base: 1.0625rem; /* 17 */
  --t-lg: 1.25rem;     /* 20 */
  --t-xl: 1.5rem;      /* 24 */
  --t-2xl: 2rem;       /* 32 */
  --t-3xl: 2.75rem;    /* 44 */
  --t-4xl: 3.75rem;    /* 60 */
  --t-5xl: 4.75rem;    /* 76 */

  /* space, 4px base */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 32px;
  --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;

  /* shape */
  --r-card: 6px;     /* physical postcards */
  --r-input: 12px;
  --r-panel: 20px;
  --r-pill: 999px;
  --shadow-mail: 0 1px 2px oklch(22.5% 0.035 265 / 0.12), 0 8px 20px oklch(22.5% 0.035 265 / 0.12), 0 24px 48px oklch(22.5% 0.035 265 / 0.10);
  --shadow-mail-lift: 0 2px 4px oklch(22.5% 0.035 265 / 0.14), 0 14px 28px oklch(22.5% 0.035 265 / 0.16), 0 36px 64px oklch(22.5% 0.035 265 / 0.14);

  --ease: 200ms ease;
  --page: 1180px;
}
