[data-v-5f5c81f9]:root{--bg-primary:#060a14;--bg-deep:#040710;--bg-panel:#0a1224e0;--bg-panel-hover:#0e1830eb;--border-panel:#3090ff2e;--border-glow:#3090ff73;--accent:#3090ff;--accent-bright:#5ab0ff;--accent-secondary:#00e5a0;--warning:#ff6b3d;--text-primary:#e8f4ff;--text-secondary:#e8f0ff8c;--text-muted:#e8f0ff59;--text-value:#3090ff;--heatmap-gradient-0:#039;--heatmap-gradient-1:#08f;--heatmap-gradient-2:#00e5a0;--heatmap-gradient-3:#fc0;--heatmap-gradient-4:#ff6b3d;--heatmap-gradient-5:#f04;--route-color-0:#3090ff;--route-color-1:#00e5a0;--route-color-2:#fc0;--route-color-3:#ff6b3d;--route-color-4:#b44dff;--route-color-5:#ff4d94;--route-color-6:#4dffff;--route-color-7:#f93;--bus-running:#00e5a0;--bus-idle:#fc0;--bus-stopped:#ff6b3d;--metrics-bar-height:56px;--panel-left-width:260px;--panel-right-width:300px;--glass-blur:16px;--glass-radius:10px;--glass-padding:14px;--glass-card-bg:#080e1ca6;--glass-card-border:#3090ff26}@keyframes glow-pulse-5f5c81f9{0%,to{opacity:.6}50%{opacity:1}}@keyframes scan-line-5f5c81f9{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes border-glow-5f5c81f9{0%,to{border-color:#3090ff2e}50%{border-color:#3090ff59}}@keyframes float-up-5f5c81f9{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.title-bar[data-v-5f5c81f9]{-webkit-backdrop-filter:blur(20px)saturate(1.3);z-index:20;background:#040810bf;border-bottom:1px solid #3090ff1a;justify-content:space-between;align-items:center;height:52px;padding:0 24px;display:flex;position:relative;box-shadow:0 4px 24px #00000080,0 0 1px #3090ff26}.title-bar[data-v-5f5c81f9]:after{content:"";background:linear-gradient(90deg,#0000 0%,#3090ff33 10%,#3090ff99 30%,#00e5a0cc 50%,#3090ff99 70%,#3090ff33 90%,#0000 100%);height:2px;animation:4s ease-in-out infinite accent-scan-5f5c81f9;position:absolute;bottom:0;left:0;right:0}@keyframes accent-scan-5f5c81f9{0%,to{opacity:.5}50%{opacity:1}}.title-left[data-v-5f5c81f9]{align-items:center;gap:12px;display:flex}.title-logo[data-v-5f5c81f9]{filter:drop-shadow(0 0 4px #3090ff4d);display:flex}.title-text-group[data-v-5f5c81f9]{flex-direction:column;gap:0;display:flex}.title-text[data-v-5f5c81f9]{color:#e8f4ff;letter-spacing:4px;text-shadow:0 0 12px #3090ff4d,0 0 24px #3090ff14;background:linear-gradient(90deg,#e8f4ff 0%,#3090ffe6 100%);-webkit-background-clip:text;background-clip:text;margin:0;font-size:18px;font-weight:800}.title-sub[data-v-5f5c81f9]{color:#3090ff59;letter-spacing:2px;font-size:9px;font-weight:600}.title-right[data-v-5f5c81f9]{align-items:center;display:flex}.date-control[data-v-5f5c81f9]{min-width:160px;position:relative}.date-control.active .date-trigger[data-v-5f5c81f9]{background:#3090ff1a;border-color:#3090ff59;box-shadow:0 0 12px #3090ff1f,inset 0 0 4px #3090ff0d}.date-control.active .date-arrow[data-v-5f5c81f9]{transform:rotate(180deg)}.date-trigger[data-v-5f5c81f9]{cursor:pointer;-webkit-user-select:none;user-select:none;background:#3090ff0f;border:1px solid #3090ff26;border-radius:8px;align-items:center;gap:8px;padding:6px 14px;transition:all .25s;display:flex}.date-trigger[data-v-5f5c81f9]:hover{background:#3090ff1a;border-color:#3090ff40;box-shadow:0 0 8px #3090ff1a}.date-icon[data-v-5f5c81f9]{color:#3090ff;opacity:.7;display:flex}.date-label[data-v-5f5c81f9]{color:#3090ff;letter-spacing:1px;white-space:nowrap;font-family:DIN Alternate,Roboto Mono,monospace;font-size:13px;font-weight:700}.date-arrow[data-v-5f5c81f9]{color:#3090ff99;transition:transform .25s;display:flex}.date-dropdown[data-v-5f5c81f9]{z-index:100;-webkit-backdrop-filter:blur(24px)saturate(1.3);background:#060c18eb;border:1px solid #3090ff2e;border-radius:10px;width:200px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 32px #0009,0 0 2px #3090ff33,inset 0 1px #ffffff08}.date-dropdown[data-v-5f5c81f9]:before{content:"";background:linear-gradient(90deg,#0000,#3090ff4d,#00e5a080,#3090ff4d,#0000);height:1px;position:absolute;top:0;left:0;right:0}.date-dropdown[data-v-5f5c81f9]:after{content:"";background:linear-gradient(90deg,#0000,#3090ff26,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}.dropdown-inner[data-v-5f5c81f9]{max-height:280px;padding:6px 4px;overflow-y:auto}.dropdown-item[data-v-5f5c81f9]{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;transition:all .15s;display:flex}.dropdown-item[data-v-5f5c81f9]:hover{background:#3090ff14}.dropdown-item.selected[data-v-5f5c81f9]{background:#3090ff1f;border:1px solid #3090ff33}.item-label[data-v-5f5c81f9]{color:#e8f4ffb3;letter-spacing:.5px;font-family:DIN Alternate,Roboto Mono,monospace;font-size:12px;font-weight:600}.dropdown-item.selected .item-label[data-v-5f5c81f9]{color:#3090ff}.item-check[data-v-5f5c81f9]{color:#00e5a0;font-size:10px;font-weight:700}.dropdown-enter-active[data-v-5f5c81f9]{transition:all .2s ease-out}.dropdown-leave-active[data-v-5f5c81f9]{transition:all .15s ease-in}.dropdown-enter-from[data-v-5f5c81f9]{opacity:0;transform:translateY(-6px)scale(.98)}.dropdown-leave-to[data-v-5f5c81f9]{opacity:0;transform:translateY(-4px)scale(.98)}@keyframes glow-pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes scan-line{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes border-glow{0%,to{border-color:#3090ff2e}50%{border-color:#3090ff59}}@keyframes float-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.map-wrapper{position:absolute;inset:0;overflow:hidden}.map-container{position:absolute;inset:0}.map-vignette{z-index:1;pointer-events:none;background:radial-gradient(#0000 50%,#04071066 100%);position:absolute;inset:0}.map-fallback{z-index:0;background:#060a14;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.map-fallback .fallback-grid{background-image:linear-gradient(#3090ff0a 1px,#0000 1px),linear-gradient(90deg,#3090ff0a 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#0009 0%,#0000 70%);mask-image:radial-gradient(#0009 0%,#0000 70%)}.map-fallback .fallback-content{text-align:center;z-index:1}.map-fallback .fallback-logo{width:80px;height:80px;margin:0 auto 24px;position:relative}.map-fallback .fallback-logo .logo-ring{border:2px solid #3090ff33;border-radius:50%;animation:3s ease-in-out infinite pulse-ring;position:absolute;inset:0}.map-fallback .fallback-logo .logo-ring.inner{border-color:#3090ff59;animation-delay:.5s;inset:16px}.map-fallback .fallback-logo .logo-dot{background:#3090ff;border-radius:50%;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 16px #3090ff80}.map-fallback .fallback-text{color:#e8f4ff;letter-spacing:4px;margin:0 0 6px;font-size:22px;font-weight:600}.map-fallback .fallback-sub{color:#3090ff80;letter-spacing:2px;margin:0 0 20px;font-size:12px}.map-fallback .fallback-hint{color:#e8f0ff8c;background:#3090ff0f;border:1px solid #3090ff26;border-radius:4px;margin:0;padding:6px 12px;font-size:11px;display:inline-block}@keyframes pulse-ring{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.overlay-container{z-index:10;pointer-events:none;position:absolute;inset:0}.overlay-container>*{pointer-events:auto}div[data-v-f2901baf]{min-width:0;min-height:0}[data-v-413f01dc]:root{--bg-primary:#060a14;--bg-deep:#040710;--bg-panel:#0a1224e0;--bg-panel-hover:#0e1830eb;--border-panel:#3090ff2e;--border-glow:#3090ff73;--accent:#3090ff;--accent-bright:#5ab0ff;--accent-secondary:#00e5a0;--warning:#ff6b3d;--text-primary:#e8f4ff;--text-secondary:#e8f0ff8c;--text-muted:#e8f0ff59;--text-value:#3090ff;--heatmap-gradient-0:#039;--heatmap-gradient-1:#08f;--heatmap-gradient-2:#00e5a0;--heatmap-gradient-3:#fc0;--heatmap-gradient-4:#ff6b3d;--heatmap-gradient-5:#f04;--route-color-0:#3090ff;--route-color-1:#00e5a0;--route-color-2:#fc0;--route-color-3:#ff6b3d;--route-color-4:#b44dff;--route-color-5:#ff4d94;--route-color-6:#4dffff;--route-color-7:#f93;--bus-running:#00e5a0;--bus-idle:#fc0;--bus-stopped:#ff6b3d;--metrics-bar-height:56px;--panel-left-width:260px;--panel-right-width:300px;--glass-blur:16px;--glass-radius:10px;--glass-padding:14px;--glass-card-bg:#080e1ca6;--glass-card-border:#3090ff26}@keyframes glow-pulse-413f01dc{0%,to{opacity:.6}50%{opacity:1}}@keyframes scan-line-413f01dc{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes border-glow-413f01dc{0%,to{border-color:#3090ff2e}50%{border-color:#3090ff59}}@keyframes float-up-413f01dc{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.bus-popup[data-v-413f01dc]{z-index:30;-webkit-backdrop-filter:blur(20px)saturate(1.2);border-radius:var(--glass-radius);color:#e8f4ff;background:#040810c7;border:1px solid #3090ff40;width:440px;max-height:calc(100vh - 16px);padding:16px;position:fixed;overflow-y:auto;box-shadow:0 8px 32px #0009,0 0 12px #3090ff14,inset 0 1px #3090ff0f}.popup-header[data-v-413f01dc]{border-bottom:1px solid #3090ff26;align-items:center;gap:8px;padding-bottom:12px;display:flex;position:relative}.popup-header[data-v-413f01dc]:after{content:"";background:linear-gradient(90deg,#3090ff,#0000);width:60px;height:1px;position:absolute;bottom:-1px;left:0}.popup-color-dot[data-v-413f01dc]{border-radius:50%;width:8px;height:8px;box-shadow:0 0 4px}.popup-title[data-v-413f01dc]{color:#e8f4ff;letter-spacing:2px;font-size:16px;font-weight:700}.popup-tag[data-v-413f01dc]{letter-spacing:1px;border:1px solid;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.popup-info-grid[data-v-413f01dc]{grid-template-columns:1fr 1fr 1fr;gap:8px;padding-top:12px;display:grid}.info-card[data-v-413f01dc]{background:#0003;border:1px solid #3090ff14;border-radius:6px;flex-direction:column;gap:3px;padding:10px 8px;display:flex}.info-card--highlight[data-v-413f01dc]{background:#00000026}.info-card--accent[data-v-413f01dc]{background:#00e5a00a;border-color:#00e5a026}.info-label[data-v-413f01dc]{color:#e8f0ff59;letter-spacing:2px;font-size:10px}.info-value[data-v-413f01dc]{color:#3090ff;text-shadow:0 0 6px #3090ff4d;letter-spacing:1px;font-family:DIN Alternate,SF Mono,monospace;font-size:15px;font-weight:700}.info-value--accent[data-v-413f01dc]{color:#00e5a0;text-shadow:0 0 6px #00e5a04d}.arrival-time[data-v-413f01dc]{color:#00e5a0;letter-spacing:1px;text-shadow:0 0 4px #00e5a04d;font-size:10px;font-weight:600}.trip-section[data-v-413f01dc]{border-top:1px solid #3090ff26;margin-top:10px;padding-top:10px}.section-label[data-v-413f01dc]{color:#e8f0ff59;letter-spacing:2px;margin-bottom:6px;font-size:10px}.tab-row[data-v-413f01dc]{gap:4px;margin-bottom:6px;display:flex}.tab-btn[data-v-413f01dc]{color:#e8f0ff80;cursor:pointer;background:#00000026;border:1px solid #3090ff26;border-radius:4px;padding:3px 12px;font-size:11px;font-weight:600;transition:all .15s}.tab-btn.active[data-v-413f01dc]{color:#00e5a0;text-shadow:0 0 4px #00e5a033;background:#00e5a014;border-color:#00e5a04d}.trip-row[data-v-413f01dc]{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.trip-btn[data-v-413f01dc]{color:#e8f0ff66;cursor:pointer;background:#0000001a;border:1px solid #3090ff1a;border-radius:3px;padding:2px 6px;font-family:DIN Alternate,SF Mono,monospace;font-size:9px;font-weight:600;transition:all .15s}.trip-btn.active[data-v-413f01dc]{color:#3090ff;background:#3090ff14;border-color:#3090ff4d}.chart-area[data-v-413f01dc]{margin-top:4px}.popup-fade-enter-active[data-v-413f01dc]{transition:opacity .15s ease-out}.popup-fade-leave-active[data-v-413f01dc]{transition:opacity .1s ease-in}.popup-fade-enter-from[data-v-413f01dc],.popup-fade-leave-to[data-v-413f01dc]{opacity:0}[data-v-918f0531]:root{--bg-primary:#060a14;--bg-deep:#040710;--bg-panel:#0a1224e0;--bg-panel-hover:#0e1830eb;--border-panel:#3090ff2e;--border-glow:#3090ff73;--accent:#3090ff;--accent-bright:#5ab0ff;--accent-secondary:#00e5a0;--warning:#ff6b3d;--text-primary:#e8f4ff;--text-secondary:#e8f0ff8c;--text-muted:#e8f0ff59;--text-value:#3090ff;--heatmap-gradient-0:#039;--heatmap-gradient-1:#08f;--heatmap-gradient-2:#00e5a0;--heatmap-gradient-3:#fc0;--heatmap-gradient-4:#ff6b3d;--heatmap-gradient-5:#f04;--route-color-0:#3090ff;--route-color-1:#00e5a0;--route-color-2:#fc0;--route-color-3:#ff6b3d;--route-color-4:#b44dff;--route-color-5:#ff4d94;--route-color-6:#4dffff;--route-color-7:#f93;--bus-running:#00e5a0;--bus-idle:#fc0;--bus-stopped:#ff6b3d;--metrics-bar-height:56px;--panel-left-width:260px;--panel-right-width:300px;--glass-blur:16px;--glass-radius:10px;--glass-padding:14px;--glass-card-bg:#080e1ca6;--glass-card-border:#3090ff26}@keyframes glow-pulse-918f0531{0%,to{opacity:.6}50%{opacity:1}}@keyframes scan-line-918f0531{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes border-glow-918f0531{0%,to{border-color:#3090ff2e}50%{border-color:#3090ff59}}@keyframes float-up-918f0531{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.station-popup[data-v-918f0531]{z-index:30;-webkit-backdrop-filter:blur(20px)saturate(1.2);border-radius:var(--glass-radius);color:#e8f4ff;background:#040810c7;border:1px solid #3090ff40;width:440px;max-height:calc(100vh - 16px);padding:16px;position:fixed;overflow-y:auto;box-shadow:0 8px 32px #0009,0 0 12px #3090ff14,inset 0 1px #3090ff0f}.popup-header[data-v-918f0531]{border-bottom:1px solid #3090ff26;align-items:center;gap:8px;padding-bottom:12px;display:flex;position:relative}.popup-header[data-v-918f0531]:after{content:"";background:linear-gradient(90deg,#3090ff,#0000);width:60px;height:1px;position:absolute;bottom:-1px;left:0}.popup-color-dot[data-v-918f0531]{border-radius:50%;width:8px;height:8px;box-shadow:0 0 4px}.popup-title[data-v-918f0531]{color:#e8f4ff;letter-spacing:2px;font-size:16px;font-weight:700}.popup-tag[data-v-918f0531]{letter-spacing:1px;border:1px solid;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.popup-info-grid[data-v-918f0531]{grid-template-columns:1fr 1fr 1fr;gap:8px;padding-top:12px;display:grid}.chart-section[data-v-918f0531]{border-top:1px solid #3090ff26;margin-top:10px;padding-top:10px}.chart-title[data-v-918f0531]{color:#e8f0ff59;letter-spacing:2px;margin-bottom:4px;font-size:10px}.info-card[data-v-918f0531]{background:#0003;border:1px solid #3090ff14;border-radius:6px;flex-direction:column;gap:3px;padding:10px 8px;display:flex}.info-card--accent[data-v-918f0531]{background:#00e5a00a;border-color:#00e5a026}.info-label[data-v-918f0531]{color:#e8f0ff59;letter-spacing:2px;font-size:10px}.info-value[data-v-918f0531]{color:#3090ff;text-shadow:0 0 6px #3090ff4d;letter-spacing:1px;font-family:DIN Alternate,SF Mono,monospace;font-size:15px;font-weight:700}.info-value--accent[data-v-918f0531]{color:#00e5a0;text-shadow:0 0 6px #00e5a04d}.popup-fade-enter-active[data-v-918f0531]{transition:opacity .15s ease-out}.popup-fade-leave-active[data-v-918f0531]{transition:opacity .1s ease-in}.popup-fade-enter-from[data-v-918f0531],.popup-fade-leave-to[data-v-918f0531]{opacity:0}[data-v-47352f91]:root{--bg-primary:#060a14;--bg-deep:#040710;--bg-panel:#0a1224e0;--bg-panel-hover:#0e1830eb;--border-panel:#3090ff2e;--border-glow:#3090ff73;--accent:#3090ff;--accent-bright:#5ab0ff;--accent-secondary:#00e5a0;--warning:#ff6b3d;--text-primary:#e8f4ff;--text-secondary:#e8f0ff8c;--text-muted:#e8f0ff59;--text-value:#3090ff;--heatmap-gradient-0:#039;--heatmap-gradient-1:#08f;--heatmap-gradient-2:#00e5a0;--heatmap-gradient-3:#fc0;--heatmap-gradient-4:#ff6b3d;--heatmap-gradient-5:#f04;--route-color-0:#3090ff;--route-color-1:#00e5a0;--route-color-2:#fc0;--route-color-3:#ff6b3d;--route-color-4:#b44dff;--route-color-5:#ff4d94;--route-color-6:#4dffff;--route-color-7:#f93;--bus-running:#00e5a0;--bus-idle:#fc0;--bus-stopped:#ff6b3d;--metrics-bar-height:56px;--panel-left-width:260px;--panel-right-width:300px;--glass-blur:16px;--glass-radius:10px;--glass-padding:14px;--glass-card-bg:#080e1ca6;--glass-card-border:#3090ff26}@keyframes glow-pulse-47352f91{0%,to{opacity:.6}50%{opacity:1}}@keyframes scan-line-47352f91{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes border-glow-47352f91{0%,to{border-color:#3090ff2e}50%{border-color:#3090ff59}}@keyframes float-up-47352f91{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.route-popup[data-v-47352f91]{z-index:30;-webkit-backdrop-filter:blur(20px)saturate(1.2);border-radius:var(--glass-radius);color:#e8f4ff;background:#040810c7;border:1px solid #3090ff40;width:440px;max-height:calc(100vh - 16px);padding:16px;position:fixed;overflow-y:auto;box-shadow:0 8px 32px #0009,0 0 12px #3090ff14,inset 0 1px #3090ff0f}.popup-header[data-v-47352f91]{border-bottom:1px solid #3090ff26;align-items:center;gap:8px;padding-bottom:12px;display:flex;position:relative}.popup-header[data-v-47352f91]:after{content:"";background:linear-gradient(90deg,#3090ff,#0000);width:60px;height:1px;position:absolute;bottom:-1px;left:0}.popup-color-dot[data-v-47352f91]{border-radius:50%;width:8px;height:8px;box-shadow:0 0 4px}.popup-title[data-v-47352f91]{color:#e8f4ff;letter-spacing:2px;font-size:16px;font-weight:700}.popup-info-grid[data-v-47352f91]{grid-template-columns:1fr 1fr 1fr;gap:8px;padding-top:12px;display:grid}.vehicle-section[data-v-47352f91]{border-top:1px solid #3090ff26;margin-top:10px;padding-top:10px}.vehicle-section-title[data-v-47352f91]{color:#e8f0ff59;letter-spacing:2px;margin-bottom:8px;font-size:10px}.vehicle-list[data-v-47352f91]{flex-direction:column;gap:6px;display:flex}.vehicle-item[data-v-47352f91]{background:#00000026;border:1px solid #3090ff0f;border-radius:6px;align-items:center;gap:16px;padding:8px 12px;display:flex}.vehicle-plate[data-v-47352f91]{color:#e8f4ff;letter-spacing:1px;font-family:DIN Alternate,SF Mono,monospace;font-size:13px;font-weight:700}.vehicle-status[data-v-47352f91]{border-radius:3px;padding:2px 8px;font-size:11px;font-weight:600}.vehicle-status.status-running[data-v-47352f91]{color:#00e5a0;background:#00e5a014}.vehicle-status.status-idle[data-v-47352f91],.vehicle-status.status-stopped[data-v-47352f91]{color:#ff6b3d;background:#ff6b3d14}.vehicle-dir[data-v-47352f91]{color:#fc0;letter-spacing:1px;font-size:11px;font-weight:600}.vehicle-next[data-v-47352f91]{color:#e8f0ffb3;font-family:DIN Alternate,SF Mono,monospace;font-size:11px}.info-card[data-v-47352f91]{background:#0003;border:1px solid #3090ff14;border-radius:6px;flex-direction:column;gap:3px;padding:10px 8px;display:flex}.info-card--accent[data-v-47352f91]{background:#00e5a00a;border-color:#00e5a026}.info-label[data-v-47352f91]{color:#e8f0ff59;letter-spacing:2px;font-size:10px}.info-value[data-v-47352f91]{color:#3090ff;text-shadow:0 0 6px #3090ff4d;letter-spacing:1px;font-family:DIN Alternate,SF Mono,monospace;font-size:15px;font-weight:700}.info-value--accent[data-v-47352f91]{color:#00e5a0;text-shadow:0 0 6px #00e5a04d}.chart-section[data-v-47352f91]{border-top:1px solid #3090ff26;margin-top:10px;padding-top:10px}.chart-title[data-v-47352f91]{color:#e8f0ff59;letter-spacing:2px;margin-bottom:4px;font-size:10px}.popup-fade-enter-active[data-v-47352f91]{transition:opacity .15s ease-out}.popup-fade-leave-active[data-v-47352f91]{transition:opacity .1s ease-in}.popup-fade-enter-from[data-v-47352f91],.popup-fade-leave-to[data-v-47352f91]{opacity:0}[data-v-e550ca6b]:root{--bg-primary:#060a14;--bg-deep:#040710;--bg-panel:#0a1224e0;--bg-panel-hover:#0e1830eb;--border-panel:#3090ff2e;--border-glow:#3090ff73;--accent:#3090ff;--accent-bright:#5ab0ff;--accent-secondary:#00e5a0;--warning:#ff6b3d;--text-primary:#e8f4ff;--text-secondary:#e8f0ff8c;--text-muted:#e8f0ff59;--text-value:#3090ff;--heatmap-gradient-0:#039;--heatmap-gradient-1:#08f;--heatmap-gradient-2:#00e5a0;--heatmap-gradient-3:#fc0;--heatmap-gradient-4:#ff6b3d;--heatmap-gradient-5:#f04;--route-color-0:#3090ff;--route-color-1:#00e5a0;--route-color-2:#fc0;--route-color-3:#ff6b3d;--route-color-4:#b44dff;--route-color-5:#ff4d94;--route-color-6:#4dffff;--route-color-7:#f93;--bus-running:#00e5a0;--bus-idle:#fc0;--bus-stopped:#ff6b3d;--metrics-bar-height:56px;--panel-left-width:260px;--panel-right-width:300px;--glass-blur:16px;--glass-radius:10px;--glass-padding:14px;--glass-card-bg:#080e1ca6;--glass-card-border:#3090ff26}@keyframes glow-pulse-e550ca6b{0%,to{opacity:.6}50%{opacity:1}}@keyframes scan-line-e550ca6b{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes border-glow-e550ca6b{0%,to{border-color:#3090ff2e}50%{border-color:#3090ff59}}@keyframes float-up-e550ca6b{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.right-panel[data-v-e550ca6b]{-webkit-backdrop-filter:blur(28px)saturate(1.3);z-index:15;background:#04081073;border-left:1px solid #3090ff14;flex-direction:column;gap:14px;width:440px;padding:20px;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}.right-panel[data-v-e550ca6b]:before{content:"";background:linear-gradient(#0000 0%,#3090ff66 15%,#00e5a0b3 50%,#3090ff66 85%,#0000 100%);width:2px;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 12px #3090ff33,0 0 24px #00e5a01a}.panel-noise[data-v-e550ca6b]{pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-size:128px 128px;position:absolute;inset:0}.panel-scanline[data-v-e550ca6b]{pointer-events:none;opacity:.04;position:absolute;inset:0;overflow:hidden}.panel-scanline[data-v-e550ca6b]:before{content:"";background:linear-gradient(90deg,#0000,#3090ff99,#0000);width:100%;height:1px;animation:6s linear infinite scan-move-e550ca6b;position:absolute}@keyframes scan-move-e550ca6b{0%{top:-2px}to{top:100%}}.panel-header[data-v-e550ca6b]{align-items:center;gap:10px;padding-bottom:14px;display:flex;position:relative}.panel-header[data-v-e550ca6b]:after{content:"";background:linear-gradient(90deg,#3090ff99,#00e5a0e6 40%,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}.header-accent[data-v-e550ca6b]{background:linear-gradient(#3090ff,#00e5a0);border-radius:2px;width:4px;height:22px;box-shadow:0 0 10px #3090ff80,0 0 20px #00e5a033}.header-title[data-v-e550ca6b]{color:#e8f4ff;letter-spacing:4px;text-shadow:0 0 12px #3090ff66,0 0 28px #3090ff1a;font-size:16px;font-weight:800}.header-sub[data-v-e550ca6b]{color:#3090ff73;letter-spacing:1.5px;margin-left:auto;font-size:8px;font-weight:600}.metrics-row[data-v-e550ca6b]{grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;display:grid}.metric-card[data-v-e550ca6b]{-webkit-backdrop-filter:blur(16px)saturate(1.2);text-align:center;background:#060c1859;border:1px solid #3090ff14;border-radius:10px;padding:12px 8px;transition:all .3s;position:relative;overflow:hidden}.metric-card[data-v-e550ca6b]:before{content:"";background:linear-gradient(90deg,#0000,#ffffff14,#0000);height:1px;position:absolute;top:0;left:10%;right:10%}.metric-card[data-v-e550ca6b]:after{content:"";pointer-events:none;background:radial-gradient(at bottom,#3090ff0f,#0000);height:8px;position:absolute;bottom:0;left:30%;right:30%}.metric-card[data-v-e550ca6b]:hover{background:#08102080;border-color:#3090ff33;transform:translateY(-1px);box-shadow:0 0 20px #3090ff14,inset 0 1px #ffffff0a}.metric-card--accent[data-v-e550ca6b]{background:#00e5a008;border-color:#00e5a01f}.metric-card--accent[data-v-e550ca6b]:before{background:linear-gradient(90deg,#0000,#00e5a026,#0000)}.metric-card--accent[data-v-e550ca6b]:after{background:radial-gradient(at bottom,#00e5a014,#0000)}.metric-card--accent[data-v-e550ca6b]:hover{border-color:#00e5a040;box-shadow:0 0 16px #00e5a014}.metric-glow-ring[data-v-e550ca6b]{pointer-events:none;background:radial-gradient(#3090ff0a,#0000 70%);border-radius:50%;width:60px;height:60px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.metric-glow-ring--green[data-v-e550ca6b]{background:radial-gradient(#00e5a00f,#0000 70%)}.metric-icon[data-v-e550ca6b]{opacity:.55;justify-content:center;margin-bottom:4px;display:flex}.metric-label[data-v-e550ca6b]{color:#e8f0ff59;letter-spacing:2px;margin-bottom:3px;font-size:10px}.metric-value[data-v-e550ca6b]{color:#3090ff;text-shadow:0 0 10px #3090ff66,0 0 24px #3090ff14;letter-spacing:1px;font-family:DIN Alternate,SF Mono,monospace;font-size:18px;font-weight:800}.metric-value--accent[data-v-e550ca6b]{color:#00e5a0;text-shadow:0 0 10px #00e5a066,0 0 24px #00e5a014}.metric-trend[data-v-e550ca6b]{letter-spacing:1px;margin-top:2px;font-family:DIN Alternate,monospace;font-size:9px;font-weight:700}.chart-section[data-v-e550ca6b]{position:relative}.pie-row[data-v-e550ca6b]{gap:10px;margin-top:6px;display:flex}.pie-card[data-v-e550ca6b]{flex:1;min-width:0}.chart-label[data-v-e550ca6b]{align-items:center;gap:8px;margin-bottom:4px;padding-left:24px;display:flex}.chart-accent-bar[data-v-e550ca6b]{background:linear-gradient(#3090ff,#00e5a0);border-radius:2px;width:3px;height:14px;box-shadow:0 0 6px #3090ff66}.chart-label-text[data-v-e550ca6b]{color:#3090ff;letter-spacing:2px;text-shadow:0 0 6px #3090ff4d;font-size:11px;font-weight:700}[data-v-5ba7da2d]:root{--bg-primary:#060a14;--bg-deep:#040710;--bg-panel:#0a1224e0;--bg-panel-hover:#0e1830eb;--border-panel:#3090ff2e;--border-glow:#3090ff73;--accent:#3090ff;--accent-bright:#5ab0ff;--accent-secondary:#00e5a0;--warning:#ff6b3d;--text-primary:#e8f4ff;--text-secondary:#e8f0ff8c;--text-muted:#e8f0ff59;--text-value:#3090ff;--heatmap-gradient-0:#039;--heatmap-gradient-1:#08f;--heatmap-gradient-2:#00e5a0;--heatmap-gradient-3:#fc0;--heatmap-gradient-4:#ff6b3d;--heatmap-gradient-5:#f04;--route-color-0:#3090ff;--route-color-1:#00e5a0;--route-color-2:#fc0;--route-color-3:#ff6b3d;--route-color-4:#b44dff;--route-color-5:#ff4d94;--route-color-6:#4dffff;--route-color-7:#f93;--bus-running:#00e5a0;--bus-idle:#fc0;--bus-stopped:#ff6b3d;--metrics-bar-height:56px;--panel-left-width:260px;--panel-right-width:300px;--glass-blur:16px;--glass-radius:10px;--glass-padding:14px;--glass-card-bg:#080e1ca6;--glass-card-border:#3090ff26}@keyframes glow-pulse-5ba7da2d{0%,to{opacity:.6}50%{opacity:1}}@keyframes scan-line-5ba7da2d{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes border-glow-5ba7da2d{0%,to{border-color:#3090ff2e}50%{border-color:#3090ff59}}@keyframes float-up-5ba7da2d{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.overall-analysis[data-v-5ba7da2d]{z-index:40;-webkit-backdrop-filter:blur(16px);border-radius:var(--glass-radius);color:#e8f4ff;background:#0a1224f0;border:1px solid #3090ff40;width:820px;max-height:calc(100vh - 40px);padding:20px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 12px 48px #000000b3,0 0 24px #3090ff14,inset 0 1px #3090ff0f}.detail-header[data-v-5ba7da2d]{border-bottom:1px solid #3090ff26;justify-content:space-between;align-items:center;padding-bottom:14px;display:flex;position:relative}.detail-header[data-v-5ba7da2d]:after{content:"";background:linear-gradient(90deg,#3090ff,#0000);width:80px;height:1px;position:absolute;bottom:-1px;left:0}.detail-title-area[data-v-5ba7da2d]{align-items:center;gap:12px;display:flex}.overall-icon-wrap[data-v-5ba7da2d]{background:#3090ff14;border:1px solid #3090ff33;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 0 8px #3090ff26}.detail-title-col[data-v-5ba7da2d]{flex-direction:column;gap:2px;display:flex}.detail-title[data-v-5ba7da2d]{color:#e8f4ff;letter-spacing:3px;font-size:20px;font-weight:700}.detail-subtitle[data-v-5ba7da2d]{color:#3090ff80;letter-spacing:3px;text-transform:uppercase;font-size:10px}.detail-close[data-v-5ba7da2d]{color:#ff6b3db3;cursor:pointer;background:#ff6b3d0f;border:1px solid #ff6b3d33;border-radius:6px;width:28px;height:28px;font-size:13px;transition:all .2s}.detail-close[data-v-5ba7da2d]:hover{color:#ff6b3d;background:#ff6b3d26;border-color:#ff6b3d66}.detail-charts[data-v-5ba7da2d]{grid-template-columns:1fr 1fr;gap:10px;padding-top:14px;display:grid}.chart-cell[data-v-5ba7da2d]{background:#0000002e;border:1px solid #3090ff0f;border-radius:8px;min-height:280px;overflow:hidden}.popup-scale-enter-active[data-v-5ba7da2d]{transition:all .25s ease-out}.popup-scale-leave-active[data-v-5ba7da2d]{transition:opacity .15s ease-in}.popup-scale-enter-from[data-v-5ba7da2d]{opacity:0;transform:translate(-50%,-50%)scale(.92)}.popup-scale-leave-to[data-v-5ba7da2d]{opacity:0}*,:before,:after{box-sizing:border-box}html,body,#app{color:#e8f4ff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#040710;width:100%;height:100%;margin:0;padding:0;font-family:DIN Alternate,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden}.dashboard-layout{flex-direction:column;width:100%;height:100vh;display:flex}.main-area{flex:1;min-height:0;position:relative}@keyframes station-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}@keyframes bus-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes bus-dot-pulse{0%,to{opacity:.4;transform:translate(-50%,-50%)scale(.8)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.3)}}:root{--bg-primary:#060a14;--bg-deep:#040710;--bg-panel:#0a1224e0;--bg-panel-hover:#0e1830eb;--border-panel:#3090ff2e;--border-glow:#3090ff73;--accent:#3090ff;--accent-bright:#5ab0ff;--accent-secondary:#00e5a0;--warning:#ff6b3d;--text-primary:#e8f4ff;--text-secondary:#e8f0ff8c;--text-muted:#e8f0ff59;--text-value:#3090ff;--heatmap-gradient-0:#039;--heatmap-gradient-1:#08f;--heatmap-gradient-2:#00e5a0;--heatmap-gradient-3:#fc0;--heatmap-gradient-4:#ff6b3d;--heatmap-gradient-5:#f04;--route-color-0:#3090ff;--route-color-1:#00e5a0;--route-color-2:#fc0;--route-color-3:#ff6b3d;--route-color-4:#b44dff;--route-color-5:#ff4d94;--route-color-6:#4dffff;--route-color-7:#f93;--bus-running:#00e5a0;--bus-idle:#fc0;--bus-stopped:#ff6b3d;--metrics-bar-height:56px;--panel-left-width:260px;--panel-right-width:300px;--glass-blur:16px;--glass-radius:10px;--glass-padding:14px;--glass-card-bg:#080e1ca6;--glass-card-border:#3090ff26}.glass-panel{-webkit-backdrop-filter:blur(16px)saturate(1.2);border-radius:var(--glass-radius);padding:var(--glass-padding);color:#e8f4ff;background:#0a1224e0;border:1px solid #3090ff2e;box-shadow:0 8px 32px #0009,inset 0 1px #3090ff0f,0 0 1px #3090ff33}.glass-panel--collapsible .glass-panel__header{border-bottom:1px solid #3090ff1f;justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 0 10px;display:flex;position:relative}.glass-panel--collapsible .glass-panel__header:after{content:"";background:linear-gradient(90deg,#3090ff,#0000);width:60px;height:1px;position:absolute;bottom:-1px;left:0}.glass-panel--collapsible .glass-panel__header .glass-panel__title{color:#5ab0ff;white-space:nowrap;letter-spacing:2px;text-transform:uppercase;text-shadow:0 0 12px #3090ff66,0 0 24px #3090ff26;font-size:14px;font-weight:600}.glass-panel--collapsible .glass-panel__header .glass-panel__toggle{color:#3090ff;cursor:pointer;background:#3090ff0f;border:1px solid #3090ff33;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;transition:all .2s;display:flex}.glass-panel--collapsible .glass-panel__header .glass-panel__toggle:hover{background:#3090ff33;border-color:#3090ff73;box-shadow:0 0 8px #3090ff4d}.glass-panel--collapsible .glass-panel__content{opacity:1;max-height:600px;transition:max-height .35s ease-out,opacity .25s ease-out;overflow:hidden}.glass-panel--collapsible.collapsed .glass-panel__header{border-bottom:none;margin-bottom:0;padding-bottom:0}.glass-panel--collapsible.collapsed .glass-panel__header:after{display:none}.glass-panel--collapsible.collapsed .glass-panel__content{opacity:0;max-height:0}.glass-card{-webkit-backdrop-filter:blur(20px)saturate(1.3);border-radius:var(--glass-radius);background:#040a1659;border:1px solid #3090ff14;transition:all .25s;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff0a,0 0 1px #3090ff1a}.glass-card:before{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff0f 15%,#00e5a01f 50%,#ffffff0f 85%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}.glass-card:hover{background:#060e1c73;border-color:#3090ff26;box-shadow:0 6px 24px #00000059,inset 0 1px #ffffff0f,0 0 2px #3090ff26,0 0 12px #3090ff0f}.panel-corner-accent{position:relative}.panel-corner-accent:before,.panel-corner-accent:after{content:"";pointer-events:none;border-style:solid;border-color:#3090ff59;width:20px;height:20px;animation:3s ease-in-out infinite corner-glow;position:absolute}.panel-corner-accent:before{border-width:1px 0 0 1px;border-radius:2px 0 0;top:-1px;left:-1px}.panel-corner-accent:after{border-width:0 1px 1px 0;border-radius:0 0 2px;bottom:-1px;right:-1px}@keyframes corner-glow{0%,to{border-color:#3090ff33}50%{border-color:#3090ff80}}.dark-scrollbar{scrollbar-width:thin;scrollbar-color:#3090ff59 #00000026}.dark-scrollbar::-webkit-scrollbar{width:4px}.dark-scrollbar::-webkit-scrollbar-track{background:#00000026;border-radius:2px}.dark-scrollbar::-webkit-scrollbar-thumb{background:#3090ff59;border-radius:2px}.dark-scrollbar::-webkit-scrollbar-thumb:hover{background:#3090ff80}.scan-line-overlay{pointer-events:none;opacity:.03;position:absolute;inset:0;overflow:hidden}.scan-line-overlay:before{content:"";background:linear-gradient(90deg,#0000,#3090ff80,#0000);width:100%;height:2px;animation:8s linear infinite scan-line;position:absolute}
