/* ============================================================
   cycle · effects — radius, shadow, border, motion
   ------------------------------------------------------------
   Feel: warm paper with soft, low, warm-tinted shadows (never
   neutral gray). Generous-but-not-pill radii. Cards = 1px warm
   hairline + top edge highlight + soft drop. Motion is quick
   with a gentle "settle" ease; press shrinks slightly.
   ============================================================ */

:root {
  /* ---- Radius ---- */
  --radius-xs:   4px;    /* tags, code pills            */
  --radius-sm:   8px;    /* buttons, inputs, badges     */
  --radius-md:   12px;   /* cards, callouts             */
  --radius-lg:   18px;   /* panels, modals              */
  --radius-xl:   28px;   /* hero blocks, feature cards  */
  --radius-full: 999px;  /* phase dots, avatars, pills  */

  /* ---- Borders ---- */
  --border-hair:    1px solid var(--line);
  --border-strong:  1px solid var(--line-strong);
  --border-ink:     1.5px solid var(--ink-900);   /* sticker outline */

  /* ---- Shadows (warm-tinted, never pure black) ---- */
  --shadow-xs:  0 1px 2px rgba(63, 44, 30, 0.06);
  --shadow-sm:  0 1px 2px rgba(63, 44, 30, 0.06),
                0 2px 6px rgba(63, 44, 30, 0.06);
  --shadow-md:  0 2px 4px rgba(63, 44, 30, 0.06),
                0 8px 20px rgba(63, 44, 30, 0.10);
  --shadow-lg:  0 4px 8px rgba(63, 44, 30, 0.07),
                0 20px 44px rgba(63, 44, 30, 0.14);
  --shadow-pop: 0 16px 40px rgba(63, 44, 30, 0.18);
  /* sticker = hard offset shadow in ink (playful badges/buttons) */
  --shadow-sticker: 2px 2px 0 var(--ink-900);
  /* top edge highlight, layer over a card before the drop shadow */
  --edge-top:   inset 0 1px 0 var(--paper-edge);

  /* ---- Focus ring ---- */
  --ring: 0 0 0 3px color-mix(in srgb, var(--focus-ring) 38%, transparent);

  /* ---- Motion ---- */
  --ease-settle: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-snap:   cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out:    cubic-bezier(0, 0, 0.2, 1);
  --dur-fast:    120ms;
  --dur-base:    200ms;
  --dur-slow:    340ms;
  --press-scale: 0.97;

  /* ---- Grain / texture opacity knobs ---- */
  --grain-opacity: 0.035;
}
