.SubwayLineMap_wrapper___Tj0q{--map-bg:#14161a;--map-bg-accent:#1b1e24;--label-muted:#8b909a;--label-strong:#f4f5f7;background:linear-gradient(180deg,var(--map-bg-accent),var(--map-bg));border:1px solid hsla(0,0%,100%,.06);border-radius:16px;padding:20px 0 8px;box-shadow:0 10px 30px rgba(0,0,0,.35);overflow:hidden}.SubwayLineMap_header__g3Wvr{display:flex;align-items:center;gap:10px;padding:0 24px 16px}.SubwayLineMap_lineBadge__uJeDv{width:12px;height:12px;border-radius:50%;flex:none;box-shadow:0 0 8px currentColor}.SubwayLineMap_title__ttWh2{font-size:16px;font-weight:700;color:var(--label-strong);letter-spacing:-.01em}.SubwayLineMap_count__zQ6Pw{font-size:12px;color:var(--label-muted);margin-left:auto}.SubwayLineMap_canvas__uCaiZ{width:100%;padding:0 16px 8px}.SubwayLineMap_svg__yyF5U{display:block;width:100%;height:auto}.SubwayLineMap_line__XhPYI{opacity:.9;filter:drop-shadow(0 0 4px rgba(245,162,0,.25))}.SubwayLineMap_node__0ejNN{cursor:default;outline:none}.SubwayLineMap_node__0ejNN[role=button]{cursor:pointer}.SubwayLineMap_dot__qNlFL{fill:#14161a;stroke-width:3;transition:r .15s ease,fill .15s ease}.SubwayLineMap_label__heU0s{fill:var(--label-muted);font-size:11px;font-weight:500;pointer-events:none;transition:fill .15s ease,font-size .15s ease,font-weight .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.SubwayLineMap_node__0ejNN:focus-visible .SubwayLineMap_dot__qNlFL,.SubwayLineMap_node__0ejNN:hover .SubwayLineMap_dot__qNlFL{fill:var(--label-strong);r:8}.SubwayLineMap_node__0ejNN:focus-visible .SubwayLineMap_label__heU0s,.SubwayLineMap_node__0ejNN:hover .SubwayLineMap_label__heU0s{fill:var(--label-strong);font-size:13px;font-weight:700}.SubwayLineMap_node__0ejNN:focus-visible .SubwayLineMap_dot__qNlFL{stroke-width:4}.SubwayLineMap_occupied__4hO2Z .SubwayLineMap_dot__qNlFL{fill:#f5a200}.SubwayLineMap_occupied__4hO2Z .SubwayLineMap_label__heU0s{fill:var(--label-strong);font-weight:700}.SubwayLineMap_live__1BxXI{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#ffd36b;margin-left:12px}.SubwayLineMap_liveDot__jtiO_{width:7px;height:7px;border-radius:50%;background:#ff5a5a;box-shadow:0 0 6px #ff5a5a;animation:SubwayLineMap_livePulse__bMLX2 1.4s ease-in-out infinite}@keyframes SubwayLineMap_livePulse__bMLX2{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.SubwayLineMap_trainLayer__XOo8C{pointer-events:none}.SubwayLineMap_train__KLsfr{transition:transform 1.2s cubic-bezier(.4,0,.2,1);pointer-events:auto;cursor:pointer;outline:none}.SubwayLineMap_train__KLsfr:focus-visible .SubwayLineMap_glyphBody__RqcZ7,.SubwayLineMap_train__KLsfr:hover .SubwayLineMap_glyphBody__RqcZ7{stroke:#fff;stroke-width:1.2}.SubwayLineMap_train__KLsfr:hover{filter:drop-shadow(0 0 5px rgba(255,211,107,.8))}.SubwayLineMap_trainBob__sJ__x{transform-box:fill-box;transform-origin:center;animation:SubwayLineMap_trainBob__sJ__x 1.6s ease-in-out infinite}.SubwayLineMap_glyphBody__RqcZ7{fill:#e9eef5;stroke:#aab4c2;stroke-width:.7}.SubwayLineMap_glyphWindow__OBKeo{fill:#5ec4ff;opacity:.9}.SubwayLineMap_glyphWindshield__eTjC9{fill:#1f2733}.SubwayLineMap_glyphWheel__fsWmB{fill:#2a3340}.SubwayLineMap_glyphShadow__07eI1{fill:rgba(0,0,0,.35);animation:SubwayLineMap_trainShadow__bSQF6 1.6s ease-in-out infinite}.SubwayLineMap_glyphLight__eu5Tu{fill:#fff7c0;animation:SubwayLineMap_trainLight__w_kvL 1.6s ease-in-out infinite}@keyframes SubwayLineMap_trainBob__sJ__x{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-.6px) rotate(-.6deg)}50%{transform:translateY(-1.2px) rotate(0deg)}75%{transform:translateY(-.6px) rotate(.6deg)}}@keyframes SubwayLineMap_trainShadow__bSQF6{0%,to{opacity:.35;rx:12}50%{opacity:.2;rx:10.5}}@keyframes SubwayLineMap_trainLight__w_kvL{0%,to{opacity:1}50%{opacity:.4}}.SubwayLineMap_pingMarker__6q1nE{transform-box:fill-box;transform-origin:center bottom;animation:SubwayLineMap_pingFloat__ywUKZ 1.8s ease-in-out infinite;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));pointer-events:none}.SubwayLineMap_pingBubble__kQGIx{fill:#ff5a5a;stroke:#fff;stroke-width:.8}.SubwayLineMap_pingCount__gYaKX{fill:#fff;font-size:8px;font-weight:800;-webkit-user-select:none;-moz-user-select:none;user-select:none}.SubwayLineMap_trainPinged__4GAG9:hover{filter:drop-shadow(0 0 6px rgba(255,90,90,.85))}@keyframes SubwayLineMap_pingFloat__ywUKZ{0%,to{transform:translateY(0)}50%{transform:translateY(-1.6px)}}@media (prefers-reduced-motion:reduce){.SubwayLineMap_glyphLight__eu5Tu,.SubwayLineMap_glyphShadow__07eI1,.SubwayLineMap_liveDot__jtiO_,.SubwayLineMap_pingMarker__6q1nE,.SubwayLineMap_trainBob__sJ__x{animation:none}}.TrainModal_overlay__0BW7G{position:fixed;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000;animation:TrainModal_fadeIn__tZXoy .15s ease}.TrainModal_modal__4AogO{width:100%;max-width:560px;max-height:88vh;overflow-y:auto;background:#15181e;border:1px solid hsla(0,0%,100%,.08);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.5);padding:20px;color:#ededed;animation:TrainModal_popIn__Mxln3 .18s ease}.TrainModal_header__C4Co8{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.TrainModal_trainNo__cuj2M{font-size:20px;font-weight:800;display:flex;align-items:center;gap:8px}.TrainModal_tagExpress__U1IJX,.TrainModal_tagLast__Aghn0{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px}.TrainModal_tagExpress__U1IJX{background:#ff4d4d;color:#fff}.TrainModal_tagLast__Aghn0{background:#444b57;color:#fff}.TrainModal_sub__Fwudf{margin-top:4px;font-size:13px;color:#9aa1ad}.TrainModal_close__hKqTi{background:transparent;border:none;color:#9aa1ad;font-size:26px;line-height:1;cursor:pointer;padding:0 4px}.TrainModal_close__hKqTi:hover{color:#fff}.TrainModal_trainStrip__RKy7s{display:flex;align-items:center;gap:8px;margin-bottom:16px}.TrainModal_headSign__9hEaK{font-size:11px;color:#f5a200;font-weight:700;white-space:nowrap;flex:none}.TrainModal_cars__Xz3rL{display:flex;gap:5px;overflow-x:auto;padding:6px 2px;flex:1 1}.TrainModal_car__WwlPZ{position:relative;flex:1 0 auto;min-width:38px;height:46px;border-radius:7px 7px 5px 5px;border:1px solid #38414f;background:linear-gradient(180deg,#e9eef5,#c4ccd8);color:#1f2733;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.TrainModal_car__WwlPZ:before{content:"";position:absolute;top:6px;left:6px;right:6px;height:9px;border-radius:3px;background:#5ec4ff;opacity:.85}.TrainModal_car__WwlPZ:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.35)}.TrainModal_carHasPing__abPG3{border-color:#f5a200}.TrainModal_carActive__ZfVFd{border-color:#f5a200;box-shadow:0 0 0 2px #f5a200,0 4px 12px rgba(245,162,0,.35);transform:translateY(-2px)}.TrainModal_carNo__5UvP_{position:relative;z-index:1;margin-top:10px;font-size:13px}.TrainModal_carBadge__bbw_D{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#ff4d4d;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #15181e}.TrainModal_carPanel__eB7zv{border-top:1px solid hsla(0,0%,100%,.08);padding-top:14px}.TrainModal_carPanelTitle__KygZG{font-size:15px;font-weight:700;margin-bottom:10px}.TrainModal_pingList__jzmbC{list-style:none;display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;margin-bottom:14px}.TrainModal_pingItem__ClO_5{background:#1d2128;border:1px solid hsla(0,0%,100%,.06);border-radius:10px;padding:9px 11px}.TrainModal_pingMsg___bDbH{font-size:14px;line-height:1.4;word-break:break-word}.TrainModal_pingMeta__d4QPC{margin-top:5px;font-size:11px;color:#8b909a}.TrainModal_empty__1yfM2{color:#8b909a;font-size:13px;padding:8px 0}.TrainModal_form__9HyQm{display:flex;flex-direction:column;gap:8px}.TrainModal_author__SszSt,.TrainModal_message__Y263f{background:#0f1216;border:1px solid #2a313b;border-radius:9px;color:#ededed;font-size:14px;padding:10px 12px;font-family:inherit;outline:none}.TrainModal_author__SszSt:focus,.TrainModal_message__Y263f:focus{border-color:#f5a200}.TrainModal_message__Y263f{resize:vertical;min-height:64px}.TrainModal_submit__wSPf1{align-self:flex-end;background:#f5a200;color:#1a1205;font-weight:800;border:none;border-radius:9px;padding:10px 18px;cursor:pointer;transition:filter .12s ease}.TrainModal_submit__wSPf1:hover:not(:disabled){filter:brightness(1.08)}.TrainModal_submit__wSPf1:disabled{opacity:.5;cursor:not-allowed}.TrainModal_hint__m11sO{color:#8b909a;font-size:13px;padding:6px 0}.TrainModal_errorBox__HnmsO{color:#ff8585;font-size:13px;padding:4px 0}@keyframes TrainModal_fadeIn__tZXoy{0%{opacity:0}}@keyframes TrainModal_popIn__Mxln3{0%{opacity:0;transform:translateY(8px) scale(.98)}}