/* HouseChalk elevation.
 *
 * EVERY STEP IS TWO-PART: a tight contact shadow and a wide diffuse one. A
 * single-shadow lift is the tell that a surface is floating rather than resting
 * on something.
 *
 * ONLY A CARD LIFTS. A zone is flat, an outlined block is flat, and the page is
 * the page — the lift is what says "this is an object", so spending it anywhere
 * else costs the ladder its top rung. A white card takes a hairline drawn as an
 * inset ring composed into the shadow list, never as a border: a real border
 * moves content in by a pixel and reflows every card. Cards that are mostly
 * photograph use outline with a negative offset instead, because an inset
 * shadow paints below content.
 *
 * A CONTROL'S RESTING EDGE IS --ring-control, NOT --ring-hairline. The hairline
 * measures 1.30:1 in light and 1.16:1 in dark — enough to divide two rows
 * inside a card, nowhere near the 3:1 an interactive boundary owes. Anything
 * you can press and that has no fill of its own draws --ring-control.
 */
:root{
  --shadow-whisper:0 1px 2px rgba(21,23,26,0.035), 0 8px 20px -8px rgba(21,23,26,0.07);
  --shadow-soft:0 1px 2px rgba(21,23,26,0.04), 0 14px 30px -10px rgba(21,23,26,0.10);
  --shadow-card:0 2px 4px rgba(21,23,26,0.05), 0 26px 52px -14px rgba(21,23,26,0.14);
  --shadow-float:0 6px 14px rgba(21,23,26,0.06), 0 40px 76px -22px rgba(21,23,26,0.18);
  --shadow-glow:0 10px 24px -12px rgba(40,62,196,0.40);
  --ring-hairline:inset 0 0 0 1px var(--outline);
  --ring-control:inset 0 0 0 1px var(--control-outline);
  --ring-selected:inset 0 0 0 1.5px color-mix(in oklch, var(--on-primary) 26%, transparent); /* @kind shadow */
  --ring-focus:0 0 0 3px color-mix(in oklch, var(--primary) 34%, transparent);
}
