/**
 * elevation.css — Unified shadow elevation system (Superhuman premium-feel
 * step 4/4, FINAL step of the sequence).
 *
 * Continuation of:
 *  - [[project-unified-skeleton-superhuman-2026-05-23]]  step 1 (skeleton)
 *  - [[project-motion-language-superhuman-2026-05-23]]   step 2 (motion)
 *  - [[project-accent-unified-superhuman-2026-05-23]]    step 3 (accent)
 *
 * Step 4 consolidates the shadow system. Where the previous app had 5
 * elevation stops (--sh-xs / --sh-sm / --sh-md / --sh-lg / --sh-panel) plus
 * heavy multi-layer shadows on cards, Superhuman uses a TWO-stop elevation
 * model: at-rest (elev-1) and lifted (elev-2). Everything is at one of
 * those two heights — no in-between, no four-layer stacks.
 *
 * Strategy: TOKEN REDIRECT — same playbook as motion.css (step 2) and
 * accent.css (step 3). shell.css L71-75 (dark) and L180-184 (light) declare
 * the 5 shadow tokens; verbatim `_ported/*` consumes them in 145 places
 * (cards, buttons, modals, dropdowns, sticky cells, segments). Redefining
 * these tokens here in a later-loaded stylesheet redirects every reference
 * to the 2-stop system via CSS-variable cascade. Zero per-selector edits
 * across ~50 CSS files.
 *
 * Mapping decision:
 *  --sh-xs    → --ps-elev-1   (was barely-visible; stays subtle)
 *  --sh-sm    → --ps-elev-1   (buttons, segments — at-rest chrome)
 *  --sh-panel → --ps-elev-1   (cards — the bulk, 73 refs)
 *  --sh-md    → --ps-elev-2   (dropdowns, toasts, sticky chrome — lifted)
 *  --sh-lg    → --ps-elev-2   (modals — definitely lifted)
 *
 * Why two stops absorbs the original five: the old --sh-xs/sm/panel cluster
 * was all "at-rest chrome" — different visual weights but the same semantic
 * role (this thing sits at the page surface). The --sh-md/lg pair was all
 * "lifted above the surface". Consolidating preserves the hierarchy (rest
 * vs lift) while killing the visual-weight noise.
 *
 * Why Superhuman shadows are subtler: the old --sh-panel was a four-layer
 * stack (1px ring + 4/6 + 12/24 + 32/64) creating heavy floating cards.
 * The new elev-1 is a two-layer soft drop — paper-on-paper feel, not
 * floating UI. The brand voice carries the weight (mint accents from step
 * 3, ease-out-expo motion from step 2). Shadows recede.
 *
 * NOT touched:
 *  - Glow tokens (--glow-mint, --glow-blue→mint via accent.css). Glows are
 *    spotlight/focus emphasis, semantically different from elevation.
 *  - CTA tinted shadows (--cta-shadow, --cta-shadow-hover). Brand-tinted
 *    feedback for the primary action; kept distinct from neutral elevation.
 *  - Inline `box-shadow: 0 0 0 Npx ...` focus rings. Affordance, not
 *    elevation. The ~11 inline focus-ring declarations stay authored.
 *  - The ~42 inline drop-shadows in _ported/* (mostly overlay/tooltip
 *    chrome). Stripping them would require per-selector overrides; the
 *    visible bulk fix is the token redirect on the 145 token-based refs.
 *
 * Loaded after accent.css → wins the cascade for shadow-token redefinition.
 */

:root {
  /* The 2-stop elevation system for new code to consume directly. */
  --ps-elev-1: 0 1px 2px rgba(0, 0, 0, 0.20), 0 4px 12px rgba(0, 0, 0, 0.16);
  --ps-elev-2: 0 4px 8px rgba(0, 0, 0, 0.24), 0 16px 40px rgba(0, 0, 0, 0.22);

  /* Redirect — verbatim refs upgrade to the 2-stop system via cascade. */
  --sh-xs:    var(--ps-elev-1);
  --sh-sm:    var(--ps-elev-1);
  --sh-panel: var(--ps-elev-1);
  --sh-md:    var(--ps-elev-2);
  --sh-lg:    var(--ps-elev-2);
}

/* Light theme — shell.css L180-184 redefines the 5 tokens inside
 * `html[data-theme="light"]`. Mirror the redirect inside the same scope
 * with lighter alpha values (light theme needs subtler drops for the same
 * elevation cue against a near-white background). */
html[data-theme="light"] {
  --ps-elev-1: 0 1px 2px rgba(26, 39, 64, 0.06), 0 4px 12px rgba(26, 39, 64, 0.05);
  --ps-elev-2: 0 4px 8px rgba(26, 39, 64, 0.08), 0 16px 40px rgba(26, 39, 64, 0.07);

  --sh-xs:    var(--ps-elev-1);
  --sh-sm:    var(--ps-elev-1);
  --sh-panel: var(--ps-elev-1);
  --sh-md:    var(--ps-elev-2);
  --sh-lg:    var(--ps-elev-2);
}
