@font-face{font-family:Fredoka;src:url(/fonts/Fredoka.woff2)format("woff2");font-weight:500 700;font-display:swap}@font-face{font-family:Andika;src:url(/fonts/Andika-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Andika;src:url(/fonts/Andika-Bold.woff2)format("woff2");font-weight:700;font-display:swap}:root{color-scheme:light dark;--paper:#fffefa;--platform:#e6edef;--sky:#cbeaf6;--sky-top:#5bb8ea;--sky-bottom:#cfeff7;--ink:#12263f;--ink-soft:#44566b;--rule:#cbd6dc;--rule-strong:#74879a;--signal:#0a7a55;--on-signal:#fff;--lamp:#ffc531;--on-lamp:#2a2100;--grass:#7cc36c;--rail:#5b6b7a;--sleeper:#a58560;--edge-sm:0 3px 0 #b9c6cf;--edge-md:0 5px 0 #a7b6c1;--dial:#fffefa;--dial-ink:#12263f;--dial-bezel:#12263f;--hand-hour:#c8470a;--hand-minute:#1259b8;--past-zone:#d8ecf8;--to-zone:#fde8d6;--board:#12263f;--flap:#1e3656;--flap-ink:#fff6dc;--display:Fredoka, "SF Pro Rounded", system-ui, sans-serif;--read:Andika, "SF Pro Rounded", system-ui, sans-serif;--radius-md:14px;--radius-lg:22px;--measure:40rem}@media (prefers-color-scheme:dark){:root{--paper:#1b2d4a;--platform:#15253f;--sky:#101e36;--sky-top:#0c1730;--sky-bottom:#22365e;--ink:#f5f8f3;--ink-soft:#b9c6d2;--rule:#30466a;--rule-strong:#8397b3;--signal:#46d6a1;--on-signal:#062a1e;--grass:#2c6b4a;--rail:#8b9bb0;--sleeper:#5d4b3a;--edge-sm:0 3px 0 #0b1626;--edge-md:0 5px 0 #0b1626;--dial-bezel:#2c4468;--board:#0b1626;--flap:#1a2c48}}@media (prefers-contrast:more){:root{--paper:#fff;--platform:#fff;--sky:#fff;--sky-top:#fff;--sky-bottom:#fff;--ink:#000;--ink-soft:#000;--rule:#000;--rule-strong:#000;--signal:#055b3e;--on-signal:#fff;--edge-sm:0 0 0 2px #000;--edge-md:0 0 0 3px #000;--dial-ink:#000;--dial-bezel:#000;--hand-hour:#9c3200;--hand-minute:#0a3f8a;--past-zone:#fff;--to-zone:#fff;--board:#000;--flap:#1a1a1a}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--sky);color:var(--ink);font-family:var(--read);margin:0;font-size:1.125rem;line-height:1.6}img,svg,picture{max-width:100%;height:auto;display:block}a{color:var(--signal);text-underline-offset:.15em}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0 0 .5em;font-weight:600;line-height:1.2}h1{font-size:clamp(2.1rem,1.5rem + 3vw,3.2rem)}h2{font-size:clamp(1.6rem,1.3rem + 1.4vw,2.1rem)}h3{font-size:1.3rem}p,ul,ol,dl{margin:0 0 1em}.wrap{width:min(100% - 2.5rem,68rem);margin-inline:auto}.skip{background:var(--paper);color:var(--ink);border-radius:var(--radius-md);z-index:10;padding:.5rem 1rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:1rem}.site-head .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding-block:1rem;display:flex}.wordmark{font-family:var(--display);color:var(--ink);align-items:center;gap:.6rem;font-size:1.35rem;font-weight:600;text-decoration:none;display:flex}.wordmark img{border-radius:9px}.site-nav{font-family:var(--display);flex-wrap:wrap;gap:.25rem 1.25rem;font-weight:500;display:flex}.site-nav a{color:var(--ink);padding-block:.4rem;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{text-decoration:underline 2px}main{padding-bottom:3rem}.site-foot{background:var(--platform);color:var(--ink-soft);padding-bottom:2rem;font-size:1rem}.rails{background:linear-gradient(var(--rail), var(--rail)) top / 100% 3px no-repeat, linear-gradient(var(--rail), var(--rail)) bottom / 100% 3px no-repeat, repeating-linear-gradient(90deg, var(--sleeper) 0 8px, transparent 8px 26px);height:14px;margin-bottom:1.5rem}.site-foot nav{flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:.75rem;display:flex}.site-foot a{color:var(--ink)}.plate{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--edge-md);padding:clamp(1.25rem,3vw,2.25rem)}.prose{max-width:var(--measure)}.page{max-width:48rem}.page>.plate+.plate{margin-top:1.5rem}.lead{font-size:1.25rem}.muted{color:var(--ink-soft)}.soon{font-family:var(--display);background:var(--lamp);color:var(--on-lamp);border-radius:999px;margin:0 0 .75rem;padding:.5rem 1rem;font-weight:600;display:inline-block}.badge{margin-bottom:.75rem;display:inline-block}.button{font-family:var(--display);background:var(--signal);color:var(--on-signal);border-radius:var(--radius-md);box-shadow:var(--edge-sm);cursor:pointer;border:0;padding:.7rem 1.3rem;font-size:1.1rem;font-weight:600;text-decoration:none;display:inline-block}.button:active{box-shadow:none;transform:translateY(3px)}.button.quiet{background:var(--paper);color:var(--ink);border:2px solid var(--rule-strong)}.hero{align-items:center;gap:2rem;padding-block:1rem 3rem;display:grid}@media (width>=52rem){.hero{grid-template-columns:1.2fr 1fr}}.hero .shot{max-width:19rem;margin-inline:auto}.shot img{box-shadow:var(--edge-md);border-radius:2rem}.shot.ipad img{border-radius:1.5rem}.scene{background:linear-gradient(var(--sky), var(--sky-bottom));height:120px;position:relative;overflow:hidden}.scene .hills{object-fit:cover;object-position:bottom;width:100%;height:100px;position:absolute;inset:auto 0 10px}.scene .train{align-items:flex-end;display:flex;position:absolute;bottom:10px;right:6%}.scene .train img{width:auto;height:62px}.scene .train img.engine{height:64px}.scene .cat{width:auto;height:64px;position:absolute;bottom:12px;left:6%}.scene:after{content:"";background:var(--rail);height:12px;position:absolute;inset:auto 0 0}.features{gap:1.5rem;padding-top:3rem;display:grid}.feature{align-items:center;gap:1.5rem;display:grid}@media (width>=46rem){.feature{grid-template-columns:1fr 15rem}.feature.flip{grid-template-columns:15rem 1fr}.feature.flip .shot{order:-1}}.feature .shot{max-width:15rem;margin-inline:auto}.lines{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.5rem;padding:0;list-style:none;display:grid}.lines li{align-items:center;gap:.6rem;display:flex}.lines .num{background:var(--line);width:2rem;height:2rem;color:var(--on-line,#fff);font-family:var(--display);border-radius:999px;flex:none;place-items:center;font-size:1rem;font-weight:600;display:inline-grid}.ticks{padding:0;list-style:none}.ticks li{margin-bottom:.4rem;padding-left:1.75rem;position:relative}.ticks li:before{content:"";border:solid var(--signal);border-width:0 3px 3px 0;width:.55rem;height:.9rem;position:absolute;top:.45em;left:.2rem;transform:rotate(45deg)}.split{gap:1.5rem;display:grid}@media (width>=46rem){.split{grid-template-columns:1fr 1fr}}.faq dt{font-family:var(--display);margin-top:1.25rem;font-size:1.15rem;font-weight:600}.faq dd{margin:.25rem 0 0}details.q{border-top:2px solid var(--rule);padding-block:.9rem}details.q:last-of-type{border-bottom:2px solid var(--rule)}details.q summary{font-family:var(--display);cursor:pointer;font-size:1.15rem;font-weight:600}details.q p{margin:.5rem 0 0}.facts{grid-template-columns:max-content 1fr;gap:.4rem 1.5rem;display:grid}.facts dt{font-weight:700}.facts dd{margin:0}.gallery{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:1rem;padding:0;list-style:none;display:grid}.gallery a{display:block}.gallery .shot img{border-radius:1.1rem}.not-found{text-align:center;padding-block:2rem}.not-found img{width:auto;height:120px;margin:0 auto 1rem}.line-meadow{--line:#2f7d32}.line-harbour{--line:#0b5fa5}.line-seaside{--line:#00778a}.line-orchard{--line:#c2331f}.line-moonlight{--line:#4b3fa7}.line-mountain{--line:#4f6272}.line-castle{--line:#8a2f7e}.line-canal{--line:#7a4a21}.line-city{--line:#bd1a5a}.line-terminus{--line:#8c6000}@media (prefers-color-scheme:dark){:root{--on-line:#12213b}.line-meadow{--line:#7bd17f}.line-harbour{--line:#7cbef5}.line-seaside{--line:#5fd3df}.line-orchard{--line:#ff9c8a}.line-moonlight{--line:#b7aeff}.line-mountain{--line:#a9bccb}.line-castle{--line:#e59ad9}.line-canal{--line:#d9a877}.line-city{--line:#ff93bd}.line-terminus{--line:#f2c14e}}@media (prefers-contrast:more){:root{--on-line:#fff}.line-meadow{--line:#1b5e20}.line-harbour{--line:#084a82}.line-seaside{--line:#005a69}.line-orchard{--line:#9c2415}.line-moonlight{--line:#3a2f8c}.line-mountain{--line:#3a4a58}.line-castle{--line:#6e2264}.line-canal{--line:#5e3817}.line-city{--line:#971245}.line-terminus{--line:#6b4900}}
