.train-card[data-v-54d3bbd3]{border-radius:var(--radius-md);border:1px solid var(--border);transition:background var(--transition), border-color var(--transition), opacity var(--transition);background:#ffffff06;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:12px 10px;display:grid;position:relative;overflow:hidden}.train-card[data-v-54d3bbd3]:before{content:"";background:var(--green);width:3px;transition:background var(--transition);border-radius:0 2px 2px 0;position:absolute;top:0;bottom:0;left:0}.train-card.has-delay[data-v-54d3bbd3]:before{background:var(--delay-red)}.train-card.is-past[data-v-54d3bbd3]{background:var(--bg-past);opacity:.45;border-color:#0000}.train-card.is-past[data-v-54d3bbd3]:before{background:var(--text-muted)}.train-col[data-v-54d3bbd3]{flex-direction:column;gap:3px;display:flex}.train-col-left[data-v-54d3bbd3]{align-items:flex-start;padding-left:6px}.train-col-center[data-v-54d3bbd3]{align-items:center;min-width:88px;max-width:120px;padding:0 4px}.train-col-right[data-v-54d3bbd3]{align-items:flex-end}.time-group[data-v-54d3bbd3]{flex-direction:column;gap:1px;display:flex}.time-group.align-right[data-v-54d3bbd3]{align-items:flex-end}.time-estimated[data-v-54d3bbd3]{color:var(--text-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:700;line-height:1}.time-delayed[data-v-54d3bbd3]{color:var(--delay-red)!important}.time-original[data-v-54d3bbd3]{color:var(--text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--delay-red);text-decoration-color:var(--delay-red);font-variant-numeric:tabular-nums;font-size:.7rem}.destination-transfer[data-v-54d3bbd3]{font-weight:500;color:#f5c542!important}.station-label[data-v-54d3bbd3]{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;text-transform:capitalize;max-width:100%;font-size:.7rem;font-weight:400;overflow:hidden}.train-name[data-v-54d3bbd3]{color:var(--text-primary);letter-spacing:.03em;text-align:center;white-space:nowrap;font-size:.8rem;font-weight:700}.operator-badge[data-v-54d3bbd3]{color:var(--text-secondary);text-align:center;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;max-width:100%;font-size:.63rem;overflow:hidden}.route-context[data-v-54d3bbd3]{color:var(--text-secondary);text-align:center;white-space:nowrap;text-overflow:ellipsis;opacity:.8;max-width:100%;font-size:.6rem;font-style:italic;overflow:hidden}.delay-badge[data-v-54d3bbd3]{color:var(--delay-red);background:var(--delay-red-bg);white-space:nowrap;border:1px solid #ff537033;border-radius:999px;align-items:center;gap:3px;margin-top:2px;padding:2px 7px;font-size:.68rem;font-weight:600;display:flex}.delay-icon[data-v-54d3bbd3]{width:11px;height:11px}.delay-delta[data-v-54d3bbd3]{white-space:nowrap;letter-spacing:.01em;border-radius:999px;align-items:center;gap:2px;margin-top:2px;padding:2px 6px;font-size:.64rem;font-weight:700;display:flex}.delta-up[data-v-54d3bbd3]{color:var(--delay-red);background:#ff53701f;border:1px solid #ff537033}.delta-down[data-v-54d3bbd3]{color:var(--green);background:#64ffda1a;border:1px solid #64ffda33}.delta-icon[data-v-54d3bbd3]{flex-shrink:0;width:10px;height:10px}.route-item[data-v-997cbfe8]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition), box-shadow var(--transition);overflow:hidden}.route-item.is-open[data-v-997cbfe8]{border-color:var(--border-accent);box-shadow:0 0 0 1px var(--accent-glow), var(--shadow-card)}.route-header[data-v-997cbfe8]{width:100%;color:var(--text-primary);text-align:left;transition:background var(--transition);background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.route-header[data-v-997cbfe8]:hover{background:var(--bg-card-hover)}.route-header[data-v-997cbfe8]:active{background:var(--border)}.route-header-left[data-v-997cbfe8]{align-items:center;gap:10px;min-width:0;display:flex}.route-dot[data-v-997cbfe8]{background:var(--border-accent);width:8px;height:8px;transition:background var(--transition), box-shadow var(--transition);border-radius:50%;flex-shrink:0}.route-dot.active[data-v-997cbfe8]{background:var(--accent);box-shadow:0 0 8px var(--accent)}.route-label[data-v-997cbfe8]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.925rem;font-weight:500;overflow:hidden}.route-header-right[data-v-997cbfe8]{flex-shrink:0;align-items:center;gap:8px;display:flex}.train-count[data-v-997cbfe8]{color:var(--accent);background:var(--accent-glow);border:1px solid #4f8ef740;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:500}.chevron[data-v-997cbfe8]{width:18px;height:18px;color:var(--text-secondary);transition:transform var(--transition);flex-shrink:0}.is-open .chevron[data-v-997cbfe8]{transform:rotate(180deg)}.spinner-sm[data-v-997cbfe8]{border:2px solid var(--border-accent);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin-997cbfe8}@keyframes spin-997cbfe8{to{transform:rotate(360deg)}}.train-list-wrapper[data-v-997cbfe8]{border-top:1px solid var(--border)}.train-list[data-v-997cbfe8]{flex-direction:column;gap:6px;padding:8px;display:flex}.state-message[data-v-997cbfe8]{border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:10px;padding:16px;font-size:.85rem;display:flex}.state-icon[data-v-997cbfe8]{width:20px;height:20px;color:var(--text-muted);flex-shrink:0}.error-state[data-v-997cbfe8]{color:var(--delay-red);background:var(--delay-red-bg)}.error-state .state-icon[data-v-997cbfe8]{color:var(--delay-red)}.accordion-enter-active[data-v-997cbfe8],.accordion-leave-active[data-v-997cbfe8]{transition:none}.bottom-bar[data-v-22c17ada]{height:var(--bottom-bar-h);-webkit-backdrop-filter:blur(20px)saturate(180%);border-top:1px solid var(--border);z-index:100;background:#161b27eb;position:fixed;bottom:0;left:0;right:0}.bottom-bar-inner[data-v-22c17ada]{justify-content:space-between;align-items:center;gap:12px;max-width:720px;height:100%;margin:0 auto;padding:0 16px;display:flex}.status-area[data-v-22c17ada]{flex:1;align-items:center;min-width:0;display:flex}.status-text[data-v-22c17ada],.status-refreshing[data-v-22c17ada]{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:.78rem;display:flex}.status-text.muted[data-v-22c17ada]{color:var(--text-muted)}.status-icon[data-v-22c17ada]{width:14px;height:14px;color:var(--accent);flex-shrink:0}.status-refreshing[data-v-22c17ada]{color:var(--accent)}.spinner-xs[data-v-22c17ada]{border:2px solid var(--border-accent);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.6s linear infinite spin-22c17ada}@keyframes spin-22c17ada{to{transform:rotate(360deg)}}.refresh-btn[data-v-22c17ada]{background:var(--accent);color:#fff;border-radius:var(--radius-md);transition:background var(--transition), opacity var(--transition), transform var(--transition);letter-spacing:.01em;border:none;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;display:flex;box-shadow:0 2px 12px #4f8ef759}.refresh-btn[data-v-22c17ada]:hover:not(:disabled){background:#6aa3ff;transform:translateY(-1px)}.refresh-btn[data-v-22c17ada]:active:not(:disabled){transform:translateY(0)}.refresh-btn[data-v-22c17ada]:disabled{opacity:.5;cursor:default}.refresh-icon[data-v-22c17ada]{width:14px;height:14px}.refresh-icon.spinning[data-v-22c17ada]{animation:.8s linear infinite spin-22c17ada}.install-prompt[data-v-79e83446]{bottom:calc(var(--bottom-bar-h) + 12px);z-index:200;max-width:460px;margin:0 auto;position:fixed;left:12px;right:12px}.prompt-inner[data-v-79e83446]{border:1px solid var(--border-accent);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0009, 0 0 0 1px var(--accent-glow);background:linear-gradient(135deg,#1c2235,#1a1f36);align-items:center;gap:10px;padding:12px 14px;display:flex}.prompt-icon[data-v-79e83446]{background:var(--accent-glow);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.prompt-icon svg[data-v-79e83446]{width:22px;height:22px}.prompt-text[data-v-79e83446]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.prompt-text strong[data-v-79e83446]{color:var(--text-primary);font-size:.85rem;font-weight:600}.prompt-text span[data-v-79e83446]{color:var(--text-secondary);font-size:.73rem}.prompt-actions[data-v-79e83446]{flex-shrink:0;align-items:center;gap:8px;display:flex}.btn-dismiss[data-v-79e83446]{color:var(--text-muted);transition:color var(--transition);background:0 0;border:none;padding:4px;font-size:.8rem;line-height:1}.btn-dismiss[data-v-79e83446]:hover{color:var(--text-secondary)}.btn-install[data-v-79e83446]{background:var(--accent);color:#fff;border-radius:var(--radius-sm);transition:background var(--transition), transform var(--transition);letter-spacing:.01em;border:none;padding:7px 14px;font-size:.78rem;font-weight:600}.btn-install[data-v-79e83446]:hover{background:#6aa3ff;transform:translateY(-1px)}.slide-up-enter-active[data-v-79e83446],.slide-up-leave-active[data-v-79e83446]{transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s}.slide-up-enter-from[data-v-79e83446],.slide-up-leave-to[data-v-79e83446]{opacity:0;transform:translateY(20px)}.app-shell[data-v-c609db35]{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-header[data-v-c609db35]{border-bottom:1px solid var(--border);z-index:10;background:linear-gradient(135deg,#1a1f36 0%,#0d1117 100%);flex-shrink:0;position:relative}.app-header[data-v-c609db35]:after{content:"";background:linear-gradient(90deg, var(--accent-glow), transparent);pointer-events:none;position:absolute;inset:0}.header-inner[data-v-c609db35]{max-width:720px;margin:0 auto;padding:14px 16px}.header-brand[data-v-c609db35]{align-items:center;gap:12px;display:flex}.brand-icon[data-v-c609db35]{width:36px;height:36px;color:var(--accent);flex-shrink:0}.brand-title[data-v-c609db35]{color:var(--text-primary);letter-spacing:-.01em;font-size:1.1rem;font-weight:700;line-height:1.2}.brand-sub[data-v-c609db35]{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem;font-weight:400}.main-content[data-v-c609db35]{padding-bottom:var(--bottom-bar-h);flex:1;overflow-y:auto}.routes-container[data-v-c609db35]{flex-direction:column;gap:8px;max-width:720px;margin:0 auto;padding:12px 6px 0;display:flex}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-deep:#0d1117;--bg-card:#161b27;--bg-card-hover:#1c2235;--bg-past:#11141e;--border:#252d45;--border-accent:#2e3a5c;--text-primary:#e8eaf6;--text-secondary:#8892b0;--text-muted:#4a5568;--accent:#4f8ef7;--accent-glow:#4f8ef733;--accent-dark:#1e3a6e;--delay-red:#ff5370;--delay-red-bg:#ff537014;--green:#64ffda;--green-muted:#64ffda1f;--bottom-bar-h:64px;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--shadow-card:0 2px 16px #0006;--transition:.2s ease}html,body{height:100%;overflow:hidden}body{background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif}#app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-accent);border-radius:999px}button{cursor:pointer;font-family:inherit}
