.app.svelte-4u28qp{max-width:480px;margin:0 auto;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.header.svelte-4u28qp{margin-bottom:2rem}.header-content.svelte-4u28qp{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.header-text.svelte-4u28qp{text-align:center;flex:1}.header.svelte-4u28qp h1:where(.svelte-4u28qp){color:#1f2937;margin:0;font-size:2rem;font-weight:700}.header.svelte-4u28qp p:where(.svelte-4u28qp){color:#6b7280;margin:.5rem 0 0;font-size:1rem}.header-status.svelte-4u28qp{display:flex;justify-content:flex-end;min-width:120px}.status-indicator.svelte-4u28qp{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;padding:.5rem .75rem;border-radius:.5rem;border:1px solid}.status-indicator.offline.svelte-4u28qp{color:#dc2626;background-color:#fef2f2;border-color:#fecaca}.status-indicator.cached.svelte-4u28qp{color:#d97706;background-color:#fffbeb;border-color:#fed7aa}.status-indicator.realtime.svelte-4u28qp{color:#059669;background-color:#f0fdf4;border-color:#86efac}.status-indicator.realtime-loading.svelte-4u28qp{color:#3b82f6;background-color:#eff6ff;border-color:#93c5fd}.status-dot.svelte-4u28qp{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-indicator.offline.svelte-4u28qp .status-dot:where(.svelte-4u28qp){background-color:#dc2626;animation:svelte-4u28qp-pulse-red 2s infinite}.status-indicator.cached.svelte-4u28qp .status-dot:where(.svelte-4u28qp){background-color:#d97706}.status-indicator.realtime.svelte-4u28qp .status-dot:where(.svelte-4u28qp){background-color:#059669}.status-indicator.realtime-loading.svelte-4u28qp .status-dot:where(.svelte-4u28qp){background-color:#3b82f6}.status-dot.spinning.svelte-4u28qp{animation:svelte-4u28qp-spin 1s linear infinite}@keyframes svelte-4u28qp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes svelte-4u28qp-pulse-red{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 640px){.header-content.svelte-4u28qp{flex-direction:column;text-align:center}.header-status.svelte-4u28qp{justify-content:center;min-width:auto}}.recent-destinations.svelte-4u28qp{margin-bottom:2rem;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.recent-header.svelte-4u28qp{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.recent-header.svelte-4u28qp h3:where(.svelte-4u28qp){margin:0;font-size:1rem;color:#1f2937;font-weight:600}.toggle-button.svelte-4u28qp{background:none;border:none;color:#6b7280;font-size:1rem;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:background-color .2s}.toggle-button.svelte-4u28qp:hover{background:#e5e7eb}.recent-list.svelte-4u28qp{display:flex;flex-direction:column}.recent-item.svelte-4u28qp{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#fff;border:none;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background-color .2s;text-align:left}.recent-item.svelte-4u28qp:hover{background:#f9fafb}.recent-item.svelte-4u28qp:last-child{border-bottom:none}.recent-route.svelte-4u28qp{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#1f2937}.arrow.svelte-4u28qp{color:#6b7280}.recent-meta.svelte-4u28qp{color:#6b7280;font-size:.75rem}.station-selector.svelte-4u28qp{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.select-group.svelte-4u28qp{display:flex;flex-direction:column;gap:.5rem}.select-header.svelte-4u28qp{display:flex;justify-content:space-between;align-items:center}.select-group.svelte-4u28qp label:where(.svelte-4u28qp){font-weight:600;color:#374151;font-size:.875rem}.select-group.svelte-4u28qp select:where(.svelte-4u28qp){padding:.75rem;border:2px solid #d1d5db;border-radius:.5rem;font-size:1rem;background-color:#fff;color:#1f2937}.select-group.svelte-4u28qp select:where(.svelte-4u28qp):focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.recent-stations.svelte-4u28qp{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.recent-station-button.svelte-4u28qp{padding:.375rem .75rem;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:1rem;font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap}.recent-station-button.svelte-4u28qp:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.recent-station-button.svelte-4u28qp:disabled{opacity:.5;cursor:not-allowed}.recent-station-button.selected.svelte-4u28qp{background:#3b82f6;color:#fff;border-color:#3b82f6}.recent-station-button.selected.svelte-4u28qp:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.loading.svelte-4u28qp,.error.svelte-4u28qp{text-align:center;padding:1rem;border-radius:.5rem;margin-bottom:1rem}.loading.svelte-4u28qp{background-color:#f3f4f6;color:#6b7280}.error.svelte-4u28qp{background-color:#fee2e2;color:#dc2626}.schedule-header.svelte-4u28qp{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.schedule.svelte-4u28qp h2:where(.svelte-4u28qp){color:#1f2937;margin:0;font-size:1.25rem}.time-nav.svelte-4u28qp{display:flex;gap:.5rem}.time-nav-button.svelte-4u28qp{padding:.375rem .75rem;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:all .2s}.time-nav-button.svelte-4u28qp:hover{background:#f9fafb;border-color:#9ca3af}.time-nav-button.active.svelte-4u28qp{background:#3b82f6;color:#fff;border-color:#3b82f6}.current-time.svelte-4u28qp{color:#6b7280;font-size:.875rem;margin-bottom:1rem;text-align:center;padding:.75rem;background:#f3f4f6;border-radius:.375rem;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.current-time.svelte-4u28qp:hover{background:#e5e7eb;color:#374151}.current-time.svelte-4u28qp:active{background:#d1d5db;transform:scale(.98)}.current-time.svelte-4u28qp:focus{outline:2px solid #3b82f6;outline-offset:2px}.train-list.svelte-4u28qp{display:flex;flex-direction:column;gap:1rem}.train-card.svelte-4u28qp{border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s;overflow:hidden}.train-card.expanded.svelte-4u28qp{box-shadow:0 2px 6px #00000026}.train-header.svelte-4u28qp{display:flex;justify-content:space-between;align-items:center;padding:1rem;margin-bottom:0;background:none;border:none;width:100%;text-align:left;font-family:inherit}.train-header.clickable.svelte-4u28qp{cursor:pointer;transition:background-color .2s}.train-header.clickable.svelte-4u28qp:hover{background-color:#f9fafb}.train-info.svelte-4u28qp{display:flex;align-items:center;gap:.75rem}.expand-icon.svelte-4u28qp{color:#6b7280;font-size:.875rem;transition:transform .2s}.train-number.svelte-4u28qp{font-weight:600;color:#1f2937;font-size:1.125rem}.service-type.svelte-4u28qp{padding:.25rem .75rem;border-radius:1rem;color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase}.live-badge.svelte-4u28qp{padding:.125rem .375rem;border-radius:.25rem;background-color:#dc2626;color:#fff;font-size:.625rem;font-weight:700;text-transform:uppercase;animation:svelte-4u28qp-pulse-live 2s infinite;box-shadow:0 1px 2px #0000001a}@keyframes svelte-4u28qp-pulse-live{0%,to{opacity:1}50%{opacity:.7}}.train-times.svelte-4u28qp{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;padding:0 1rem 1rem}.time-group.svelte-4u28qp{display:flex;flex-direction:column;align-items:center}.time-label.svelte-4u28qp{font-size:.75rem;color:#6b7280;margin-bottom:.25rem;text-transform:uppercase;font-weight:600}.time.svelte-4u28qp{font-size:1.125rem;font-weight:600;color:#1f2937;font-family:SF Mono,Monaco,monospace}.time-with-delay.svelte-4u28qp{display:flex;flex-direction:column;align-items:center;gap:.25rem}.delay-indicator.svelte-4u28qp{font-size:.75rem;font-weight:600;padding:.125rem .375rem;border-radius:.25rem;background-color:#ffffffe6;border:1px solid;white-space:nowrap;box-shadow:0 1px 2px #0000001a}.delay-indicator.delayed.svelte-4u28qp{color:#dc2626;border-color:#fecaca;background-color:#fef2f2}.delay-indicator.early.svelte-4u28qp{color:#059669;border-color:#a7f3d0;background-color:#ecfdf5}.time-display.svelte-4u28qp{display:flex;align-items:center;width:100%;gap:.75rem}.time.svelte-4u28qp{min-width:4rem;text-align:left}.relative-time.svelte-4u28qp{font-size:.75rem;color:#6b7280;font-weight:500;margin-left:auto;flex-shrink:0}.no-trains.svelte-4u28qp{text-align:center;padding:2rem;color:#6b7280}.schedule-type-badge.svelte-4u28qp{padding:.375rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:600;background-color:#e5e7eb;color:#374151;white-space:nowrap}.schedule-type-badge.clickable.svelte-4u28qp{cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.schedule-type-badge.clickable.svelte-4u28qp:hover{background-color:#d1d5db;transform:scale(1.05)}.schedule-type-badge.clickable.svelte-4u28qp:active{transform:scale(.95)}.schedule-type-badge.clickable.svelte-4u28qp:focus{outline:2px solid #3b82f6;outline-offset:2px}.schedule-type-badge.weekend.svelte-4u28qp{background-color:#dbeafe;color:#1e40af}.schedule-type-badge.weekend.clickable.svelte-4u28qp:hover{background-color:#bfdbfe}.schedule-type-badge.holiday.svelte-4u28qp{background-color:#fee2e2;color:#991b1b}.schedule-type-badge.holiday.clickable.svelte-4u28qp:hover{background-color:#fecaca}.stops-section.svelte-4u28qp{border-top:1px solid #e5e7eb;padding:1rem;background-color:#f9fafb;animation:svelte-4u28qp-slideDown .3s ease-out}@keyframes svelte-4u28qp-slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.stops-header.svelte-4u28qp{font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.75rem}.stops-list.svelte-4u28qp{display:flex;flex-direction:column;gap:.5rem}.stop-item.svelte-4u28qp{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0}.stop-item.origin.svelte-4u28qp,.stop-item.destination.svelte-4u28qp{font-weight:600}.stop-name.svelte-4u28qp{display:flex;align-items:center;gap:.5rem;color:#374151;font-size:.875rem}.stop-indicator.svelte-4u28qp{color:#6b7280;font-size:.75rem}.stop-item.origin.svelte-4u28qp .stop-indicator:where(.svelte-4u28qp){color:#10b981}.stop-item.destination.svelte-4u28qp .stop-indicator:where(.svelte-4u28qp){color:#dc2626}.stop-time.svelte-4u28qp{color:#1f2937;font-weight:500;font-size:.875rem;font-family:SF Mono,Monaco,monospace}@media (max-width: 640px){.app.svelte-4u28qp{padding:.5rem}.header.svelte-4u28qp h1:where(.svelte-4u28qp){font-size:1.75rem}.time-nav.svelte-4u28qp{gap:.25rem}.time-nav-button.svelte-4u28qp{font-size:.75rem;padding:.25rem .5rem}.train-times.svelte-4u28qp{grid-template-columns:1fr;gap:.5rem}.time-group.svelte-4u28qp{flex-direction:row;justify-content:space-between}.schedule-header.svelte-4u28qp{gap:.5rem}.recent-item.svelte-4u28qp{flex-direction:column;align-items:flex-start;gap:.5rem}.recent-stations.svelte-4u28qp{gap:.25rem}.recent-station-button.svelte-4u28qp{font-size:.75rem;padding:.25rem .5rem}}
