:root{color-scheme:dark;--bg:#182238;--card:#24334d;--radio:#30415d;--ink:#eeeadd;--muted:#b0bed1;--gold:#e2bb7e;--line:#bcc9da2e;--sans:'DM Sans',Arial,sans-serif;--serif:'Libre Caslon Display',Georgia,serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{cursor:wait;opacity:.7}[hidden]{display:none!important}.skip-link{position:absolute;top:-60px;left:20px;background:var(--gold);color:var(--bg);padding:12px;z-index:5}.skip-link:focus{top:10px}.page-shell{max-width:1260px;margin:auto;padding:0 48px}.masthead{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:18px}.brand{display:flex;gap:14px;align-items:center;font:28px/1.1 var(--serif)}.brand-mark{width:46px;height:46px;border:1px solid #e2bb7e55;border-radius:10px;display:grid;place-items:center;background:#e2bb7e0b}.brand-sub{display:block;font:8px var(--mono);letter-spacing:1.8px;margin-top:9px;color:var(--muted)}.preview-tag{font:9px var(--mono);letter-spacing:1.2px;color:var(--gold);border:1px solid var(--line);padding:7px 10px;border-radius:4px}.introduction{margin:30px 0 27px;display:flex;align-items:center;justify-content:space-between;gap:25px}h1{font:38px/1.15 var(--serif);font-weight:400;margin:0}.introduction p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.introduction p span{color:var(--ink)}.studio-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:start;gap:25px}.radio{background:var(--radio);border:1px solid #839c7755;border-radius:15px;padding:25px 27px 18px;box-shadow:inset 0 1px 0 #ffffff15,0 16px 30px -24px #0008}.radio-top{font:8px/1.6 var(--mono);letter-spacing:1px;display:flex;gap:12px;justify-content:space-between}.edition{color:var(--muted)}.signal{white-space:nowrap;display:flex;align-items:center;gap:6px;color:var(--muted);letter-spacing:0;font-size:8px}.signal i{width:5px;height:5px;border-radius:100%;background:#9ba98a}.playing .signal i{background:var(--gold);box-shadow:0 0 9px #e2bb7e88}.track-motif{display:flex;justify-content:space-between;position:relative;height:64px;margin:17px 3px 3px;font:8px var(--mono);color:#b0bca7}.rails{position:absolute;top:20px;left:0;right:0;height:14px;border-top:1px solid #a2b29655;border-bottom:1px solid #a2b29655;background:repeating-linear-gradient(90deg,transparent 0,transparent 14px,#a2b29644 14px,#a2b29644 16px)}.announcement-display{background:#dfd8bf;color:#2b3a50;padding:20px 22px 15px;border:1px solid #19332a;border-radius:8px;box-shadow:inset 0 2px 5px #0002}.display-top{display:flex;justify-content:space-between;font:7px var(--mono);letter-spacing:.6px;gap:9px;color:#667185}.eyebrow{font:8px/1.6 var(--mono);letter-spacing:1.2px;color:var(--gold);margin:0 0 8px}.announcement-display .eyebrow{color:#687386;margin:25px 0 7px}.destination-line{display:flex;justify-content:space-between;align-items:center;gap:15px}.destination-line h2{font:49px/1 var(--serif);margin:0 0 12px}.service-time{font:9px var(--mono);color:#566176}.platform-number{border-left:1px solid #8b967e66;padding-left:20px;text-align:center}.platform-number span{font:7px var(--mono);letter-spacing:.9px;display:block}.platform-number strong{font:48px/1.1 var(--mono);font-weight:400}.calling-at{font-size:12px;line-height:1.9;min-height:46px;color:#536076;margin:20px 0}.display-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #919c8177;padding-top:12px;align-items:center;font:8px var(--mono);color:#657287}.waveform{display:flex;align-items:center;gap:3px;height:18px}.waveform i{width:2px;height:5px;background:#5a718c;border-radius:2px}.waveform i:nth-child(3n){height:13px}.waveform i:nth-child(2n){height:9px}.playing .waveform i{animation:wave 1s ease-in-out infinite alternate}.playing .waveform i:nth-child(3n){animation-delay:-.4s}@keyframes wave{to{transform:scaleY(.3)}}.transport{display:flex;align-items:center;gap:9px;margin-top:22px}.play-button{display:flex;align-items:center;justify-content:center;gap:11px;min-width:159px;min-height:46px;background:var(--gold);color:#1e2b43;font-size:12px;font-weight:650;border:0;border-radius:6px}.play-button:hover{background:#e8ca93}.restart{background:transparent;border:1px solid #a8b79c66;border-radius:6px;min-width:43px;min-height:46px;font-size:24px}.time{font:10px var(--mono);color:var(--muted);margin-left:auto}.progress{height:2px;background:#13243f66;margin:18px 0 23px;overflow:hidden}.progress span{display:block;width:0;height:100%;background:var(--gold)}.slider-row{display:flex;gap:13px;align-items:center}.slider-row label{font-size:11px;flex-basis:138px;flex-shrink:0}.slider-row output{min-width:34px;text-align:right;font:10px var(--mono);color:#d4dfef}input[type=range]{appearance:none;height:4px;flex:1;min-width:30px;background:#a1b5d066;border-radius:4px;cursor:pointer;accent-color:var(--gold)}input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:var(--gold);border:0}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--gold);border:0}fieldset{border:0;padding:0;margin:0}.ambience{border-top:1px solid var(--line);padding-top:19px;margin-top:26px}.ambience legend{float:left;width:100%;font:9px var(--mono);letter-spacing:.7px;color:var(--gold);margin-bottom:13px}.ambience-title{clear:both;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.ambience-title strong{font-size:13px;font-weight:500}.ambience-title p{font-size:10px;color:var(--muted);margin:3px 0}.sound-toggle{border:1px solid #b8c4aa55;border-radius:16px;padding:5px 15px;background:#1b3428;font:10px var(--mono);min-width:53px;min-height:34px}.sound-toggle[aria-pressed=true]{background:#d7d4b8;color:#304932}.field-note{font-size:9px;color:var(--muted);margin:12px 0 0}.radio-bottom{display:flex;gap:12px;align-items:center;margin-top:26px}.speaker-grille{height:24px;width:36%;background:radial-gradient(circle,#112a2588 1px,transparent 1.4px) 0 0/5px 5px}.radio-bottom>span:last-of-type{margin-left:auto;font:7px var(--mono);letter-spacing:1.2px;color:var(--muted)}.radio-bottom b{font:28px Georgia;color:var(--gold)}.departure-panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px 24px 20px}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading h2{font:32px/1.1 var(--serif);margin:0}.board-clock{font:21px var(--mono);color:var(--gold);letter-spacing:1px}.panel-note{font-size:10px;color:var(--muted);margin:15px 0 22px}.board{background:#111e19;border:1px solid #52655388;border-radius:7px;padding:15px 18px 0;box-shadow:inset 0 2px 8px #0003}.board-labels{font:8px var(--mono);color:#899c83;letter-spacing:1px;display:flex;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid #8e9a7833}.departure-row{display:flex;gap:17px;align-items:flex-start;padding:22px 0;border-bottom:1px solid #8e9a7822;color:#b69b69}.departure-row.selected{color:#f1c674}.departure-time{font:13px var(--mono);padding-top:3px}.departure-row div{flex:1}.departure-row strong{display:block;font:18px var(--mono);font-weight:400;letter-spacing:.3px}.departure-row div span{display:block;font:9px var(--mono);color:#9b9f82;margin-top:7px}.departure-row b{font:23px/1.1 var(--mono);font-weight:400;padding-top:1px}.board-signoff{display:flex;align-items:center;gap:8px;font:7px var(--mono);letter-spacing:.8px;color:#8fa184;padding:18px 0}.small-dot{height:4px;width:4px;border-radius:50%;background:#c9a66b}.platform-drawing{margin-top:26px;color:#9ba98e;opacity:.45}.platform-drawing svg{display:block;width:100%;height:auto}.platform-caption{text-align:center;font:18px var(--serif);color:#aebba4;margin:10px 0 0}.about-panel{margin-top:19px;border:1px solid var(--line);border-radius:10px}.about-panel summary{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;font:24px var(--serif);cursor:pointer;list-style:none}.about-panel summary::-webkit-details-marker{display:none}.about-panel summary span{font:18px var(--sans);color:var(--gold)}.about-panel[open] summary{border-bottom:1px solid var(--line)}.about-panel>div{padding:8px 22px 16px;font-size:12px;color:var(--muted)}.under-player{display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:10px;margin:20px 0 32px}.under-player span:last-child{font:8px var(--mono);letter-spacing:.6px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:25px 0 30px;font-size:10px;color:var(--muted)}footer div{display:flex;gap:25px}.error{background:#edd8b2;color:#492b20;border-radius:5px;padding:12px;font-size:12px}
@media(max-width:1000px){.page-shell{padding:0 28px}.edition{display:none}.radio{padding:23px 20px}.departure-panel{padding:24px 20px}.studio-layout{gap:20px}.introduction h1{font-size:33px}.slider-row label{flex-basis:124px}}
@media(max-width:760px){.studio-layout{grid-template-columns:1fr}.introduction{display:block}.introduction p{margin-top:12px}.introduction p br{display:none}.introduction p span{display:block}.radio{padding:25px}.edition{display:inline}.departure-panel{padding:26px}.masthead{height:91px}.board{padding-left:22px;padding-right:22px}.platform-drawing{max-width:430px;margin:25px auto 0}.under-player{align-items:flex-start}footer{flex-wrap:wrap}}
@media(max-width:430px){.page-shell{padding:0 17px}.brand{font-size:24px;gap:10px}.brand-mark{width:39px;height:39px}.brand-sub{font-size:7px;letter-spacing:1.3px}.preview-tag{font-size:7px;padding:6px}.introduction h1{font-size:32px}.radio{padding:20px 17px 15px}.radio-top{font-size:7px}.edition{display:none}.signal{font-size:7px}.announcement-display{padding:18px 16px 14px}.destination-line h2{font-size:44px}.platform-number{padding-left:13px}.platform-number strong{font-size:43px}.display-top{font-size:6px;letter-spacing:.3px}.slider-row{gap:9px}.slider-row label{font-size:10px;flex-basis:114px}.slider-row output{font-size:9px;min-width:29px}.ambience-title p{font-size:9px}.radio-bottom>span:last-of-type{font-size:6px;letter-spacing:.7px}.play-button{min-width:145px}.departure-panel{padding:23px 18px}.departure-row{gap:14px}.board{padding-left:14px;padding-right:14px}.departure-row strong{font-size:17px}.under-player{font-size:9px}.under-player span:last-child{font-size:7px;max-width:145px;text-align:right;line-height:1.5}footer{flex-direction:column;gap:14px}footer div{gap:20px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* A conventional amber LED railway display in a black metal housing. */
.railway-board{background:#191c22;border:1px solid #4b535e;border-radius:5px;padding:0;box-shadow:0 6px 16px #0003,inset 0 1px 0 #69726a33;overflow:hidden}.railway-sign{display:flex;align-items:center;justify-content:space-between;padding:19px 18px 18px;gap:12px;background:#242a34;border-bottom:1px solid #3c4657}.railway-sign h2{display:flex;align-items:center;gap:12px;font:600 23px/1 var(--sans);margin:0;letter-spacing:-.5px;color:#f1f2e9}.railway-sign svg{width:22px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}.railway-sign>span{font:7px var(--mono);letter-spacing:.8px;color:#c1c8bd;text-align:right;max-width:78px;line-height:1.7}.railway-board .board{background:#0a0d13;margin:10px;border:1px solid #020402;border-radius:0;padding:13px 13px 2px;box-shadow:inset 0 0 15px #000a}.railway-board .departure-row{display:block;padding:0 0 19px;color:#e7a33b;border-bottom:1px solid #b6863525}.railway-board .departure-row+.departure-row{padding-top:19px}.railway-board .departure-row.selected{color:#ffb943}.led-line{display:block;line-height:1;color:inherit;filter:drop-shadow(0 0 1px #ffb13433)}.led-line svg{display:block;width:100%;height:auto;fill:currentColor;overflow:visible}.led-line+.led-line{margin-top:5px}.led-line.platform-line{margin-top:9px}.led-line.calling-label{margin-top:22px}.led-line.coaches-line{margin-top:20px}.clock-row{padding:14px 0 7px;color:#ffb943}.board-casing{display:flex;justify-content:space-between;gap:10px;padding:5px 20px 13px;font:7px var(--mono);letter-spacing:1px;color:#929bab}.railway-board+.about-panel{margin-top:18px}
@media(max-width:760px){.railway-board{padding:0}.railway-board .board{padding:17px}.railway-sign{padding:20px}.railway-sign h2{font-size:24px}.railway-sign>span{max-width:none}}
@media(max-width:430px){.railway-board .board{padding:13px 10px;margin:9px}.railway-sign{padding:18px 16px}.railway-sign h2{font-size:23px}.railway-sign>span{max-width:76px;font-size:6px}.led-line.calling-label{margin-top:19px}.led-line.coaches-line{margin-top:17px}.board-casing{font-size:6px;padding-left:18px;padding-right:18px}}

/* Station wayfinding within the Infinite family's quiet green-and-cream palette. */
.introduction{margin:30px 0 25px}.introduction .eyebrow{color:var(--gold);margin:0 0 8px;font-size:8px;letter-spacing:1.4px}.introduction h1{font-size:39px}.introduction>p{font-size:12px}.preview-tag{display:flex;align-items:center;gap:8px}.preview-tag>span{font:18px/1 var(--sans)}
.wayfinding{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:25px;margin-bottom:19px}.wayfinding a{display:flex;align-items:center;gap:17px;padding:15px 20px;background:#14213a;border:1px solid #b4c2d54d;border-radius:3px;box-shadow:inset 0 1px 0 #ffffff08;color:#f2f0e4}.wayfinding a>span:first-child{font:30px/1 var(--sans)}.wayfinding a>span:last-child{font:500 16px/1.2 var(--sans)}.wayfinding small{display:block;font:9px/1.5 var(--sans);color:#adbdd2;margin-top:6px;letter-spacing:.1px}.wayfinding a:hover{background:#263b5d}
.radio{border-radius:7px;padding:23px 25px 17px;background:#2b3b54;border-color:#93a4bf66;box-shadow:inset 0 1px 0 #e0e9ff12,0 12px 25px -20px #000a;min-width:0}.radio-top{padding-bottom:18px;align-items:center}.station-panel-title{font:9px var(--mono);letter-spacing:1.2px}.station-panel-title .edition{font-size:8px;letter-spacing:.4px}.signal{font-size:8px}.announcement-display{border-radius:3px;padding:16px 20px 13px;background:#e5dfc9}.display-top{padding-bottom:12px;border-bottom:1px solid #71809755;font-size:7px}.announcement-display .eyebrow{margin:18px 0 9px;font-size:8px;letter-spacing:1px}.destination-line h2{font:600 36px/1.05 var(--sans);letter-spacing:-1px;margin-bottom:11px}.platform-number{background:#213656;color:#f2eddb;border-left:0;padding:10px 13px 7px;min-width:74px;border-radius:2px;box-shadow:inset 0 1px 0 #ffffff16}.platform-number span{font:7px var(--sans);letter-spacing:1px}.platform-number strong{font:500 44px/1.2 var(--sans)}.calling-at{font-size:11px;line-height:1.8;min-height:40px;margin:15px 0}.display-bottom{font-size:8px}.transport{margin-top:20px}.play-button{min-width:160px}.progress{margin:16px 0 23px}
.sound-mixer{padding:0;border:0;min-width:0}.sound-mixer legend{font:23px/1.2 var(--serif);margin:0 0 7px;color:var(--ink);padding:0}.mixer-note{font-size:10px;line-height:1.6;color:var(--muted);margin:0 0 20px}.sound-mixer .slider-row{margin-top:22px;gap:15px}.sound-mixer .slider-row:first-of-type{margin-top:0}.sound-mixer label{flex-basis:176px;font-size:12px;line-height:1.5;font-weight:500}.sound-mixer label small{display:block;color:var(--muted);font-size:9px;font-weight:400;margin-top:3px;line-height:1.5}.sound-mixer output{font-size:10px}.sound-mixer input[type=range]{height:4px;margin:0}.sound-mixer input[type=range]::-webkit-slider-thumb{width:16px;height:16px}.comfort-panel{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.comfort-panel summary{font:23px/1.2 var(--serif);list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px}.comfort-panel summary::-webkit-details-marker{display:none}.comfort-panel summary>span{color:var(--gold);font:21px var(--sans)}.comfort-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px 17px;margin-top:19px}.comfort-settings label{font-size:10px;color:#d8e1ef}.comfort-settings select{display:block;width:100%;margin-top:7px;border:1px solid #97abc566;border-radius:4px;padding:9px 30px 9px 10px;background:#1c2c47;color:#ececdd;font:11px var(--sans);min-height:39px;cursor:pointer}.comfort-settings select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.comfort-settings p{grid-column:1/-1;font-size:10px;color:var(--muted);margin:1px 0 0}.sample-note{font-size:9px;color:var(--muted);margin:19px 0 0}.platform-edge{border-top:3px solid var(--gold);height:15px;background:radial-gradient(circle,#14213999 1px,transparent 1.6px) 0 5px/7px 7px;margin:25px -25px 0;opacity:.7}.radio-bottom{margin-top:8px;gap:12px}.radio-bottom>span:last-of-type{margin-left:0;font:7px var(--mono);letter-spacing:1.2px}.radio-bottom b{margin-left:auto;font-size:23px}.listening-column{min-width:0}.railway-board{scroll-margin-top:20px}.under-player{margin-top:18px}#player{scroll-margin-top:18px}#departures-title{scroll-margin-top:24px}
@media(max-width:1000px){.wayfinding{gap:20px}.radio{padding:22px 20px 16px}.sound-mixer label{flex-basis:153px}.station-panel-title .edition{display:none}.platform-edge{margin-left:-20px;margin-right:-20px}.sound-mixer .slider-row{gap:11px}.wayfinding a{padding:15px 17px;gap:14px}}
@media(max-width:760px){.introduction h1{font-size:37px}.wayfinding{grid-template-columns:1fr 1fr;gap:12px}.wayfinding a{padding:13px 15px;gap:12px}.wayfinding a>span:last-child{font-size:13px}.wayfinding small{font-size:8px}.wayfinding a>span:first-child{font-size:24px}.radio{padding:24px}.station-panel-title .edition{display:inline}.sound-mixer label{flex-basis:190px}.platform-edge{margin-left:-24px;margin-right:-24px}.listening-column{margin-top:1px}.comfort-settings{gap:15px 20px}}
@media(max-width:430px){.brand{font-size:24px}.preview-tag{font-size:6px;gap:5px;padding:6px}.preview-tag>span{font-size:15px}.introduction{margin:26px 0 20px}.introduction h1{font-size:34px}.introduction>p{font-size:11px}.wayfinding{gap:9px;margin-bottom:17px}.wayfinding a{padding:12px 10px;gap:8px;align-items:flex-start}.wayfinding a>span:first-child{font-size:22px}.wayfinding a>span:last-child{font-size:11px;line-height:1.4}.wayfinding small{font-size:7px;line-height:1.5}.radio{padding:20px 17px 15px}.radio-top{padding-bottom:17px}.station-panel-title{font-size:8px}.station-panel-title .edition{display:none}.announcement-display{padding:15px}.display-top{font-size:6px}.destination-line h2{font-size:33px}.platform-number{min-width:63px;padding:9px 11px 6px}.platform-number strong{font-size:39px}.service-time{font-size:8px}.calling-at{font-size:10px;min-height:38px}.sound-mixer legend,.comfort-panel summary{font-size:22px}.sound-mixer label{flex-basis:137px;font-size:11px}.sound-mixer label small{font-size:8px}.sound-mixer .slider-row{gap:10px}.sound-mixer output{font-size:9px;min-width:28px}.mixer-note{font-size:9px}.comfort-settings{gap:12px}.comfort-settings select{font-size:10px;padding-left:8px}.comfort-settings p,.sample-note{font-size:8px}.platform-edge{margin-left:-17px;margin-right:-17px}.play-button{min-width:157px;font-size:11px}.time{font-size:9px}.under-player span:last-child{max-width:none;font-size:7px}}
/* Keep the Infinite layout comfortable as destinations and services change. */
.destination-line>div:first-child{min-width:0;flex:1}.destination-line{min-height:82px}.destination-line h2{font-size:clamp(26px,3vw,36px);line-height:1.12}.platform-number{flex-shrink:0}.announcement-display .calling-at{min-height:60px}.comfort-settings .wide-setting{grid-column:1/-1}.wide-setting small{display:block;margin-top:6px;font-size:9px;color:var(--muted)}.transcript-panel{margin-top:13px;font-size:10px;color:var(--muted)}.transcript-panel summary{cursor:pointer}.transcript-panel p{font-size:11px;line-height:1.9;margin:12px 0 0}.between-announcements .waveform i{animation:none;opacity:.55}.restart{font-family:var(--sans);font-size:23px;letter-spacing:-5px;padding-right:11px}.time{white-space:nowrap}
@media(max-width:430px){.destination-line h2{font-size:28px}.announcement-display .calling-at{min-height:54px}.transport{gap:7px}.play-button{min-width:146px}.restart{min-width:37px}.time{font-size:8px}.wide-setting small{font-size:8px}}
/* The railway board uses the same midnight, cream and gold as the player. */
.railway-board{background:#2b3b54;border-color:#93a4bf66;box-shadow:inset 0 1px 0 #e0e9ff12,0 12px 25px -20px #000a;border-radius:7px}.railway-sign{background:var(--card);border-bottom-color:var(--line)}.railway-sign h2{color:var(--ink)}.railway-sign>span{color:var(--muted)}.railway-board .board{background:var(--bg);border-color:#93a4bf33;box-shadow:inset 0 1px 7px #09132933}.railway-board .departure-row{color:var(--gold);border-bottom-color:#bcc9da22}.railway-board .departure-row.selected{color:var(--gold)}.led-line{filter:drop-shadow(0 0 1px #e2bb7e22)}.clock-row{color:var(--gold)}.board-casing{color:var(--muted)}
