/* ELEVATION — stock Tailwind shadows, used by role.

   ⚠️ Overlay legibility splits by surface: 2D map chrome is OPAQUE (white / neutral-900 + border +
   shadow-sm); 3D viewer chrome is DARK GLASS (neutral-900/90 + backdrop-blur). Non-interactive
   readouts always add pointer-events:none. */
:root{
  --shadow-sm:0 1px 2px 0 rgb(0 0 0 / .05);        /* anything floating over the map (32 uses) */
  --shadow-lg:0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1);  /* dropdowns */
  --shadow-xl:0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1); /* modals */
  --shadow-2xl:0 25px 50px -12px rgb(0 0 0 / .25); /* detached video player */

  /* Focus. .btn-primary and .input have rings; .btn-ghost sets focus:outline-none with NO
     replacement — that is a bug, not a convention. Use this token on every interactive element. */
  --focus-ring:0 0 0 2px var(--brand-focus);
  --focus-ring-offset:0 0 0 2px var(--surface-page),0 0 0 4px var(--brand-focus);

  /* Modal scrims are inconsistent in the product (black/30, /40, /50, /70). One token here. */
  --scrim-modal:rgb(0 0 0 / .5);

  /* Photo protection on the website */
  --scrim-bottom:linear-gradient(180deg,rgba(13,20,26,0) 0%,rgba(13,20,26,.10) 40%,rgba(13,20,26,.82) 100%);/* @kind color */
  --scrim-top:linear-gradient(180deg,rgba(13,20,26,.72) 0%,rgba(13,20,26,0) 60%);/* @kind color */

  --shadow-none:none;
  --shadow-hairline:inset 0 0 0 1px var(--border-subtle);
  --shadow-card:none;
  --shadow-raised:var(--shadow-lg);
  --shadow-overlay:var(--shadow-xl);
  --shadow-inset-control:none;
}
