/* ═══════════════════════════════════════════════════════════════
   OMNIS OKLCH Color Pipeline — P3 wide gamut with sRGB fallback
   Every color defined once in OKLCH, auto-generates tint stops.
   Gradients interpolate in oklch — no gray dead zone.
   ═══════════════════════════════════════════════════════════════ */

:root {
  /* ── Crimson ── */
  --c-oklch: 0.55 0.24 15;
  --c-10: oklch(0.15 0.08 15);
  --c-20: oklch(0.25 0.12 15);
  --c-30: oklch(0.35 0.16 15);
  --c-50: oklch(0.55 0.24 15);
  --c-70: oklch(0.70 0.20 15);
  --c-90: oklch(0.88 0.10 15);

  /* ── Green ── */
  --g-10: oklch(0.18 0.05 165);
  --g-20: oklch(0.30 0.08 165);
  --g-30: oklch(0.45 0.10 165);
  --g-50: oklch(0.65 0.13 165);
  --g-70: oklch(0.78 0.15 165);
  --g-90: oklch(0.90 0.08 165);

  /* ── Purple ── */
  --p-10: oklch(0.15 0.06 290);
  --p-20: oklch(0.25 0.10 290);
  --p-30: oklch(0.38 0.14 290);
  --p-50: oklch(0.50 0.16 290);
  --p-70: oklch(0.60 0.18 290);
  --p-90: oklch(0.82 0.08 290);

  /* ── Amber ── */
  --am-10: oklch(0.18 0.05 75);
  --am-20: oklch(0.30 0.08 75);
  --am-50: oklch(0.55 0.12 75);
  --am-70: oklch(0.72 0.16 75);
  --am-90: oklch(0.88 0.08 75);

  /* ── Red ── */
  --rd-10: oklch(0.18 0.06 25);
  --rd-50: oklch(0.45 0.16 25);
  --rd-70: oklch(0.58 0.20 25);
  --rd-90: oklch(0.80 0.08 25);

  /* ── Cyan/Blue ── */
  --bl-10: oklch(0.18 0.04 210);
  --bl-50: oklch(0.55 0.10 210);
  --bl-70: oklch(0.75 0.13 210);
  --bl-90: oklch(0.88 0.06 210);
}

/* ── P3 Wide Gamut — richer on MacBooks, iPhones, modern monitors ── */
@supports (color: color(display-p3 1 0 0)) {
  :root {
    --c: color(display-p3 0.89 0.18 0.30);
    --g: color(display-p3 0.15 0.82 0.66);
    --p: color(display-p3 0.58 0.40 0.96);
    --am: color(display-p3 0.90 0.63 0.07);
    --rd: color(display-p3 0.90 0.28 0.28);
    --bl: color(display-p3 0.00 0.76 0.94);
  }
}

/* ── GRADIENT FIX — oklch interpolation kills gray dead zone ── */
/* Override gradient text classes */
/* .gr — kept original, oklch breaks gradient text */
/* .gp — kept original */
/* .gb — kept original */
/* .gg — kept original */
/* .ga — kept original */

/* Button hover gradients */
/* .bp:hover — kept original */

/* ── SKELETON SHIMMER — CSS-only loading states ── */
@keyframes shimmer {
  to { background-position: -200% 0; }
}
.o-skel,
[data-skeleton] {
  background: linear-gradient(90deg, var(--s2,#0D0D11) 25%, var(--s3,#121216) 50%, var(--s2,#0D0D11) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 6px;
  color: transparent !important;
}
.o-skel-text { height: 12px; margin-bottom: 8px; width: 80%; }
.o-skel-title { height: 20px; margin-bottom: 12px; width: 60%; }
.o-skel-card { height: 200px; border-radius: var(--rl, 14px); }

/* ── ELEVATION ENFORCEMENT — nested surfaces step up ── */
/* bg(#030305) < s1(#08080B) < s2(#0D0D11) < s3(#121216) */
.pcard .pcard,
.cortex-card .cortex-card,
[data-elevation="2"] { background: var(--s2) !important; }
.pcard .pcard .pcard,
[data-elevation="3"] { background: var(--s3) !important; }
