/* Sarv surfaces: the shared mechanics of everything that sits on the page as a pixel block (button, tool, chip, card, panel, field, plaque, tooltip, switch...).
   Edge recipe: a 2 px border (--b) and a hard edge below it (--e) at --lift; --ring is the focus halo. ONE rule for the world (.sh-*) and the site (.px-*, .folio .ias-*).
   A component never writes this shadow; it sets --b, --e, --depth (and --lift only for a state). To put a new component on a surface, add its selector here. */
:where(.sh-plaque,
  .sh-tool,
  .sh-navbtn,
  .sh-chip,
  .sh-btn,
  .sh-pop,
  .sh-trail,
  .sh-cta,
  .sh-look-label,
  .sh-learn,
  .sh-doorhint,
  .sh-hover,
  .sh-tip,
  .sh-panel-close,
  .sh-panel-back,
  .sh-card,
  .sh-progress,
  .px-progress,
  .sh-panel,
  .sh-switch,
  .sh-choice,
  .sh-details,
  .sh-deck-bar,
  .sh-deck-drawer,
  .sh-logo,
  .sh-toast,
  .sh-pbtn,
  .sh-tooltip,
  .sh-signmenu,
  .sh-menu,
  .sh-obshint,
  .sh-sheet,
  .px-edge,
  .px-t-card,
  .px-seg,
  .px-plaque,
  .px-btn,
  .px-tool,
  .px-folio,
  .px-versions-list,
  .px-chip,
  .px-slot,
  .px-input,
  .sh-field,
  .sh-ask-input,
  .sh-dir-search,
  .sh-skysearch,
  .px-exhibit,
  .px-evidence,
  .px-decision,
  .px-article-hero,
  .px-zoom,
  .px-invite,
  .px-quote,
  .px-glimpse,
  .px-next,
  .px-case-pic,
  .px-tile,
  .px-cert,
  .px-letter,
  .px-slotbox,
  .px-choices button,
  .folio .ias-chatbot-pill,
  .folio .ias-chatbot-window,
  .folio .ias-chatbot-close-btn,
  .folio .ias-chatbot-chip,
  .folio .ias-chatbot-followup-chip,
  .folio .ias-chatbot-input,
  .folio .ias-chatbot-message,
  .folio .ias-chatbot-send-btn) { box-shadow: 0 -2px 0 var(--b), 0 2px 0 var(--b), -2px 0 0 var(--b), 2px 0 0 var(--b), 0 var(--lift) 0 var(--e, var(--b)), var(--ring, 0 0 #0000); }
/* the same recipe for components drawn as pseudo-elements (tooltips); :where() cannot hold them */
.px-seg button[data-tip]::after, .px-logos a::after, .px-cal-day.is-off::after { box-shadow: 0 -2px 0 var(--b), 0 2px 0 var(--b), -2px 0 0 var(--b), 2px 0 0 var(--b), 0 var(--lift) 0 var(--e, var(--b)), var(--ring, 0 0 #0000); }
