.rm-map{--rm-trip:#6ec1f5;--rm-chevron:#cfe6f7;--rm-sheet-h:152px;position:relative}.rm-stage{position:relative;padding-bottom:var(--rm-sheet-h);scroll-margin-top:calc(var(--nav-shield-h-compact, 64px) + 16px)}.rm-canvas{position:relative;overflow:hidden;height:auto;aspect-ratio:975/740;max-height:300px;min-height:0;background:linear-gradient(180deg,var(--map-canvas-top) 0,var(--map-canvas-bottom) 100%);touch-action:pan-y}.rm-canvas svg{display:block;width:100%;height:100%}.rm-canvas.is-failed,.rm-canvas.is-loading{background-image:linear-gradient(rgba(148,182,217,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(148,182,217,.07) 1px,transparent 1px),linear-gradient(180deg,var(--map-canvas-top) 0,var(--map-canvas-bottom) 100%);background-size:32px 32px,32px 32px,100% 100%}.rm-fail{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 48px);max-width:360px;margin:0;padding:12px 14px;border-radius:6px;text-align:center;background:rgba(12,18,24,.55);border:1px solid rgba(148,182,217,.2);color:var(--text-secondary);font-size:14px;line-height:1.5}.rm-authorized{opacity:.17}.rm-authorized-body{fill:var(--map-authorized);stroke:var(--map-authorized);stroke-width:1;stroke-linejoin:round}.rm-geo{fill:var(--map-land);stroke:var(--map-land-edge)}.rm-geo-intl{fill:var(--map-land-intl)}.rm-geo-intl,.rm-geo-lake{stroke:var(--map-land-intl-edge);pointer-events:none}.rm-geo-lake{fill:var(--map-water)}.rm-route{pointer-events:none}.rm-route-line{fill:none;stroke:var(--rm-trip);stroke-width:2.6;stroke-linecap:round}.rm-route-line.is-return{stroke:rgba(110,193,245,.6);stroke-width:1.8;stroke-dasharray:7 6}.rm-chev{fill:none;stroke:var(--rm-chevron);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rm-chev.is-return{opacity:.6}.rm-rider{color:#f4faff}.rm-rider use{stroke:var(--map-canvas-bottom);stroke-width:7;paint-order:stroke}.rm-mk{cursor:pointer;outline:none}.rm-mk-hit{fill:transparent}.rm-mk-dot{fill:var(--map-node);stroke:var(--map-node-edge);stroke-width:1.2;transition:fill .15s ease}.rm-t3 .rm-mk-dot{fill:var(--map-node-quiet);stroke-width:1}.rm-mk-diamond{fill:var(--map-campus);stroke:var(--map-campus-edge);stroke-width:1}.rm-mk:hover .rm-mk-dot{fill:var(--cream)}.rm-mk-focus{fill:none;stroke:none}.rm-mk:focus-visible .rm-mk-focus{stroke:var(--rm-trip);stroke-width:2}.rm-stop-origin{fill:var(--rm-trip);stroke:var(--map-canvas-bottom);stroke-width:2}.rm-stop-ring{fill:none;stroke:var(--rm-trip);stroke-width:2.4}.rm-mk-label{pointer-events:none}.rm-mk-city{font-family:var(--font-sans),"Barlow",system-ui,sans-serif;font-size:11.5px;font-weight:600;fill:var(--cream);paint-order:stroke;stroke:var(--map-canvas-bottom);stroke-width:3.5px;stroke-linejoin:round}.rm-t1 .rm-mk-city{font-size:12.5px}.rm-mk-code{font-family:var(--font-label),"Oswald",system-ui,sans-serif;font-size:9px;font-weight:500;letter-spacing:.14em;paint-order:stroke;stroke:var(--map-canvas-bottom);stroke-width:3px;stroke-linejoin:round}.rm-mk-code,.rm-t1 .rm-mk-code{fill:var(--lit)}.rm-mk.is-stop .rm-mk-city{fill:#fff}.rm-mk.is-stop .rm-mk-code{fill:var(--rm-trip)}.rm-tools{position:absolute;right:10px;top:10px;z-index:2;display:flex;flex-direction:column;gap:6px;align-items:flex-end}.rm-tools .rm-tool{width:44px;height:44px;min-height:44px;min-width:0;padding:0;font-size:18px;letter-spacing:0;background:rgba(10,15,20,.55)}.rm-tools .rm-tool-wide{width:auto;padding:0 12px;font-size:12px;letter-spacing:.18em}.rm-tools .rm-tool:disabled{opacity:.4;cursor:default}.rm-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--text-supporting)}.rm-legend span{display:inline-flex;align-items:center;gap:6px}.rm-lg{display:inline-block;flex:none;border-radius:999px}.rm-lg-authorized{width:11px;height:9px;border-radius:2px;background:var(--map-authorized);opacity:.34}.rm-lg-major{width:8px;height:8px;background:var(--map-node)}.rm-lg-dot{width:5px;height:5px;background:var(--map-node-quiet)}.rm-legend-canvas{display:none}.rm-legend-panel{margin-top:16px;padding-top:12px;border-top:1px solid var(--hairline)}.rm-panel{position:absolute;left:0;right:0;bottom:0;z-index:4;height:var(--rm-sheet-h);border-radius:6px 6px 0 0;overflow:hidden;transition:height .22s ease}.rm-panel-in{height:100%;display:flex;flex-direction:column}.rm-panel[data-open=true]{height:calc(100% - 44px)}.rm-sheet-handle{flex:none;display:flex;justify-content:center;align-items:center;width:100%;height:22px;padding:0;border:0;background:none;cursor:pointer;touch-action:none}.rm-sheet-grip{width:40px;height:4px;border-radius:4px;background:rgba(207,224,240,.45)}.rm-sheet-handle:focus-visible .rm-sheet-grip{background:var(--rm-trip)}.rm-summary{flex:none;padding:0 16px;min-width:0}.rm-title{margin:0;font-family:var(--font-heading),"Barlow Semi Condensed","Barlow",sans-serif;font-weight:600;font-size:18px;line-height:1.25;color:#fff}.rm-stats,.rm-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rm-stats{margin:2px 0 0;font-size:13.5px;line-height:1.4;color:var(--text-secondary);font-variant-numeric:tabular-nums}.rm-details{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px 16px 8px;display:none}.rm-panel[data-open=true] .rm-details{display:block}.rm-actions{flex:none;padding:8px 16px 12px}.rm-actions .btn-primary{width:100%}.rm-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.rm-field{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0}.rm-field-wide{grid-column:1/-1}.rm-label{font-family:var(--font-label),"Oswald",system-ui,sans-serif;font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--lit)}.rm-input{width:100%;min-height:44px;padding:10px 12px;border-radius:4px;font-family:inherit;font-size:16px;color:#fff;background:rgba(10,15,20,.45);border:1px solid rgba(148,182,217,.32);color-scheme:dark}.rm-input::-moz-placeholder{color:var(--text-disabled)}.rm-input::placeholder{color:var(--text-disabled)}.rm-input:focus{outline:none;border-color:rgba(207,224,240,.8);box-shadow:0 0 0 3px rgba(110,193,245,.25)}.rm-options{position:absolute;left:0;right:0;top:100%;z-index:6;margin:4px 0 0;padding:4px;list-style:none;border-radius:4px;max-height:240px;overflow-y:auto;background:rgba(12,18,24,.96);border:1px solid rgba(148,182,217,.32)}.rm-option{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border-radius:4px;cursor:pointer;color:var(--cream);font-size:15px}.rm-option:hover,.rm-option[aria-selected=true]{background:rgba(148,182,217,.16)}.rm-option-code{font-family:var(--font-label),"Oswald",sans-serif;font-size:11px;letter-spacing:.18em;color:var(--rm-trip)}.rm-combo-empty{margin:6px 0 0;font-size:13px;color:var(--text-supporting)}.rm-pax{display:inline-flex;align-items:center;border:1px solid rgba(148,182,217,.32);border-radius:4px;overflow:hidden;align-self:flex-start}.rm-pax button{width:44px;height:44px;border:0;cursor:pointer;background:rgba(10,15,20,.45);color:#fff;font-size:18px}.rm-pax button:disabled{opacity:.4;cursor:default}.rm-pax output{min-width:36px;text-align:center;color:#fff;font-weight:600;font-variant-numeric:tabular-nums}.rm-check{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;color:var(--text-secondary);cursor:pointer}.rm-check input{width:18px;height:18px;accent-color:var(--rm-trip)}.rm-legs{list-style:none;margin:12px 0 0;padding:0}.rm-leg{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;padding:8px 0;border-bottom:1px solid var(--hairline)}.rm-leg,.rm-leg-n{align-items:center}.rm-leg-n{width:22px;height:22px;border-radius:999px;display:inline-flex;justify-content:center;font-family:var(--font-label),"Oswald",sans-serif;font-size:12px;color:#0b1219;background:var(--rm-trip)}.rm-leg-route{font-size:14px;color:#fff;font-weight:600}.rm-leg .rm-input{grid-column:1/-1}.rm-hint{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--text-supporting)}.rm-textbtn{margin-top:6px;min-height:44px;padding:0;border:0;background:none;cursor:pointer;font-size:13.5px;color:var(--lit);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(110,193,245,.45)}.rm-textbtn:hover{color:#fff}.rm-classes-h{margin:16px 0 6px}.rm-classes{list-style:none;margin:0;padding:0;display:grid;gap:6px}.rm-class{width:100%;min-height:48px;padding:8px 10px;border-radius:4px;cursor:pointer;text-align:left;display:grid;grid-template-columns:30px 1fr auto;grid-template-rows:auto auto;-moz-column-gap:10px;column-gap:10px;align-items:center;background:rgba(148,182,217,.05);border:1px solid rgba(148,182,217,.2);color:var(--cream)}.rm-class:hover{border-color:rgba(148,182,217,.5)}.rm-class.is-on{background:rgba(148,182,217,.14);border-color:rgba(207,224,240,.7)}.rm-class-icon{grid-row:1/span 2;width:26px;height:26px;color:var(--lit);transform:rotate(90deg)}.rm-class.is-on .rm-class-icon{color:var(--rm-trip)}.rm-class-icon.is-scaled{transform:rotate(90deg) scale(1.1)}.rm-class-name{font-size:14.5px;font-weight:600;color:#fff;display:inline-flex;align-items:center;gap:8px;min-width:0}.rm-class-time{font-size:14px;color:#fff;font-variant-numeric:tabular-nums;text-align:right}.rm-class-stop{grid-column:2/-1;font-size:12.5px;color:var(--text-supporting)}.rm-class-stop.is-stop{color:var(--lit)}.rm-class .tag{padding:2px 6px;font-size:10px}@media (prefers-reduced-motion:reduce){.rm-mk-dot,.rm-panel{transition:none}}@media (min-width:900px){.rm-stage{display:grid;grid-template-columns:minmax(0,1fr) 340px;padding-bottom:0;border:1px solid rgba(148,182,217,.2);border-radius:6px;overflow:hidden}.rm-canvas{height:clamp(380px,58svh,560px);max-height:none;min-height:0;aspect-ratio:auto}.rm-tools{top:auto;bottom:12px;right:12px;flex-direction:column-reverse}.rm-legend-canvas{display:flex;position:absolute;left:16px;right:120px;bottom:14px;font-size:11.5px;pointer-events:none}.rm-legend-panel{display:none}.rm-panel{position:relative;left:auto;right:auto;bottom:auto;border-radius:0;border-width:0 0 0 1px;transition:none}.rm-panel,.rm-panel[data-open=true]{height:auto}.rm-panel-in{position:absolute;inset:0;height:auto}.rm-sheet-handle{display:none}.rm-summary{padding:20px 20px 0}.rm-title{font-size:20px}.rm-stats,.rm-title{white-space:normal}.rm-details{display:block;padding:4px 20px 8px}.rm-actions{padding:10px 20px 20px}}