/* ============================================================
   Liquid UI — Design Tokens (iOS 26 Liquid Glass)
   ============================================================ */

:root {
  /* ---- Type ---- */
  --font-display:
    -apple-system, 'SF Pro Display', 'SF Pro', BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-text:
    -apple-system, 'SF Pro Text', 'SF Pro', BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-mono: 'SF Mono', 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;

  /* ---- Accent (system blue) ---- */
  --accent-h: 211;
  --accent-s: 100%;
  --accent-l: 52%;
  --accent: hsl(var(--accent-h) var(--accent-s) var(--accent-l));
  --accent-soft: hsl(var(--accent-h) var(--accent-s) var(--accent-l) / 0.18);
  --accent-fg: #ffffff;

  /* ---- Semantic colors ---- */
  --red: #ff453a;
  --orange: #ff9f0a;
  --yellow: #ffd60a;
  --green: #30d158;
  --mint: #63e6e2;
  --teal: #40c8e0;
  --cyan: #64d2ff;
  --blue: #0a84ff;
  --indigo: #5e5ce6;
  --purple: #bf5af2;
  --pink: #ff375f;
  --brown: #ac8e68;

  /* ---- Radii ---- */
  --r-1: 6px;
  --r-2: 10px;
  --r-3: 14px;
  --r-4: 18px;
  --r-5: 22px;
  --r-pill: 999px;
  --radius-scale: 1;

  /* ---- Spacing ---- */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-7: 32px;
  --sp-8: 40px;

  /* ---- Glass — tunable via Tweaks ---- */
  --glass-blur: 24px;
  --glass-saturate: 160%;
  --glass-opacity: 1;
  --glass-border-strength: 1;

  /* Dark glass (default) */
  --glass-bg: rgba(28, 28, 32, calc(0.42 * var(--glass-opacity)));
  --glass-bg-strong: rgba(28, 28, 32, calc(0.68 * var(--glass-opacity)));
  --glass-bg-soft: rgba(40, 40, 48, calc(0.26 * var(--glass-opacity)));
  --glass-border: rgba(255, 255, 255, calc(0.14 * var(--glass-border-strength)));
  --glass-border-strong: rgba(255, 255, 255, calc(0.22 * var(--glass-border-strength)));
  --glass-highlight: rgba(255, 255, 255, calc(0.42 * var(--glass-border-strength)));
  --glass-shadow-inner: rgba(0, 0, 0, 0.22);

  /* Text */
  --text-1: #ffffff;
  --text-2: rgba(255, 255, 255, 0.78);
  --text-3: rgba(255, 255, 255, 0.55);
  --text-4: rgba(255, 255, 255, 0.32);

  /* Surfaces (showcase chrome) */
  --bg-page: #0a0a0d;
  --showcase-clean-bg: #101114;
  --surface-1: rgba(20, 20, 24, 0.6);
  --surface-2: rgba(28, 28, 32, 0.7);

  /* Shadows */
  --shadow-1: 0 4px 14px rgba(0, 0, 0, 0.18), 0 1px 2px rgba(0, 0, 0, 0.12);
  --shadow-2: 0 10px 30px rgba(0, 0, 0, 0.32), 0 2px 6px rgba(0, 0, 0, 0.18);
  --shadow-3: 0 24px 60px rgba(0, 0, 0, 0.46), 0 4px 12px rgba(0, 0, 0, 0.22);

  /* Easing */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
}

/* ---- Light theme override ---- */
:root[data-theme='light'] {
  --glass-bg: rgba(255, 255, 255, calc(0.55 * var(--glass-opacity)));
  --glass-bg-strong: rgba(255, 255, 255, calc(0.78 * var(--glass-opacity)));
  --glass-bg-soft: rgba(255, 255, 255, calc(0.35 * var(--glass-opacity)));
  --glass-border: rgba(255, 255, 255, calc(0.85 * var(--glass-border-strength)));
  --glass-border-strong: rgba(0, 0, 0, calc(0.08 * var(--glass-border-strength)));
  --glass-highlight: rgba(255, 255, 255, calc(0.95 * var(--glass-border-strength)));
  --glass-shadow-inner: rgba(0, 0, 0, 0.06);

  --text-1: #0c0c10;
  --text-2: rgba(0, 0, 0, 0.72);
  --text-3: rgba(0, 0, 0, 0.5);
  --text-4: rgba(0, 0, 0, 0.28);

  --bg-page: #f5f5f7;
  --showcase-clean-bg: #f6f7fb;
  --surface-1: rgba(255, 255, 255, 0.7);
  --surface-2: rgba(255, 255, 255, 0.85);
}
