.tm-fm-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;align-items:start}.tm-fm-mapwrap{position:relative;min-width:0}.tm-fm-map{height:70vh;min-height:420px;border:1px solid var(--tm-border);border-radius:var(--tm-radius);background:var(--tm-surface-2)}.tm-fm-status{margin-top:4px;font-size:.8rem;color:var(--tm-text-muted)}.tm-fm-side{max-height:70vh;overflow-y:auto;min-width:0}.tm-fm-detail{padding:10px 12px}.tm-fm-h2{margin:0 0 4px;font-size:1.05rem;font-weight:700;font-family:ui-monospace,monospace}.tm-fm-route{margin:0 0 6px}.tm-fm-now{margin:0 0 8px;font-size:.9rem;color:var(--tm-text-muted)}.tm-fm-late{display:inline-block;padding:0 6px;border:1px solid var(--tm-warn-bd);border-radius:var(--tm-radius-sm);background:var(--tm-warn-bg);color:var(--tm-warn-fg);font-size:.8rem}.tm-fm-manual{display:inline-block;padding:0 6px;border:1px solid var(--tm-info-bd);border-radius:var(--tm-radius-sm);background:var(--tm-info-bg);color:var(--tm-info-fg);font-size:.8rem}.tm-fm-cancel{display:inline-block;padding:0 6px;border:1px solid var(--tm-danger-bd);border-radius:var(--tm-radius-sm);background:var(--tm-danger-bg);color:var(--tm-danger-fg);font-size:.8rem}.tm-fm-cancels{margin:0 0 8px;padding:6px 10px;border:1px solid var(--tm-danger-bd);border-left-width:4px;border-radius:var(--tm-radius-sm);background:var(--tm-danger-bg);color:var(--tm-danger-fg);font-size:.85rem}.tm-fm-cancels ul{margin:2px 0 0;padding-left:1.2em}.tm-fm-all{margin:0 0 6px}.tm-fm-rows{width:100%;border-collapse:collapse;font-size:.85rem}.tm-fm-rows th,.tm-fm-rows td{padding:3px 4px;border-bottom:1px solid var(--tm-border);text-align:left;vertical-align:top}.tm-fm-rows th{color:var(--tm-text-muted);font-weight:400;font-size:.75rem}.tm-fm-rows .tm-fm-t{font-family:ui-monospace,monospace;white-space:nowrap}.tm-fm-rows tr.is-pass td{color:var(--tm-text-muted)}.tm-fm-rows tr.is-pass .tm-fm-name{padding-left:12px}.tm-fm-rows small{color:var(--tm-text-faint)}.tm-fm-num{font-family:ui-monospace,monospace;font-weight:700;white-space:nowrap}.tm-fm-pick{padding:0;border:0;background:none;color:var(--tm-accent);font:inherit;font-family:ui-monospace,monospace;font-weight:700;text-decoration:underline;cursor:pointer}#tm-fm-list tr.is-selected>td{background:var(--tm-info-bg)}body:not(.tm-tid) .tm-fm-map.leaflet-container{font:inherit;background:var(--tm-surface-2)}body:not(.tm-tid) .tm-fm-map .leaflet-bar a,body:not(.tm-tid) .tm-fm-map .leaflet-control-attribution{background:var(--tm-surface);color:var(--tm-text);border-color:var(--tm-border)}body:not(.tm-tid) .tm-fm-map .leaflet-control-attribution a{color:var(--tm-info-fg)}body:not(.tm-tid) .tm-fm-map .leaflet-tooltip.tm-fm-label{padding:0 3px;border:1px solid var(--tm-border-strong);border-radius:var(--tm-radius-sm);background:var(--tm-surface);color:var(--tm-text);box-shadow:none;font-family:ui-monospace,monospace;font-size:11px;line-height:1.4}body:not(.tm-tid) .tm-fm-map .leaflet-tooltip.tm-fm-label:before{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) body:not(.tm-tid) .tm-fm-map .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(.9)}}:root[data-theme=dark] body:not(.tm-tid) .tm-fm-map .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(.9)}@media(max-width:900px){.tm-fm-layout{grid-template-columns:minmax(0,1fr)}.tm-fm-map{height:60vh;min-height:320px}.tm-fm-side{max-height:60vh}}.tm-fm-rows .tm-fm-point{display:block;font-family:ui-monospace,monospace;font-size:.7rem;font-weight:400}.tm-fm-rows .tm-fm-point-d{white-space:nowrap}#tm-fm-map.is-far .tm-fm-label{font-size:10px;padding:0 3px;line-height:1.3}body:not(.tm-tid) .tm-fm-rows tr.is-here td{background:var(--tm-info-bg)}.tm-fm-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1001;display:flex;flex-direction:column;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tm-surface) 45%,transparent);pointer-events:none}.tm-fm-loading-box{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 22px;font-size:.9rem;color:var(--tm-text);background:var(--tm-surface);border:1px solid var(--tm-border);border-radius:8px}.tm-fm-loading[hidden]{display:none}.tm-fm-spinner{display:inline-block;width:36px;height:36px;border-radius:50%;border:3px solid var(--tm-border-strong);border-top-color:var(--tm-accent);animation:tmFmSpin .9s linear infinite}.tm-fm-spinner.is-small{width:.9em;height:.9em;border-width:2px;margin-right:6px;vertical-align:-.1em}@keyframes tmFmSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.tm-fm-spinner{animation-duration:2.4s}}
