/* Rozkład jazdy (klawisz M): sama mapa trasy (MAPM), bez listy */
#route { position: fixed; inset: 0; z-index: 60; padding-top: 52px; box-sizing: border-box; display: none; align-items: center; justify-content: center; background: rgba(8,10,6,.62); backdrop-filter: blur(2px); font-family: Bahnschrift, 'DIN Alternate', 'Segoe UI', sans-serif; }
#route.on { display: flex; }
.rt-box { position: relative; width: min(960px, 96vw); max-height: calc(100vh - 64px); box-sizing: border-box; display: flex; flex-direction: column; padding: 18px 22px 20px; background: rgba(22,25,17,.97); border: 1px solid #5a5746; box-shadow: 0 10px 40px rgba(0,0,0,.6); animation: bnIn .3s cubic-bezier(.2,1.2,.4,1) both; color: #d8d2b4; }
.rt-box .win-x { top: 10px; right: 10px; }
.rt-head { display: flex; align-items: baseline; gap: 18px; margin-bottom: 12px; padding-right: 34px; flex-wrap: wrap; }
.rt-head h2 { margin: 0; font: 800 15px Bahnschrift, sans-serif; letter-spacing: .24em; text-transform: uppercase; color: #e6e0c4; }
.rt-info { display: flex; gap: 16px; flex-wrap: wrap; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #a8a48a; }
.rt-info b { color: #e6e0c4; }
.rt-info .bad, .rt-info .bad b { color: #ee6a4a; }
.rt-strip { width: 100%; height: auto; background: rgba(10,12,8,.75); border: 1px solid #4a4d3a; cursor: crosshair; }
.rt-legend { display: flex; gap: 16px; align-items: center; margin: 8px 0 10px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8a866f; flex-wrap: wrap; }
.rt-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; border: 1px solid rgba(10,12,8,.9); }
.lg-stop { background: #b5452f; } .lg-poi { background: #4f6a4a; } .lg-dest { background: #f0c040; border-radius: 0 !important; } .lg-mist { background: #be3c2c; border-radius: 0 !important; }
.rt-key { margin-left: auto; }

/* UI130: rozkład nie wychodzi pod dolną krawędź (reguła ogólna ze settings.css nadpisywała max-height z tego pliku) */
#route.on > .rt-box { max-height: calc((100vh - 68px) / var(--ui)); }

/* ICONS3: znaki miejsc są rysunkami w kodzie (ui/placeicons.js) — kształt tła daje sam znak, bez kółka z CSS-a */
.pico { vertical-align: middle; }
/* ICONS3b: ikona wiersza 28 px (tło w kolorze roli rysuje sam znak) */

/* MAPM: okno to kompaktowa mapa trasy (ok. 60% dawnego rozmiaru), płótno 1:1 z oknem, bez przewijania */
#route.on > .rt-box { width: min(560px, 60vw); max-height: none; }
.rt-view { position: relative; }
.rt-strip { cursor: crosshair; }
/* dymek po najechaniu na ikonę: ten sam wygląd co dymki przedmiotów (.sv-tip), pozycja przy kursorze */
.rt-tipbox.sv-tip { display: none; left: 0; top: 0; bottom: auto; transform: none; width: 240px; white-space: normal; text-align: left; font-weight: 400; pointer-events: none; }
.rt-tipbox.sv-tip.on { display: flex; }
.rt-tipbox.sv-tip i { font-size: 12px; letter-spacing: .04em; color: #c8c3a6; }
.rt-tipbox.sv-tip i.bad { color: #ee6a4a; } .rt-tipbox.sv-tip i.ok { color: #7fd16a; }
/* legenda: jedna linia ikon z podpisami */
.rt-legend > span { display: inline-flex; align-items: center; gap: 4px; }
.rt-legend img.pico { width: 14px; height: 14px; }
