.rex-chrome-frame{--rex-chrome-bg:#080e12eb;--rex-chrome-ink:#f1f5f3;--rex-chrome-line:#f1f5f338;--rex-chrome-accent:#f1f5f31f;--rex-chrome-active-ink:inherit;z-index:90;isolation:isolate;position:relative}.rex-chrome{background:var(--rex-chrome-bg);min-height:52px;color:var(--rex-chrome-ink);border-bottom:1px solid var(--rex-chrome-line);letter-spacing:.16em;z-index:2;grid-template-columns:1fr auto 1fr;align-items:stretch;font:700 10px/1 system-ui,-apple-system,Segoe UI,sans-serif;display:grid;position:relative}.rex-chrome a,.rex-chrome button{min-height:44px;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;margin:0;text-decoration:none}.rex-chrome-home{white-space:nowrap;grid-auto-flow:column;justify-self:start;place-items:center;gap:.5em;padding:0 16px;display:grid}.rex-chrome-brand{text-align:center;white-space:nowrap;align-content:center;justify-items:center;gap:3px;padding:7px 16px;display:grid}.rex-chrome-brand b{letter-spacing:.14em;font-size:14px;font-weight:700}.rex-chrome-brand-action{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button.rex-chrome-brand:hover{background:var(--rex-chrome-accent)}.rex-chrome-brand span{letter-spacing:.2em;opacity:.74;font-size:8px}.rex-chrome-more,.rex-chrome-inline{justify-self:end;align-items:stretch;display:grid}.rex-chrome-more>summary{cursor:pointer;place-items:center;min-height:44px;padding:0 18px;font-size:15px;list-style:none;display:grid}.rex-chrome-more>summary::-webkit-details-marker{display:none}.rex-chrome-more[open]>summary{background:var(--rex-chrome-accent)}.rex-chrome-more:not([open]) .rex-chrome-menu{display:none}.rex-chrome-frame:has(.rex-chrome-more[open]){z-index:101}.rex-chrome-menu{z-index:3;background:var(--rex-chrome-bg);border:1px solid var(--rex-chrome-line);border-top:0;min-width:max-content;display:grid;position:absolute;top:100%;right:0}.rex-chrome-more[open]+*,.rex-chrome-menu{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.rex-chrome-inline{grid-auto-flow:column}.rex-chrome-action{text-align:right;border-top:1px solid var(--rex-chrome-line);padding:0 18px}.rex-chrome-inline .rex-chrome-action{border-top:0;border-left:1px solid var(--rex-chrome-line);text-align:center}.rex-chrome-menu .rex-chrome-action:first-child{border-top:0}.rex-chrome-action[aria-pressed=true]{background:var(--rex-chrome-accent);color:var(--rex-chrome-active-ink)}.rex-chrome-action[disabled]{opacity:.45;cursor:not-allowed}.rex-chrome-modes{z-index:1;background:var(--rex-chrome-bg);color:var(--rex-chrome-ink);border-bottom:1px solid var(--rex-chrome-line);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:relative}.rex-chrome-modes button{border:0;border-right:1px solid var(--rex-chrome-line);min-height:42px;color:inherit;letter-spacing:.14em;cursor:pointer;background:0 0;margin:0;padding:0 12px;font:700 9px/1 system-ui,-apple-system,Segoe UI,sans-serif}.rex-chrome-modes button:last-child{border-right:0}.rex-chrome-modes button[role=tab]{min-height:44px}.rex-chrome-modes button[aria-pressed=true],.rex-chrome-modes button[aria-selected=true]{background:var(--rex-chrome-accent);color:var(--rex-chrome-active-ink)}.rex-chrome :focus-visible,.rex-chrome-modes :focus-visible{outline-offset:-3px;outline:2px solid}@media (width<=560px){.rex-chrome{letter-spacing:.12em;min-height:48px;font-size:8px}.rex-chrome-home{padding:0 10px}.rex-chrome-brand{padding:6px 8px}.rex-chrome-brand b{font-size:11px}.rex-chrome-brand span{font-size:7px}.rex-chrome-more>summary,.rex-chrome-action{padding:0 12px}.rex-chrome-modes button{letter-spacing:.1em;padding:0 5px;font-size:7px}}@media (prefers-reduced-motion:reduce){.rex-chrome-frame *{transition:none!important;animation:none!important}}:root{color:#1d2b45;font-synthesis:none;--ink:#1b2b4f;--navy:#1b2b59;--gold:#b08d4b;--cream:#f7f2e7;--line:#dcd2bd;--rex-chrome-bg:#f7f2e7;--rex-chrome-ink:#1d2b45;--rex-chrome-line:#ddd3bf;--rex-chrome-accent:#9c7a3c;--rex-chrome-active-ink:#fff;background:#f3eee3;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,a,select,input{-webkit-tap-highlight-color:transparent}button,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;background:var(--cream);color:var(--ink);border:1px solid #d3c8b1;border-radius:2px;min-height:44px;padding:10px 16px;transition:background .18s,border-color .18s,color .18s}button:hover{background:#efe6d3;border-color:#ad8f57}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #b08d4b}.rail-canvas:focus-visible{outline-offset:-2px;outline:2px solid #b08d4be6}a{color:#2e4a78;text-underline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:400}h3{font-weight:500}p{line-height:1.6}.eyebrow{letter-spacing:.17em;color:#8d6f37;font-size:10px;font-weight:600;line-height:1.7;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rail-app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.rail-stage{isolation:isolate;background:#c3dae6;flex:1;min-height:0;position:relative;overflow:hidden}.rail-stage:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#c3dae6,#8ca59a);position:absolute;inset:0}.rail-canvas{touch-action:none;outline:none;position:absolute;inset:0}.rail-canvas canvas{width:100%;height:100%;display:block}.fade{opacity:0;pointer-events:none;background:#0f1626;transition:opacity .22s;position:absolute;inset:0}.fade.on{opacity:.88}.primary{background:var(--navy);color:#fbf7ee;border-color:var(--navy);min-height:50px;padding:14px 24px}.primary:hover{color:#fff;background:#26397a;border-color:#26397a}.primary span{opacity:.85;margin-left:12px}.cover{background:linear-gradient(90deg,#f7f2e7f5 0%,#f7f2e7e6 34%,#f7f2e780 55%,#f7f2e700 74%);align-items:center;padding:4vh 5vw;display:flex;position:absolute;inset:0;overflow:auto}.cover-copy{max-width:560px}.cover-copy h1{letter-spacing:-.03em;color:var(--navy);margin:14px 0 8px;font-size:clamp(40px,5.2vw,78px);line-height:1.02}.cover-subtitle{color:#7a6236;margin-bottom:22px;font-family:Georgia,serif;font-size:clamp(22px,2.4vw,34px);font-style:italic}.choose{border:0;gap:10px;margin:0 0 20px;padding:0;display:grid}.choose legend{letter-spacing:.16em;text-transform:uppercase;color:#4a5670;margin-bottom:10px;font-size:10px;font-weight:600}.route-choice{text-align:left;background:#fbf8f1f0;border-color:#d8ccb2;gap:5px;padding:16px 18px;display:grid}.route-choice[aria-pressed=true]{border-color:var(--navy);box-shadow:inset 3px 0 0 var(--gold);background:#fffdf7}.route-ends{color:var(--navy);font-family:Georgia,serif;font-size:23px}.route-promise{color:#3b4660;font-size:13px;line-height:1.55}.route-meta{letter-spacing:.06em;color:#8a7650;font-size:10px}.board{align-items:center;gap:6px;display:flex}.cover-note{color:#5b6271;max-width:420px;margin-top:14px;font-size:11px}.moment-card{border-left:2px solid var(--gold);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f7f2e7e6;max-width:430px;padding:14px 18px 12px;position:absolute;top:18px;left:22px;box-shadow:0 8px 40px #0e16281f}.moment-card h1{color:var(--navy);margin:4px 0 2px;font-size:27px;line-height:1.15}.moment-card p{color:#36415a;max-height:0;margin:8px 0 0;padding-right:34px;font-size:13px;transition:max-height .5s;overflow:hidden}.moment-card.open p{max-height:120px}.card-toggle{letter-spacing:.1em;text-transform:uppercase;color:#8d6f37;background:0 0;border:0;min-height:32px;padding:4px 8px;font-size:10px;position:absolute;bottom:4px;right:6px}.view-status{color:#3b4660;text-align:right;background:#f7f2e7db;flex-direction:column;align-items:flex-end;gap:3px;max-width:280px;padding:10px 14px;font-size:11px;display:flex;position:absolute;top:18px;right:22px}.view-status strong{color:var(--navy);font-family:Georgia,serif;font-size:16px;font-weight:400}.station-card{border-top:2px solid var(--gold);background:#f8f4ebf5;width:min(460px,100% - 32px);padding:22px 24px;position:absolute;bottom:150px;left:50%;transform:translate(-50%);box-shadow:0 20px 70px #0e162840}.station-card h2{color:var(--navy);margin:6px 0 8px;font-size:30px}.station-card p{color:#3b4660;font-size:13px}.station-card .primary{width:100%}.arrival-actions{gap:8px;display:grid}.confirm{gap:8px;margin-top:12px;display:grid}.confirm p{margin:0;font-size:13px}.intelligence{margin-top:12px;font-size:12px;display:block}.sleep{color:#f7f2e7;background:#1b2b59e6;border-color:#0000;position:absolute;bottom:150px;right:22px}.rail-bottom{left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));justify-items:center;gap:8px;display:grid;position:absolute}.views{scrollbar-width:none;gap:0;max-width:100%;display:flex;overflow-x:auto;box-shadow:0 4px 30px #0e16282e}.views::-webkit-scrollbar{display:none}.views button{letter-spacing:.04em;white-space:nowrap;background:#f7f2e7f0;border-right-width:0;border-radius:0;min-width:84px;font-size:11px}.views button:last-child{border-right-width:1px}.views button[aria-pressed=true],.segmented button[aria-pressed=true],.cars button[aria-pressed=true]{background:var(--navy);color:#fbf7ee;border-color:var(--navy)}.walk,.cars{background:#f7f2e7eb;align-items:center;gap:4px;padding:3px;display:flex;box-shadow:0 4px 24px #0e162824}.walk span{color:#3b4660;padding:0 10px;font-size:11px}.walk button{min-width:44px;padding:4px;font-size:20px}.cars button{padding:8px 12px;font-size:11px}.ribbon{align-items:stretch;gap:8px;width:min(860px,100%);display:flex}.ribbon-button{text-align:left;background:#f7f2e7eb;flex:1;gap:5px;padding:8px 14px;display:grid}.ends{letter-spacing:.14em;text-transform:uppercase;color:#4a5670;justify-content:space-between;font-size:10px;display:flex}.ends b{font-weight:600}.track{height:10px;display:block;position:relative}.track:before{content:"";background:#cdbf9f;height:2px;position:absolute;top:4px;left:0;right:0}.travelled{background:var(--navy);height:4px;transition:width .4s linear;position:absolute;top:3px;left:0}.journey-line.compact{justify-content:space-between;margin:0;padding:0;list-style:none;display:flex;position:absolute;inset:0}.journey-line.compact li{width:2px}.journey-line.compact .tick{background:#f7f2e7;border:1px solid #9c8a64;border-radius:50%;width:6px;height:6px;margin:2px 0 0 -2px;display:block}.journey-line.compact li.past .tick{background:var(--navy);border-color:var(--navy)}.journey-line.compact li.current .tick{background:var(--gold);border-color:var(--gold);transform:scale(1.5)}.pace{display:flex;box-shadow:0 4px 24px #0e162824}.pace button{background:#f7f2e7eb;border-radius:0;padding:8px 10px;font-size:10px}.segmented{flex-wrap:wrap;gap:4px;display:flex}.segmented button{flex:1}.disclosure{letter-spacing:.08em;color:#f7f2e7;text-shadow:0 1px 4px #0a101ecc;pointer-events:none;margin:0;font-size:8px}.pause-card{text-align:center;background:#f8f4ebf7;min-width:280px;padding:26px;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 80px #0e162840}.pause-card h2{color:var(--navy);margin:8px 0 18px;font-size:30px}.sheet{inset:var(--rex-chrome-height,60px) 0 0 auto;width:min(480px,100%);height:calc(100dvh - var(--rex-chrome-height,60px));color:#1d2b45;background:#f8f4ebfa;border:0;border-left:1px solid #d6cbb4;max-width:100%;max-height:none;margin:0;padding:0;position:fixed;overflow:hidden;box-shadow:-15px 0 90px #0e162833}.sheet[open]{flex-direction:column;display:flex}.sheet::backdrop{background:#0f162638}.sheet-heading{border-bottom:1px solid #ddd3bf;flex:none;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 24px 18px;display:flex}.sheet-heading h2{color:var(--navy);margin:6px 0 0;font-size:28px;line-height:1.15}.close{background:0 0;border:none;min-width:44px;margin-top:-8px;padding:0;font-size:26px}.sheet-content{overscroll-behavior:contain;padding:22px 26px max(28px,env(safe-area-inset-bottom));font-size:13px;line-height:1.6;overflow-y:auto}.sheet-content .lead{color:var(--navy);font-family:Georgia,serif;font-size:21px;line-height:1.45}.sheet-content h3{color:var(--navy);margin:26px 0 10px;font-family:Georgia,serif;font-size:19px}.sheet-content .primary{width:100%;margin-top:14px}.guide-grid{gap:4px;margin:18px 0;display:grid}.guide-grid h3{margin-top:10px}kbd{text-align:center;border:1px solid #d3c8b1;border-bottom-width:2px;min-width:22px;padding:0 3px;font-family:inherit;font-size:11px;display:inline-block}.journey-line:not(.compact){border-left:2px solid #d6c9aa;gap:6px;margin:20px 0;padding:0 0 0 18px;list-style:none;display:grid}.journey-line:not(.compact) li{position:relative}.journey-line:not(.compact) li:before{content:"";background:#f7f2e7;border:2px solid #b8a67e;border-radius:50%;width:10px;height:10px;position:absolute;top:18px;left:-25px}.journey-line:not(.compact) li.past:before{background:var(--navy);border-color:var(--navy)}.journey-line:not(.compact) li.current:before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px #b08d4b40}.journey-line:not(.compact) button{text-align:left;background:0 0;border-color:#0000;gap:2px;width:100%;padding:10px 12px;display:grid}.journey-line:not(.compact) button:hover{background:#efe6d3}.journey-line li.current button{background:#fffdf7;border-color:#d6c9aa}.journey-line .time{letter-spacing:.1em;color:#8d6f37;font-size:10px}.journey-line strong{color:var(--navy);font-family:Georgia,serif;font-size:17px;font-weight:400}.journey-line .where{color:#5b6271;font-size:11px}.route-switch{text-align:left;gap:4px;width:100%;padding:14px 16px;display:grid}.route-switch strong{color:var(--navy);font-family:Georgia,serif;font-size:19px;font-weight:400}.route-switch span{color:#3b4660;font-size:12px}fieldset{border:0;margin:0 0 18px;padding:0}legend{letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;font-size:10px}.setting{border-top:1px solid #e1d8c5;justify-content:space-between;align-items:center;gap:20px;min-height:50px;display:flex}.setting select{min-height:44px;color:inherit;background:0 0;border:1px solid #cfc3a9;padding:8px}.setting input{width:23px;height:23px;accent-color:var(--navy)}.text-button{text-underline-offset:4px;background:0 0;border:0;width:100%;margin-top:12px;font-size:12px;text-decoration:underline;display:block}.fine-print{color:#5f6676;font-size:11px;line-height:1.65}.sources,.regions{gap:14px;margin:0;padding:0;list-style:none;display:grid}.sources li{border-bottom:1px solid #e1d8c5;padding-bottom:12px}.sources p{margin:6px 0 4px;font-size:12px}.sources small{color:#8a7650;font-size:10px}.regions li{font-size:12px;line-height:1.55}.outbound{gap:4px;display:grid}.outbound a{border-bottom:1px solid #e1d8c5;min-height:44px;padding:12px 0;display:block}.fallback-view{background:#f7f2e7;padding:32px max(22px,50vw - 430px);position:absolute;inset:0;overflow:auto}.fallback-view h1{color:var(--navy);margin-top:10px;font-size:40px}.fallback-view h2{color:var(--navy);margin-top:30px;font-size:28px}.fallback-view ol{padding-left:18px}.fallback-view li p{font-size:14px}@media (width<=760px){.view-status{display:none}.moment-card{max-width:none;padding:10px 14px 8px;top:12px;left:12px;right:12px}.moment-card h1{font-size:22px}.moment-card p{font-size:12px}.rail-bottom{gap:6px;left:8px;right:8px}.ribbon{flex-direction:column;gap:6px}.pace{align-self:center}.views button{min-width:auto;padding:10px 12px;font-size:11px}.station-card{padding:16px 18px;bottom:200px}.station-card h2{font-size:24px}.sleep{bottom:200px;right:12px}.cover{background:linear-gradient(#f7f2e7f5 0%,#f7f2e7eb 62%,#f7f2e78c 100%);align-items:flex-start}.cover-copy h1{font-size:40px}.route-choice{padding:12px 14px}.route-ends{font-size:20px}}@media (height<=520px) and (width>=600px){.moment-card{padding:8px 12px;top:8px}.moment-card h1{font-size:19px}.moment-card.open p{max-height:42px}.view-status{display:none}.rail-bottom{gap:4px;bottom:4px}.ribbon{gap:6px}.ribbon-button{padding:4px 10px}.views button,.pace button{min-height:38px;padding:6px 10px}.disclosure{display:none}.station-card{width:min(340px,48%);padding:12px 16px;inset:8px 12px auto auto;transform:none}.station-card p{display:none}.station-card h2{font-size:20px}.sleep{top:8px;bottom:auto;right:12px}.cover{align-items:flex-start;padding:12px 4vw}.cover-copy h1{font-size:32px}.cover-subtitle{margin-bottom:10px;font-size:18px}.route-choice{padding:8px 12px}.route-promise{display:none}}@media (prefers-reduced-motion:reduce){.rail-app *{transition:none!important;animation:none!important}}
