.main{flex:1;display:flex;flex-direction:column;width:100%;gap:0}.home-page__top-static-hero{display:flex;flex-direction:column;width:100%}@media(max-width:1199px){.home-page__top-static-hero .rs-static-hero{min-height:610px}.home-page__top-static-hero .rs-static-hero[data-static-hero-cta-band="1"]{min-height:686px}.home-page__top-static-hero .rs-static-hero[data-static-hero-cta-band="2"]{min-height:762px}.home-page__hero-favourites-mobile-image-bottom .rs-home-hero-image-stack__media{top:auto;bottom:0}}.home-page__hero-row{display:flex;flex-direction:column;width:100%}@media(min-width:1200px){.home-page__top-static-hero .rs-static-hero.rs-static-hero--text-splash,.home-page__hero-row .rs-static-hero.rs-static-hero--text-splash,.home-page__top-static-hero .rs-static-hero.rs-static-hero--text-splash .rs-static-hero__content,.home-page__hero-row .rs-static-hero.rs-static-hero--text-splash .rs-static-hero__content{min-height:600px}}.hero{text-align:center;padding:var(--space-2xl) 0}.hero-title{font-size:clamp(var(--text-4xl),5vw,var(--text-5xl));font-weight:600;color:var(--text-primary);margin-bottom:var(--space-lg);line-height:normal}.hero-subtitle{font-size:var(--text-xl);color:var(--text-secondary);margin-bottom:var(--space-3xl);max-width:600px;margin-left:auto;margin-right:auto;line-height:normal}.cta-section{display:flex;justify-content:center}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2xl);padding:var(--space-2xl) 0}.feature{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-2xl);text-align:center;transition:transform .2s ease,box-shadow .2s ease;contain:layout style paint}.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);will-change:transform,box-shadow}.feature:not(:hover){will-change:auto}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:var(--accent-light);border-radius:var(--radius-md);margin-bottom:var(--space-xl);color:var(--accent-color)}.feature h3{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-md)}.feature p{color:var(--text-secondary);line-height:normal;font-size:var(--text-base)}.demo-section{text-align:center;padding:var(--space-3xl) 0;margin-top:var(--space-2xl)}.demo-section h2{font-size:var(--text-2xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-md)}.demo-section p{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-xl)}@media(max-width:1023px){.hero{padding:var(--space-xl) 0}.hero-title{font-size:clamp(var(--text-2xl),5vw,var(--text-3xl));margin-bottom:var(--space-lg)}.hero-subtitle{font-size:var(--text-lg);margin-bottom:var(--space-2xl);padding:0 var(--space-sm)}.features{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-xl);padding:var(--space-xl) 0}.feature{padding:var(--space-xl)}.feature-icon{width:2.5rem;height:2.5rem;margin-bottom:var(--space-xl)}.feature h3{font-size:var(--text-xl);margin-bottom:var(--space-md)}.feature p{font-size:var(--text-base)}}@media(max-width:639px){.hero{padding:var(--space-lg) 0}.hero-title{font-size:clamp(var(--text-xl),5vw,var(--text-2xl));margin-bottom:var(--space-md)}.hero-subtitle{font-size:var(--text-base);margin-bottom:var(--space-xl);padding:0 var(--space-xs)}.features{gap:var(--space-lg);padding:var(--space-lg) 0;grid-template-columns:1fr}.feature{padding:var(--space-lg)}.feature-icon{width:2rem;height:2rem;margin-bottom:var(--space-md)}.feature h3{font-size:var(--text-lg);margin-bottom:var(--space-sm)}.feature p{font-size:var(--text-sm)}.demo-section{padding:var(--space-2xl) 0}.demo-section h2{font-size:var(--text-xl)}.demo-section p{font-size:var(--text-sm)}}.login-page{flex:1 1 auto;width:100%;min-height:calc(100vh - 9.5rem - env(safe-area-inset-top,0px));min-height:calc(100svh - 9.5rem - env(safe-area-inset-top,0px));min-height:calc(100dvh - 9.5rem - env(safe-area-inset-top,0px));display:flex;justify-content:center;align-items:center;padding:var(--space-2xl) var(--space-lg);box-sizing:border-box;overflow-y:auto}@media(max-width:639px){.login-page{min-height:calc(100vh - 9rem - env(safe-area-inset-top,0px));min-height:calc(100svh - 9rem - env(safe-area-inset-top,0px));min-height:calc(100dvh - 9rem - env(safe-area-inset-top,0px))}}@media(max-width:480px){.login-page{padding:var(--space-xl) var(--space-md);align-items:flex-start}}@supports (-webkit-touch-callout: none){@media(max-width:1199px){.login-page{min-height:calc(100vh - 9.5rem - env(safe-area-inset-top,0px) - 5px);min-height:calc(100svh - 9.5rem - env(safe-area-inset-top,0px) - 5px);min-height:calc(100dvh - 9.5rem - env(safe-area-inset-top,0px) - 5px)}}@media(max-width:639px){.login-page{min-height:calc(100vh - 9rem - env(safe-area-inset-top,0px) - 5px);min-height:calc(100svh - 9rem - env(safe-area-inset-top,0px) - 5px);min-height:calc(100dvh - 9rem - env(safe-area-inset-top,0px) - 5px)}}}.login-card{position:relative;width:100%;max-width:min(28rem,100%);min-width:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:clamp(var(--space-xl),5vw,var(--space-3xl));box-shadow:var(--shadow-lg)}.login-title{font-size:var(--text-2xl);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-sm);text-align:center}.login-subtitle{font-size:var(--text-base);color:var(--text-secondary);margin:0 0 var(--space-lg);text-align:center;line-height:normal;max-width:26rem;margin-left:auto;margin-right:auto}.login-mode-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-xl);padding:var(--space-xs);border-radius:var(--radius-md);background:var(--bg-primary);border:1px solid var(--border-color)}.login-mode-tab{flex:1;padding:var(--space-sm) var(--space-md);font:inherit;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,color .15s ease}.login-mode-tab--active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.login-mfa-flow{margin-bottom:var(--space-md);position:relative}.login-totp-enroll-form{position:relative}.login-totp-qr-wrap{display:flex;justify-content:center;margin:var(--space-md) 0}.login-totp-qr{display:block;border-radius:var(--radius-md);border:1px solid var(--border-color);background:#fff}.login-totp-secret-hint{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-md);line-height:normal}.login-totp-secret-label{display:block;margin-bottom:var(--space-xs)}.login-totp-secret-key{display:block;font-size:var(--text-sm);padding:var(--space-sm);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);word-break:break-all;color:var(--text-primary)}.login-phone-verify-actions{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-sm)}.login-phone-verify-actions--inline{flex-direction:row;align-items:stretch;gap:0;padding-top:25px}.login-phone-verify-actions--inline .login-submit{flex:1 1 auto;min-height:40px}.login-auth-back-button{min-width:56px;padding-left:14px;padding-right:14px;min-height:40px;margin-right:-2px;position:relative;z-index:1}.login-auth-back-button .rs-button__icon{margin:0 auto}.login-social{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}.login-social-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-lg);font-size:var(--text-base);font-weight:500;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:border-color .2s ease,background .2s ease}.login-social-btn:disabled{opacity:.8;cursor:not-allowed}.login-social-icon{flex-shrink:0}.login-google,.login-apple{color:var(--text-primary)}.login-social-loading{color:var(--text-secondary)}.login-divider{font-size:var(--text-sm);color:var(--text-tertiary);margin:0 0 var(--space-xl);text-align:center;position:relative}.login-divider:before,.login-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-color)}.login-divider:before{left:0}.login-divider:after{right:0}.login-form{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.login-field{display:flex;flex-direction:column;gap:8px}.login-label{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.login-label--totp-signin{display:block;margin-bottom:8px;color:var(--text-primary)}.login-label--credentials{display:block;margin-bottom:8px}.login-input{width:100%;min-width:0;max-width:100%;padding:var(--space-md) var(--space-lg);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-sizing:border-box;transition:border-color .2s ease}.login-input:focus{outline:none;border-color:var(--accent-color)}.login-input::placeholder{color:var(--text-tertiary)}.login-error{font-size:var(--text-sm);color:var(--error-color, #c53030);margin:0;padding:var(--space-sm);background:#c5303014;border-radius:var(--radius-sm)}.login-info-banner{font-size:var(--text-sm);color:var(--text-primary);margin:0 0 var(--space-md);padding:var(--space-sm);background:var(--accent-light, rgba(59, 130, 246, .12));border-radius:var(--radius-sm);line-height:normal}.login-submit{min-width:0}.login-toggle{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-xl) 0 0;text-align:center}.login-toggle-btn{background:none;border:none;padding:0;font-size:inherit;font-weight:600;color:var(--accent-color);cursor:pointer;text-decoration:underline}.review-pending-page__tab-bar-wrap{width:100%;margin-bottom:var(--space-lg)}.review-pending-page__button-bar{width:100%;max-width:100%;min-width:0}.review-pending-page__button-bar.rs-button-bar--2 .rs-button-bar__item{flex:1 1 0;min-width:0}.review-pending-page__button-bar.rs-button-bar--2 .rs-button-bar__button{min-width:0;width:100%;box-sizing:border-box}.review-pending-page__action-bar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:var(--space-md);width:100%;margin-bottom:var(--space-md)}.review-pending-page__action-bar-back{display:flex;align-items:center;flex-shrink:0}.review-pending-page__action-bar-end{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-sm);flex-shrink:0;margin-left:auto}.review-pending-page__main{width:100%;min-width:0}.review-pending-page__header-subtitle{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.review-pending-page__collection-line{font-size:var(--text-sm);color:var(--text-secondary)}.review-pending-page__collection-name{font-weight:600;color:var(--text-primary)}.review-pending-page__collection-note,.review-pending-page__collection-inline{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.review-pending-page__empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-lg);padding:var(--space-xl);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);max-width:100%}.review-pending-page__state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--space-md);text-align:center;padding:var(--space-2xl)}.review-pending-page__state--error{color:var(--text-secondary)}.review-pending-page__state .loading-spinner{width:2rem;height:2rem;border:2px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:review-pending-spin 1s linear infinite}@keyframes review-pending-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.container--station-details.review-pending-page{padding-left:var(--space-md);padding-right:var(--space-md);padding-top:var(--space-md);padding-bottom:var(--space-xl)}.review-pending-page .station-details-page{gap:var(--space-md)}.review-pending-page .station-details-header{gap:var(--space-sm)}.review-pending-page .station-details-title{font-size:clamp(1.15rem,4.5vw,1.5rem);line-height:normal}.review-pending-page .station-details-subtitle{font-size:var(--text-xs);line-height:normal}.review-pending-page__action-bar{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.review-pending-page__action-bar-end{margin-left:0;width:100%;flex-direction:column;align-items:stretch}.review-pending-page__action-bar-back .rs-button,.review-pending-page__action-bar-end .rs-button{width:100%;max-width:none}.review-pending-page__tab-bar-wrap{margin-bottom:var(--space-md)}.review-pending-page__state{min-height:40vh;padding:var(--space-lg)}}.darwin-departures-shell{background-color:var(--bg-tertiary);width:100%}.darwin-departures-page{max-width:var(--container-2xl);margin:0 auto;padding:var(--space-xl) var(--space-2xl) var(--space-3xl);display:flex;flex-direction:column;gap:var(--space-xl)}@media(max-width:1023px){.darwin-departures-page{padding:var(--space-lg) var(--space-xl) var(--space-2xl)}}@media(max-width:639px){.darwin-departures-page{padding:var(--space-md) var(--space-lg) var(--space-2xl);gap:var(--space-lg)}}.darwin-departures-header--stale .rs-page-top-header__subtitle,.darwin-departures-header--error .rs-page-top-header__subtitle,.darwin-departures-header--not-found .rs-page-top-header__subtitle{color:var(--accent-base)}.dep-controls-panel{display:flex;flex-direction:column;gap:var(--space-lg);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.dep-controls-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"station refresh" "window  window";align-items:end;gap:var(--space-lg) var(--space-xl)}.dep-controls-row>.dep-control-group:nth-child(1){grid-area:station}.dep-controls-row>.dep-control-group:nth-child(2){grid-area:window}.dep-controls-row>.dep-control-group--actions{grid-area:refresh}.dep-control-group{display:flex;flex-direction:column;gap:var(--space-sm)}.dep-control-group--actions{margin-left:auto}.dep-control-label{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin:0;letter-spacing:.02em}.dep-search-row{display:flex;align-items:center;flex-wrap:nowrap}.dep-search-input{flex:1 1 auto;min-width:14rem;max-width:400px}.dep-search-spacer{flex:0 0 var(--space-md)}.dep-window-buttons{display:inline-flex;flex-wrap:wrap;gap:var(--space-sm)}@media(max-width:639px){.dep-controls-panel{padding:var(--space-lg);gap:var(--space-md)}.dep-controls-row{gap:var(--space-lg)}.dep-search-row{flex-wrap:wrap}.dep-search-input{width:100%;flex:1 1 100%}.dep-search-spacer{display:none}.dep-control-group--actions{margin-left:0;width:100%}}.dep-summary{display:flex;flex-wrap:wrap;gap:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--bg-tertiary)}.dep-summary-stat{display:inline-flex;align-items:baseline;gap:var(--space-xs);font-size:var(--text-sm);color:var(--text-secondary)}.dep-summary-stat strong{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);font-family:var(--font-aronetiv-normal);font-variant-numeric:tabular-nums}.dep-summary-stat--cancel strong{color:var(--accent-base)}.dep-summary-stat--alt{font-style:italic}.dep-state-card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:var(--space-2xl);text-align:center;color:var(--text-secondary)}.dep-state-card h2{margin:0 0 var(--space-sm);font-size:var(--text-xl);font-weight:600;color:var(--text-primary)}.dep-state-card p{margin:0 0 var(--space-sm);line-height:1.5}.dep-state-card p:last-child{margin-bottom:0}.dep-state-card--error h2{color:var(--accent-base)}.dep-state-card code,.dep-hint code{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background-color:var(--bg-tertiary);padding:.1rem .4rem;border-radius:var(--radius-sm);color:var(--text-primary)}.dep-hint{font-size:var(--text-sm);opacity:.9}.dep-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--space-md);align-items:start}@media(max-width:639px){.dep-cards{grid-template-columns:1fr;gap:var(--space-sm)}}.dep-cards .rs-text-card__chevron{width:auto;height:auto;right:12px;position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center}.dep-cards .rs-text-card__content{padding-right:130px}@media(max-width:639px){.dep-cards .rs-text-card__content{padding-right:96px}}.dep-badge{display:inline-block;padding:var(--space-xs) var(--space-md);border-radius:999px;font-size:var(--text-xs);font-weight:600;letter-spacing:.03em;white-space:nowrap;background-color:var(--bg-tertiary);color:var(--text-secondary);font-variant-numeric:tabular-nums}.dep-badge--ontime{background-color:#e0f5e8;color:#166935}.dep-badge--late{background-color:#fdeed8;color:#81440e}.dep-badge--actual{background-color:#d8e8fd;color:#174582}.dep-cards .rs-text-card--state-redAction .dep-badge--cancelled,.dep-cards .rs-text-card--state-redAction .dep-badge{background-color:#ffffffd9;color:#821717}[data-theme=dark] .dep-badge--ontime{background-color:#274934;color:#9ce2b6}[data-theme=dark] .dep-badge--late{background-color:#4f3722;color:#f2c88c}[data-theme=dark] .dep-badge--actual{background-color:#22354f;color:#a3c7f5}.dep-footer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding-top:var(--space-lg);margin-top:var(--space-md);border-top:1px solid var(--bg-secondary);font-size:var(--text-xs);color:var(--text-disabled);font-variant-numeric:tabular-nums}.dep-footer-sep{opacity:.5}@media(max-width:639px){.dep-footer-sep{display:none}.dep-footer{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}}.service-detail-shell{background-color:var(--bg-tertiary);width:100%}.service-detail-page{max-width:var(--container-xl);margin:0 auto;padding:var(--space-xl) var(--space-2xl) var(--space-3xl);display:flex;flex-direction:column;gap:var(--space-xl)}@media(max-width:1023px){.service-detail-page{padding:var(--space-lg) var(--space-xl) var(--space-2xl)}}@media(max-width:639px){.service-detail-page{padding:var(--space-md) var(--space-lg) var(--space-2xl);gap:var(--space-lg)}}.service-detail-header--stale .rs-page-top-header__subtitle,.service-detail-header--error .rs-page-top-header__subtitle,.service-detail-header--not-found .rs-page-top-header__subtitle{color:var(--accent-base)}.svc-state-card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:var(--space-2xl);text-align:center;color:var(--text-secondary)}.svc-state-card h2{margin:0 0 var(--space-sm);font-size:var(--text-xl);font-weight:600;color:var(--text-primary)}.svc-state-card p{margin:0 0 var(--space-sm);line-height:1.5}.svc-state-card p:last-child{margin-bottom:0}.svc-state-card--error h2{color:var(--accent-base)}.svc-state-card code,.svc-hint code{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background-color:var(--bg-tertiary);padding:.1rem .4rem;border-radius:var(--radius-sm);color:var(--text-primary)}.svc-hint{font-size:var(--text-sm);opacity:.9}.svc-summary-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-xl)}.svc-summary-card--cancelled{border-left:4px solid var(--accent-base);padding-left:calc(var(--space-xl) - 4px)}.svc-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-lg)}.svc-summary-item{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.svc-summary-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-disabled)}.svc-summary-value{font-size:var(--text-base);font-weight:500;color:var(--text-primary);line-height:1.3;overflow-wrap:anywhere}.svc-mono{font-family:var(--font-aronetiv-normal);font-variant-numeric:tabular-nums}.svc-banner{margin-top:var(--space-lg);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.45}.svc-banner--cancel{background-color:#d926351a;border-left:3px solid var(--accent-base);color:var(--accent-base)}.svc-banner--delay{background-color:#e679191a;border-left:3px solid hsl(28 80% 50%);color:var(--text-primary)}.svc-banner-label{font-weight:700;text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em;margin-right:var(--space-xs)}.svc-summary-actions{margin-top:var(--space-lg);display:flex;justify-content:flex-end}.svc-pattern-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-xl)}.svc-pattern-title{margin:0 0 var(--space-lg);font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.svc-stops{list-style:none;margin:0;padding:0;position:relative}.svc-stop{display:grid;grid-template-columns:32px 110px 1fr 78px auto;gap:var(--space-md);align-items:center;padding:var(--space-sm) 0;position:relative;min-height:44px}.svc-stop+.svc-stop{border-top:1px solid var(--bg-tertiary)}.svc-stop-marker{position:relative;height:100%;display:flex;align-items:center;justify-content:center}.svc-stop-dot{width:12px;height:12px;border-radius:999px;background:var(--accent-base);box-shadow:0 0 0 3px var(--bg-secondary);z-index:1}.svc-stop--pass .svc-stop-dot{width:6px;height:6px;background:var(--text-disabled)}.svc-stop--cancelled .svc-stop-dot{background:transparent;border:2px solid var(--accent-base)}.svc-stop--origin .svc-stop-dot,.svc-stop--destination .svc-stop-dot{background:var(--text-primary)}.svc-stop-marker:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--bg-tertiary);transform:translate(-50%)}.svc-stop:first-child .svc-stop-marker:before{top:50%}.svc-stop:last-child .svc-stop-marker:before{bottom:50%}.svc-stop-times{display:flex;flex-direction:column;gap:1px}.svc-stop-time{display:inline-flex;align-items:baseline;gap:var(--space-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.svc-stop-time .svc-mono{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.svc-time-label{font-size:var(--text-xs);text-transform:uppercase;color:var(--text-disabled);font-weight:500;letter-spacing:.04em}.svc-stop-time--pass .svc-mono{color:var(--text-secondary);font-weight:500}.svc-stop--cancelled .svc-stop-time .svc-mono{text-decoration:line-through;text-decoration-color:var(--accent-base);color:var(--text-secondary)}.svc-stop--late .svc-stop-time .svc-mono{color:#a15412}.svc-stop-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-sm);min-width:0}.svc-stop-name-text{font-size:var(--text-base);font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.svc-stop--pass .svc-stop-name-text{color:var(--text-secondary);font-weight:400}.svc-stop--origin .svc-stop-name-text,.svc-stop--destination .svc-stop-name-text{font-weight:700}.svc-stop-crs{font-family:var(--font-aronetiv-normal);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;color:var(--text-disabled);background-color:var(--bg-tertiary);padding:1px 6px;border-radius:var(--radius-sm)}.svc-stop-meta-tag{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-disabled);font-style:italic}.svc-stop-platform{display:flex;flex-direction:column;align-items:center;justify-content:center}.svc-stop-plat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-disabled);line-height:1}.svc-stop-plat-value{font-size:var(--text-base);font-weight:700;color:var(--text-primary);line-height:1.1}.svc-stop-live{display:flex;justify-content:flex-end}.svc-pill{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:999px;font-size:var(--text-xs);font-weight:600;letter-spacing:.03em;white-space:nowrap;background-color:var(--bg-tertiary);color:var(--text-secondary);font-variant-numeric:tabular-nums}.svc-pill--ontime{background-color:#e0f5e8;color:#166935}.svc-pill--late{background-color:#fdeed8;color:#81440e}.svc-pill--actual{background-color:#d8e8fd;color:#174582}.svc-pill--cancelled{background-color:var(--accent-base);color:#fff}[data-theme=dark] .svc-pill--ontime{background-color:#274934;color:#9ce2b6}[data-theme=dark] .svc-pill--late{background-color:#4f3722;color:#f2c88c}[data-theme=dark] .svc-pill--actual{background-color:#22354f;color:#a3c7f5}@media(max-width:639px){.svc-summary-card,.svc-pattern-card{padding:var(--space-lg)}.svc-stop{grid-template-columns:24px 76px 1fr;grid-template-rows:auto auto;column-gap:var(--space-sm);row-gap:var(--space-xs)}.svc-stop-platform{grid-row:2;grid-column:2;flex-direction:row;align-items:baseline;gap:var(--space-xs);justify-content:flex-start}.svc-stop-live{grid-row:2;grid-column:3;justify-content:flex-end}.svc-stop-times{gap:0}.svc-stop-time .svc-mono,.svc-stop-name-text{font-size:var(--text-sm)}}.svc-footer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding-top:var(--space-lg);margin-top:var(--space-md);border-top:1px solid var(--bg-secondary);font-size:var(--text-xs);color:var(--text-disabled);font-variant-numeric:tabular-nums}.svc-footer-sep{opacity:.5}@media(max-width:639px){.svc-footer-sep{display:none}.svc-footer{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}}.app{min-height:100vh;min-height:100svh;min-height:-webkit-fill-available;display:flex;flex-direction:column}.main-content.app-main{flex:1 0 auto;display:flex;flex-direction:column;padding-top:calc(4rem + env(safe-area-inset-top,0px));min-height:100vh;min-height:100lvh;min-width:0}@media(max-width:639px){.main-content.app-main{padding-top:calc(3.5rem + env(safe-area-inset-top,0px));min-height:100vh;min-height:100lvh}}@supports (-webkit-touch-callout: none){@media(max-width:1199px){.main-content.app-main{padding-top:calc(4rem + env(safe-area-inset-top,0px) + 5px);min-height:100vh;min-height:100lvh}}@media(max-width:639px){.main-content.app-main{padding-top:calc(3.5rem + env(safe-area-inset-top,0px) + 5px);min-height:100vh;min-height:100lvh}}}.main-content.app-main.app-main--stations-layout{flex:0 0 auto;min-height:0}@font-face{font-family:"Geologica Cursive";src:url(/fonts/Geologica_Cursive-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Aronetiv Irpin Type;src:url(/fonts/Aronetiv-IrpinType-Light.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Aronetiv Irpin Type;src:url(/fonts/Aronetiv-IrpinType-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Aronetiv Irpin Type Normal;src:url(/fonts/Aronetiv-IrpinType-Normal.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Aronetiv Irpin Type;src:url(/fonts/Aronetiv-IrpinType-Medium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Aronetiv Irpin Type;src:url(/fonts/Aronetiv-IrpinType-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box;font-family:var(--font-body);font-weight:400;line-height:normal;-webkit-font-variation-settings:"CRSV" 1,"MONO" 0,"slnt" 0;font-variation-settings:"CRSV" 1,"MONO" 0,"slnt" 0}:root{--font-body: "Geologica Cursive", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-aronetiv: "Aronetiv Irpin Type", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-aronetiv-normal: "Aronetiv Irpin Type Normal", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-primary: hsl(0 0% 96%);--bg-secondary: hsl(0 0% 91%);--bg-tertiary: hsl(0 0% 82%);--text-primary: #000000;--text-secondary: hsl(0 0% 25%);--text-disabled: hsl(0 0% 45%);--border-color: transparent;--accent-bright: #E50000;--accent-strong: #CC0000;--accent-base: #B20016;--accent-deep: #990000;--accent-darkest: #7F0000;--accent-color: var(--accent-base);--accent-hover: var(--text-primary);--accent-pressed: var(--accent-deep);--accent-light: var(--bg-secondary);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 3rem;--space-4xl: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--breakpoint-sm: 640px;--breakpoint-lg: 1024px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--container-3xl: 1920px}html[data-theme=light],html:not([data-theme]){color-scheme:light}html[data-theme=dark]{color-scheme:dark}[data-theme=dark]{--bg-primary: hsl(0 0% 20%);--bg-secondary: hsl(0 0% 15%);--bg-tertiary: hsl(0 0% 10%);--text-primary: #ffffff;--text-secondary: hsl(0 0% 75%);--text-disabled: hsl(0 0% 55%);--border-color: transparent;--accent-bright: #E50000;--accent-strong: #CC0000;--accent-base: #B20016;--accent-deep: #990000;--accent-darkest: #7F0000;--accent-color: var(--accent-base);--accent-hover: var(--text-primary);--accent-pressed: var(--accent-deep);--accent-light: var(--bg-secondary);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3)}html{scroll-behavior:smooth;scroll-padding-top:calc(4rem + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;width:100%;overflow-x:hidden;overflow-y:scroll;background-color:var(--bg-tertiary)}@media(max-width:639px){html{scroll-padding-top:calc(3.5rem + env(safe-area-inset-top,0px))}}body{font-family:var(--font-body);font-weight:400;-webkit-font-variation-settings:"CRSV" 1,"MONO" 0,"slnt" 0;font-variation-settings:"CRSV" 1,"MONO" 0,"slnt" 0;line-height:normal;color:var(--text-primary);background-color:var(--bg-tertiary);transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;width:100%;overflow-x:hidden;margin:0;padding:0}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.font-aronetiv{font-family:var(--font-aronetiv);-webkit-font-variation-settings:normal;font-variation-settings:normal}h1,h2,h3,h4,h5,h6,p,li,blockquote,figcaption{text-wrap:pretty}.font-aronetiv-normal{font-family:var(--font-aronetiv-normal);-webkit-font-variation-settings:normal;font-variation-settings:normal}button,a,input,select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation}button,a,input,select,textarea,[role=button]{min-height:44px;min-width:44px}.site-footer a.site-footer-link,.site-footer button.site-footer-logout,.universal-header a.header-nav-link{min-height:unset;min-width:unset}#root{width:100%;background-color:var(--bg-tertiary)}.app{width:100%;background-color:var(--bg-tertiary);display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;display:flex;flex-direction:column;width:100%;min-width:0;background-color:var(--bg-tertiary)}@supports (-webkit-touch-callout: none){@media(max-width:1199px){body{display:flex;flex-direction:column;min-height:100dvh;min-height:-webkit-fill-available;background-color:var(--bg-primary)}#root{flex:1 1 auto;min-height:0}}}.container{max-width:var(--container-2xl);margin:0 auto;padding:0 var(--space-2xl);width:100%;background-color:var(--bg-tertiary)}@media(max-width:1023px){.container{padding:0 var(--space-xl)}}@media(max-width:639px){.container{padding:0 var(--space-lg)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.feature:hover{transform:none!important}}@media(max-width:639px){input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]):not([type=range]):not([type=color]),textarea,select{font-size:max(1rem,var(--text-base))}}.autofill-bridge-input{position:absolute;width:1px;height:1px;padding:0;margin:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}button:focus,a:focus,input:focus,select:focus,textarea:focus{outline:none}
