:root{--paper:#f4f1ea;--ink:#1c1b18;--muted:#6d695f;--faint:#a29d91;--rule:#1c1b1821;--accent:#b5741a;--accent-soft:#b5741a29;--board:#151412;--board-edge:#151412;--board-ink:#efe4c6;--board-muted:#8b846f;--board-faint:#4f4a3f;--board-rule:#efe4c614;--board-glow:#efe4c609;--amber:#f0b549;--lamp-live:#8fd89b;--lamp-source:#f0b549;--lamp-retired:#6b6556;--serif:"Newsreader", "Iowan Old Style", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease-out:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#12110f;--ink:#ebe6da;--muted:#9a9486;--faint:#5e594f;--rule:#ebe6da1c;--accent:#e3a443;--accent-soft:#e3a44329;--board:#1a1916;--board-edge:#ebe6da14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#12110f;--ink:#ebe6da;--muted:#9a9486;--faint:#5e594f;--rule:#ebe6da1c;--accent:#e3a443;--accent-soft:#e3a44329;--board:#1a1916;--board-edge:#ebe6da14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:1.1875rem;line-height:1.6}::selection{background:var(--accent-soft)}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}h1,h2,h3,p{margin:0}.page{width:100%;max-width:42rem;margin:0 auto;padding:0 1.25rem}.label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.6rem;font-size:.72rem;font-weight:500;display:flex}.label:before{content:"";background:var(--accent);border-radius:50%;width:.4rem;height:.4rem}.hero{padding-top:clamp(4.5rem,16vh,9rem);padding-bottom:clamp(3.5rem,9vh,5.5rem)}.hero__top{justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.hero__photo{object-fit:cover;object-position:50% 30%;width:7rem;height:7rem;box-shadow:0 0 0 1px var(--rule), 0 0 0 5px var(--paper), 0 0 0 6px var(--rule);border-radius:50%;flex:none}.hero__name{letter-spacing:-.025em;margin-top:1.4rem;font-size:clamp(2.75rem,8vw,4.25rem);font-weight:400;line-height:1.02}.hero__track{transform-origin:0;background:linear-gradient(var(--ink), var(--ink)) top / 100% 1px no-repeat, repeating-linear-gradient(90deg, var(--faint) 0 1px, transparent 1px 14px) bottom / 100% 6px no-repeat;opacity:.55;height:9px;margin:1.75rem 0 2rem;position:relative}.hero__intro{max-width:36rem;color:var(--ink)}.hero__intro+.hero__intro{color:var(--muted);margin-top:1rem}.links{font-family:var(--mono);letter-spacing:.02em;flex-wrap:wrap;gap:.35rem 1.4rem;margin-top:2rem;font-size:.8rem;display:flex}.links a,.hero__intro a,.notice a{transition:background-size .35s var(--ease-out), color .2s;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:2px;text-decoration:none}.links a:hover,.hero__intro a:hover,.notice a:hover{color:var(--accent);background-position:100% 100%;background-size:0% 1px}.board-wrap{width:100%;max-width:62rem;margin:0 auto;padding:0 1.25rem}.board{background:radial-gradient(120% 60% at 50% 0%, var(--board-glow), transparent 70%), var(--board);color:var(--board-ink);border:1px solid var(--board-edge);font-family:var(--mono);border-radius:6px;position:relative;box-shadow:inset 0 1px #ffffff0a,0 30px 60px -30px #14100873}.board__head{justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.4rem 1.5rem 1.1rem;display:flex}.board__title{letter-spacing:.22em;text-transform:uppercase;color:var(--amber);font-size:.95rem;font-weight:500}.board__sub{letter-spacing:.04em;color:var(--board-muted);margin-top:.3rem;font-size:.75rem}.board__cols,.board__link{grid-template-columns:2.25rem minmax(8.5rem,13rem) 1fr 7rem;align-items:baseline;column-gap:1.25rem;padding:0 1.5rem;display:grid}.board__cols{border-top:1px solid var(--board-rule);border-bottom:1px solid var(--board-rule);letter-spacing:.16em;text-transform:uppercase;color:var(--board-faint);padding-top:.55rem;padding-bottom:.55rem;font-size:.66rem}.board__rows{margin:0;padding:0;list-style:none}.board__row{border-bottom:1px solid var(--board-rule);animation:row-in .5s var(--ease-out) both}.board__link{padding-top:.95rem;padding-bottom:.95rem;text-decoration:none;transition:background-color .25s;position:relative}.board__link:before{content:"";background:var(--amber);width:2px;transition:transform .3s var(--ease-out);position:absolute;top:22%;bottom:22%;left:0;transform:scaleY(0)}.board__link:hover,.board__link:focus-visible{background-color:#efe4c608}.board__link:hover:before,.board__link:focus-visible:before{transform:scaleY(1)}.board__link:focus-visible{outline-offset:-2px}.board__no{color:var(--board-faint);font-variant-numeric:tabular-nums;font-size:.75rem}.board__dest{letter-spacing:.08em;text-transform:uppercase;color:var(--board-ink);font-size:.92rem;font-weight:500;transition:color .2s}.board__link:hover .board__dest{color:var(--amber)}.board__remark{color:var(--board-muted);font-size:.8rem;line-height:1.5}.board__status{letter-spacing:.14em;text-transform:uppercase;color:var(--board-muted);align-items:center;gap:.55rem;font-size:.72rem;display:inline-flex}.lamp{background:var(--lamp-retired);border-radius:50%;flex:none;width:6px;height:6px;transform:translateY(-1px)}[data-status=live]{color:var(--board-ink)}[data-status=live] .lamp{background:var(--lamp-live);animation:2.8s ease-out infinite lamp;box-shadow:0 0 #8fd89b80}[data-status=source] .lamp{background:var(--lamp-source)}[data-state=waiting]{color:#0000!important}[data-state=flapping]{color:var(--board-ink)}.board__more{width:100%;color:var(--board-muted);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:0 0 6px 6px;justify-content:center;align-items:center;gap:.6rem;padding:1rem 1.5rem 1.1rem;font-size:.72rem;transition:color .2s;display:flex}.board__more:hover{color:var(--amber)}.board__more-icon{width:.45rem;height:.45rem;transition:transform .35s var(--ease-out);border-bottom:1.5px solid;border-right:1.5px solid;transform:translateY(-2px)rotate(45deg)}.board__more[aria-expanded=true] .board__more-icon{transform:translateY(2px)rotate(-135deg)}.clock{color:var(--amber);font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-size:1.15rem;font-weight:500;display:inline-flex}.clock__colon{color:var(--board-muted);padding:0 2px;animation:2s step-end infinite blink}.flip{--h:1.75em;width:1.2em;height:var(--h);perspective:120px;display:inline-block;position:relative}.flip__half{backface-visibility:hidden;background:#2a2722;height:50%;position:absolute;left:0;right:0;overflow:hidden}.flip__half>span{height:var(--h);line-height:var(--h);text-align:center;display:block}.flip__half--top{border-bottom:1px solid #0000008c;border-radius:3px 3px 0 0;top:0}.flip__half--bottom{border-radius:0 0 3px 3px;bottom:0}.flip__half--bottom>span{transform:translateY(-50%)}.flip__flap-top{z-index:2;transform-origin:bottom;animation:.22s ease-in both flap-top}.flip__flap-bottom{z-index:2;transform-origin:top;animation:.22s ease-out .22s both flap-bottom}.preview{z-index:10;pointer-events:none;will-change:transform;width:300px;position:fixed;top:0;left:0}.preview__frame{aspect-ratio:16/10;opacity:0;transition:opacity .25s ease, transform .45s var(--ease-out);background:#22201c;border-radius:4px;position:relative;overflow:hidden;transform:scale(.94)rotate(-1.5deg);box-shadow:0 24px 50px -18px #0000008c,0 0 0 1px #efe4c614}.preview[data-on=true] .preview__frame{opacity:1;transform:none}.preview img{object-fit:cover;object-position:top center;opacity:0;width:100%;height:100%;transition:opacity .25s;position:absolute;inset:0}.preview img[data-active=true]{opacity:1}.section{padding-top:clamp(4.5rem,12vh,7rem)}.route{--progress:0;margin-top:2.25rem;position:relative}.route__stops{margin:0;padding:0;list-style:none}.route__track{left:5px;top:var(--track-top,.7rem);height:var(--track-length,0px);background:var(--rule);width:1px;position:absolute}.route__fill{top:calc(var(--progress) * 100%);background:var(--accent);position:absolute;bottom:0;left:0;right:0}.route__train{z-index:2;transform-origin:bottom;width:5px;height:18px;transform:translate(calc(var(--train-x,5.5px) - 2.5px), calc(var(--train-y,0px) - 18px)) rotate(var(--train-tilt,0deg));pointer-events:none;position:absolute;top:0;left:0}.route__car{background:var(--accent);width:100%;height:100%;box-shadow:0 0 0 3px var(--paper), 0 0 14px 2px var(--accent-soft);opacity:calc(min(1, var(--progress) * 30));transform-origin:bottom;transition:opacity .3s ease, transform .5s var(--ease-out);border-radius:3px;display:block}.route__branch{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.route__branch path{fill:none;stroke-width:1px}.route__branch-base{stroke:var(--rule)}.route__branch-fill{stroke:var(--accent)}.stop[data-lane=branch]{padding-left:3.6rem}.stop[data-lane=branch] .stop__dot{left:22px}.stop[data-lane=branch] .stop__place{font-size:1.15rem}.route[data-arrived=true] .route__car{opacity:0;transition:opacity .35s .15s,transform .5s cubic-bezier(.5,0,.2,1);transform:translateY(9px)scaleY(.2)}.stop__buffer{border:1.5px solid var(--accent);opacity:0;width:11px;height:6px;transition:transform .5s var(--ease-out), opacity .2s;border-top:0;position:absolute;top:calc(.55rem + 17px);left:0;transform:scaleX(0)}.stop__terminus{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;vertical-align:.3em;color:var(--accent);opacity:0;transition:opacity .5s ease, letter-spacing .9s var(--ease-out);margin-left:.75rem;font-size:.62rem;font-weight:500}.route[data-arrived=true] .stop__buffer{opacity:1;transition-delay:.45s;transform:none}.route[data-arrived=true] .stop__terminus{opacity:1;letter-spacing:.16em;transition-delay:.55s}.route[data-arrived=true] .stop[data-terminus=true] .stop__dot{animation:dock .7s .3s var(--ease-out) both}.route[data-arrived=true] .stop[data-terminus=true] .stop__dot:before,.route[data-arrived=true] .stop[data-terminus=true] .stop__dot:after{content:"";border:1.5px solid var(--accent);animation:ripple 1.3s .35s var(--ease-out) both;border-radius:50%;position:absolute;inset:-1.5px}.route[data-arrived=true] .stop[data-terminus=true] .stop__dot:after{animation-delay:.6s}.route[data-arrived=true] .route__fill{animation:1.4s ease-out .3s both line-glow}.stop{padding-bottom:2.6rem;padding-left:2.25rem;position:relative}.stop:last-child{padding-bottom:0}.stop__dot{z-index:1;background:var(--paper);border:1.5px solid var(--faint);width:11px;height:11px;transition:border-color .4s, background-color .4s, transform .4s var(--ease-out);border-radius:50%;position:absolute;top:.55rem;left:0}.stop[data-lit=true] .stop__dot{border-color:var(--accent);background:var(--accent);transform:scale(1.1)}.stop[data-current=true] .stop__dot:after{content:"";border:1.5px solid var(--accent);animation:ping 2.4s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:-1.5px}.stop__head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.stop__place{letter-spacing:-.01em;font-size:1.3rem;font-weight:500}.stop__logo{object-fit:contain;vertical-align:-.06em;border-radius:3px;width:.85em;height:.85em;margin-right:.5em;display:inline-block}.stop__when{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:.75rem}.stop[data-current=true] .stop__when{color:var(--accent)}.stop__title{color:var(--muted);margin-top:.1rem;font-style:italic}.stop__note{margin-top:.6rem;font-size:1.05rem;line-height:1.6}.prose{max-width:36rem;margin-top:1.4rem}.notice{margin-top:clamp(4rem,10vh,6rem)}.notice>*{max-width:36rem}.notice__title{border:1px solid var(--ink);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;padding:.2rem .5rem;font-size:.66rem;font-weight:500;display:inline-block}.notice__body{color:var(--muted);margin-top:.9rem;font-size:1rem;font-style:italic}.footer{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:linear-gradient(var(--rule), var(--rule)) top / calc(100% - 2.5rem) 1px no-repeat;justify-content:space-between;gap:1rem;margin-top:clamp(3.5rem,9vh,5rem);padding-top:1.4rem;padding-bottom:2.5rem;font-size:.7rem;display:flex}.footer__end{align-items:center;gap:.6rem;display:inline-flex}.buffer-stop{border-top:1.5px solid var(--accent);border-left:1.5px solid var(--accent);border-right:1.5px solid var(--accent);width:14px;height:9px}@media (prefers-reduced-motion:no-preference){.hero>*{animation:rise .8s var(--ease-out) both}.hero__photo{animation:rise .8s .12s var(--ease-out) both}.hero>.hero__track{animation:lay-track 1.4s .15s var(--ease-out) both}.hero>:nth-child(3){animation-delay:.28s}.hero>:nth-child(4){animation-delay:.36s}.hero>:nth-child(5){animation-delay:.44s}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.route__train{display:none}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes lay-track{0%{transform:scaleX(0)}}@keyframes row-in{0%{opacity:0}}@keyframes lamp{0%{box-shadow:0 0 #8fd89b73}70%,to{box-shadow:0 0 0 6px #8fd89b00}}@keyframes ping{0%{opacity:.9;transform:scale(1)}80%,to{opacity:0;transform:scale(2.4)}}@keyframes dock{0%{transform:scale(1.1)}40%{transform:scale(1.55)}to{transform:scale(1.1)}}@keyframes ripple{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}@keyframes line-glow{0%,to{box-shadow:0 0 #0000}35%{box-shadow:0 0 10px 1px var(--accent-soft)}}@keyframes blink{50%{opacity:.25}}@keyframes flap-top{to{transform:rotateX(-90deg)}}@keyframes flap-bottom{0%{transform:rotateX(90deg)}}@media (width<=680px){body{font-size:1.0625rem}.hero__top{flex-direction:column-reverse;align-items:flex-start}.hero__photo{width:4.5rem;height:4.5rem;margin-bottom:.5rem}.board-wrap{padding:0 .75rem}.board__head{padding:1.2rem 1.1rem 1rem}.board__cols,.board__link{grid-template-columns:1.6rem 1fr auto;column-gap:.85rem;padding-left:1.1rem;padding-right:1.1rem}.board__cols-remark{display:none}.board__remark{grid-area:2/2/auto/-1;margin-top:.3rem}.board__status{grid-area:1/3}.stop{padding-left:1.85rem}.stop[data-lane=branch]{padding-left:3.1rem}.footer{flex-direction:column}}
