@charset "UTF-8";
/**
 * Design Tokens — 014-crossword (Crossword Puzzles)
 *
 * Visual direction: Fresh Sage Green + Charcoal — classic crossword elegance
 * Primary  #16a34a (sage/forest green, HSL ~142°) — NYT-meets-modern-web authority
 * Accent   #1e293b (rich charcoal) — numbered clues, editorial weight
 * Heading  'Libre Baskerville', Georgia, serif — newspaper crossword heritage
 * All spacing on 8px grid. Radius: soft personality (12px cards, 8px buttons).
 */

:root {
  /* ── Primary: Sage / Forest Green (HSL ~142°) ── */
  --site-primary:        #16a34a;
  --site-primary-hover:  #15803d;
  --site-primary-dark:   #14532d;
  --site-primary-light:  #f0fdf4;
  --site-primary-border: #86efac;

  /* ── Accent: Rich Charcoal (editorial depth) ── */
  --site-accent:       #1e293b;
  --site-accent-hover: #334155;
  --site-accent-dark:  #0f172a;

  /* ── Text ── */
  --site-text:       #111827;
  --site-text-muted: #6b7280;
  --site-text-light: #4b5563;

  /* ── Background: Clean white with subtle green tint ── */
  --site-background:     #ffffff;
  --site-background-alt: #f8fafc;
  --site-surface:        #ffffff;

  /* ── Border ── */
  --site-border:      #e5e7eb;
  --site-border-dark: #d1d5db;

  /* ── Puzzle-specific tokens ── */
  --cell-selected-bg:   #fef9c3;   /* Classic crossword yellow highlight */
  --cell-correct-color: #15803d;   /* Correct letter green */
  --cell-wrong-bg:      #fef2f2;   /* Wrong cell bg */
  --cell-wrong-color:   #991b1b;   /* Wrong letter red */
  --cell-blocked-bg:    #1e293b;   /* Blocked cells — rich charcoal */
  --cell-input-color:   #111827;

  /* ── Shadows (tinted with primary green hue) ── */
  --shadow-sm:   0 1px 3px rgba(22, 163, 74, 0.07);
  --shadow-md:   0 4px 6px rgba(22, 163, 74, 0.10);
  --shadow-lg:   0 10px 15px rgba(22, 163, 74, 0.12);

  /* ── Premium Elevation Tokens ── */
  --shadow-card:       0 2px 8px rgba(22, 163, 74, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
  --shadow-card-hover: 0 12px 28px rgba(22, 163, 74, 0.14), 0 4px 10px rgba(0, 0, 0, 0.06);
  --shadow-btn-hover:  0 4px 14px rgba(22, 163, 74, 0.22);
  --shadow-btn-active: 0 1px 4px rgba(22, 163, 74, 0.14);

  /* ── Detail page tokens ── */
  --detail-bg-gradient-start: #f0fdf4;
  --detail-bg-gradient-end:   #ffffff;
  --detail-card-shadow:       0 2px 8px rgba(22, 163, 74, 0.08);
  --detail-card-shadow-hover: 0 8px 24px rgba(22, 163, 74, 0.15);
  --detail-border-radius:     12px;
  --detail-theme-primary:     var(--site-primary);
  --detail-theme-secondary:   var(--site-primary-hover);
  --detail-theme-soft:        var(--site-primary-light);
  --detail-theme-border:      var(--site-primary-border);

  /* ── Border Radius: Soft personality ── */
  --radius-sm:     4px;
  --radius-button: 8px;
  --radius-card:   12px;
  --radius-card-lg: 16px;
  --radius-pill:   9999px;

  /* ── Typography: Libre Baskerville heading + system body ── */
  --font-heading: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
  --font-body:    system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

  /* ── Transitions ── */
  --dur-fast:   150ms;
  --dur-normal: 250ms;
  --dur-slow:   400ms;
  --ease:       cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out:   cubic-bezier(0, 0, 0.2, 1);

  /* ── Transition shorthand ── */
  --transition-lift: transform 250ms cubic-bezier(0.4, 0, 0.2, 1),
                     box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
