/* =====================================================================================
   Metro Line world (12-worlds-d A, Metro.dc.html). Everything here is prefixed mtr-. Loaded additively from App.razor.
   Shared pieces reused from pointwalk.css: idle/walk/cheer bean keyframes, .pop, .cf0-5, .press, .ready, .adlb.
   ===================================================================================== */
.mtr-scene-wrap { width: 100%; max-width: 1200px; margin: 0 auto; overflow: hidden; border-radius: 28px; }
/* the section IS the 1200x650 board (border-box, 3px border); the phone rule scales it with transform (origin top-left) */
.mtr-scene { position: relative; width: 1200px; height: 650px; box-sizing: border-box; background-color: #FBF2DF;
  background-image: linear-gradient(#EFE3CB 2px, transparent 2px), linear-gradient(90deg, #EFE3CB 2px, transparent 2px); background-size: 40px 40px;
  border: 3px solid #1E1B2E; border-radius: 28px; overflow: hidden; transform-origin: 0 0; }
/* a tram is a zero-size anchor at its track position; MetroWorld sets left/top/z-index and the per-ride animation */
.mtr-tram { position: absolute; width: 0; height: 0; }
.mtr-hit { background: transparent; }
.mtr-hit:hover { background: rgba(255,210,63,.35); }
.mtr-sign { transition: transform .15s ease; }
.mtr-sign:hover { transform: translate(-50%,-50%) translateY(-3px) !important; }
.mtr-sign:focus-visible { outline: 3px solid #5AA9FF; outline-offset: 3px; }
@keyframes mtr-tick { from { opacity: 0; transform: translateY(6px) } to { opacity: 1; transform: translateY(0) } }
.mtr-tick { animation: mtr-tick .35s ease-out both; }
.mtr-quick { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.mtr-quick button { min-width: 44px; height: 44px; padding: 0 10px; border: 3px solid #1E1B2E; border-radius: 12px; box-shadow: 0 3px 0 #1E1B2E; font-family: 'Lilita One', sans-serif; font-size: 18px; color: #1E1B2E; cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .mtr-tick { animation: none; } }
.rm .mtr-tick { animation: none; }
