/* Holo Night foundation. This is the sole palette and scale definition.
 * Feature stylesheets consume these tokens; they must not invent another
 * colour, type step, radius or motion duration. The card art supplies colour.
 */
:root {
  --ground: #0E0714;
  --panel: #170D22;
  --raised: #21142F;
  --ink: #F4EFFA;
  --ink-2: #C9BEDB;
  --ink-3: #A194B8;
  --violet: #8B4FE0;
  --violet-ink: #C9A6F7;
  --action: #B98AF2;
  --on-action: #0E0714;
  --live: #5EE7F7;
  --up: #4ADE80;
  --down: #FB7185;
  --foil: #F5D06F;
  /* Editorial category identity; separate from semantic success/price colors. */
  --hobby-sports: #DAB17D;
  --hobby-pokemon: #DED18D;
  --hobby-football: #97C9AA;
  --hobby-basketball: #E4AA8E;
  --shadow-object: 0 12px 22px rgb(0 0 0 / .33);
  --line: rgb(244 239 250 / .12);
  --line-strong: rgb(244 239 250 / .24);

  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;

  --r-control: 8px;
  --r-panel: 12px;
  --r-card: 5.5%;

  --fs-display: clamp(34px, 4vw, 48px);
  --fs-price: 40px;
  --fs-title: 24px;
  --fs-heading: 18px;
  --fs-body: 16px;
  --fs-small: 14px;
  --fs-micro: 12px;

  --m-press: 90ms;
  --m-hover: 160ms;
  --m-move: 240ms;
  --m-arrive: 600ms;
  --m-foil: 1800ms;
  --ease-holo: cubic-bezier(.2, .8, .2, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --m-press: 0ms;
    --m-hover: 0ms;
    --m-move: 0ms;
    --m-arrive: 0ms;
    --m-foil: 0ms;
  }
}
