@font-face{font-family:Jost;src:url(../fonts/jost-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--navy: #1b2838;--cream: #f3e7cb;--paper: #faf3e2;--orange: #dd6a2c;--mustard: #e2ae3b;--teal: #1f5a55;--rust: #b8452a;--sage: #6f8f72;--soft: #5d6470;--white: #fff;--display: "Gill Sans", "Gill Sans MT", "Futura", "Jost", "Century Gothic", "Avenir Next", "Trebuchet MS", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--navy)}body{font-family:var(--display);color:var(--navy);min-height:100vh;min-height:100dvh;-webkit-text-size-adjust:100%}button,input{font-family:var(--display);color:inherit}button{cursor:pointer}.boot{color:var(--cream);letter-spacing:.3em;padding:40px 20px;text-transform:uppercase}#app{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--paper);position:relative;padding-bottom:76px}#banner{position:sticky;top:0;z-index:20}.bar{padding:8px 14px;font-size:.75rem;letter-spacing:.08em;line-height:1.35}.bar b{letter-spacing:.2em;text-transform:uppercase}.bar.off{background:var(--navy);color:var(--cream);border-bottom:3px solid var(--mustard)}.bar.pretend{background:var(--rust);color:var(--cream);border-bottom:3px solid var(--navy)}.bar button{background:transparent;border:2px solid currentColor;padding:3px 9px;border-radius:14px;font-size:.6875rem;letter-spacing:.1em;margin-left:8px}.poster{position:relative;height:230px;background:var(--navy);overflow:hidden}.poster svg.scene{position:absolute;inset:0;width:100%;height:100%}.brand{position:absolute;top:16px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;gap:6px}.wordmark{background:var(--navy);color:var(--cream);font-size:.7188rem;letter-spacing:.3em;padding:6px 9px;border:2px solid var(--cream)}.pills{display:flex;gap:6px}.pill{font-size:.6562rem;letter-spacing:.1em;color:var(--navy);background:var(--cream);padding:5px 8px;border-radius:20px;font-weight:600;text-transform:uppercase}.pill.tt{background:var(--mustard)}.placecard{position:absolute;left:0;right:0;bottom:0;background:var(--cream);padding:10px 16px 8px;border-top:4px solid var(--navy)}.kicker{font-size:.6562rem;letter-spacing:.28em;color:var(--rust);text-transform:uppercase}.placecard h1{font-size:clamp(1.25rem,4.5cqi + .6rem,2rem);letter-spacing:.04em;text-transform:uppercase;line-height:1.1;margin-top:2px;overflow-wrap:anywhere}.placecard .sub{font-size:.75rem;color:var(--soft);margin-top:2px}.chips{display:flex;gap:8px;padding:12px 16px 6px;background:var(--cream);overflow-x:auto}.chip{border:2px solid var(--navy);background:transparent;font-weight:600;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:20px;white-space:nowrap}.chip.on{background:var(--navy);color:var(--cream)}.linetabs{display:flex;gap:0;background:var(--cream);padding:0 16px 10px}.linetabs button{flex:1;border:2px solid var(--navy);background:transparent;padding:6px 4px;font-size:.6875rem;letter-spacing:.08em;font-weight:600;text-transform:uppercase}.linetabs button+button{border-left:0}.linetabs button.on{background:var(--teal);color:var(--cream)}.hero{margin:14px 14px 6px;background:var(--navy);color:var(--cream);overflow:hidden}.hero .band{display:flex;height:8px}.hero .band i{flex:1;display:block}.hero .body{display:flex;gap:14px;padding:14px 14px 6px;align-items:center}.clock{width:100px;height:100px;position:relative;flex-shrink:0}.clock svg{position:absolute;inset:0}.clock .num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.clock b{font-size:clamp(2rem,6cqi + 1rem,3rem);line-height:1;font-weight:600}.clock span{font-size:.6562rem;letter-spacing:.26em}.clock.due b{color:var(--orange)}.label{font-size:.6562rem;letter-spacing:.26em;color:var(--mustard);text-transform:uppercase}.hero h2{font-size:clamp(1.15rem,3cqi + .6rem,1.6rem);letter-spacing:.03em;margin:2px 0 3px;font-weight:600}.hero .route{font-size:.7812rem;opacity:.9}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.tag{font-size:.625rem;letter-spacing:.1em;padding:3px 7px;border-radius:3px;text-transform:uppercase;font-weight:600}.t-tt{border:1.5px solid currentColor}.t-dir{background:var(--cream);color:var(--navy)}.t-may{background:var(--mustard);color:var(--navy)}.t-alt{background:var(--sage);color:var(--navy)}.hero .when{padding:4px 14px 0;font-size:.75rem;letter-spacing:.08em;opacity:.9}.hero .detailbtn{display:block;width:calc(100% - 28px);margin:10px 14px 14px;background:transparent;color:var(--cream);border:2px solid var(--cream);padding:10px;font-weight:600;font-size:.75rem;letter-spacing:.24em;text-transform:uppercase}.strip{list-style:none;margin:8px 14px 6px;position:relative;padding-left:22px}.strip:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:3px;background:currentColor;opacity:.35}.strip li{position:relative;display:flex;justify-content:space-between;gap:10px;font-size:.7812rem;padding:3px 0}.strip li:before{content:"";position:absolute;left:-20px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--cream);border:2px solid currentColor}.strip li.past{opacity:.55}.strip li.you{font-weight:700;color:var(--orange)}.strip li.you:before{background:var(--orange);border-color:var(--orange);width:13px;height:13px;left:-22px;top:6px}.strip li.train{color:var(--mustard);font-weight:600}.strip li.train:before{background:var(--mustard);border-color:var(--mustard);border-radius:2px}.strip small{font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;opacity:.9}.strip.dark{color:var(--navy)}.strip.dark li:before{background:var(--paper)}.empty{margin:18px 16px;padding:14px;background:var(--cream);border-left:6px solid var(--mustard);font-size:.875rem;line-height:1.45}.sect{display:flex;justify-content:space-between;align-items:baseline;padding:14px 16px 6px}.sect h3{font-size:.75rem;letter-spacing:.3em;text-transform:uppercase}.sect small{font-size:.6875rem;color:var(--soft)}.list{list-style:none;padding:0 14px 18px}.tk{display:flex;align-items:stretch;background:var(--white);margin-bottom:10px;border:2px solid var(--navy)}.tk.gone{opacity:.55}.tk .min{width:70px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--cream);border-right:2px dashed var(--cream)}.tk .min b{font-size:1.5rem;line-height:1}.tk .min span{font-size:.5938rem;letter-spacing:.25em}.tk .info{padding:8px 10px;flex:1;min-width:0;text-align:left;background:transparent;border:0}.tk .top{display:flex;justify-content:space-between;align-items:center;gap:6px}.hc{font-size:.75rem;font-weight:700;letter-spacing:.14em;background:var(--navy);color:var(--cream);padding:2px 6px}.cls{font-size:.6875rem;color:var(--soft);letter-spacing:.04em;text-align:right}.what{font-size:.9375rem;font-weight:600;margin-top:4px}.rt{font-size:.75rem;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.foot{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap;align-items:center}.foot .t-dir{background:var(--cream)}.foot .t-tt{color:var(--soft)}.passed{margin-left:auto;background:var(--navy);color:var(--cream);border:0;font-size:.6562rem;letter-spacing:.14em;font-weight:700;padding:6px 9px;text-transform:uppercase}.passed:disabled{opacity:.45}.c-freight{background:var(--orange)}.c-passenger{background:var(--teal)}.c-light_engine{background:var(--mustard);color:var(--navy)!important}.c-engineering{background:var(--rust)}.c-empty_stock,.c-parcels{background:var(--sage);color:var(--navy)!important}.c-other,.c-bus{background:var(--navy)}.credit{font-size:.6562rem;color:var(--soft);text-align:center;padding:4px 20px 16px;letter-spacing:.04em;line-height:1.5}.tabs{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:480px;display:flex;border-top:3px solid var(--navy);background:var(--cream);z-index:15}.tabs button{flex:1;background:none;border:0;padding:10px 0 14px;font-weight:600;font-size:.6562rem;letter-spacing:.2em;text-transform:uppercase;color:var(--soft)}.tabs button{border-top:3px solid transparent}.tabs button.on{color:var(--navy);border-top-color:var(--orange)}.tabs svg{display:block;margin:0 auto 4px}.sheet,.ov,.modal{position:fixed;left:50%;transform:translate(-50%);width:100%;max-width:480px;z-index:30}.sheet{bottom:0;top:6vh;top:6svh;background:var(--paper);display:flex;flex-direction:column;border-top:4px solid var(--navy)}.sheet .head{padding:14px 16px 12px;color:var(--cream);position:relative}.x{position:absolute;right:12px;top:12px;background:var(--cream);color:var(--navy);border:0;width:30px;height:30px;border-radius:50%;font-size:1rem}.sheet .head .label{color:var(--cream);opacity:.85}.sheet .head h2{font-size:clamp(1.25rem,4cqi + .6rem,1.9rem);letter-spacing:.03em}.sheet .head .route{font-size:.8125rem;opacity:.92}.sheet .inner{overflow-y:auto;padding:14px 16px 30px;flex:1}.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.fact{border:2px solid var(--navy);padding:7px 10px;background:var(--white)}.fact small{display:block;font-size:.5938rem;letter-spacing:.22em;text-transform:uppercase;color:var(--soft)}.fact b{font-size:.9062rem}.box{background:var(--white);border:2px solid var(--navy);padding:8px 8px 6px;margin-bottom:12px}.box h4{font-size:.6562rem;letter-spacing:.24em;text-transform:uppercase;color:var(--rust);margin:0 4px 4px}.box p,.note{font-size:.75rem;color:var(--soft);line-height:1.45;margin:2px 4px 6px}.stops{list-style:none;font-size:.7812rem}.stops li{display:flex;justify-content:space-between;gap:8px;padding:4px;border-bottom:1px dotted var(--navy)}.stops li.pass{color:var(--soft);font-size:.7188rem}.stops li.me{background:var(--cream);font-weight:700}.bigbtn{display:block;width:100%;background:var(--orange);color:var(--white);border:3px solid var(--navy);font-weight:700;font-size:.875rem;letter-spacing:.26em;padding:13px;text-transform:uppercase;margin-bottom:12px}.bigbtn:disabled{opacity:.5}.ov{top:0;bottom:0;background:var(--navy);color:var(--cream);display:flex;flex-direction:column;padding:22px 20px 20px;overflow-y:auto}.dtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:8px}.dtop span{font-size:.75rem;letter-spacing:.26em;text-transform:uppercase}.exit{background:none;border:2px solid currentColor;color:inherit;font-weight:600;font-size:.75rem;letter-spacing:.2em;padding:7px 12px;border-radius:20px}.drow{border-top:3px solid rgba(243,231,203,.25);padding:14px 0;display:flex;align-items:center;gap:16px}.drow:first-child{border-top:0}.drow .big{font-size:clamp(3rem,10vmin,7rem);font-weight:600;width:120px;line-height:1;text-align:right;flex-shrink:0}.drow .big small{font-size:1rem;letter-spacing:.1em}.drow .big.due{color:var(--orange);font-size:2.75rem}.drow .kind{font-size:1.3125rem;font-weight:600}.drow .dd{font-size:.7812rem;opacity:.8;letter-spacing:.06em;text-transform:uppercase}.speak{margin-top:auto;background:var(--orange);color:var(--white);border:0;padding:16px;font-weight:600;font-size:.9375rem;letter-spacing:.2em;text-transform:uppercase}.speak.on{background:#2e7d4f}.drivenote{font-size:.75rem;line-height:1.45;opacity:.85;margin:14px 0;border-left:5px solid var(--mustard);padding-left:10px}.light{background:var(--paper);color:var(--navy)}.light .dtop span{color:var(--rust)}.light h2{font-size:1.375rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.light p,.light li{font-size:.875rem;line-height:1.5;margin-bottom:8px}.light ul{padding-left:18px;margin-bottom:10px}.light a{color:var(--teal)}.modal{top:0;bottom:0;background:#1b2838e0;display:flex;align-items:center;justify-content:center;padding:16px}.card{background:var(--paper);width:100%;padding:18px 16px;border:4px solid var(--navy);max-height:100%;overflow-y:auto}.card h2{font-size:1.25rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.card p,.card li{font-size:.875rem;line-height:1.5;margin-bottom:8px}.card ul{padding-left:18px;margin-bottom:10px}.card input{width:100%;border:2px solid var(--navy);padding:10px;font-size:1rem;background:var(--white);margin:6px 0 10px;letter-spacing:.1em}.card .row{display:flex;gap:8px}.card .row button,.card .done{flex:1;background:var(--navy);color:var(--cream);border:0;padding:12px;font-weight:700;font-size:.8125rem;letter-spacing:.2em;text-transform:uppercase}.card .row button.alt{background:transparent;color:var(--navy);border:2px solid var(--navy)}.card .done{width:100%;margin-top:8px}.err{color:var(--rust);font-size:.8125rem;min-height:18px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:90px;width:calc(100% - 32px);max-width:448px;background:var(--navy);color:var(--cream);padding:12px 14px;font-size:.8125rem;line-height:1.4;z-index:40;border-left:6px solid var(--mustard)}.hidden{display:none!important}.open{all:unset;display:block;width:100%;cursor:pointer;box-sizing:border-box}.open:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.x{z-index:3}.sheet .head h2{padding-right:38px}.clock b.s{font-size:1.5rem;letter-spacing:.06em}.seg{display:flex;gap:0;align-items:stretch}.seg button{border:2px solid var(--navy);background:transparent;padding:6px 12px;font-size:.6875rem;letter-spacing:.12em;font-weight:600;text-transform:uppercase}.seg button+button{border-left:0}.seg button.on{background:var(--teal);color:var(--cream)}.seg input{margin-left:8px;border:2px solid var(--navy);padding:4px 6px;font-size:1rem;background:var(--white)}.plist{list-style:none;margin:4px 0}.ptrain{display:flex;gap:8px;align-items:stretch;margin-bottom:6px;border:2px solid var(--navy);background:var(--white)}.pinfo{padding:5px 6px 5px 0;font-size:.8125rem;min-width:0}.pinfo small{color:var(--soft);font-size:.7188rem}.maplibregl-canvas{outline:none}.keyhead{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:8px 0 6px;color:var(--navy)}.keygrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.keyitem{display:flex;align-items:center;gap:8px;text-align:left;padding:7px 8px;border:2.5px solid var(--navy);background:var(--white);color:var(--navy);font-size:.875rem;font-weight:700;line-height:1.15;min-height:46px}.keyitem small{display:block;font-size:.6875rem;font-weight:600;color:var(--soft);letter-spacing:.02em}.keyitem.on{background:var(--navy);color:var(--cream)}.keyitem.on small{color:var(--cream);opacity:.85}.keyitem:not(.on){border-style:dashed}.keyitem:not(.on) .ks{opacity:.55}.keynote{font-size:.7188rem;color:var(--soft);margin:6px 0 2px;line-height:1.35}.ks{flex-shrink:0}.tag.t-head{background:transparent;color:var(--soft);border:1.5px solid var(--soft)}.hero .tag.t-head{color:var(--cream);border-color:var(--cream);opacity:.8}.linesctl{padding:0 16px 8px;background:var(--cream)}.linesbtn{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:2px solid var(--navy);padding:5px 10px;font-weight:700;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;text-align:left}.linesbtn small{flex:1;font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--soft);font-size:.7188rem}.linesbtn i{font-style:normal;font-size:.6875rem}.linelist{display:flex;flex-direction:column;gap:4px;margin-top:6px}.linelist button{border:2px solid var(--navy);background:var(--white);padding:6px 10px;font-size:.7812rem;font-weight:600;text-align:left}.linelist button.on{background:var(--teal);color:var(--cream)}.rate{display:inline-block;font-size:.6562rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border:1.5px solid currentColor;margin-top:2px}.r-good{color:#2e7d4f}.r-fair{color:#9a6a00}.r-rough{color:var(--rust)}.pinfo .when{font-size:.7812rem}.ptrain .passed{margin-top:4px;padding:5px 9px;letter-spacing:.08em}.planroot{position:fixed;left:50%;transform:translate(-50%);width:100%;max-width:480px;top:0;bottom:62px;z-index:12;background:var(--cream);overflow:hidden}#mapbox,#mapbox.maplibregl-map,.pl-map{position:absolute;inset:0;width:100%;height:100%}.pl-top{position:absolute;top:calc(8px + env(safe-area-inset-top,0px));left:8px;right:8px;z-index:6;display:flex;gap:8px}.pl-search{position:relative;flex:1;min-width:0}.pl-search input{width:100%;height:48px;padding:0 46px 0 14px;font-size:1.0625rem;border:3px solid var(--navy);background:#fff;border-radius:0;-webkit-appearance:none;appearance:none}.pl-clear{position:absolute;right:2px;top:2px;width:44px;height:44px;border:0;background:transparent;font-size:1.75rem;line-height:1;color:var(--navy)}.pl-safety{height:48px;padding:0 12px;background:var(--navy);color:var(--cream);border:3px solid var(--navy);font-weight:700;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.pl-chip{position:absolute;top:calc(64px + env(safe-area-inset-top,0px));left:8px;z-index:6;display:flex;align-items:center;gap:8px;background:var(--navy);color:var(--cream);padding:5px 5px 5px 12px;font-size:.8125rem;max-width:calc(100% - 112px)}.pl-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-chip button{flex-shrink:0;background:var(--cream);color:var(--navy);border:0;width:30px;height:30px;border-radius:50%;font-size:1.25rem;line-height:1}.pl-drop{position:absolute;top:calc(60px + env(safe-area-inset-top,0px));left:8px;right:8px;z-index:8;background:#fff;border:3px solid var(--navy);max-height:62%;overflow-y:auto}.pl-opt{display:block;width:100%;text-align:left;padding:9px 12px;border:0;border-bottom:1px solid rgba(27,40,56,.35);background:transparent;font-size:.9375rem;min-height:52px}.pl-opt b{display:block}.pl-opt small{display:block;color:var(--soft);font-size:.75rem}.pl-all{background:var(--cream);font-weight:700;text-align:center;min-height:46px;border-bottom:0;font-size:.875rem}.pl-dropnote{padding:10px 12px;margin:0}.pl-btns{position:absolute;right:8px;top:calc(64px + env(safe-area-inset-top,0px));z-index:5;display:flex;flex-direction:column;gap:8px}.pl-btns button{min-width:92px;height:42px;border:3px solid var(--navy);background:var(--paper);font-weight:700;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.pl-btns button.on{background:#2a6df4;color:#fff}.pl-ctl{position:absolute;top:calc(64px + env(safe-area-inset-top,0px));left:8px;right:8px;z-index:9;max-height:calc(100% - 80px);overflow-y:auto;background:var(--paper);border:3px solid var(--navy);padding:10px;overscroll-behavior:contain}.ctl-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.9375rem}.pchips{display:flex;gap:6px;overflow-x:auto;padding:8px 0 6px}.mapmsg{position:absolute;left:8px;right:8px;top:calc(110px + env(safe-area-inset-top,0px));z-index:4;background:var(--navy);color:var(--cream);font-size:.75rem;padding:7px 10px;border-left:5px solid var(--mustard);max-width:calc(100% - 116px)}.mapcredit{position:absolute;left:0;right:0;bottom:var(--shh, 0px);z-index:3;background:#faf3e2eb;font-size:.5938rem;line-height:1.35;padding:3px 6px;color:var(--navy)}.mapcredit a{color:var(--teal)}.pl-sheet{position:absolute;left:0;right:0;bottom:0;z-index:7;background:var(--paper);border-top:3px solid var(--navy);display:flex;flex-direction:column;overflow:hidden}.pl-grab{height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--navy);border:0;width:100%;touch-action:none;cursor:grab}.pl-grab i{width:46px;height:5px;border-radius:3px;background:var(--cream);opacity:.85;display:block}.sh-head{position:relative;background:var(--navy);color:var(--cream);padding:2px 54px 8px 14px;flex-shrink:0;touch-action:none}.sh-head .label{font-size:.625rem;letter-spacing:.2em;color:var(--mustard);text-transform:uppercase}.sh-head h3{font-size:1.125rem;letter-spacing:.02em;line-height:1.15;overflow-wrap:anywhere}.sh-head .sub{font-size:.75rem;opacity:.85;margin-top:2px}.sh-head .peekline{font-size:.8125rem;margin-top:3px}.sh-x{position:absolute;right:10px;top:4px;width:38px;height:38px;border-radius:50%;background:var(--cream);color:var(--navy);border:0;font-size:1.375rem;line-height:1}.sh-body{overflow-y:auto;flex:1;min-height:0;padding:10px 14px 16px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.pl-sheet[data-h=peek] .sub,.pl-sheet[data-h=peek] .sh-body{display:none}.pl-row{display:flex;gap:10px;align-items:center;width:100%;text-align:left;padding:8px 4px;border:0;border-bottom:1px solid rgba(27,40,56,.25);background:transparent;min-height:54px}.pl-row .num{flex:0 0 30px;height:30px;border-radius:50%;color:var(--cream);background:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;border:2px solid var(--paper)}.pl-row.road .num{background:transparent;color:var(--navy);font-size:1.375rem}.pl-row.sel{background:var(--cream)}.pl-row b{font-size:.9375rem;display:block}.pl-row small{display:block;color:var(--soft);font-size:.75rem}.pl-back{margin-bottom:8px;border-color:var(--navy)!important;padding:5px 10px}.ptime-t{width:62px;display:flex;align-items:center;justify-content:center;color:var(--cream);font-weight:700;font-size:.9375rem;flex-shrink:0}.tabs{padding-bottom:env(safe-area-inset-bottom,0px)}.tapslot{display:contents}.tapslot .passed,.tapslot .bigbtn,.tapslot small{display:none}.tapslot[data-state=open] .passed{display:inline-block}.tapslot[data-state=open] .bigbtn{display:block}.tapslot[data-state=open] .tapfirst{display:block;color:var(--soft);margin:4px 0;font-size:.75rem}.tapslot[data-state=before] .taphint{display:block;color:var(--soft);font-size:.75rem;font-style:italic;margin-top:4px}.foot .tapslot[data-state=before] .taphint,.foot .tapslot[data-state=open] .tapfirst{flex-basis:100%;margin-left:auto}.herotap{padding:0 14px 4px}.hero .tapslot .passed{background:var(--orange);color:var(--navy)}.hero .tapslot small{color:inherit;opacity:.85}.pl-grab{height:30px}.pl-grab i{width:56px;height:6px}.sh-map{display:none;position:absolute;right:56px;top:4px;height:38px;padding:0 14px;border:2px solid var(--cream);background:transparent;color:var(--cream);font-weight:700;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.pl-sheet[data-h=full] .sh-map{display:block}.pl-sheet[data-h=full] .pl-grab i{background:var(--mustard)}.pl-sheet[data-h=full] .sh-head{padding-right:150px}.planroot.sheetfull .pl-btns,.planroot.sheetfull .pl-chip,.planroot.sheetfull .mapmsg{display:none}.pl-btns{flex-direction:row;right:8px;top:calc(64px + env(safe-area-inset-top,0px))}.pl-btns button{min-width:88px}.pl-drop{top:calc(112px + env(safe-area-inset-top,0px));max-height:var(--dropmax, 60%)}.pl-ctl{top:calc(112px + env(safe-area-inset-top,0px));max-height:calc(var(--dropmax, 60%))}.pl-chip{max-width:calc(100% - 214px)}.mapmsg{top:calc(160px + env(safe-area-inset-top,0px));max-width:calc(100% - 16px)}.aslot{padding:0 14px}.aslot:empty{display:none}.aslot.dark{color:var(--cream)}.aslot.light{color:var(--navy);margin-bottom:8px}.astrip{display:block;width:100%;max-width:420px;height:auto;margin:6px auto 0}.atrain{transition:transform 1s linear}.aslot.rolling .atrain{transition:transform .3s ease-out}.astatus{font-weight:700;font-size:1rem;text-align:center;margin-top:2px}.adest{font-size:.8125rem;text-align:center;opacity:.85}.anote{font-size:.7188rem;text-align:center;margin:4px 0 6px;color:inherit;opacity:.8}.aafter{font-size:.8125rem;text-align:center;margin:6px 0;opacity:.85}@media (prefers-reduced-motion: reduce){.atrain,.aslot.rolling .atrain{transition:none}}.earlier{margin:10px 0 4px}.earlier summary{cursor:pointer;padding:10px 14px;font-weight:700;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);border-top:2px solid var(--navy);list-style:none}.earlier summary::-webkit-details-marker{display:none}.earlier summary:before{content:"▸ "}.earlier[open] summary:before{content:"▾ "}.earlier summary small{text-transform:none;letter-spacing:0;font-weight:400}.earlier .tk{opacity:.8}.u-rust{color:var(--rust)!important}.u-navy{color:var(--navy)!important}.u-inh{color:inherit!important}.u-dim80{opacity:.8!important}.u-dim75{opacity:.75!important}.u-mb6{margin:0 0 6px!important}.u-m814{margin:8px 14px!important}.u-mt8{margin-top:8px!important}.u-tight{padding:6px 0!important}.u-plain{padding:0 0 6px!important;background:transparent!important}.u-plainsmall{letter-spacing:.06em!important;text-transform:none!important}.u-empty{padding:20px 0!important;opacity:.85!important}.hero .band i:nth-child(3n+1){background:var(--orange)}.hero .band i:nth-child(3n+2){background:var(--mustard)}.hero .band i:nth-child(3n){background:var(--teal)}.setlabel{margin:6px 0;font-weight:600}.useg{display:flex;flex-shrink:0;gap:0;border:2px solid var(--navy);border-radius:10px;overflow:hidden;max-width:30rem}.useg button{flex:1;min-height:44px;padding:8px 10px;background:var(--paper);color:var(--navy);border:0;font:inherit;font-weight:600}.useg button+button{border-left:2px solid var(--navy)}.useg button.on{background:var(--navy);color:var(--cream)}.chip,.exit,.passed,.ptrain .passed,.linesbtn,.linelist button,.spotbtn,.bar button,.hero .detailbtn,.pl-btns button,.sh-x,.sh-map,.pl-back{min-height:44px}.chip{padding:8px 14px}.passed{min-width:44px;padding:8px 12px}.x,.sh-x{width:44px;height:44px;min-width:44px}.pl-grab{height:44px}.bar button{padding:6px 12px}.empty .row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}button,summary,[data-act],[data-p]{transition:opacity 80ms ease-out}button:active,summary:active,a[href]:active,[data-act]:active,[data-p]:active{opacity:.7}.pl-grab:active{opacity:1}@media (prefers-reduced-motion: reduce){button,summary,[data-act],[data-p]{transition:none}}:root{--rust-ink: #a33c24}.kicker,.u-rust,.box h4{color:var(--rust-ink)!important}.bar.pretend{background:var(--rust-ink)}.sheet .head{background:var(--navy);color:var(--cream);border-top:10px solid var(--k, var(--navy))}.k-freight{--k: var(--orange)}.k-passenger{--k: var(--teal)}.k-light_engine{--k: var(--mustard)}.k-engineering{--k: var(--rust)}.k-empty_stock,.k-parcels{--k: var(--sage)}.k-other,.k-bus{--k: var(--cream)}.c-freight{--k: var(--orange)}.c-passenger{--k: var(--teal)}.c-light_engine{--k: var(--mustard)}.c-engineering{--k: var(--rust)}.c-empty_stock,.c-parcels{--k: var(--sage)}.c-other,.c-bus{--k: var(--navy)}.tk .min{background:var(--cream);color:var(--navy)!important;border-left:10px solid var(--k, var(--navy));border-right:2px dashed var(--navy)}.ptime-t{background:var(--cream);color:var(--navy)!important;border-left:8px solid var(--k, var(--navy))}.hero .tapslot .passed{background:var(--mustard);color:var(--navy)}.hero .tapslot[data-state=open] .tapfirst{color:var(--cream)}.speak{background:var(--mustard);color:var(--navy)}.speak.on{background:#2e7d4f;color:var(--white)}details.more>summary{min-height:44px;display:flex;align-items:center;font-weight:700;font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);cursor:pointer}details.more[open]>summary{margin-bottom:8px}details.more h4{margin-top:12px}.aheadnote{margin:0 16px 10px;font-size:.8125rem;display:flex;flex-wrap:wrap;align-items:center;gap:8px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{overflow-x:clip;max-width:100%}#main{container:now / inline-size}.planroot{container:plan / inline-size}input,select,textarea{font-size:max(1rem,16px)}.light p,.light li,.card p,.card li,.empty,.note,.credit,.drivenote{max-width:65ch}.light p,.light li{overflow-wrap:anywhere}#app{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}#banner{padding-top:env(safe-area-inset-top,0px)}.ov{padding-top:calc(22px + env(safe-area-inset-top,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.sheet .inner{padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))}.toast{bottom:calc(90px + env(safe-area-inset-bottom,0px))}.tabs button{min-height:56px;min-width:0;font-size:min(.65625rem,3.1vw)}@media (max-width: 419px){.tabs button{letter-spacing:.08em}}.placecard h1{overflow-wrap:anywhere;hyphens:auto}.what,.rt{overflow-wrap:anywhere}.poster.slim{height:auto;min-height:7.5rem;display:flex;align-items:flex-end}.poster:not(.slim){height:auto;padding-top:150px}.poster:not(.slim) .placecard{position:relative}.poster:not(.slim) svg.scene{height:154px;bottom:auto}@container now (min-width: 600px){.poster:not(.slim){padding-top:220px}.poster:not(.slim) svg.scene{height:224px}.poster.slim{min-height:10rem}}@container now (min-width: 900px){.poster:not(.slim){padding-top:260px}.poster:not(.slim) svg.scene{height:264px}}.poster.slim .placecard{position:relative;width:100%;padding:8px 16px}.poster.slim .where{font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.poster.slim .where b{font-size:1.1rem;letter-spacing:.02em}.status{font-size:.8125rem;padding:8px 16px;background:var(--cream);border-bottom:2px solid var(--navy);color:var(--navy)}.now.calm .xtra,.now.calm .sect,.now.calm .list,.now.calm .earlier,.now.calm .aheadnote,.now.calm .credit{display:none}.showmore{display:block;width:calc(100% - 28px);margin:8px 14px 18px;min-height:48px;background:var(--paper);color:var(--navy);border:2px solid var(--navy);font-weight:700;font-size:.875rem;letter-spacing:.14em;text-transform:uppercase}.now.full .showmore{margin:8px 14px 4px}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:30rem;min-height:48px;padding:8px 12px;border:2px solid var(--navy);border-radius:10px;background:var(--paper);color:var(--navy);font:inherit;font-weight:600;text-align:left}.switch i{font-style:normal;min-width:3.2em;text-align:center;padding:4px 8px;border-radius:14px;background:var(--cream);border:2px solid var(--navy)}.switch[aria-checked=true] i{background:var(--navy);color:var(--cream)}@container plan (max-width: 599px){.pl-top{top:auto;bottom:calc(var(--shh, 0px) + 8px + var(--kbo, 0px))}.pl-drop{top:auto;bottom:calc(var(--shh, 0px) + 64px + var(--kbo, 0px));max-height:var(--dropmax, 60%);display:flex;flex-direction:column-reverse}.pl-btns,.pl-chip{top:calc(8px + env(safe-area-inset-top,0px))}.pl-ctl{top:calc(60px + env(safe-area-inset-top,0px));max-height:calc(100% - var(--shh, 0px) - 140px)}.mapmsg{top:calc(60px + env(safe-area-inset-top,0px))}.mapcredit{bottom:calc(var(--shh, 0px) + 64px)}}.pl-panelhint{display:none}@container plan (min-width: 600px){.planroot>*{--pw: clamp(300px, 42cqi, 380px)}.pl-map,#mapbox,#mapbox.maplibregl-map{left:var(--pw);width:auto;right:0}.pl-top{left:0;right:auto;width:var(--pw);top:0;padding:8px;background:var(--navy)}.pl-sheet,.pl-panelhint{inset:64px auto 0 0;width:var(--pw);height:auto!important;border-top:0;border-right:3px solid var(--navy)}.pl-panelhint{display:block;position:absolute;z-index:6;background:var(--paper);padding:16px}.pl-grab,.sh-map{display:none!important}.pl-drop{top:64px;left:8px;right:auto;width:calc(var(--pw) - 16px);max-height:calc(100% - 80px)}.pl-btns{top:8px;right:8px}.pl-chip{top:8px;left:calc(var(--pw) + 8px);max-width:calc(100% - var(--pw) - 230px)}.pl-ctl{top:60px;left:calc(var(--pw) + 8px);right:8px;max-width:30rem;margin-left:auto}.mapmsg{top:60px;left:calc(var(--pw) + 8px);max-width:calc(100% - var(--pw) - 16px)}.mapcredit{left:var(--pw);bottom:0}.planroot.sheetfull .pl-btns,.planroot.sheetfull .pl-chip,.planroot.sheetfull .mapmsg{display:flex}.planroot.sheetfull .mapmsg.hidden,.planroot.sheetfull .pl-chip.hidden{display:none}}@container plan (min-width: 812px){.planroot>*{--pw: clamp(360px, 32cqi, 420px)}}.pl-chip button{width:44px;height:44px}@media (min-width: 600px){#app{max-width:none}#main>.now{max-width:760px;margin:0 auto}.tabs{max-width:none}.planroot{left:0;right:0;transform:none;max-width:none;width:auto}.toast{max-width:520px}.ov.light>*{max-width:760px}}@media (min-width: 900px){:root{--rail: 92px}#app{padding-left:var(--rail);padding-bottom:0}.tabs{top:0;bottom:0;left:0;transform:none;width:var(--rail);flex-direction:column;justify-content:flex-start;border-top:0;border-right:3px solid var(--navy);padding:calc(10px + env(safe-area-inset-top,0px)) 0 env(safe-area-inset-bottom,0px)}.tabs button{flex:0 0 auto;padding:14px 0;letter-spacing:.12em}.tabs button{border-top:0;border-left:4px solid transparent}.tabs button.on{border-left-color:var(--orange)}.planroot{left:var(--rail)}.sheet{left:auto;right:0;transform:none;top:0;width:440px;max-width:46vw;border-top:0;border-left:4px solid var(--navy)}.ov,.modal{left:var(--rail);right:0;transform:none;width:auto;max-width:none}.modal .card{max-width:560px}.toast{left:calc(var(--rail) + (100% - var(--rail)) / 2)}}@media (hover: hover) and (pointer: fine){button:hover:not(:disabled),.open:hover,summary:hover{filter:none;text-decoration:underline;text-underline-offset:3px}.chip:hover,.exit:hover,.pl-row:hover,.pl-opt:hover,.keyitem:hover,.tabs button:hover{background-color:#e2ae3b40}.chip.on:hover,.keyitem.on:hover{background-color:var(--navy)}}a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible,.pl-row:focus-visible,.pl-opt:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.drow .kind{font-size:clamp(1.3rem,4vmin,2.4rem)}@media (min-width: 600px){#drive{left:0;right:0;transform:none;width:auto;max-width:none}}@media (min-width: 900px){#drive{left:var(--rail)}}.drow .big{white-space:nowrap}@media (orientation: portrait) and (max-height: 640px){#drive{padding-top:calc(12px + env(safe-area-inset-top,0px))}#drive .dtop{margin-bottom:6px}#drive .drivenote{margin:6px 0;font-size:.75rem}#drive #charge{display:none}.drow{padding:8px 0;gap:12px}.drow .big{font-size:clamp(2.4rem,11vmin,3.4rem);width:96px}.drow .kind{font-size:1.1rem}.drow .dd{font-size:.72rem}#drive .speak{padding:10px;min-height:44px}}@media (orientation: landscape) and (max-height: 500px){#drive{padding-top:calc(8px + env(safe-area-inset-top,0px));padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}#drive .dtop{margin-bottom:4px}#drive .drivenote{margin:4px 0;font-size:.75rem}#drive .drivenote+.drivenote:not(#charge){display:none}#drive #charge{display:none}#drive .speak{padding:10px;min-height:44px}.drow .big{font-size:clamp(3rem,16vmin,6rem)}.drow .kind{font-size:1.15rem}}@media (orientation: landscape) and (min-width: 600px){#drows{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.drow{flex-direction:column;align-items:flex-start;border-top:0;border-left:3px solid rgba(243,231,203,.25);padding:4px 12px;gap:6px}.drow:first-child{border-left:0}.drow .big{width:auto;text-align:left;font-size:clamp(3.5rem,18vmin,9rem)}}.astrip{max-width:520px;overflow:hidden}.aends{display:flex;justify-content:space-between;align-items:baseline;gap:8px;max-width:520px;margin:0 auto;font-size:.75rem;line-height:1.25}.aends span{flex:1;min-width:0;overflow-wrap:anywhere}.aends span:last-child{text-align:right}.aends .ayou{flex:0 0 auto;color:var(--orange);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.amore{font-size:.8125rem;text-align:center;opacity:.9}.amore:empty{display:none}.wwslot{padding:4px 14px 8px;color:var(--cream)}.aslot[data-phase=before]+.wwslot,.aslot:empty+.wwslot{display:none}.whichway{color:var(--cream)}.ww{display:flex;align-items:center;gap:12px;font-size:.875rem;line-height:1.4}.ww small{opacity:.85}.wwarrow{flex-shrink:0;transform-origin:50% 50%}.now.approach{display:flex;flex-direction:column;min-height:calc(100svh - 76px - env(safe-area-inset-bottom,0px))}.apxwhere{padding:8px 16px 4px;font-size:.9375rem;background:var(--cream)}.apx{flex:1;display:flex;flex-direction:column;gap:10px;margin:10px 12px 6px;padding:12px 0;background:var(--navy);color:var(--cream)}.apxmain{display:flex;flex-direction:column;gap:8px}.apxhead{display:flex;align-items:center;gap:16px;padding:0 14px}.clock.big{width:clamp(110px,34vw,170px);height:clamp(110px,34vw,170px)}.clock.big b{font-size:clamp(2.6rem,11vw,4rem)}.clock.big b.s{font-size:clamp(1.8rem,7vw,2.6rem)}.apxwhat h2{font-size:clamp(1.3rem,5vw,2rem);line-height:1.1}.apxwhat p{font-size:.9375rem;opacity:.9}.apxwhat .apxwords{font-size:1.125rem;font-weight:700;opacity:1;margin-top:4px}.apx .aslot{padding:0 14px}.apx .astatus{font-size:1.15rem}.apxsafe{margin:0 14px;padding:8px 10px;border-left:5px solid var(--mustard);font-size:.9375rem;font-weight:600}.apxtap{margin-top:auto;padding:0 14px}.apxtap .tapslot .bigtap{display:none}.apxtap .tapslot[data-state=open] .bigtap{display:block;width:100%;min-height:34vh;min-height:max(34svh,120px);background:var(--mustard);color:var(--navy);border:4px solid var(--cream);font-weight:800;font-size:clamp(1.25rem,6vw,2rem);letter-spacing:.12em;text-transform:uppercase}.apxtap .tapslot[data-state=open] .tapfirst{display:block;color:var(--cream);margin-top:6px;font-size:.8125rem}.apxtap .bigtap:disabled{opacity:.55}.now.approach .showmore{margin-top:4px}@media (max-width: 359px){.apxwhere{display:none}.now.approach .status{padding:4px 12px;font-size:.75rem}.apx{margin:6px 8px 4px;padding:8px 0;gap:6px}.clock.big{width:92px;height:92px}.clock.big b{font-size:2.3rem}.apx .note.anote{display:none}.apxsafe{font-size:.8125rem;padding:4px 8px}.apxtap .tapslot[data-state=open] .bigtap{min-height:max(34svh,110px)}.apx .adest,.apx .amore:empty{display:none}.apxtap .tapslot[data-state=open] .tapfirst{display:none}}@media (orientation: portrait) and (max-height: 740px),(orientation: landscape) and (max-height: 500px){.apxwhere,.apx .note.anote,.apx .adest{display:none}.now.approach .status{padding:4px 12px;font-size:.75rem}.apx{margin:6px 10px 4px;padding:8px 0;gap:6px}.clock.big{width:clamp(76px,15vmax,104px);height:clamp(76px,15vmax,104px)}.clock.big b{font-size:clamp(2rem,6vmax,2.6rem)}.apxsafe{padding:4px 8px;font-size:.8125rem}}@media (orientation: landscape) and (max-height: 500px){.apxtap .tapslot[data-state=open] .tapfirst{display:none}.apxwhat h2{font-size:1.2rem}}@container now (min-width: 600px){.apx{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,2fr);align-items:stretch;padding:16px 0}.apxtap{margin-top:0;display:flex;align-items:stretch}.apxtap .tapslot{display:flex;flex-direction:column;width:100%}.apxtap .tapslot[data-state=open] .bigtap{flex:1 1 auto;min-height:max(34svh,120px)}.apxtap .tapslot[data-state=open] .tapfirst{flex:0 0 auto}}#stampbox{position:fixed;inset:0;z-index:45;pointer-events:none}.stampwrap{pointer-events:auto;position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);width:min(88vw,340px);text-align:center}.stampmark{display:inline-flex;flex-direction:column;align-items:center;padding:10px 26px 8px;border:5px solid var(--rust-ink);border-radius:10px;color:var(--rust-ink);background:var(--paper);transform:rotate(-8deg);animation:stamp-on .3s ease-out both}.stampmark b{font-size:3rem;letter-spacing:.2em;line-height:1;padding-left:.2em}.stampmark span{font-size:1.5rem;font-weight:700;letter-spacing:.1em}.stampmark small{font-size:.875rem;letter-spacing:.2em;font-weight:700}.stampline{margin-top:14px;background:var(--navy);color:var(--cream);padding:10px 12px;font-size:.9375rem;line-height:1.4;border-left:6px solid var(--mustard)}@keyframes stamp-on{0%{transform:rotate(-8deg) scale(1.6);opacity:0}to{transform:rotate(-8deg) scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.stampmark{animation:none}}.hero .body[data-act],.stripopen{cursor:pointer}.hero .body:focus-visible,.stripopen:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.hero.sel{outline:3px solid var(--mustard);outline-offset:2px}.tk.sel{outline:3px solid var(--orange);outline-offset:1px}.hero .detailbtn{min-height:44px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.sheet[data-h=half]{top:44vh;top:44svh}.sheet[data-h=half] .sheetrest,.sheet[data-h=half] .tile:nth-child(n+3){display:none}@media (min-width: 900px){.sheet[data-h=half]{top:0}.sheet[data-h=half] .sheetrest,.sheet[data-h=half] .tile:nth-child(n+3){display:revert}.sh-grabber,.sheet .inner>.showmore{display:none!important}}.sh-grabber{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;background:var(--navy);border:0;flex-shrink:0}.sh-grabber i{width:56px;height:6px;border-radius:3px;background:var(--cream);display:block}.sheet[data-h=full] .sh-grabber i{background:var(--mustard)}.art{margin:10px 0 12px;background:var(--cream);border:2px solid var(--navy);color:var(--navy);padding:6px 8px 2px}.art svg,.art img{display:block;width:100%;height:76px;object-fit:contain}.sheet[data-h=full] .art svg,.sheet[data-h=full] .art img{height:150px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:12px}.tile{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;min-height:44px;padding:8px 10px;border:2px solid var(--navy);background:var(--white);color:var(--navy);font:inherit}.tile small{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--soft)}.tile b{font-size:1.35rem;line-height:1.15}.tile span{font-size:.8125rem;color:var(--soft)}.tile .tmore{display:none;font-style:normal;font-size:.8125rem;margin-top:4px;color:var(--navy)}.tile.open .tmore{display:block}.tile.open{border-color:var(--orange)}.sheetend{margin-top:8px;font-weight:600;color:var(--navy)}.linkbtn{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;background:none;border:0;color:var(--teal);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;text-align:left}.placecard .sub .linkbtn{min-height:44px;font-size:.8125rem}.empty.approx{border-left-color:var(--rust-ink)}.help{margin-top:10px}.help summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer}.help p{margin:6px 0;font-size:.875rem;line-height:1.45;max-width:65ch}
