@layer components{.line-status{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.status-card{--status-accent:var(--line-strong);--status-tint:var(--panel);background:var(--panel);border:1px solid var(--line);gap:0;min-height:132px;padding:0;display:grid;overflow:hidden}.status-card__toggle{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;gap:10px;width:100%;padding:18px 20px;display:grid}.status-card__toggle:disabled{cursor:progress}.status-card .status-top{grid-template-columns:auto 1fr auto;justify-content:normal;gap:14px;display:grid}.status-train-icon{background:var(--status-accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.status-train-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:28px;height:28px}.status-card .status-code{color:var(--ink);letter-spacing:0;text-transform:none;font-size:21px}.status-chevron{border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transition:transform .16s;transform:rotate(45deg)}.status-card__toggle[aria-expanded=true] .status-chevron{transform:rotate(225deg)}.status-history{border-top:1px solid color-mix(in srgb, var(--status-accent) 22%, var(--line));grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:14px 18px 16px;display:grid}.status-history[hidden]{display:none}.status-history>div{justify-items:center;gap:3px;display:grid}.status-history>div+div{border-left:1px solid var(--line)}.status-history span{color:var(--subtle);text-transform:uppercase;font-size:10px;font-weight:800}.status-history strong{font-variant-numeric:tabular-nums;font-size:27px;line-height:1.05}.status-history small{color:var(--muted);letter-spacing:.02em;text-transform:lowercase;font-size:9px;font-weight:700}.status-card.blue{--status-accent:var(--blue)}.status-card.yellow{--status-accent:var(--yellow)}.status-card.green{--status-accent:var(--green)}.status-card.red{--status-accent:var(--red)}.status-card.blue,.status-card.yellow,.status-card.green,.status-card.red{background:linear-gradient(90deg, var(--status-accent) 0 6px, transparent 6px), var(--surface);border-color:color-mix(in srgb, var(--status-accent) 36%, var(--line))}.status-top{justify-content:space-between;align-items:center;display:flex}.status-code{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.status-state{align-items:center;gap:9px;display:flex}.status-card__toggle .status-state,.status-card__toggle .status-detail{margin-left:62px}.status-state strong{letter-spacing:0;font-size:22px;font-weight:800}.status-led{background:var(--ok);border-radius:999px;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 4px #00a37a1f}.status-card.disrupted .status-led{background:var(--warn);box-shadow:0 0 0 4px #b779101f}.status-card.loading{--status-accent:var(--line-strong)}.status-card.loading .status-led{background:var(--subtle);box-shadow:0 0 0 4px color-mix(in srgb, var(--subtle) 12%, transparent);animation:1.1s ease-in-out infinite alternate status-loading-pulse}@keyframes status-loading-pulse{0%{opacity:.4}to{opacity:1}}.status-detail{color:var(--muted);background:color-mix(in srgb, var(--warn) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--warn) 34%, var(--line));margin-top:2px;margin-bottom:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.45}.status-note{border-top:1px solid var(--line);color:var(--subtle);letter-spacing:.06em;text-transform:uppercase;align-self:end;padding-top:10px;font-size:11px;font-weight:800}}@layer responsive{@media (max-width:760px){.line-status{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.status-card.loading .status-led{animation:none}}}@layer refinements{@media (min-width:960px){#linesView .results{width:100%;max-width:920px;margin:0 auto}}.status-card{border-radius:var(--radius);background:var(--surface)}.line-status{gap:12px}.status-card{min-height:142px}.status-card.blue,.status-card.yellow,.status-card.green,.status-card.red{box-shadow:0 1px #1521270a}.status-state strong{font-size:23px}@media (max-width:760px){.line-status{grid-template-columns:1fr}}}
