/* ── Design tokens ─────────────────────────────────────────── */
:root {
  /* Color */
  --ink:        #18181b;
  --ink-2:      #52525b;
  --ink-3:      #a1a1aa;
  --line:       #e4e4e7;
  --line-2:     #d4d4d8;
  --wash:       #fafafa;
  --surface:    #ffffff;

  /* Station data */
  --bike:       #18181b;
  --ebike:      #16a34a;
  --dock:       #eab308;
  --avail:      #16a34a;
  --off:        #a1a1aa;

  /* Shadow */
  --shadow:     0 2px 8px rgba(0,0,0,.07), 0 8px 32px rgba(0,0,0,.07);
  --shadow-sm:  0 1px 3px rgba(0,0,0,.06);

  /* Glass */
  --glass-bg:     rgba(255, 255, 255, 0.68);
  --glass-border: rgba(0, 0, 0, 0.08);
  --glass-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
  --glass-blur:   18px;

  /* Fonts */
  --font:      "DM Sans", system-ui, sans-serif;
  --font-mono: "DM Mono", monospace;

  /* Type scale */
  --t-xs:    13px;
  --t-sm:    15px;
  --t-base:  16px;
  --t-md:    17px;
  --t-lg:    20px;

  /* Icon sizes */
  --ico-xs: 15px;
  --ico-sm: 16px;
  --ico-md: 17px;
  --ico-lg: 22px;

  /* Layout */
  --panel-inset: 32px;
  --panel-w:   320px;
  --px:        16px;
  --gap-xs:    6px;
  --gap-sm:    8px;
  --gap-md:    12px;
  --gap-lg:    16px;
  --gap-xl:    20px;
  --control-h: 42px;
  --chip-h:    36px;
  --inner:     calc(var(--px) + var(--gap-md));
  --ribbon-spill: 24px;
  --ribbon-h:     calc(var(--chip-h) + 14px);

  --r-sm:    4px;
  --r:       6px;
  --r-panel: 12px;
  --ease:    cubic-bezier(.4,0,.2,1);
}
