:root {
  /* ── Brand ─────────────────────────────────────── */
  --brand:           #0B5CD9;
  --brand-2:         #25D2FF;
  --brand-gradient:  linear-gradient(135deg, #0B5CD9 0%, #1E8FFF 45%, #25D2FF 100%);
  --brand-gradient-text: linear-gradient(135deg, #0B5CD9 0%, #25D2FF 100%);

  /* Cobalt ramp */
  --cobalt-50:  #EAF2FE;  --cobalt-100: #CEDEFC;  --cobalt-200: #9DBDF9;
  --cobalt-400: #3B7BF3;  --cobalt-500: #1A66E8;  --cobalt-600: #0B5CD9;

  /* Cyan ramp */
  --cyan-400: #25D2FF;  --cyan-600: #0793BD;  --cyan-700: #066F8E;

  /* Slate */
  --slate-50:  #F6F8FB;  --slate-100: #EBEFF5;  --slate-200: #D8DFEA;
  --slate-400: #8C99AD;  --slate-500: #64718A;  --slate-700: #323D50;
  --slate-900: #131A26;

  /* Semantic tokens */
  --fg-1: var(--slate-900); --fg-2: var(--slate-700);
  --fg-3: var(--slate-500); --fg-4: var(--slate-400);
  --bg-canvas:  #FFFFFF; --bg-surface: #FFFFFF; --bg-muted: var(--slate-50);

  /* ── Typography ────────────────────────────────── */
  --font-sans:    'Inter','Noto Sans TC',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-display: 'Nunito','Inter','Noto Sans TC',-apple-system,sans-serif;
  --font-mono:    'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;

  /* ── 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;

  /* ── Radius ────────────────────────────────────── */
  --r-sm:   8px; --r-md:  12px; --r-lg:  16px; --r-xl:  22px; --r-pill: 999px;

  /* ── Shadow ────────────────────────────────────── */
  --shadow-sm: 0 1px 2px rgba(11,28,60,0.04);
  --shadow-md: 0 4px 12px rgba(11,28,60,0.06), 0 1px 2px rgba(11,28,60,0.04);
  --shadow-lg: 0 12px 24px rgba(11,28,60,0.08), 0 2px 4px rgba(11,28,60,0.04);
  --shadow-brand: 0 12px 32px rgba(11,92,217,0.30);

  /* ── Motion ────────────────────────────────────── */
  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --dur:  160ms;
  --dur-slow: 320ms;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg-canvas);
  color: var(--fg-1);
  font-family: var(--font-sans);
  font-feature-settings: 'kern', 'liga', 'calt', 'ss01';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
button { font-family: inherit; }
