/* ============================================================
   MUGEN° — Spacing, radii, borders, shadows, motion
   4px base grid. Predominantly SHARP corners (0px); buttons get a
   small 8px radius. Borders are hairline. Shadows are near-absent
   on dark — depth comes from surface lightness, not shadow.
   ============================================================ */
:root {
  /* Spacing — 4px base unit */
  --space-0: 0;
  --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;
  --space-32: 128px;
  --space-40: 160px;

  /* Section rhythm */
  --section-pad-y: clamp(80px, 10vw, 160px);
  --gutter: clamp(20px, 5vw, 64px); /* @kind spacing */
  --maxw: 1280px;

  /* Radii — sharp by default */
  --radius-none: 0px;
  --radius-sm: 4px;
  --radius-button: 8px;   /* primary control radius */
  --radius-card: 12px;    /* media cards / pills */
  --radius-pill: 999px;

  /* Border rules */
  --border-width: 1px; /* @kind spacing */
  --border-hairline: 1px solid var(--border-subtle); /* @kind other */
  --border-line: 1px solid var(--border-default); /* @kind other */

  /* Shadows — minimal on dark; used mostly on light popovers */
  --shadow-none: none;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-pop: 0 24px 60px -16px rgba(0, 0, 0, 0.7);
  --shadow-glow: 0 0 0 1px var(--border-default);

  /* Motion — calm, no bounce. Smooth easing à la Lenis scroll. */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1); /* @kind other */
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); /* @kind other */
  --dur-fast: 140ms; /* @kind other */
  --dur: 240ms; /* @kind other */
  --dur-slow: 480ms; /* @kind other */
  --transition: all var(--dur) var(--ease-out); /* @kind other */

  /* Z layers */
  --z-nav: 100; /* @kind other */
  --z-overlay: 400; /* @kind other */
  --z-modal: 500; /* @kind other */
  --z-toast: 600; /* @kind other */
}
