@font-face{font-family:'Plex Metro';src:url('./fonts/IBMPlexSansCondensed-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Plex Metro';src:url('./fonts/IBMPlexSansCondensed-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Plex Metro';src:url('./fonts/IBMPlexSansCondensed-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{font-family:'Plex Metro','Arial Narrow',sans-serif;color:#172126;background:#e8e8e2;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #e9bc40;outline-offset:3px}
.station-board{max-width:1160px;min-height:100dvh;margin:auto;padding:0 13px 20px;background:#f3f3ee}
.masthead{height:62px;display:flex;align-items:center;justify-content:space-between;border-bottom:4px solid #172126}
.identity{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none;font-size:21px;font-weight:700;letter-spacing:.035em;line-height:.85}
.identity-mark{display:grid;place-items:center;width:36px;height:36px;background:#e12832;color:#fff;font-size:29px;line-height:1}
.identity small{display:block;margin-top:5px;color:#667176;font-size:9px;letter-spacing:.18em}
.edition{font-size:10px;font-weight:700;letter-spacing:.12em}
.intro{padding:21px 2px 18px}
.section-code{display:flex;align-items:center;gap:8px;color:#566468;font-size:11px;font-weight:700;letter-spacing:.16em}
.section-code>span:last-child{margin-left:auto}.signal{width:9px;height:9px;background:#e12832;border-radius:50%;box-shadow:0 0 0 4px #e1283226}
.intro h1{margin:14px 0 9px;font-size:clamp(39px,10vw,76px);line-height:.91;letter-spacing:-.025em}
.intro h1 em{color:#e12832;font-style:normal}.intro p{max-width:470px;margin:0;color:#566468;font-size:15px;font-weight:600;line-height:1.25}
.city-list{display:grid;gap:8px}.city-card{position:relative;display:block;width:100%;min-width:0;overflow:hidden;border:1px solid #172126;background:#fafaf7;color:#172126;text-align:left;text-decoration:none;cursor:pointer}
.city-meta,.city-main,.city-action,.upcoming-title{display:flex;align-items:center;justify-content:space-between}
.city-meta{padding:8px 11px;border-bottom:1px solid #b6c0bf;color:#526165;font-size:10px;font-weight:700;letter-spacing:.13em}
.city-main{position:relative;gap:11px;min-height:90px;padding:9px 13px}.city-number{align-self:stretch;display:grid;place-items:center;min-width:61px;padding:0 4px;border:2px solid #172126;color:#172126;font-size:28px;font-weight:700;letter-spacing:-.06em}.city-title{flex:1;min-width:0}.city-title strong{display:block;font-size:clamp(28px,9vw,42px);line-height:.9;letter-spacing:-.02em}.city-title small{display:block;margin-top:9px;color:#5b696d;font-size:11px;font-weight:700;letter-spacing:.12em}.city-arrow{align-self:flex-start;color:#556368;font-size:23px;line-height:1}
.city-action{position:relative;min-height:39px;padding:6px 13px;border-top:1px solid #aeb9b9;font-size:11px;font-weight:700;letter-spacing:.13em}.city-action b{font-size:20px;line-height:1}
.city-card-live{background:#172126;color:#fff;border-color:#172126}.city-card-live .city-meta{color:#e4e9e9;border-color:#556167}.city-card-live .city-main{min-height:152px;align-items:flex-start;padding-top:20px}.city-card-live .city-number{z-index:1;min-width:73px;height:71px;border-color:#fff;color:#fff;font-size:34px}.city-card-live .city-title{z-index:1}.city-card-live .city-title strong{font-size:clamp(43px,13vw,66px)}.city-card-live .city-title small{color:#dbe2e3}.city-card-live .city-arrow{z-index:1;color:#fff}.city-card-live .city-action{background:#e12832;border:0;color:#fff}.city-card-live:hover .city-action{background:#bd2029}.hero-tracks{position:absolute;inset:auto 0 39px;width:100%;height:87px;opacity:.5;pointer-events:none}.hero-tracks path{fill:none;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.live-dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#72d59a}
.upcoming-title{margin-top:13px;padding:5px 2px 2px;border-bottom:3px solid #172126;font-size:11px;font-weight:700;letter-spacing:.14em}
.upcoming-grid{display:grid;gap:8px}.city-card-upcoming{border-left:5px solid var(--accent)}.city-card-upcoming:hover,.city-card-upcoming:focus-visible{background:#fff}.city-card-upcoming .city-main{min-height:80px}.city-card-upcoming .city-number{min-width:57px;font-size:23px}.city-card-upcoming .city-title strong{font-size:30px}.route-bars{display:flex;gap:3px;height:13px;margin:0 12px 10px}.route-bars i{flex:1;max-width:34px;transform:skewX(-20deg)}.route-bars-many i:nth-child(4n+1){background:#c65b61}.route-bars-many i:nth-child(4n+2){background:#d7af4c}.route-bars-many i:nth-child(4n+3){background:#7ba899}.route-bars-many i:nth-child(4n){background:#7d91ba}.city-card-upcoming .city-action{min-height:34px}.city-card-upcoming:hover .city-action{background:#172126;color:#fff}
.page-footer{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding-top:12px;border-top:1px solid #aab3b2;color:#687479;font-size:10px;font-weight:700;letter-spacing:.08em}
.city-dialog{width:min(92vw,420px);max-height:85dvh;padding:0;border:2px solid #172126;background:#f5f5f0;color:#172126;box-shadow:10px 10px 0 #17212655}.city-dialog::backdrop{background:#10191ed0}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;background:#172126;color:#fff;font-size:11px;font-weight:700;letter-spacing:.14em}.dialog-top button{border:0;background:transparent;color:#fff;font-size:29px;line-height:1;cursor:pointer}.dialog-code{margin:21px 20px 8px;color:#e12832;font-size:13px;font-weight:700;letter-spacing:.15em}.city-dialog h2{margin:0 20px;font-size:50px;line-height:.9;text-transform:uppercase}.city-dialog p{margin:17px 20px;color:#485b60;font-size:18px;line-height:1.2}.dialog-info{display:flex;gap:8px;margin:0 20px 24px}.dialog-info span{padding:5px 8px;border:1px solid #172126;font-size:11px;font-weight:700;letter-spacing:.1em}.dialog-info span:last-child{background:#e8bc41}.dialog-back{display:flex;width:100%;justify-content:space-between;padding:12px 20px;border:0;background:#e12832;color:#fff;font-size:12px;font-weight:700;letter-spacing:.13em;cursor:pointer}.dialog-back b{font-size:20px;line-height:1}
@media(min-width:720px){.station-board{padding:0 32px 28px}.intro{padding:40px 0 32px}.city-list{grid-template-columns:minmax(280px,.9fr) minmax(390px,1.1fr);column-gap:18px;align-items:start}.city-card-live{grid-column:1;grid-row:1/3;min-height:440px}.city-card-live .city-main{min-height:333px}.city-card-live .city-title strong{font-size:62px}.hero-tracks{height:190px}.upcoming-title{grid-column:2;grid-row:1;margin-top:0;align-self:end}.upcoming-grid{grid-column:2;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr))}.city-card-upcoming .city-main{gap:7px;padding:8px}.city-card-upcoming .city-number{min-width:47px;font-size:20px}.city-card-upcoming .city-title strong{font-size:24px}.city-card-upcoming .city-title small{font-size:9px}.city-card-upcoming .city-arrow{font-size:18px}}
@media(max-width:350px){.city-title strong{font-size:26px}.city-card-live .city-title strong{font-size:39px}.edition{font-size:9px}.intro h1{font-size:37px}}
.languages{display:flex;gap:2px;padding:2px;border:1px solid #172126}.languages button{min-width:35px;min-height:29px;border:0;background:transparent;color:#172126;font-size:11px;font-weight:700;cursor:pointer}.languages button[aria-pressed="true"]{background:#172126;color:#fff}
.intro{padding-bottom:18px}.intro h1{margin-bottom:0;font-size:clamp(39px,9vw,70px)}
.how-to-play{margin-top:24px;border-top:4px solid #172126}.how-to-play h2{margin:12px 0;font-size:26px;line-height:1}.steps{display:grid;gap:7px}.steps>div{display:grid;grid-template-columns:34px 72px 1fr;align-items:center;gap:7px;min-height:48px;padding:8px;border:1px solid #aeb9b9;background:#fff}.steps b{display:grid;place-items:center;width:31px;height:31px;background:#e12832;color:#fff;font-size:13px}.steps strong{font-size:16px}.steps span{color:#526267;font-size:14px;line-height:1.1}
.city-dialog .dialog-info{margin-top:20px}.city-dialog h2{margin-bottom:0}
.city-card-ready{background:#eaf3f1}.city-card-ready .city-action{background:#172126;color:#fff}.city-card-ready:hover .city-action{background:#28586a}
@media(min-width:720px){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.steps>div{grid-template-columns:34px 1fr;align-content:start;min-height:112px}.steps span{grid-column:2}.how-to-play{margin-top:34px}}
