/* 1. SECTION: Design Tokens — GlobalSocials.club */
/* Shared CSS custom properties loaded on all pages. */
/* Refs: Impeccable color/spatial/motion, Stripe shadows, Notion borders, Claude warmth */
/* S86 D148 (05/05/26): Canonical foundation locked. New account-page design system is the datum face for the entire site from this point forward. Tokens migrated to navy-alpha for "muted" / "secondary" text (no greys, per feedback_never_grey_text.md). Background flipped from warm-cream #FDFCF9 to cool neutral #F8F8F8. Spacing tokens canonical names are now --sp-* (matches the new design); --space-* preserved as aliases so existing CSS keeps working. */

:root {
  /* 1.1 Brand — from Corporate Identity spec */
  --color-navy: #031B83;
  --color-navy-light: #0A2DAA;
  --color-cyan: #00CCFF;          /* Supportive primary */
  --color-gold: #CC9900;
  --color-gold-dark: #80641D;
  --color-gold-light: #FFD700;

  /* 1.1.1 Brand cream — canonical LB-023 button bg + D084 selection highlight */
  --color-cream: #FFFBE6;
  /* 1.1.2 Cream hover — for cream-on-cream hover states (S86 D148, e.g. .btn--primary hover) */
  --color-cream-hover: #FFF5CC;

  /* 1.2 Surfaces — cool neutral page bg (S86 D148), warm-cream surfaces preserved */
  --color-bg: #F8F8F8;            /* S86 D148: was #FDFCF9 (warm-cream); flipped to cool neutral. The warm-cream value was an agent invention from S39, never in the Corporate Identity PDF. */
  --color-surface: #FFFFFF;
  --color-surface-raised: #F8F7F4;
  --color-surface-sunken: #F3F2EF;

  /* 1.3 Text — warm near-black for primary; navy-alpha for secondary/muted (no greys per S85 brand rule) */
  --color-text: #1A1A2E;
  --color-text-secondary: rgba(3, 27, 131, 0.75);  /* S86 D148: navy @ 75%; was #6B6B7B (grey, banned) */
  --color-text-muted: rgba(3, 27, 131, 0.55);      /* S86 D148: navy @ 55%; was #9B9BAB (grey, banned) */
  --color-text-on-navy: #FFFFFF;
  --color-text-on-gold: #1A1A2E;

  /* 1.4 Borders — warm-tinted, not harsh gray */
  --color-border: rgba(26, 26, 46, 0.08);
  --color-border-strong: rgba(26, 26, 46, 0.15);

  /* 1.5 Semantic */
  --color-success: #27A644;
  --color-success-bg: rgba(39, 166, 68, 0.08);    /* S86 D148: success status-band bg */
  --color-error: #C41C1C;
  --color-error-bg: rgba(196, 28, 28, 0.06);      /* S86 D148: error / past-due status-band bg */
  --color-info: #2563EB;
  --color-warning: #D97706;
  --color-warning-bg: rgba(217, 119, 6, 0.08);    /* S86 D148: warning status-band bg */

  /* 1.6 Spacing — 8px base, 4px micro
     Canonical names (S86 D148): --sp-* matches the new design-system foundation. */
  --sp-xs: 4px;
  --sp-sm: 8px;
  --sp-md: 12px;
  --sp-lg: 16px;
  --sp-xl: 24px;
  --sp-2xl: 32px;
  --sp-3xl: 48px;
  --sp-4xl: 64px;

  /* 1.6.1 Spacing legacy aliases — preserve --space-* so existing CSS keeps working until migrated. */
  --space-xs: var(--sp-xs);
  --space-sm: var(--sp-sm);
  --space-md: var(--sp-md);
  --space-lg: var(--sp-lg);
  --space-xl: var(--sp-xl);
  --space-2xl: var(--sp-2xl);
  --space-3xl: var(--sp-3xl);
  --space-4xl: var(--sp-4xl);
  --space-5xl: 96px;  /* live-only; no --sp-5xl in the new design system */

  /* 1.7 Shadows — multi-layer, warm-tinted */
  --shadow-sm: 0 1px 2px rgba(26, 26, 46, 0.04), 0 2px 4px rgba(26, 26, 46, 0.04);  /* S86 D148: softened second layer to match new design */
  --shadow-md: 0 2px 4px rgba(26, 26, 46, 0.04), 0 4px 12px rgba(26, 26, 46, 0.08);
  --shadow-lg: 0 4px 8px rgba(26, 26, 46, 0.04), 0 8px 24px rgba(26, 26, 46, 0.10);
  --shadow-xl: 0 8px 16px rgba(26, 26, 46, 0.06), 0 16px 48px rgba(26, 26, 46, 0.12);
  --shadow-gold-hover: 0 4px 12px rgba(204, 153, 0, 0.18);   /* S86 D148: cream button hover lift */

  /* 1.8 Radius — unified 16px per D090 (S62 Rob sign-off) for card / button /
        input / modal / overlay scale (md / lg / xl).
        `--radius-sm` stays 4px for genuinely small surfaces where a 16px radius
        would fully round them (e.g. `.vw-cal-day` ~20px cells, `.fav-manage-btn`
        ~16px icon button, `.vw-photo` thumbnail corners). D090 applies to the
        card-scale uniformity tokens, not to micro-chrome.
        Pills stay 9999px (semantically fully-rounded, not a radius value).
        Circular avatars / Sigils stay 50% (inline on the element, not via token). */
  --radius-sm: 4px;
  --radius-md: 16px;
  --radius-lg: 16px;
  --radius-xl: 16px;
  --radius-pill: 9999px;

  /* 1.9 Motion — exponential easing only, never bounce/elastic */
  --ease-out: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-in-out: cubic-bezier(0.45, 0, 0.55, 1);
  --duration-fast: 150ms;
  --duration-normal: 250ms;
  --duration-slow: 400ms;
  --duration-entrance: 600ms;

  /* 1.10 Typography scale (rem) */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: 2rem;
  --text-3xl: 2.5rem;
  --text-4xl: 3.5rem;

  /* 1.11 Line heights */
  --leading-tight: 1.2;
  --leading-normal: 1.55;
  --leading-relaxed: 1.7;

  /* 1.12 Font stacks */
  --font-heading: 'Montserrat', sans-serif;
  --font-body: 'Nunito Sans', sans-serif;

  /* 1.13 Z-index scale */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-toast: 500;

  /* 1.14 Layout widths */
  --width-sidebar: 220px;
  --width-sidebar-collapsed: 48px;
  --width-content-max: 1080px;
  --width-content-wide: 1440px;
}
/* end of 1 */

/* 2. SECTION: Reduced motion */
@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-normal: 0ms;
    --duration-slow: 0ms;
    --duration-entrance: 0ms;
  }
}
/* end of 2 */

/* 3. SECTION: Global root rules (S86 D148)
   The new design-system foundation paints the body background with --color-bg
   site-wide. Previously the Seeko parent theme controlled body bg directly with
   no token reference; this rule asserts the canonical brand value across every
   page. The first surface that explicitly relied on this token painting the body
   was the new /account/ page.

   Selector is `html body` (specificity 0,0,2) — Seeko parent theme's
   `seeko-dynamic.css` has a plain `body { background-color: #fff }` rule at
   specificity 0,0,1 that loads later in the cascade than this file. Bumping our
   selector specificity beats it without resorting to !important. Same family of
   parent-theme override pattern as S64 (cache-bust war) and S85 LB-055 (button
   margin). */
html body {
  background: var(--color-bg);
}
/* end of 3 */
