/* XinXin 16 · Glass · design tokens
   One hue family (indigo → violet), one radius scale, one shadow language.
   Loaded after every legacy layer; legacy variables are re-pointed here so
   older components inherit the same palette. */
:root{
  --g-font:"Inter","SF Pro Display","PingFang SC","HarmonyOS Sans SC","MiSans","Microsoft YaHei UI","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --g-mono:"JetBrains Mono","SF Mono","Cascadia Code",ui-monospace,Consolas,monospace;

  /* Radius scale — every surface uses one of these four */
  --g-r-xl:30px;   /* hero / feature stages */
  --g-r-lg:22px;   /* cards, panels, sidebar */
  --g-r-md:14px;   /* buttons, inputs, inner blocks */
  --g-r-sm:10px;   /* code, small tags */
  --g-r-pill:999px;

  --g-ease:cubic-bezier(.22,.8,.26,1);
  --g-spring:cubic-bezier(.34,1.4,.5,1);
  --g-t:.28s;
  --g-blur:22px;

  /* Brand family */
  --g-a1:#5b5ff2;  /* indigo */
  --g-a2:#8a6cff;  /* violet */
  --g-a3:#6f9bff;  /* periwinkle */
  --g-grad:linear-gradient(135deg,var(--g-a3) 0%,var(--g-a1) 48%,var(--g-a2) 100%);
  --g-ok:#2fae8f; --g-warn:#c98b2e; --g-err:#d4546c;
}
:root[data-color-mode="light"]{
  --g-bg:#eef0fa;
  --g-bg-2:#e5e8f8;
  --g-ink:#121633;
  --g-ink-2:#3f4670;
  --g-mute:#7a81a6;
  --g-faint:#a3a9c6;
  --g-line:rgba(98,108,180,.16);
  --g-line-2:rgba(98,108,180,.26);
  --g-glass:rgba(255,255,255,.56);
  --g-glass-2:rgba(255,255,255,.74);
  --g-glass-3:rgba(255,255,255,.34);
  --g-glass-in:rgba(246,247,255,.62);
  --g-edge:rgba(255,255,255,.92);
  --g-tint:rgba(91,95,242,.08);
  --g-tint-2:rgba(91,95,242,.14);
  --g-accent-ink:#4a4ee0;
  --g-glow:rgba(91,95,242,.32);
  --g-shadow:inset 0 1px 0 var(--g-edge),0 1px 2px rgba(40,46,120,.05),0 18px 44px -20px rgba(40,46,130,.26);
  --g-shadow-lift:inset 0 1px 0 var(--g-edge),0 2px 6px rgba(40,46,120,.06),0 34px 70px -26px rgba(40,46,140,.38);
  --g-shadow-btn:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -2px 0 rgba(30,20,120,.18),0 10px 24px -10px rgba(76,70,230,.65);
  --g-spot:rgba(120,120,255,.13);
  --g-orb-1:rgba(122,140,255,.55);
  --g-orb-2:rgba(160,120,255,.42);
  --g-orb-3:rgba(110,180,255,.38);
}
:root[data-color-mode="dark"]{
  --g-a1:#7479ff; --g-a2:#a184ff; --g-a3:#7ea6ff;
  --g-bg:#080a18;
  --g-bg-2:#0d1024;
  --g-ink:#eef0ff;
  --g-ink-2:#b7bce2;
  --g-mute:#8189b4;
  --g-faint:#5e6590;
  --g-line:rgba(150,160,255,.12);
  --g-line-2:rgba(150,160,255,.2);
  --g-glass:rgba(26,30,64,.48);
  --g-glass-2:rgba(34,39,82,.72);
  --g-glass-3:rgba(255,255,255,.035);
  --g-glass-in:rgba(10,12,32,.42);
  --g-edge:rgba(255,255,255,.085);
  --g-tint:rgba(124,128,255,.12);
  --g-tint-2:rgba(124,128,255,.2);
  --g-accent-ink:#a9adff;
  --g-glow:rgba(118,124,255,.42);
  --g-shadow:inset 0 1px 0 var(--g-edge),0 1px 2px rgba(0,0,0,.3),0 22px 50px -22px rgba(0,0,0,.7);
  --g-shadow-lift:inset 0 1px 0 rgba(255,255,255,.12),0 2px 8px rgba(0,0,0,.35),0 38px 80px -28px rgba(30,20,120,.75);
  --g-shadow-btn:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -2px 0 rgba(0,0,0,.25),0 12px 28px -10px rgba(110,100,255,.7);
  --g-spot:rgba(140,140,255,.12);
  --g-orb-1:rgba(88,96,255,.42);
  --g-orb-2:rgba(140,90,255,.34);
  --g-orb-3:rgba(60,120,255,.28);
}

/* Re-point legacy tokens so untouched components share the palette */
:root[data-color-mode]{
  --v14-bg:var(--g-bg);--v14-surface:var(--g-glass-2);--v14-surface-soft:var(--g-glass-in);
  --v14-ink:var(--g-ink);--v14-body:var(--g-ink-2);--v14-subtle:var(--g-mute);
  --v14-edge:var(--g-line);--v14-strong-edge:var(--g-line-2);
  --v14-accent:var(--g-a1);--v14-accent-ink:var(--g-accent-ink);--v14-accent-soft:var(--g-tint);
  --v14-r-xs:var(--g-r-sm);--v14-r-sm:var(--g-r-md);--v14-r-md:var(--g-r-md);--v14-r-lg:var(--g-r-lg);--v14-r-xl:var(--g-r-xl);
  --v15-bg:var(--g-bg);--v15-surface:var(--g-glass-2);--v15-ink:var(--g-ink);--v15-mute:var(--g-mute);
  --v15-line:var(--g-line);--v15-line-strong:var(--g-line-2);--v15-shadow:var(--g-shadow);--v15-shadow-lift:var(--g-shadow-lift);
  --mode-bg:var(--g-bg);--mode-surface:var(--g-glass-2);--mode-panel:var(--g-glass-2);--mode-soft:var(--g-glass-in);
  --mode-strong:var(--g-tint-2);--mode-text:var(--g-ink);--mode-text-2:var(--g-ink-2);--mode-muted:var(--g-mute);
  --mode-line:var(--g-line);--mode-accent:var(--g-a1);--mode-accent-soft:var(--g-tint);--mode-hover:var(--g-tint);
  --mode-nav:var(--g-glass-2);
  --bg:var(--g-bg);--panel:var(--g-glass-2);--panel-soft:var(--g-glass-in);--text:var(--g-ink);--text-2:var(--g-ink-2);
  --muted:var(--g-mute);--line:var(--g-line);--line-strong:var(--g-line-2);--accent:var(--g-a1);--accent-soft:var(--g-tint);
  --radius:var(--g-r-lg);--radius-md:var(--g-r-md);--radius-sm:var(--g-r-sm);--shadow:var(--g-shadow);--shadow-sm:var(--g-shadow);
  --chart-primary:var(--g-a1);--chart-secondary:var(--g-a2);--chart-mint:var(--g-a3);
  --chart-ink:var(--g-ink);--chart-muted:var(--g-mute);--chart-line:var(--g-line);
}
