/* SolveTO Parking — design tokens (sourced from solveto-parking-handoff/tokens.js) */
:root,
[data-theme="dark"] {
  --sto-bg:        #0A0E14;
  --sto-bg-deep:   #06080C;
  --sto-surface:   #141A22;
  --sto-surface-hi:#1A2230;
  --sto-border:    #1F2730;
  --sto-border-hi: #2A3340;
  --sto-text:      #E8ECEF;
  --sto-text-dim:  #8B95A1;
  --sto-text-faint:#5A6470;

  --sto-blue:    #3B82F6;
  --sto-blue-dim:#1E4FA8;
  --sto-green:   #10E78F;
  --sto-amber:   #F59E0B;
  --sto-red:     #EF4444;
  --sto-purple:  #A78BFA;
  --sto-teal:    #2DD4BF;

  --sto-display: 'Geist', ui-sans-serif, system-ui, sans-serif;
  --sto-mono:    'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;
}

[data-theme="light"] {
  --sto-bg:        #F4F2EE;
  --sto-bg-deep:   #ECEAE5;
  --sto-surface:   #FFFFFF;
  --sto-surface-hi:#F9F8F4;
  --sto-border:    #E4E1DA;
  --sto-border-hi: #D4D1C8;
  --sto-text:      #0E1116;
  --sto-text-dim:  #5A6470;
  --sto-text-faint:#8B95A1;
}

@keyframes sto-pulse {
  0%, 100% { transform: scale(1); opacity: 0.5; }
  50%      { transform: scale(1.18); opacity: 0.18; }
}
@keyframes sto-pulse-tight {
  0%, 100% { transform: scale(1); opacity: 0.7; }
  50%      { transform: scale(1.06); opacity: 0.4; }
}
/* sto-locdot keyframes intentionally avoid `transform`: MapLibre writes
   `transform: translate(...)` directly onto the marker root element to
   position it. Animating transform here would clobber that translate and
   pin every location dot at the map's top-left. Animate the visuals via
   box-shadow and opacity instead. */
@keyframes sto-locdot {
  0%, 100% { box-shadow: 0 0 12px var(--sto-blue); opacity: 1; }
  50%      { box-shadow: 0 0 22px var(--sto-blue); opacity: 0.85; }
}
@keyframes sto-blink {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.25; }
}
