:root{--bg:#fcfcfd;--fg:#1b2027;--dim:#6b7480;--rule:#dfe3e8;--accent:#31597d;--panel:#f1f4f7}
@media (prefers-color-scheme:dark){:root{--bg:#101317;--fg:#d9dee4;--dim:#8892a0;--rule:#242a31;--accent:#7fa9cf;--panel:#171c22}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.62 ui-sans-serif,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.page{max-width:46rem;margin:0 auto;padding:2.2rem 1.3rem 4.5rem}
a{color:var(--accent)}
header.bar{border-bottom:1px solid var(--rule);padding-bottom:.9rem;margin-bottom:2.4rem}
header.bar .name{font-size:1.15rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:var(--fg)}
header.bar .sub{color:var(--dim);font-size:.85rem;margin:.2rem 0 .8rem}
header.bar nav a{font-size:.85rem;margin-right:1.1rem}
h1{font-size:1.55rem;margin:0 0 .3rem;line-height:1.25}
.lede{color:var(--dim);margin:0 0 1.8rem}
table.routes{width:100%;border-collapse:collapse;font-size:.92rem;margin-top:1.5rem}
table.routes th{text-align:left;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--rule);padding:.4rem .5rem .4rem 0}
table.routes td{padding:.65rem .5rem .65rem 0;border-bottom:1px solid var(--rule);vertical-align:top}
table.routes td.n{font-variant-numeric:tabular-nums;color:var(--dim);white-space:nowrap}
dl.facts{background:var(--panel);border-radius:8px;padding:1rem 1.1rem;margin:0 0 1.8rem;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.2rem;font-size:.9rem}
dl.facts dt{color:var(--dim)}
dl.facts dd{margin:0;font-variant-numeric:tabular-nums}
h2{font-size:1.05rem;margin:2rem 0 .5rem}
p{margin:0 0 1rem}
.warn{border-left:3px solid var(--accent);padding:.2rem 0 .2rem .9rem;color:var(--dim);margin:1.4rem 0}
footer.end{margin-top:3.5rem;padding-top:1rem;border-top:1px solid var(--rule);font-size:.8rem;color:var(--dim)}
footer.end a{color:var(--dim);margin-left:1rem}
