@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400..800&display=swap";.flap-board{--flap-bg: #2e2e2e;--flap-radius: .18em;display:inline-flex;gap:.12em;font-size:.95rem;font-weight:800;line-height:1;color:#fff;white-space:pre;-webkit-user-select:none;user-select:none}.flap-tile{position:relative;width:.84em;height:1.15em;perspective:20em}.flap-half{position:absolute;left:0;right:0;height:50%;overflow:hidden;background:var(--flap-bg);backface-visibility:hidden}.flap-top{top:0;border-radius:var(--flap-radius) var(--flap-radius) 0 0;transform-origin:bottom}.flap-bottom{bottom:0;border-radius:0 0 var(--flap-radius) var(--flap-radius);transform-origin:top}.flap-glyph{position:absolute;left:0;right:0;height:200%;display:flex;align-items:center;justify-content:center}.flap-top .flap-glyph{top:0}.flap-bottom .flap-glyph{bottom:0}.flap-tile:after{content:"";position:absolute;left:0;right:0;top:calc(50% - .5px);height:1px;background:#000;z-index:2}.flap-top.flap-moving{z-index:1;animation:flap-fall var(--flap-half-ms) ease-in both}.flap-bottom.flap-moving{z-index:1;animation:flap-land var(--flap-half-ms) var(--flap-half-ms) ease-out both;transform:rotateX(90deg)}@keyframes flap-fall{to{transform:rotateX(-90deg)}}@keyframes flap-land{0%{transform:rotateX(90deg)}to{transform:rotateX(0)}}.stats-container{text-align:center;color:#fff;box-sizing:border-box;width:100%;padding-inline:var(--gutter);margin-top:var(--space-xl)}summary{margin-bottom:var(--space-md)}details summary{cursor:pointer}.stats-table{margin:0 auto;color:#fff;max-width:100%;min-width:min(300px,100%);text-align:center}.td{margin:0;font-size:.8rem}td:nth-child(1){text-align:left}td:nth-child(2){text-align:right}.updated{font-size:smaller}.train-type-text{text-align:center;font-variant:all-small-caps}.stat-count{text-align:center;font-weight:700}.program-link{text-align:center!important;font-size:smaller}:root{--global-shadow: 1px 1px 2px rgba(0, 0, 0, .1);--top-content-height: 0px;--focus-outline-style: none;--line-centering: 47vw;--popover-font-size-basis: 5px;--line-scale-basis: 3.5px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--gutter: var(--space-md)}html,body{height:100%;width:100%;margin:0;overflow:hidden;-webkit-overflow-scrolling:none;font-family:Nunito,sans-serif;background:var(--line-color)}a{color:#fff}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}@media(prefers-reduced-motion:reduce){*{transition-duration:0ms!important}}*:focus{outline:none;box-shadow:var(--focus-outline-style)}#root{width:100%;height:100%;overflow:auto;overflow-x:hidden;position:relative;display:flex;flex-direction:column}.action-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#f5c518;color:#1a1a1a;font-weight:700;font-size:.9em;text-align:center;text-decoration:none;z-index:2;width:100%;box-sizing:border-box;cursor:pointer}.action-banner:hover{background:#e6b800;color:#1a1a1a}.beta-rum-notice{position:fixed;left:16px;right:16px;bottom:16px;z-index:3;max-width:36rem;margin:0 auto;display:flex;align-items:flex-start;gap:8px;padding:12px 16px;border-radius:8px;background:#f5c518;color:#1a1a1a;font-size:.9em;box-shadow:0 2px 8px #00000040}.beta-rum-notice p{flex:1;margin:0}.beta-rum-notice button{border:none;background:none;color:inherit;font-size:1.25em;line-height:1;cursor:pointer;padding:0 4px}.header{padding:var(--space-lg) 0 1rem;z-index:1;position:sticky;top:0;width:100%;display:flex;flex-direction:column;align-items:center;color:#fff;text-shadow:var(--global-shadow);background:linear-gradient(var(--line-color) 0 95%,var(--line-color-transparent) 100%)}.footer{box-sizing:border-box;width:100%;padding-inline:var(--gutter);display:flex;color:#fff;flex-direction:column;align-items:center;font-size:.8em;text-shadow:var(--global-shadow);background:linear-gradient(var(--line-color) 0 100%,var(--line-color-transparent) 100%)}.footer p{margin:var(--space-md) 0;text-align:center}.screenreader-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.donate-card{position:relative;box-sizing:border-box;width:calc(100% - 2rem);max-width:22rem;margin:1.5rem auto 0;padding:1rem;border-radius:.75rem;background:#000;box-shadow:0 .25rem .75rem #00000040;color:#fff;text-align:center;animation:donate-card-in .4s cubic-bezier(.16,1,.3,1) both}.donate-card-heading{margin:.25rem 0 .75rem;font-size:inherit;line-height:0}.donate-card-body{margin:0 0 1rem;font-size:.85rem;line-height:1.4;text-wrap:balance;color:#fffc}.donate-card-button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:2.75rem;border-radius:100px;background:#fff;color:#000;font-weight:800;text-decoration:none;transition:background-color .15s ease-out}.donate-card-button:hover{background:#e4e4e4}.donate-card-button:focus-visible,.donate-card-close:focus-visible{outline:2px solid white;outline-offset:3px}.donate-card-close{position:absolute;top:-.6rem;right:-.6rem;width:1.5rem;height:1.5rem;padding:0;border:2px solid rgba(255,255,255,.35);border-radius:100px;background:#000;color:#ffffffd9;font-family:inherit;font-size:1rem;line-height:1;cursor:pointer}.donate-card-close:after{content:"";position:absolute;inset:-.6rem}.donate-card-close:hover{color:#fff;border-color:#fff}@keyframes donate-card-in{0%{opacity:0;transform:translateY(.5rem)}}@media(prefers-reduced-motion:reduce){.donate-card{animation:none}}@media screen and (max-width:1099px){:root{--donate-bar-offset: .5rem;--donate-bar-padding: .6rem;--donate-bar-button: 2.5rem}.donate-card{position:fixed;left:var(--donate-bar-offset);right:var(--donate-bar-offset);bottom:calc(var(--donate-bar-offset) + env(safe-area-inset-bottom,0px));z-index:3;width:auto;max-width:26rem;margin:0 auto;padding:var(--donate-bar-padding) .75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.donate-card-heading{margin:0}.donate-card-body{display:none}.donate-card-button{flex:0 0 auto;min-height:var(--donate-bar-button);padding:0 1rem}.donate-card~.footer{padding-bottom:calc(var(--donate-bar-offset) + 2 * var(--donate-bar-padding) + var(--donate-bar-button) + var(--space-md) + env(safe-area-inset-bottom,0px))}.donate-card~.beta-rum-notice{bottom:calc(2 * var(--donate-bar-offset) + 2 * var(--donate-bar-padding) + var(--donate-bar-button) + env(safe-area-inset-bottom,0px))}}@media screen and (min-width:1100px){.donate-card{position:fixed;left:1.5rem;bottom:1.5rem;z-index:2;width:17rem;margin:0}.donate-card~.beta-rum-notice{left:calc(18.5rem + 16px)}}.header .title{font-size:1.5em}.header .subtitle{font-size:.8em}.header .logo{height:1em;filter:drop-shadow(var(--global-shadow))}@media screen and (max-width:750px){:root{font-size:clamp(13px,4vw,16px);--line-centering: 40vw;--popover-font-size-basis: 1vw;--line-scale-basis: 1vw}.header{padding-top:var(--space-lg);padding-bottom:10px}.tab-picker>.tab{position:relative}.tab-picker>.tab:after{content:"";position:absolute;inset:-.3rem -.2rem}.line-pane{padding-top:var(--space-xs);padding-bottom:var(--space-md)}.label-trains-text{display:none}}@media screen and (max-width:430px){.header{padding:24px 0}.tab-picker{margin-top:6px;gap:4px}.tab-picker>.tab:not(:last-child){margin-right:0}.tab-picker>.tab>.age{width:2.2em}.tab-picker>.tab>.age+.label{display:none}.tab-picker>.tab>.age{opacity:.5}.tab-picker>.tab[aria-selected=true]>.age{opacity:1;box-shadow:0 0 0 2px #fff}}.line-pane{position:relative;display:flex;justify-content:center;color:#fff;width:100%}.line-pane.empty{flex-grow:1}.line-pane.empty .empty-notice{font-style:italic;padding-top:15vh;padding-left:5vw;padding-right:5vw;text-align:center}.tab-picker{position:relative;display:flex;margin-top:10px;font-size:.9em;border-radius:100px;transform:translateZ(0);-webkit-user-select:none;user-select:none;align-self:center}.tab-picker>.selected-indicator{position:absolute;top:0;left:0;height:100%;border-radius:100px;transition:transform .5s cubic-bezier(.86,0,.07,1),width .5s cubic-bezier(.86,0,.07,1),background-color 0ms cubic-bezier(.86,0,.07,1)}.selectors{display:flex;justify-content:center;flex-direction:column;width:100%}@media(pointer:none){.tab-picker>.tab:focus{outline:none;box-shadow:none}}.tab-picker>.tab{cursor:pointer;display:flex;align-items:center;color:#fff;border-radius:100px;z-index:1;background-color:unset;border:unset;font-size:.9em;font-family:Nunito,sans-serif;padding:0}.tab-picker>.tab:not(:last-child){margin-right:10px}.tab-picker>.tab>.icon{text-shadow:unset;display:flex;align-items:center;justify-content:center;border-radius:100px;background:#000;height:1.5em;width:2.25em;font-weight:700}.tab-picker>.tab>.age{font-size:.65em;height:1.5em;width:2.75em;padding:.25em}.tab-picker>.tab[id=pride]>.age{background:linear-gradient(45deg,#e40303,#ff8c00,#ffed00,#008018,#06f,#732982 83.33%);position:relative;overflow:hidden}.tab-picker>.tab[id=pride]>.age:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);animation:sparkle 2.5s ease-in-out infinite;pointer-events:none}@keyframes sparkle{0%{transform:translate(-100%) translateY(-100%) rotate(45deg);opacity:0}50%{opacity:1}to{transform:translate(100%) translateY(100%) rotate(45deg);opacity:0}}@media(prefers-reduced-motion:reduce){.tab-picker>.tab[id=pride]>.age:before{animation:none;opacity:0}}.tab-picker>.tab[id=holiday]>.age{background:linear-gradient(135deg,#1e90ff,#00bfff,#1e90ff);position:relative;overflow:hidden}.tab-picker>.tab[id=holiday]>.age:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(135deg,transparent 25%,rgba(255,255,255,.6) 50%,transparent 75%);animation:frostGlow 3s ease-in-out infinite;pointer-events:none}@keyframes frostGlow{0%{transform:translate(-100%) translateY(-100%) rotate(0);opacity:0}50%{opacity:1}to{transform:translate(100%) translateY(100%) rotate(-45deg);opacity:0}}@media(prefers-reduced-motion:reduce){.tab-picker>.tab[id=holiday]>.age:before{animation:none;opacity:0}}.tab-picker>.tab>.label{margin:0 .5em}.line-pane svg{stroke-linecap:round;filter:drop-shadow(var(--global-shadow));height:calc(var(--line-bbox-height) * var(--line-scale-basis));width:calc(var(--line-bbox-width) * var(--line-scale-basis))}.train{cursor:pointer;z-index:-1}.train.tracked,.station-label{pointer-events:none}.train-popover{position:absolute;top:0;left:0;pointer-events:none;z-index:100}.train-popover.visible{pointer-events:all}.train-popover.visible .scale-container{transform:scale(1)}.train-popover.left .scale-container{transform-origin:right}.train-popover.right .scale-container{transform-origin:left}.train-popover .scale-container{transform:scale(0);box-sizing:border-box;display:flex;align-items:center;max-width:300px;border-radius:4px;padding:0 3px;font-size:var(--popover-font-size-basis);background:#fff;color:#000;box-shadow:var(--global-shadow);transition:.5s transform cubic-bezier(.19,1,.22,1)}.train-popover .occupancy-container{display:flex;flex-direction:row;align-items:center}.train-popover .occupancy-details-container{padding-left:6px}.train-popover .occupancy-status-container{padding-left:2px;padding-top:2px;position:relative}.train-popover .consist-front-icon{width:20px;height:20px;margin-inline:-5px}.train-popover .occupancy-status-icon{width:12px;height:12px;position:"absolute"}.train-popover .occupancy-status-text{font-size:8px;padding-left:1px;color:"#404040"}.train-popover .occupancy-label-container{font-size:12px;display:flex}.train-popover .train-carriage{margin-bottom:1px;height:30px;width:10px}.train-popover .train-carriage.first{border-top-left-radius:3px;border-top-right-radius:3px}.train-popover .train-carriage.last{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.train-popover.right{transform-origin:right}.train-popover.left{transform-origin:left}.train-popover.right .train-icon{margin-left:5px}.train-popover.left .train-icon{margin-right:5px}.train-popover .train-icon{box-sizing:border-box;height:40px;width:40px;flex-shrink:0;padding:10px;border-radius:25px;background-size:contain}.train-popover .train-details{padding:1em}.train-popover .train-details .station{font-size:3.25em}.train-popover .train-details .destination{font-style:italic;font-size:3em}.train-popover .train-details .details{font-size:2em}.train-popover .train-details .lead-car{font-size:3em;color:#fff;display:inline-block;margin-top:2px;padding:2px 4px;border-radius:2px}
