/* ============================================================
   PINK MINIMALISTIC — Design Tokens
   Framework-agnostic CSS custom properties.
   Single source of truth for color, type, spacing, effects.
   A light Neo-Swiss system: blush-pink ground, bold black
   grotesk type, crisp crimson + yellow geometric blocks.
   Imported by: html/ (canonical). Mirror into any framework
   port's theme layer.
   ============================================================ */

:root {
  /* ---- Surfaces (warm blush paper) ---- */
  --pm-bg: #f4d7cf;          /* page ground — light blush */
  --pm-surface: #ffffff;     /* elevated crisp white card */
  --pm-surface-soft: #f8e6df;/* faint blush panel */
  --pm-surface-alt: #e8a0a0; /* rosier alt section band */
  --pm-rose: #f0c0b8;        /* media / placeholder blocks */

  /* ---- Ink (bold near-black text) ---- */
  --pm-ink: #1a1a1a;         /* headings / borders — full black */
  --pm-ink-2: #2a2a2a;       /* body text */
  --pm-ink-soft: #804050;    /* mauve secondary text */
  --pm-ink-faint: #a56a74;   /* muted mauve / captions */
  --pm-inverted: #ffffff;

  /* ---- Accents (geometric colour blocks) ---- */
  --pm-crimson: #c83050;
  --pm-crimson-hover: #a02040;
  --pm-crimson-active: #801830;
  --pm-crimson-soft: #f4d0d6;   /* crimson tint fill */
  --pm-yellow: #f0c040;
  --pm-yellow-soft: #faeecb;    /* yellow tint fill */
  --pm-teal: #50a878;           /* success */

  /* ---- Geometric line work (crisp, black) ---- */
  --pm-line: #1a1a1a;        /* primary hairline / border */
  --pm-line-soft: #d9a9a0;   /* faint blush divider */
  --pm-line-mauve: #804050;

  /* ---- Borders ---- */
  --pm-border: 1.5px solid var(--pm-line);
  --pm-border-2: 2px solid var(--pm-ink);
  --pm-border-accent: 2px solid var(--pm-crimson);
  --pm-border-faint: 1px solid var(--pm-line-soft);

  /* ---- Hard offset "block" shadows (no soft blur) ---- */
  --pm-shadow: 6px 6px 0 var(--pm-ink);
  --pm-shadow-crimson: 6px 6px 0 var(--pm-crimson);
  --pm-shadow-sm: 4px 4px 0 var(--pm-ink);

  /* ---- Accent as a "gradient" token (remapped: solid crimson) ---- */
  --pm-accent-fill: var(--pm-crimson);

  /* ---- Typography ---- */
  --font-display: "Space Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-sans: "Inter", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;

  /* ---- Layout ---- */
  --container: 75rem;        /* 1200px */
  --container-narrow: 48rem;
  --radius: 0;               /* Neo-Swiss = sharp corners */
  --hairline: 1px;

  /* ---- Motion ---- */
  --dur-fast: 150ms;
  --dur: 300ms;
  --dur-slow: 500ms;
  --ease: cubic-bezier(.22, 1, .36, 1);

  /* ---- Swiss grid background pattern (faint blush rule lines) ---- */
  --pm-grid-pattern: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23d9a9a0' stroke-width='0.75'%3E%3Cpath d='M48 0H0V48'/%3E%3C/g%3E%3C/svg%3E");
}
