@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Inter:wght@400;500;600&display=swap";.ms-timeline-scrubber{isolation:isolate;direction:ltr;min-width:44px;min-height:44px;position:relative}.ms-timeline-scrubber__rail{left:22px;right:22px;bottom:calc(22px - var(--ms-timeline-track-height,8px)/2);height:var(--ms-timeline-track-height,8px);background:var(--ms-timeline-track,#334650);box-shadow:inset 0 0 0 1px var(--ms-timeline-track-border,#627780);pointer-events:none;border-radius:999px;position:absolute}.ms-timeline-scrubber__fill{width:var(--ms-timeline-position);border-radius:inherit;background:var(--ms-timeline-accent,#acc9b9);position:absolute;inset:0 auto 0 0}.ms-timeline-scrubber__thumb{left:var(--ms-timeline-position);width:var(--ms-timeline-marker-size,20px);height:var(--ms-timeline-marker-size,20px);box-sizing:border-box;border:2px solid var(--ms-timeline-accent,#acc9b9);background:var(--ms-timeline-accent,#acc9b9);box-shadow:0 0 0 var(--ms-timeline-halo-width,3px) var(--ms-timeline-halo,#0c172080);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ms-timeline-scrubber input[type=range]{box-sizing:border-box;opacity:0;cursor:grab;touch-action:pan-y;appearance:none;direction:ltr;border:0;width:100%;height:100%;min-height:44px;margin:0;padding:0;display:block;position:absolute;inset:0}.ms-timeline-scrubber input[type=range]:active{cursor:grabbing}.ms-timeline-scrubber input[type=range]::-webkit-slider-thumb{appearance:none;box-sizing:border-box;width:44px;height:44px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0}.ms-timeline-scrubber input[type=range]::-moz-range-thumb{box-sizing:border-box;border:0;border-radius:0;width:44px;height:44px}.ms-timeline-scrubber:focus-within{outline:2px solid var(--ms-timeline-accent,#acc9b9);outline-offset:2px;border-radius:4px}.ms-timeline-scrubber[data-disabled]{opacity:.55}.ms-timeline-scrubber[data-disabled] input{cursor:default}@media (forced-colors:active){.ms-timeline-scrubber{--ms-timeline-accent:Highlight;--ms-timeline-track:Canvas;--ms-timeline-track-border:CanvasText;--ms-timeline-halo:Canvas}.ms-timeline-scrubber__rail{box-sizing:border-box;border:1px solid canvastext}.ms-timeline-scrubber__fill,.ms-timeline-scrubber__thumb{forced-color-adjust:none}}.ms-timeline-scrubber input[type=range]::-webkit-slider-runnable-track{background:0 0;border:0;height:44px}.ms-timeline-scrubber input[type=range]::-moz-range-track{background:0 0;border:0;height:44px}.ms-timeline-scrubber input[type=range]:disabled{opacity:0;cursor:default}.london-experience .london-hero-dismiss{min-width:44px;min-height:44px;margin:-8px -8px 0 8px;padding:6px;font:400 11px/1.4 DM Mono,ui-monospace,monospace}.london-experience .london-hero-dismiss span{color:inherit;font:400 24px/1 sans-serif}.london-experience [data-hero-dismissed=true]{-webkit-backdrop-filter:none;backdrop-filter:none;max-width:calc(100vw - 84px);min-height:0;overflow:visible;width:-moz-fit-content!important;width:fit-content!important;padding:4px!important}.london-experience [data-hero-dismissed=true]>:not(.london-hero-dismiss){display:none!important}.london-experience [data-hero-dismissed=true]>.london-hero-dismiss{float:none;max-width:230px;margin:0;padding:6px 12px;position:static}.london-national-rail-board>details>summary{min-height:36px;padding-right:44px}.london-experience[data-quiet-map=true] .scene canvas{animation:7.3s linear infinite london-quiet-phosphor}.london-experience[data-quiet-map=true] .scene:after{content:"";pointer-events:none;mix-blend-mode:screen;background:linear-gradient(#0000,#89f7ff0e 48%,#ae9fe206 60%,#0000);width:100%;height:25%;animation:12s linear -4s infinite london-quiet-scan;position:absolute;top:-25%;left:0}.london-experience[data-quiet-map=true] .scanlines{opacity:.24;animation:2.4s steps(4,end) infinite london-quiet-raster}.london-experience[data-quiet-playing=false] .scene canvas,.london-experience[data-quiet-playing=false] .scene:after,.london-experience[data-quiet-playing=false] .scanlines{animation-play-state:paused}.london-status-card.is-quiet strong{color:#d1e4e8;font-size:1.35rem;font-weight:400}.london-status-card.is-quiet p{letter-spacing:0;text-transform:none;margin-top:10px;font-size:.65rem}.london-status-card.is-quiet small{white-space:normal;margin-top:6px;font-size:.57rem}@keyframes london-quiet-phosphor{0%,to{filter:brightness()saturate(1.04)}19%{filter:brightness(1.08)saturate(1.08)}37%{filter:brightness(.97)saturate(1.02)}43%{filter:brightness(1.04)saturate(1.06)}47%{filter:brightness(.99)saturate(1.04)}68%{filter:brightness(1.1)saturate(1.09)}84%{filter:brightness(1.02)saturate(1.04)}}@keyframes london-quiet-scan{to{transform:translateY(500%)}}@keyframes london-quiet-raster{to{background-position:0 4px}}@media (prefers-reduced-motion:reduce){.london-experience[data-quiet-map=true] .scene canvas,.london-experience[data-quiet-map=true] .scanlines{animation:none}.london-experience[data-quiet-map=true] .scene:after{display:none}}:root{color:var(--ink);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;--background:#050410;--ink:#f8f7ff;--muted:#e5e7ff94;--line:#c1ccff33;--cyan:#8dfaff;--pink:#ff5edb;--panel:#07071694;--air:#ff5edb;--road-light:#fff1cf;--road-heavy:#ff9d52;font-family:Inter,ui-sans-serif,system-ui,sans-serif}:where(.motion-study) *{box-sizing:border-box}:where(html.motion-study),:where(.motion-study) body,:where(.motion-study) #root{width:100%;min-width:320px;min-height:100%;margin:0}:where(html.motion-study){overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:where(.motion-study) body{min-height:100vh;overflow:hidden}:where(.motion-study) button,:where(.motion-study) input{font:inherit}:where(.motion-study) button{-webkit-tap-highlight-color:transparent}:where(.motion-study) .experience{isolation:isolate;background:var(--background);width:100vw;height:100svh;min-height:600px;position:relative;overflow:hidden}:where(.motion-study) .scene,:where(.motion-study) .atmosphere,:where(.motion-study) .scanlines{position:absolute;inset:0}:where(.motion-study) .scene{z-index:-3}:where(.motion-study) .no-webgl{color:var(--ink);text-align:center;background:radial-gradient(circle at 50% 48%,#215b6c61,#0000 32%),linear-gradient(145deg,#050410,#0b0923);place-content:center;justify-items:center;padding:25vh 24px 18vh;display:grid;position:absolute;inset:0}:where(.motion-study) .no-webgl>span{color:var(--pink);text-shadow:0 0 28px var(--pink);font-size:clamp(2.6rem,8vw,5rem)}:where(.motion-study) .no-webgl h2{max-width:620px;margin:18px 0 8px;font-size:clamp(1.35rem,4vw,2.5rem)}:where(.motion-study) .no-webgl p{max-width:560px;color:var(--muted);line-height:1.55}:where(.motion-study) .no-webgl a,:where(.motion-study) .methodology-link{color:var(--cyan)}:where(.motion-study) .view-network .scene canvas{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}:where(.motion-study) .view-network .scene canvas:active{cursor:grabbing}:where(.motion-study) .view-network.has-selection .scene canvas{cursor:default}:where(.motion-study) .atmosphere{z-index:-2;pointer-events:none;background:radial-gradient(circle at 52% 54%,#0000 0 22%,#05041057 68%,#050410 112%),linear-gradient(#070519c7 0%,#0000 23% 70%,#050410e0 100%)}:where(.motion-study) .scanlines{z-index:-1;opacity:.13;pointer-events:none;mix-blend-mode:screen;background:repeating-linear-gradient(#0000 0 3px,#aecbff1f 4px)}:where(.motion-study) .eyebrow,:where(.motion-study) footer{text-transform:uppercase;letter-spacing:.14em;font-family:DM Mono,ui-monospace,monospace}:where(.motion-study) .eyebrow{color:var(--cyan);margin:0 0 5px;font-size:.77rem;font-weight:500}:where(.motion-study) h1{letter-spacing:-.055em;max-width:520px;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(1.75rem,4vw,4.2rem);font-weight:500;line-height:.96}@media (min-width:1100px){:where(.motion-study) h1{max-width:620px}:where(.motion-study) .experience .train-search{top:clamp(164px,20vh,190px)}}:where(.motion-study) .train-search{z-index:8;width:min(540px,100vw - 48px);position:absolute;top:clamp(112px,17vh,158px);left:50%;transform:translate(-50%)}:where(.motion-study) .train-search form{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#070716ad;border:1px solid #c1ccff40;align-items:center;min-height:46px;display:flex;position:relative}:where(.motion-study) .train-search:focus-within form{border-color:#8dfaffa3;box-shadow:0 0 28px #45599c29}:where(.motion-study) .search-mark{border:1px solid var(--cyan);opacity:.8;border-radius:50%;width:14px;height:14px;margin-left:15px;position:relative}:where(.motion-study) .search-mark:after{background:var(--cyan);content:"";width:6px;height:1px;position:absolute;bottom:-3px;right:-5px;transform:rotate(45deg)}:where(.motion-study) .train-search label{flex:1;min-width:0}:where(.motion-study) .train-search input[type=search]{width:100%;min-height:44px;color:var(--ink);appearance:none;background:0 0;border:0;outline:0;padding:0 14px;font-family:DM Mono,ui-monospace,monospace;font-size:.78rem}:where(.motion-study) .train-search input[type=search]::-webkit-search-cancel-button{display:none}:where(.motion-study) .train-search input::placeholder{color:#e5e7ff61}:where(.motion-study) .train-search input:disabled{color:#e5e7ff7a;cursor:default}:where(.motion-study) .clear-search{min-width:42px;min-height:42px;color:var(--muted);background:0 0;border:0;justify-content:center;padding:0;font-size:1.2rem}:where(.motion-study) .clear-search:hover{color:var(--cyan);background:0 0;border:0;transform:none}:where(.motion-study) .search-results{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#060614f0;border:1px solid #c1ccff3d;max-height:min(360px,52vh);position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}:where(.motion-study) .search-results>button{text-align:left;background:0 0;border:0;border-bottom:1px solid #c1ccff1c;grid-template-columns:10px minmax(86px,auto) 1fr;gap:10px;width:100%;min-height:48px;padding:8px 12px;display:grid}:where(.motion-study) .search-results>button:hover,:where(.motion-study) .search-results>button:focus-visible,:where(.motion-study) .search-results>button.is-active{box-shadow:inset 2px 0 0 var(--cyan);background:#46488c47;transform:none}:where(.motion-study) .search-results>button[aria-selected=true]{color:#fff;box-shadow:inset 4px 0 0 var(--cyan), 0 0 22px #8dfaff1f;background:#46488c7a;transform:none}:where(.motion-study) .search-results p{color:var(--muted);margin:0;padding:16px;font-family:DM Mono,ui-monospace,monospace;font-size:.72rem}:where(.motion-study) .service-legend{color:#e5e7ff80;letter-spacing:.06em;text-transform:uppercase;z-index:2;justify-content:center;gap:8px 16px;max-width:720px;margin:auto;font-family:DM Mono,ui-monospace,monospace;font-size:.61rem;display:flex;position:absolute;bottom:clamp(190px,22vh,225px);left:clamp(24px,4vw,58px);right:clamp(24px,4vw,58px)}:where(.motion-study) .service-legend button{min-height:28px;color:inherit;font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border-color:#0000;align-items:center;gap:6px;padding:0 8px;display:inline-flex}:where(.motion-study) .service-legend button:hover,:where(.motion-study) .service-legend button[aria-pressed=true]{color:var(--ink);background:#1210309e;border-color:#c1ccff33;transform:none}:where(.motion-study) .service-legend button[aria-pressed=true]{border-color:var(--service-accent,var(--cyan));background:color-mix(in srgb, var(--service-accent,var(--cyan)) 22%, #09081de0);color:#fff;box-shadow:inset 0 -2px 0 var(--service-accent,var(--cyan)), 0 0 24px color-mix(in srgb, var(--service-accent,var(--cyan)) 30%, transparent);text-shadow:0 0 10px color-mix(in srgb, var(--service-accent,var(--cyan)) 58%, transparent)}:where(.motion-study) .service-legend.has-filter button:not([aria-pressed=true]){opacity:.14}:where(.motion-study) .service-legend i{border-radius:50%;width:6px;height:6px;transition:transform .18s,box-shadow .18s;box-shadow:0 0 8px}:where(.motion-study) .service-legend button[aria-pressed=true] i{box-shadow:0 0 4px #fff, 0 0 16px var(--service-accent,var(--cyan));transform:scale(1.45)}:where(.motion-study) input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:22px;margin:0}:where(.motion-study) input[type=range]:disabled{cursor:wait;opacity:.35}:where(.motion-study) .view-network .atmosphere{background:radial-gradient(circle at 50% 52%,#0000 0 28%,#05041042 72%,#050410 120%),linear-gradient(#070519cc 0%,#0000 21% 72%,#050410e6 100%)}:where(.motion-study) .view-hub .atmosphere{background:radial-gradient(circle at 50% 53%,#0000 0 19%,#0a041b4d 60%,#050410 112%),linear-gradient(#070519d6 0%,#0000 25% 68%,#050410ed 100%)}:where(.motion-study) .has-selection .atmosphere{background:radial-gradient(circle at 55% 53%,#0000 0 18%,#0504103d 58%,#050410 110%),linear-gradient(#070519d6 0%,#0000 22% 68%,#050410eb 100%)}:where(.motion-study) input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--cyan), #a0afe157);height:1px}:where(.motion-study) input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--pink);width:12px;height:12px;box-shadow:0 0 16px var(--pink);border:2px solid #fff;border-radius:50%;margin-top:-5.5px}:where(.motion-study) button{border:1px solid var(--line);min-height:42px;color:var(--ink);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;align-items:center;gap:10px;padding:0 13px;font-size:.78rem;transition:border-color .16s,background .16s,transform .16s;display:flex}:where(.motion-study) button:hover{background:#1a1740b8;border-color:#8dfaff9e;transform:translateY(-1px)}:where(.motion-study) button:focus-visible,:where(.motion-study) input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}:where(.motion-study) kbd{border:1px solid var(--line);color:var(--muted);margin-left:5px;padding:2px 5px;font-family:DM Mono,ui-monospace,monospace;font-size:.58rem}:where(.motion-study) footer a{color:inherit;text-underline-offset:3px;text-decoration-color:#8dfaff59}:where(.motion-study) footer a:hover{color:var(--cyan)}:where(.motion-study) footer{color:#e1e0ff57;justify-content:space-between;font-size:.58rem;display:flex;position:absolute;bottom:22px;left:clamp(24px,4vw,58px);right:clamp(24px,4vw,58px)}:where(.motion-study) .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:700px){:where(html.motion-study),:where(.motion-study) body,:where(.motion-study) #root{min-width:0;height:100%;min-height:0;overflow:hidden}:where(.motion-study) .experience{overscroll-behavior:none;height:100dvh;min-height:0}:where(.motion-study) .eyebrow{font-size:.67rem}:where(.motion-study) h1{max-width:148px;font-size:clamp(1.55rem,7vw,1.9rem)}:where(.motion-study) .train-search{top:calc(124px + env(safe-area-inset-top));width:auto;right:calc(16px + env(safe-area-inset-right));left:calc(16px + env(safe-area-inset-left));transform:none}:where(.motion-study) .train-search form{min-height:48px}:where(.motion-study) .search-mark{margin-left:12px}:where(.motion-study) .train-search input[type=search]{min-height:48px;padding-left:10px;padding-right:9px;font-size:1rem}:where(.motion-study) .clear-search{min-width:44px;min-height:44px;padding:0}:where(.motion-study) .search-results>button{grid-template-columns:10px 76px 1fr;min-height:52px}:where(.motion-study) .search-results{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:min(360px,100dvh - 190px);left:0;right:0}:where(.motion-study) .service-legend{right:calc(16px + env(safe-area-inset-right));bottom:calc(300px + env(safe-area-inset-bottom));left:calc(16px + env(safe-area-inset-left));overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch;justify-content:flex-start;gap:4px;max-width:none;padding:0 2px;overflow-x:auto}:where(.motion-study) .service-legend::-webkit-scrollbar{display:none}:where(.motion-study) .service-legend button{flex:none;min-height:44px;padding:0 10px}:where(.motion-study) .view-network.has-selection .service-legend{display:none}:where(.motion-study) input[type=range]{height:44px}:where(.motion-study) input[type=range]::-webkit-slider-runnable-track{height:2px}:where(.motion-study) input[type=range]::-webkit-slider-thumb{width:24px;height:24px;margin-top:-11px}:where(.motion-study) button{justify-content:center;min-height:44px}:where(.motion-study) footer{right:calc(16px + env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom));left:calc(16px + env(safe-area-inset-left));justify-content:flex-start;font-size:.52rem}:where(.motion-study) footer>span:last-child,:where(.motion-study) kbd{display:none}}@media (max-width:700px) and (max-height:690px){:where(.motion-study) .service-legend{bottom:calc(292px + env(safe-area-inset-bottom))}}@media (max-width:360px){:where(.motion-study) h1{max-width:99px;font-size:1.25rem}:where(.motion-study) .search-mark{display:none}}@media (hover:none){:where(.motion-study) button:hover{transform:none}}@media (prefers-reduced-motion:reduce){:where(.motion-study) button{transition:none}}@media (max-width:700px){:where(.motion-study) .eyebrow{margin-bottom:2px;font-size:.58rem}:where(.motion-study) h1{max-width:172px;font-size:clamp(1.2rem,6vw,1.52rem);line-height:.94}:where(.motion-study) .train-search{top:calc(80px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));left:calc(12px + env(safe-area-inset-left))}:where(.motion-study) .train-search form,:where(.motion-study) .train-search input[type=search]{min-height:44px}:where(.motion-study) .train-search input[type=search]{padding:0 8px;font-size:1rem}:where(.motion-study) .search-mark{width:12px;height:12px;margin-left:11px}:where(.motion-study) .clear-search{min-width:40px;min-height:42px}:where(.motion-study) .service-legend,:where(.motion-study) footer{display:none}}@media (max-width:360px){:where(.motion-study) .train-search{top:calc(76px + env(safe-area-inset-top))}:where(.motion-study) .search-mark{display:none}}.ms-study-layout{--ms-layout-gap:12px;--ms-layout-gutter:clamp(16px, 3vw, 48px);--ms-layout-top:180px;--ms-layout-bottom:160px;--ms-layout-end:72px;--ms-layer-panel:6;--ms-control-size:36px;--ms-control-radius:2px;--ms-control-border:var(--line,#c1ccff33);--ms-control-surface:var(--panel,#070716ee);--ms-control-ink:var(--ink,#f8f7ff);--ms-control-accent:var(--cyan,#8dfaff)}.ms-study-layout .ms-study-panel{--ms-panel-top:max(var(--ms-layout-top,180px), env(safe-area-inset-top));--ms-panel-bottom:max(var(--ms-layout-bottom,160px), env(safe-area-inset-bottom));--ms-panel-start:max(var(--ms-layout-gutter,16px), env(safe-area-inset-left));--ms-panel-end:max(var(--ms-layout-end,72px), env(safe-area-inset-right));z-index:var(--ms-layer-panel,6);box-sizing:border-box;inline-size:min(var(--ms-panel-width,560px), max(0px, calc(100% - var(--ms-panel-start) - var(--ms-panel-end))));max-block-size:max(0px, calc(100% - var(--ms-panel-top) - var(--ms-panel-bottom)));overscroll-behavior:contain;min-inline-size:0;scroll-padding-block:var(--ms-layout-gap,12px);position:absolute;inset-block-start:var(--ms-panel-top);inset-inline-start:var(--ms-panel-start);overflow:auto}[data-ms-chrome=hidden] .ms-study-panel{visibility:hidden;pointer-events:none}.ms-control{box-sizing:border-box;min-inline-size:var(--ms-control-size,36px);min-block-size:var(--ms-control-size,36px);border:1px solid var(--ms-control-border,#c1ccff33);border-radius:var(--ms-control-radius,2px);background:var(--ms-control-surface,#070716ee);color:var(--ms-control-ink,#f8f7ff);font:inherit;cursor:pointer;touch-action:manipulation;padding:6px 10px}.ms-control:focus-visible{outline:2px solid var(--ms-control-accent,#8dfaff);outline-offset:2px}.ms-control[aria-pressed=true]{border-color:var(--ms-control-accent,#8dfaff)}.ms-control:disabled{opacity:.5;cursor:default}.ms-control-group{flex-wrap:wrap;align-items:stretch;gap:6px;display:flex}.ms-control-strip{overscroll-behavior-inline:contain;max-inline-size:100%;scroll-padding-inline:4px;display:flex;overflow-x:auto}.ms-control-strip>*{flex-shrink:0}.ms-panel-dismiss{float:inline-end;z-index:2;margin:0 0 8px 8px;position:sticky;inset-block-start:0}@media (pointer:coarse){.ms-study-layout{--ms-control-size:44px}}[data-edition=london] body{background:#04040d}.london-experience{--london-gutter:clamp(20px, 3.4vw, 52px)}.london-controls-toggle{display:none}.london-controls-panel{display:contents}.london-spatial-cta{display:none}.london-experience .atmosphere{background:radial-gradient(circle at 48%,#0000 0 30%,#04040d38 68%,#04040d 118%),linear-gradient(#050510db,#0000 22% 73%,#04040deb)}.london-masthead{z-index:4;padding:var(--london-gutter);pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:0;left:0;right:0}.london-masthead p,.london-status-card p,.london-status-card small{margin:0}.london-masthead .eyebrow{color:var(--cyan);letter-spacing:.17em;text-transform:uppercase;margin-bottom:5px;font:500 .67rem/1 DM Mono,ui-monospace,monospace}.london-masthead h1{letter-spacing:-.072em;text-transform:uppercase;max-width:none;margin:0;font:500 clamp(2.35rem,4.8vw,5.2rem)/.86 Inter,Helvetica,Arial,sans-serif}.london-tagline{color:#fbf8ffb8;letter-spacing:.02em;font:400 clamp(.72rem,1vw,.88rem)/1.2 DM Mono,ui-monospace,monospace;margin-top:10px!important}.london-study-mark{color:#fbf8ffb8;letter-spacing:.1em;text-align:right;text-transform:uppercase;justify-items:end;gap:5px;font:400 .65rem/1.2 DM Mono,ui-monospace,monospace;display:grid}.london-study-mark small{color:var(--muted);font-size:.58rem}.london-layout-switch{top:calc(var(--london-gutter) + 48px);right:var(--london-gutter);z-index:7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070613c7;border:1px solid #d2c8e83d;padding:4px;display:flex;position:absolute}.london-layout-switch button{min-height:38px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:0 0;border-color:#0000;gap:8px;padding:0 13px;font:500 .64rem/1 DM Mono,ui-monospace,monospace}.london-layout-switch button[aria-pressed=true]{color:#fff;box-shadow:inset 0 -2px 0 var(--cyan), 0 0 18px #89f7ff1a;background:#252648c2;border-color:#89f7ff75}.london-layout-switch button:disabled{opacity:.42}.london-layout-switch .london-diagram-toggle,.london-spatial-cta{color:#fff0fc;background:linear-gradient(120deg,#62345f,#3e3268);border:1px solid #f291df;box-shadow:inset 0 1px #ffffff1f,0 0 18px #ff63cf2e}.london-layout-switch .london-diagram-toggle[aria-pressed=true]{background:linear-gradient(120deg,#804375,#55438a);border-color:#ffb8ed;box-shadow:inset 0 -2px #ffb8ed,0 0 20px #ff63cf38}.london-layout-switch .london-diagram-toggle:not(:disabled):hover,.london-spatial-cta:not(:disabled):hover{background:linear-gradient(120deg,#804375,#55438a);border-color:#ffe0f7;transform:none}.london-layout-switch .london-diagram-toggle:focus-visible,.london-spatial-cta:focus-visible{outline-offset:3px;outline:2px solid #ffe0f7}.london-transition-symbol{font-size:1rem}.london-spatial-cta:disabled{opacity:.42;box-shadow:none}.london-national-rail-toggle[aria-pressed=true]{color:#ffe3b8!important;box-shadow:inset 0 -2px #ffd392!important}.london-national-rail-board{z-index:6;top:calc(var(--london-gutter) + 164px);right:var(--london-gutter);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#ffe3b8;background:#090916e6;border:1px solid #ffd39247;width:266px;max-height:calc(100dvh - 340px);padding:14px;font:400 .65rem/1.5 DM Mono,ui-monospace,monospace;position:absolute;overflow-y:auto}.london-national-rail-board summary{cursor:pointer}.london-national-rail-board summary span{color:var(--muted);text-transform:uppercase;margin-right:12px;font-size:.55rem}.london-national-rail-board summary strong{font-weight:500}.london-national-rail-directions{gap:6px;margin-top:12px;display:flex}.london-national-rail-board button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000}.london-national-rail-directions button{flex:1;min-height:32px;padding:5px 8px}.london-national-rail-board button[aria-pressed=true]{color:#ffe3b8;background:#ffd39212;border-color:#ffd39240}.london-national-rail-board ol{margin:8px 0;padding:0;list-style:none}.london-national-rail-board li button{text-align:left;border-bottom-color:#ffd39221;grid-template-columns:44px 1fr 12px;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 4px;display:grid}.london-national-rail-board time{color:#ffe3b8}.london-national-rail-board li span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.london-national-rail-board small{color:var(--muted);font-size:.55rem;display:block}.london-national-rail-board p{color:var(--muted);margin:10px 0 0;font-size:.55rem}.london-national-rail-board a{color:#c4af91;font-size:.55rem}.london-national-rail-selection{border-bottom:1px solid #ffd3922e;padding:8px 0}.london-national-rail-selection button{color:#ffe3b8;border-color:#ffd39240;min-height:32px;margin:6px 8px 0 0;padding:4px 6px}.is-limited-chrome .london-national-rail-board{display:none}@media (max-width:760px){.london-national-rail-board{top:calc(206px + env(safe-area-inset-top));width:230px;padding:10px;right:12px}}.london-layout-switch button small{color:var(--pink);font-size:.48rem}.london-layout-switch button[aria-busy=true]{color:var(--cyan)}.london-switch-divider{background:#d2c8e838;width:1px;margin:5px 3px}.london-mobile-label{display:none}.london-day-status,.london-air-status,.london-road-status,.london-surface-status,.london-bus-status,.london-operations-status{width:max-content;color:var(--pink);letter-spacing:.06em;text-transform:uppercase;font:500 .55rem/1.2 DM Mono,ui-monospace,monospace;position:absolute;top:calc(100% + 6px);right:0}.london-operations-toggle[aria-pressed=true]{color:var(--cyan)!important;box-shadow:inset 0 -2px 0 var(--cyan), 0 0 18px #89f7ff29!important;border-color:#89f7ffa3!important}.london-operations-toggle[aria-busy=true]{animation:1.1s ease-in-out infinite alternate london-operations-breathe}@keyframes london-operations-breathe{to{color:#fff;text-shadow:0 0 10px #89f7ffc7}}.london-air-toggle[aria-pressed=true]{box-shadow:inset 0 -2px 0 var(--pink), 0 0 18px #ff63cf29!important;border-color:#ff63cf94!important}.london-air-toggle[aria-busy=true]{animation:1.1s ease-in-out infinite alternate london-air-breathe}.london-road-toggle[aria-pressed=true]{color:#fff1cf!important;border-color:#ff9d529e!important;box-shadow:inset 0 -2px #ff9d52,0 0 18px #ff9d5224!important}.london-road-toggle[aria-busy=true]{animation:1.1s ease-in-out infinite alternate london-road-breathe}.london-bus-toggle[aria-pressed=true]{color:#fff0d8!important;border-color:#ff9f43a8!important;box-shadow:inset 0 -2px #ff9f43,0 0 18px #ff9f4329!important}.london-bus-toggle[aria-busy=true]{animation:1.1s ease-in-out infinite alternate london-road-breathe}.london-surface-toggle[aria-pressed=true]{color:#bdfdf0!important;border-color:#76d0bd9e!important;box-shadow:inset 0 -2px #76d0bd,0 0 18px #76d0bd24!important}.london-surface-toggle[aria-busy=true]{animation:1.1s ease-in-out infinite alternate london-surface-breathe}@keyframes london-road-breathe{to{color:#ffbd82;text-shadow:0 0 10px #ff9d52b8}}@keyframes london-air-breathe{to{color:var(--pink);text-shadow:0 0 10px #ff63cfb8}}@keyframes london-surface-breathe{to{color:#bdfdf0;text-shadow:0 0 10px #76d0bdb8}}.london-layout-status{width:max-content;color:var(--pink);letter-spacing:.06em;text-transform:uppercase;font:500 .55rem/1.2 DM Mono,ui-monospace,monospace;position:absolute;top:calc(100% + 6px);right:0}.london-search.train-search{top:max(clamp(124px, 17vh, 158px), calc(var(--london-gutter) + 104px));width:min(570px,100vw - 48px)}.london-search .search-results>button{color:var(--ink);grid-template-columns:14px minmax(0,1fr) auto;align-items:center;font-family:DM Mono,ui-monospace,monospace}.london-search .search-results>button>span{color:var(--pink);text-shadow:0 0 10px var(--pink)}.london-search .search-results strong{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:400;overflow:hidden}.london-search .search-results small{color:var(--muted);white-space:nowrap;font-size:.62rem}.london-status-card{top:clamp(202px,28vh,260px);left:var(--london-gutter);z-index:3;border:1px solid #d2c8e83d;border-left-color:var(--cyan);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(135deg,#0d0d23d6,#0505108a);width:min(280px,100vw - 40px);padding:15px 17px 16px;position:absolute}.london-status-card>div{align-items:baseline;gap:9px;display:flex}.london-pulse-picker{color:var(--pink);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #d2c8e82e;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:-5px -7px 11px;padding:0 0 8px;font:500 .52rem/1 DM Mono,ui-monospace,monospace;display:grid}.london-pulse-picker select{min-width:0;min-height:32px;color:var(--ink);background-color:#191635e0;border-color:#89f7ff4d;padding:0 26px 0 8px;font-size:.62rem}.london-pulse-next{margin-top:5px;display:block;color:var(--cyan)!important}.london-pulse-lenses{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 -7px 11px;gap:4px!important;display:grid!important}.london-pulse-lenses button{min-width:0;min-height:30px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:#07061594;border:1px solid #d2c8e82e;justify-content:space-between;align-items:center;gap:4px;padding:0 7px;font:500 .48rem/1 DM Mono,ui-monospace,monospace;display:flex}.london-pulse-lenses button:nth-child(2)[aria-pressed=true]{color:var(--cyan);border-color:#8dfaffb3;box-shadow:inset 0 -2px #8dfaff9e,0 0 12px #8dfaff1a}.london-pulse-lenses button:nth-child(3)[aria-pressed=true]{color:var(--pink);border-color:#ff5edbb3;box-shadow:inset 0 -2px #ff5edb9e,0 0 12px #ff5edb1a}.london-pulse-lenses button:first-child[aria-pressed=true]{color:var(--ink);border-color:#e9feff8f;box-shadow:inset 0 -2px #e9feff80}.london-pulse-lenses button:disabled{opacity:.3}.london-pulse-lenses button span,.london-pulse-lenses button small{color:inherit;font-size:inherit;white-space:nowrap;margin:0;display:inline;overflow:visible}.london-status-card.is-pulse-selection{border-left-color:var(--pink);background:linear-gradient(135deg,#1f1131e6,#05051094)}.london-experience.is-pulse-night .london-status-card.is-pulse-selection{background:linear-gradient(135deg,#2b0c3aeb,#070315a8);border-color:#ff5edb75;box-shadow:0 0 30px #ff5edb14}.london-status-card strong{color:var(--cyan);text-shadow:0 0 18px #89f7ff57;font:300 2rem/1 DM Mono,ui-monospace,monospace}.london-status-card span{font-size:.78rem}.london-status-card p{color:var(--ink);letter-spacing:.05em;text-transform:uppercase;margin-top:10px;font:500 .7rem/1.2 DM Mono,ui-monospace,monospace}.london-status-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font:400 .62rem/1.35 DM Mono,ui-monospace,monospace;display:block;overflow:hidden}.london-status-card.is-air-selection{border-left-color:var(--pink)}.london-status-card.is-air-selection strong{color:#fff5ff;text-shadow:0 0 18px #ff63cf7a;font-size:1.35rem}.london-status-card.is-road-selection{border-left-color:#ff9d52}.london-status-card.is-road-selection strong{color:#fff1cf;text-shadow:0 0 18px #ff9d527a;font-size:1.35rem}.london-status-card.is-observed-operations{border-left-color:var(--cyan);background:linear-gradient(135deg,#141e30e6,#05051094);box-shadow:0 0 28px #89f7ff12}.london-air-category i{box-shadow:0 0 11px var(--pink);border-radius:0;transform:rotate(45deg)scale(.82)}.london-road-category i{box-shadow:0 0 11px #ff9d52}.london-service-legend.service-legend{bottom:var(--london-playback-clearance,194px);font-size:.65rem}.london-experience.view-network.has-selection .london-service-legend.has-filter{display:flex}.london-map-tools{top:50%;right:var(--london-gutter);z-index:5;gap:5px;display:grid;position:absolute;transform:translateY(-50%)}.london-map-tools,.london-playback-actions{--ms-control-size:42px;--ms-control-border:#d2c8e840;--ms-control-surface:#070613c7;--ms-control-ink:var(--cyan)}.london-map-tools .ms-control,.london-playback-actions .ms-control{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:center;font:500 .68rem/1 DM Mono,ui-monospace,monospace}.london-map-tools button:hover,.london-playback-actions button:hover{border-color:var(--cyan);background:#1f1f41e6;transform:none}.london-transport{right:var(--london-gutter);bottom:44px;left:var(--london-gutter);z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#060511d1;border:1px solid #d2c8e83d;width:min(720px,100vw - 40px);margin:auto;padding:12px 14px;position:absolute}.london-time-copy{color:var(--muted);letter-spacing:.12em;justify-content:space-between;align-items:center;margin-bottom:8px;font:400 .62rem/1 DM Mono,ui-monospace,monospace;display:flex}.london-time-copy strong{color:var(--cyan);font-weight:500}.london-transport>label{display:block}.london-playback-actions{justify-content:center;gap:6px;margin-top:7px;display:flex}.london-playback-actions select{appearance:auto;min-width:66px;padding:0 9px}.london-playback-actions button:last-child{padding:0 14px}.london-footer{right:var(--london-gutter);bottom:14px;left:var(--london-gutter);z-index:4;color:#ebe4f65c;letter-spacing:.11em;text-transform:uppercase;pointer-events:none;justify-content:space-between;font:400 .5rem/1 DM Mono,ui-monospace,monospace;display:flex;position:absolute}.london-masthead,.london-layout-switch,.london-search,.london-status-card,.london-service-legend,.london-map-tools,.london-footer{transition:opacity .22s,visibility .22s}.london-experience.is-limited-chrome .london-masthead,.london-experience.is-limited-chrome .london-layout-switch,.london-experience.is-limited-chrome .london-search,.london-experience.is-limited-chrome .london-status-card,.london-experience.is-limited-chrome .london-service-legend,.london-experience.is-limited-chrome .london-map-tools,.london-experience.is-limited-chrome .london-footer,.london-experience.is-limited-chrome .london-controls-toggle,.london-experience.is-limited-chrome .london-spatial-cta,.london-experience.is-limited-chrome .london-controls-panel{visibility:hidden;opacity:0;pointer-events:none}.london-experience.is-limited-chrome .london-transport{background:#060511a3}.london-cinema-toggle[aria-pressed=true]{color:var(--pink);box-shadow:inset 0 -2px 0 var(--pink), 0 0 16px #ff63cf1f;border-color:#ff63cf85}.london-playback-actions .london-cinema-toggle{padding:0 12px}@media (max-width:700px){.london-experience{--london-gutter:calc(12px + env(safe-area-inset-left))}.london-masthead{padding:calc(10px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 0 calc(12px + env(safe-area-inset-left))}.london-masthead .eyebrow{font-size:.52rem}.london-masthead h1{white-space:nowrap;font-size:clamp(1.35rem,5.8vw,1.55rem)}.london-tagline,.london-study-mark{display:none}.london-layout-switch{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;display:grid;position:static}.london-layout-switch button{letter-spacing:0;border-color:#d2c8e82e;min-width:0;min-height:44px;padding:0 6px;font-size:.68rem}.london-wide-label{display:none}.london-mobile-label,.london-layout-switch .london-wide-label{display:inline}.london-layout-switch .london-mobile-label,.london-switch-divider{display:none}.london-controls-toggle{top:calc(8px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));z-index:9;min-height:44px;color:var(--cyan);background:#070613e6;border:1px solid #d2c8e840;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font:500 .65rem/1 DM Mono,ui-monospace,monospace;display:flex;position:absolute}.london-controls-panel{display:none}.london-spatial-cta{right:calc(12px + env(safe-area-inset-right));bottom:calc(126px + env(safe-area-inset-bottom));z-index:5;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:0 15px;font:500 .75rem/1 DM Mono,ui-monospace,monospace;display:flex;position:absolute}.london-spatial-cta>span{font-size:1.1rem}.london-spatial-cta.is-obscured{display:none}.london-controls-panel.is-open{top:calc(112px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));left:calc(12px + env(safe-area-inset-left));z-index:8;max-height:calc(100dvh - 250px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090817;border:1px solid #d2c8e840;gap:16px;padding:12px;display:grid;position:absolute;overflow-y:auto}.london-controls-panel [role=status]{grid-column:1/-1;width:auto;position:static}.london-layout-switch button small,.london-experience[data-spatial-layout=geographic] .london-layout-switch button[aria-label=Geography\ layout],.london-experience[data-spatial-layout=diagram] .london-layout-switch button[aria-label=Diagram\ layout]{display:none}.london-search.train-search{top:calc(60px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));left:calc(12px + env(safe-area-inset-left));width:auto;transform:none}.london-search.train-search input[type=search]{font-size:16px}.london-search .search-results{max-height:min(300px,48dvh)}.london-search .search-results>button{grid-template-columns:14px minmax(0,1fr);min-height:46px}.london-search .search-results small{display:none}.london-status-card{top:calc(118px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));background:#060511c2;width:max-content;max-width:calc(100vw - 84px);padding:6px 9px 7px}.london-status-card strong{font-size:1.08rem}.london-status-card span{font-size:.6rem}.london-status-card p,.london-status-card small{display:none}.london-status-card.is-observed-operations small{max-width:220px;margin-top:2px;font-size:.46rem;display:block}.london-status-card.is-air-selection{top:calc(118px + env(safe-area-inset-top));max-width:calc(100vw - 64px);padding:8px 10px}.london-status-card.is-pulse-selection{top:calc(118px + env(safe-area-inset-top));width:min(244px,100vw - 68px);max-width:none;padding:8px 10px}.london-status-card.is-pulse-selection p,.london-status-card.is-pulse-selection small{display:block}.london-status-card.is-pulse-selection p{margin-top:5px;font-size:.56rem}.london-status-card.is-pulse-selection small{margin-top:3px;font-size:.48rem}.london-pulse-picker,.london-pulse-lenses{margin-bottom:7px}.london-pulse-lenses button{min-height:27px;padding:0 5px;font-size:.43rem}.london-status-card.is-road-selection{top:calc(118px + env(safe-area-inset-top));max-width:calc(100vw - 64px);padding:8px 10px}.london-status-card.is-road-selection p,.london-status-card.is-road-selection small{display:block}.london-status-card.is-road-selection p{margin-top:6px;font-size:.56rem}.london-status-card.is-road-selection small{max-width:250px;margin-top:3px;font-size:.5rem}.london-status-card.is-air-selection p,.london-status-card.is-air-selection small{display:block}.london-status-card.is-air-selection p{margin-top:6px;font-size:.56rem}.london-status-card.is-air-selection small{max-width:250px;margin-top:3px;font-size:.5rem}.london-map-tools{grid-template-columns:repeat(4,1fr);gap:6px;position:static;transform:none}.london-map-tools button{background:#060511c2;min-width:44px;min-height:44px}.london-service-legend.service-legend{scrollbar-width:none;flex-wrap:wrap;justify-content:flex-start;gap:4px;font-size:.65rem;display:flex;position:static}.london-service-legend.service-legend button{background:#060511b8;flex:none;min-height:44px;padding:0 7px}.london-transport{right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));left:calc(12px + env(safe-area-inset-left));width:auto;padding:8px 9px}.london-time-copy{margin-bottom:3px;font-size:.55rem}.london-playback-actions{justify-content:flex-end;margin-top:3px}.london-playback-actions button,.london-playback-actions select{min-height:44px}.london-playback-actions .london-cinema-toggle{min-width:38px;padding:0}.london-footer{display:none}}@media (prefers-reduced-motion:reduce){.london-layout-switch button,.london-experience *{scroll-behavior:auto}.london-air-toggle[aria-busy=true],.london-road-toggle[aria-busy=true],.london-bus-toggle[aria-busy=true],.london-surface-toggle[aria-busy=true],.london-operations-toggle[aria-busy=true]{animation:none}.london-masthead,.london-layout-switch,.london-search,.london-status-card,.london-service-legend,.london-map-tools,.london-footer{transition:none}}.london-rail-station-picker{align-items:center;gap:10px;margin-top:12px;display:flex}.london-rail-station-picker select{color:#ffe3b8;min-width:0;min-height:32px;font:inherit;background:#111021;border:1px solid #ffd39240;flex:1;padding:4px}.london-national-rail-board .london-rail-pulse-link{color:#ffe3b8;border-color:#ffd39240;min-height:32px;margin-top:6px;padding:4px 8px}.london-national-rail-board .london-rail-attribution{margin-top:6px;display:block}.london-pulse-view{top:202px;right:var(--london-gutter);z-index:4;gap:4px;display:flex;position:absolute}.london-pulse-view button{color:#c6c0d1;cursor:pointer;background:#101021;border:1px solid #b9afd444;min-width:72px;min-height:44px;font:400 11px/1.4 DM Mono,monospace}.london-pulse-view button[aria-pressed=true]{color:#eee9d7;border-color:#b8aff1}.london-pulse-view :focus-visible{outline-offset:2px;outline:2px solid #ffe3b8}.is-limited-chrome .london-pulse-view{display:none}@media (max-width:760px){.london-pulse-view{top:calc(118px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right))}.london-pulse-view~.london-status-card[data-hero-dismissed=false]{top:calc(174px + env(safe-area-inset-top));max-height:calc(100dvh - 366px)}}.london-experience{--ms-layout-gutter:var(--london-gutter);--ms-layout-top:clamp(202px, 28vh, 260px);--ms-layout-bottom:182px;--ms-layout-end:72px;--ms-control-surface:#0d0d20;--ms-control-ink:#eee9d7;--ms-control-border:#d2c8e833;--ms-control-accent:#ffe3b8}@media (max-width:700px){.london-experience{--ms-layout-top:calc(118px + env(safe-area-inset-top));--ms-layout-bottom:calc(174px + env(safe-area-inset-bottom));--ms-layout-gutter:calc(12px + env(safe-area-inset-left));--ms-layout-end:calc(72px + env(safe-area-inset-right))}.london-pulse-view~.ms-study-panel{--ms-panel-top:calc(174px + env(safe-area-inset-top))}}@media (min-width:701px){.london-layout-switch{max-inline-size:calc(100% - var(--london-gutter) * 2)}}@media (pointer:coarse){.london-map-tools,.london-playback-actions{--ms-control-size:44px}}.london-transport .ms-timeline-scrubber{--ms-timeline-accent:var(--pink)}.london-experience.ms-study-layout{--ms-layout-bottom:var(--london-playback-clearance,194px)}.london-experience.ms-study-layout .ms-study-panel{max-block-size:max(0px, calc(100% - var(--ms-panel-top) - var(--ms-panel-bottom)))}
