:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#172b3d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f3f5f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f3f5f7;min-width:320px;min-height:100%}body{background:#f3f5f7;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}#root{min-height:100vh}:root{--navy-950:#0b2f4f;--navy-900:#103a5e;--blue-700:#17689a;--blue-600:#1976ad;--blue-100:#e8f2f8;--ink:#172b3d;--muted:#647586;--border:#c8d1d9;--border-soft:#dde3e8;--surface:#fff;--row-alt:#f8fafb;--success:#1d6a46;--warning:#9a5b0a;--danger:#b3261e}.content-width{width:min(100% - 40px,1120px);margin-inline:auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rail-app{flex-direction:column;min-height:100vh;display:flex}.lagovia-header{color:#fff;background:var(--navy-950);border-bottom:3px solid #d5aa33}.header-content{justify-content:space-between;align-items:center;gap:24px;min-height:54px;display:flex}.lagovia-identity{color:#fff;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.lagovia-identity:focus-visible{outline-offset:3px;outline:3px solid #8bc3e2}.lagovia-mark{color:#fff;width:28px;height:28px;display:block}.lagovia-mark svg{fill:#0000;stroke:currentColor;stroke-width:1.7px;width:100%;height:100%;display:block}.identity-copy{line-height:1;display:grid}.identity-copy strong{letter-spacing:.005em;font-size:1rem}.network-description{color:#dbe7ef;margin:0;font-size:.76rem;font-weight:500}.railway-main{flex:1;padding-block:24px 48px}.page-introduction{align-items:baseline;gap:14px;margin-bottom:14px;display:flex}.page-introduction h1{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:clamp(1.45rem,3vw,1.75rem);line-height:1.15}.page-introduction p{color:var(--muted);margin:0;font-size:.82rem}.station-search{margin-bottom:14px}.station-search-form{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:13px 14px 11px;box-shadow:0 1px 2px #112b3d0d}.station-search-toolbar{grid-template-columns:28px minmax(0,1fr) 104px;align-items:start;gap:12px;display:grid}.station-icon{width:22px;height:22px;color:var(--blue-700);margin:24px 0 0 1px}.station-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:100%;height:100%;display:block}.station-search-field{min-width:0}.station-search-field>label{color:var(--ink);margin-bottom:5px;font-size:.76rem;font-weight:750;display:block}.autocomplete-control{min-width:0;position:relative}.autocomplete-control input{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #8d9da9;border-radius:4px;padding:0 12px;font-size:.95rem;transition:border-color .12s,box-shadow .12s}.autocomplete-control input::placeholder{color:#7e8c98}.autocomplete-control input:hover{border-color:var(--blue-700)}.autocomplete-control input:focus{border-color:var(--blue-600);outline:0;box-shadow:0 0 0 3px #1976ad2e}.autocomplete-control input[aria-invalid=true]{border-color:var(--danger)}.search-submit{border:1px solid var(--navy-900);color:#fff;background:var(--navy-900);cursor:pointer;border-radius:4px;min-height:42px;margin-top:21px;padding:0 16px;font-size:.87rem;font-weight:750;transition:border-color .12s,background .12s}.search-submit:hover:not(:disabled){border-color:var(--blue-700);background:var(--blue-700)}.search-submit:focus-visible{outline-offset:2px;outline:3px solid #1976ad47}.search-submit:disabled{cursor:wait;background:#82919e;border-color:#82919e}.input-hint{color:var(--muted);margin:5px 0 0;font-size:.69rem;line-height:1.35}.autocomplete-menu{z-index:20;background:var(--surface);border:1px solid #9aa9b5;border-radius:4px;position:absolute;top:calc(100% + 3px);left:0;right:0;overflow:hidden;box-shadow:0 8px 20px #103a5e24}.autocomplete-list{overscroll-behavior:contain;max-height:326px;margin:0;padding:0;list-style:none;overflow-y:auto}.autocomplete-list li+li{border-top:1px solid var(--border-soft)}.autocomplete-list button{width:100%;min-height:48px;color:var(--ink);background:var(--surface);text-align:left;cursor:pointer;border:0;border-left:3px solid #0000;border-radius:0;justify-content:space-between;align-items:center;gap:16px;padding:7px 11px 7px 12px;display:flex}.autocomplete-list button:hover,.autocomplete-list button.is-active{border-left-color:var(--blue-600);background:var(--blue-100)}.autocomplete-list button:focus-visible{z-index:1;outline:2px solid var(--blue-600);outline-offset:-2px;position:relative}.suggestion-copy{gap:1px;min-width:0;display:grid}.suggestion-copy>span{overflow-wrap:anywhere;font-size:.82rem;font-weight:720}.suggestion-copy small{overflow-wrap:anywhere;color:var(--muted);font-size:.69rem}.suggestion-arrow{color:var(--blue-700);flex:none;font-size:1.1rem;line-height:1}.autocomplete-message{min-height:48px;color:var(--muted);margin:0;padding:15px 12px;font-size:.78rem}.search-feedback,.search-status:empty{display:contents}.loading-message,.error-message{margin:7px 0 0;padding-left:40px;font-size:.75rem;line-height:1.4}.loading-message{color:var(--blue-700);font-weight:680}.error-message{color:var(--danger);font-weight:700}.result-context{margin-bottom:18px}.result-metadata{min-height:40px;color:var(--muted);background:var(--surface);border-block:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:9px 12px;font-size:.76rem;display:flex}.result-statistics{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.result-metadata strong{color:var(--ink);font-variant-numeric:tabular-nums}.result-metadata time{font-variant-numeric:tabular-nums;flex:none}.metadata-separator{color:#9aa8b4}.service-warning{border:1px solid #e0c28b;border-left:3px solid var(--warning);color:#6f460c;background:#fff9ed;border-radius:3px;margin-top:10px;padding:9px 11px}.service-warning h3{margin:0;font-size:.8rem}.service-warning ul{margin:4px 0 0;padding-left:17px;font-size:.75rem}.departure-results-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:9px;display:flex}.departure-results-heading h2{color:var(--ink);margin:0;font-size:.95rem}.no-service-note{color:var(--muted);text-align:right;margin:0;font-size:.73rem}.station-groups{gap:14px;display:grid}.station-group{background:var(--surface);border:1px solid #aebbc5;border-radius:5px;overflow:hidden;box-shadow:0 1px 2px #112b3d0a}.station-heading{color:#fff;background:#174b73;justify-content:space-between;align-items:center;gap:24px;min-height:43px;padding:8px 12px;display:flex}.station-heading h3{overflow-wrap:anywhere;min-width:0;color:inherit;margin:0;font-size:.96rem;line-height:1.2}.station-heading p{color:#dfeaf1;flex:none;margin:0;font-size:.7rem}.service-columns,.service-line{grid-template-columns:96px 120px minmax(0,1fr) 168px;display:grid}.service-columns{color:#536574;border-bottom:1px solid var(--border);background:#e9edf0;align-items:center;min-height:29px;padding-inline:12px;font-size:.66rem;font-weight:750}.service-lines{margin:0;padding:0;list-style:none}.service-line{align-items:stretch;min-height:52px;padding-inline:12px}.service-line:nth-child(2n){background:var(--row-alt)}.service-line+.service-line{border-top:1px solid var(--border-soft)}.service-line.is-cancelled{background:#fff4f3}.service-time,.service-train-cell,.service-journey,.service-state{align-items:center;min-width:0;display:flex}.service-time{padding-right:14px}.service-time time{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;font-size:1rem;font-weight:780}.service-train-cell{padding-right:18px}.service-train{color:#fff;white-space:nowrap;background:#426b89;border-radius:3px;padding:3px 6px;font-size:.68rem;font-weight:760;line-height:1.15;display:inline-block}.service-journey{padding:10px 18px 10px 0}.service-destination{overflow-wrap:anywhere;color:var(--ink);font-size:.86rem;line-height:1.3}.service-state{justify-content:flex-start}.service-status{font-size:.71rem;font-weight:760}.service-status.is-on-time{color:var(--success)}.service-status.is-delayed{color:var(--warning)}.service-status.is-cancelled{color:var(--danger)}.no-departures{background:var(--surface);border:1px solid var(--border);border-radius:5px;align-items:flex-start;gap:12px;margin-top:8px;padding:16px 14px;display:flex}.empty-symbol{width:26px;height:26px;color:var(--blue-700);background:var(--blue-100);flex:none;place-items:center;font-weight:800;display:grid}.no-departures h2{color:var(--ink);margin:0;font-size:.9rem}.no-departures p{color:var(--muted);margin:3px 0 0;font-size:.78rem;line-height:1.45}.lagovia-footer{background:var(--surface);border-top:1px solid var(--border)}.lagovia-footer .content-width{color:var(--muted);padding-block:14px;font-size:.7rem}@media (width<=700px){.content-width{width:min(100% - 24px,1120px)}.header-content{min-height:52px}.network-description{text-align:right;max-width:156px;font-size:.68rem;line-height:1.25}.railway-main{padding-block:20px 36px}.page-introduction{flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:12px}.page-introduction h1{font-size:1.45rem}.station-search-form{padding:12px}.station-search-toolbar{grid-template-columns:24px minmax(0,1fr);gap:9px}.station-icon{width:20px;height:20px}.search-submit{grid-column:2;min-height:40px;margin-top:2px}.loading-message,.error-message{padding-left:33px}.result-metadata{flex-direction:column;align-items:flex-start;gap:5px}.result-statistics{gap:5px}.departure-results-heading{flex-direction:column;align-items:flex-start;gap:3px}.no-service-note{text-align:left}.station-groups{gap:12px}.station-heading{align-items:center;gap:12px;min-height:42px;padding:8px 10px}.station-heading h3{font-size:.9rem}.service-columns{display:none}.service-line{grid-template-columns:68px minmax(0,1fr);grid-template-areas:"time journey""train status";row-gap:5px;min-height:76px;padding:9px 10px}.service-time{grid-area:time;align-items:flex-start;padding:0 10px 0 0}.service-time time{padding-top:1px;font-size:.96rem}.service-train-cell{grid-area:train;align-items:flex-start;padding:0 10px 0 0}.service-train{font-size:.62rem}.service-journey{grid-area:journey;align-items:flex-start;padding:0}.service-destination{font-size:.83rem}.service-state{grid-area:status;align-items:flex-start}}@media (width<=390px){.network-description{max-width:126px}.station-heading p{text-align:right;max-width:78px}.metadata-separator{display:none}.result-statistics{flex-direction:column;align-items:flex-start;gap:2px}}
