/* CTA Arrival Board */
.cta-page { padding-top: 32px; padding-bottom: 48px; }
.cta-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px;
  margin-bottom: 18px; }
.cta-title { font-size: 1.8rem; margin: 0 0 4px; }
.cta-sub { margin: 0; max-width: 620px; color: #6b717c; }
.cta-controls { display: flex; gap: 8px; flex-wrap: wrap; }
.cta { display: block; width: 100%; height: auto; border-radius: 6px; }
.cta .t { font-variant-numeric: tabular-nums; }
.cta-toggle { display: flex; align-items: center; gap: 8px; font: 13px system-ui, 'Segoe UI', sans-serif;
  color: #3a3f47; background: #fff; border: 1px solid #d3d6db; border-radius: 999px; padding: 6px 12px 6px 8px;
  cursor: pointer; }
.cta-toggle i { width: 28px; height: 16px; border-radius: 8px; background: #c9ccd2; position: relative;
  transition: background .15s; }
.cta-toggle i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px;
  border-radius: 50%; background: #fff; transition: transform .15s; }
.cta-toggle[aria-pressed="true"] i { background: #15171a; }
.cta-toggle[aria-pressed="true"] i::after { transform: translateX(12px); }
.cta-edge { padding-left: 12px; }
.cta .edge { display: none; }
.cta[data-edge="hairline"] .edge-hair, .cta[data-edge="corners"] .edge-corners { display: inline; }
a.cta-toggle { text-decoration: none; }
a.cta-toggle:hover { color: #15171a; border-color: #9aa0a8; }

/* kiosk: the artwork alone, as large as the screen allows, letterboxed in the canvas's own black */
body.cta-kiosk { margin: 0; height: 100vh; height: 100dvh; background: #0f1114; overflow: hidden; cursor: none; }
body.cta-kiosk .cta { width: 100vw; height: 100vh; height: 100dvh; border-radius: 0; }
body.cta-kiosk .cta > rect[stroke] { stroke: none; }
