/* ============================================================
   BUDTHESPUDHFX — Brand Tokens (light-mode only, 2026-05-12)
   Generated by tools/brand_to_css.py from the brand identity spec.
   Drop into any asset HTML's <style> block to rebrand.

   2026-05-12 pivot: Robert dropped dark-mode support after two review
   cycles where dark-mode renderings consistently underperformed light-
   mode renderings. Cream surface is now the default + only mode. The
   prior `[data-mode="light"]` override block is gone — light is the
   default in :root. The `[data-mode="dark"]` block is removed; existing
   `data-mode="dark"` attributes on blocks are still allowed but have
   no effect since dark variables no longer exist.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root {
  /* Core palette */
  --color-primary:          #ed1c24;
  --color-primary-light:    #faae3f;
  --color-primary-deep:     #c81017;
  --color-primary-tint:     #2a1410;
  --color-primary-lightest: #fcddb0;
  --color-primary-on:       #ffffff;

  /* Neutral — cream stack (was previously the *-light variants) */
  --color-base:       #f7f1e8;
  --color-surface-1:  #fbf7f0;
  --color-surface-2:  #efe7d8;
  --color-surface-3:  #e1d8c7;
  --color-border:     #e1d8c7;

  /* Text — warm dark on cream */
  --color-text-primary:   #1a1410;
  --color-text-secondary: #4a3f33;
  --color-text-tertiary:  #7a6e5a;
  --color-text-muted:     #9e927e;

  /* Functional (status only) */
  --color-success: #3a7d3a;
  --color-warning: #c8851c;
  --color-error:   #a8231c;

  /* Surface treatments (flat cream — no gradients on body) */
  --bg-base: #f7f1e8;
  --bg-base-glow: #f7f1e8;
  --glass-bg: rgba(0,0,0,0.02);
  --glass-border: rgba(0,0,0,0.06);
  --glass-highlight: inset 0 1px 0 rgba(255,255,255,0.40);
  --glass-shadow: 0 8px 32px rgba(0,0,0,0.08);
  --frost-bg: rgba(255,255,255,0.60);
  --frost-border: rgba(0,0,0,0.06);
  --frost-blur: blur(16px);

  /* Spacing */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px;
  --space-12: 48px; --space-16: 64px; --space-20: 80px; --space-24: 96px;

  /* Radii */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 8px;
  --radius-lg: 12px; --radius-xl: 16px; --radius-2xl: 20px; --radius-pill: 999px;

  /* Elevation — cream-toned shadows */
  --elev-1: 0 2px 8px rgba(0,0,0,0.08);
  --elev-2: 0 8px 32px rgba(0,0,0,0.10), inset 0 1px 0 rgba(255,255,255,0.60);
  --elev-3: 0 20px 60px rgba(0,0,0,0.15);
  --elev-focus: 0 0 0 2px rgba(237,28,36,0.30);

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 120ms;
  --dur-base: 200ms;
  --dur-slow: 360ms;

  /* Typography */
  --font-brand: 'Inter', system-ui, sans-serif;
  --font-mono:  'JetBrains Mono', ui-monospace, monospace;
  --fs-display: 56px; --fs-h1: 40px; --fs-h2: 32px; --fs-h3: 20px;
  --fs-h4: 17px; --fs-body: 15px; --fs-small: 13px; --fs-caption: 11px; --fs-mono: 13px;
  --fw-body: 400; --fw-label: 500; --fw-subhead: 600; --fw-heading: 700; --fw-display: 800;
  --lh-display: 1.08; --lh-h1: 1.10; --lh-h2: 1.15; --lh-h3: 1.30; --lh-body: 1.60;
  --tr-display: -0.03em; --tr-h1: -0.02em; --tr-h2: -0.02em; --tr-h3: -0.01em;
  --tr-body: 0; --tr-caption: 0.06em;
}

/* ============================================================
   BUDtheSPUD extensions (manual append — outside the auto-generated block)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Special+Elite&display=swap');

@import url('https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/style.css');
@import url('https://unpkg.com/@phosphor-icons/web@2.1.1/src/fill/style.css');
@import url('https://unpkg.com/@phosphor-icons/web@2.1.1/src/duotone/style.css');

:root {
  --font-typewriter: 'Special Elite', 'Courier New', Georgia, monospace;
  --font-tuscan-fallback: Georgia, 'Hoefler Text', 'Times New Roman', serif;

  --brand-red:         var(--color-primary);
  --brand-red-hover:   var(--color-primary-deep);
  --brand-yellow:      var(--color-primary-light);
  --brand-yellow-soft: var(--color-primary-lightest);

  --r-card: 16px;
  --r-button: 999px;
  --r-pill: 999px;

  /* Shadow tokens — the *-dark suffixed variants are kept for backwards
     compatibility with blocks that reference them, but they now resolve
     to cream-toned values (NOT the original dark-mode shadows). */
  --shadow-card-dark:  0 8px 32px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
  --shadow-card-light: 0 8px 32px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
  --shadow-photo-dark:  0 12px 32px rgba(0,0,0,0.15);
  --shadow-photo-light: 0 12px 32px rgba(0,0,0,0.15);

  --pad-card: 28px;
  --gap-stack: 24px;
  --section-pad: 80px 32px;
  --border-card: none;
  --letter-eyebrow: 0.08em;

  /* Primary button — solid red fill + white text + no border (locked 2026-05-12). */
  --btn-primary-bg:     var(--brand-red);
  --btn-primary-fg:     var(--color-primary-on);
  --btn-primary-border: none;
  --btn-primary-pad:    14px 28px;

  /* Backwards-compat alias group: blocks generated during dark-mode era
     referenced *-light variants explicitly. Resolve them to the same
     values as the now-default :root tokens so those references keep
     rendering correctly without per-file edits. */
  --color-base-light:           #f7f1e8;
  --color-surface-1-light:      #fbf7f0;
  --color-surface-2-light:      #efe7d8;
  --color-surface-3-light:      #e1d8c7;
  --color-border-light:         #e1d8c7;
  --color-text-primary-light:   #1a1410;
  --color-text-secondary-light: #4a3f33;
  --color-text-tertiary-light:  #7a6e5a;
  --color-text-muted-light:     #9e927e;

  --bp-mobile:  320px;
  --bp-tablet:  768px;
  --bp-desktop: 1024px;
  --bp-wide:    1280px;
}

@media print {
  :root {
    --color-base:           #f7f1e8;
    --color-surface-1:      #ffffff;
    --color-surface-2:      #f4ead7;
    --color-surface-3:      #e1d8c7;
    --color-border:         #c8b89c;
    --color-text-primary:   #1a1410;
    --color-text-secondary: #4a3f33;
    --color-text-tertiary:  #7a6e5a;
    --color-text-muted:     #9e927e;

    --bg-base: #f7f1e8;
    --bg-base-glow: #f7f1e8;

    --shadow-card-dark:  none;
    --shadow-card-light: none;
    --shadow-photo-dark:  none;
    --shadow-photo-light: none;
    --elev-1: none;
    --elev-2: none;
    --elev-3: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 0ms;
    --dur-base: 0ms;
    --dur-slow: 0ms;
  }
}

.ph, .ph-fill, .ph-duotone {
  color: var(--brand-red);
  vertical-align: -0.125em;
  display: inline-block;
}
.ph-accent-yellow {
  color: var(--brand-yellow);
}
