/* Gima's Piano — shared design tokens (see astra-child/DESIGN.md).
   Loaded site-wide ahead of every other stylesheet. Files that use these always pass the
   old literal as a var() fallback, so a standalone template that skips this file still
   renders the same colours. */

:root {
  --gp-blue: #4C9EF3;
  --gp-blue-rgb: 76, 158, 243;
  --gp-blue-hover: #6BB3F7;
  --gp-blue-deep: #3B82F6;
  --gp-blue-strong: #2563EB;
  --gp-blue-ink: #2E76C7;
  --gp-blue-bg: #EAF2FD;
  --gp-blue-border: #CFE2FB;
  /* Behind white text: the brand #4C9EF3 is only 2.8:1 with white, so fills use the deeper pair (4.6–5.2:1). */
  --gp-grad: linear-gradient(135deg, var(--gp-blue-ink), var(--gp-blue-strong));

  /* Gold is for celebration only — stars, perfect scores. Never an accent or CTA. */
  --gp-gold: #F3D548;

  --gp-success: #3D9E52;
  --gp-success-bright: #4ADE80;
  --gp-error: #EF4444;
  --gp-warning: #FBBF24;

  --gp-r-sm: 8px;
  --gp-r-md: 12px;
  --gp-r-card: 16px;
  --gp-r-lg: 22px;
  --gp-r-xl: 28px;
  --gp-r-pill: 999px;

  --gp-shadow-sm: 0 1px 2px rgba(20,30,50,.05), 0 1px 3px rgba(20,30,50,.04);
  --gp-shadow-md: 0 4px 12px rgba(20,30,50,.07), 0 1px 3px rgba(20,30,50,.04);
  --gp-shadow-lg: 0 14px 40px rgba(20,30,50,.10), 0 4px 12px rgba(20,30,50,.05);
  --gp-glow: 0 2px 16px rgba(var(--gp-blue-rgb), .4);
  --gp-glow-hover: 0 4px 24px rgba(var(--gp-blue-rgb), .55);

  --gp-fast: .15s;
  --gp-base: .2s;
  --gp-ease-out: cubic-bezier(.22, .9, .27, 1);
}

/* Honour the OS "reduce motion" setting site-wide: animations jump to their end state and
   loops stop. The practice engine (ism-*) is left alone — its motion carries timing. */
@media (prefers-reduced-motion: reduce) {
  *:not([class*="ism-"]):not(.gp-interactive-practice-wrapper *),
  *:not([class*="ism-"]):not(.gp-interactive-practice-wrapper *)::before,
  *:not([class*="ism-"]):not(.gp-interactive-practice-wrapper *)::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
