@font-face{font-family:"Courier Prime";src:url(assets/CourierPrime-Regular.ttf) format("truetype");font-display:swap}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:#f8efdc;color:#1b1a17;font-family:"Courier Prime",ui-monospace,monospace;display:flex;flex-direction:column;min-height:100vh;
background-image:radial-gradient(rgba(0,0,0,.035) 1px,transparent 1px);background-size:4px 4px}
main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.25rem}
.logo{width:min(340px,72vw);height:auto;border-radius:50%}
.lang{margin:1rem 0 .5rem;font-size:.85rem;color:#6b6457}
.lang button{background:none;border:0;font:inherit;color:inherit;cursor:pointer;padding:.2rem}
.lang button[aria-pressed=true]{color:#1b1a17;text-decoration:underline;text-underline-offset:3px}
.tag{font-size:clamp(1.5rem,4vw,2.2rem);font-weight:700;margin:.5rem 0}
.sub{max-width:34rem;margin:.25rem 0 1rem;line-height:1.5}
.soon{color:#2f5a2c;margin:0 0 1.5rem}
nav{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}
nav a{color:#1b1a17;text-decoration:none;border:2px solid #1b1a17;padding:.6rem 1rem;border-radius:999px}
nav a:hover,nav a:focus-visible{background:#1b1a17;color:#f8efdc}
footer{text-align:center;font-size:.8rem;color:#6b6457;padding:1rem}
@font-face{font-family:"Courier Prime";font-weight:700;src:url(assets/CourierPrime-Bold.ttf) format("truetype");font-display:swap}
.route{width:100%;max-width:46rem;margin:3rem auto 0;text-align:left}
.route h2{text-align:center;font-size:1.5rem;margin:0 0 .25rem}
.route .path{text-align:center;color:#6b6457;margin:0 0 .75rem;font-size:.9rem}
.legend{display:flex;gap:1rem;justify-content:center;margin:0 0 1rem}
.legend span{padding:.15rem .6rem;border-radius:999px;font-weight:700;font-size:.85rem}
.route ol{list-style:none;margin:0;padding:0;border-left:2px dashed #1b1a17}
.route li{display:grid;grid-template-columns:8.5rem 1.6rem 1fr auto;gap:.5rem;align-items:center;padding:.6rem .75rem;margin:0 0 .5rem .75rem;border-radius:.5rem;border-left:5px solid}
.route .d{font-weight:700;font-size:.9rem}
.route .s{font-weight:700;font-size:.8rem;white-space:nowrap;padding:.1rem .5rem;border-radius:999px}
.ok{--c:#2f6b2c;--b:#e3efd9}.open{--c:#a3261d;--b:#f6dcd6}
.route li,.legend span{background:var(--b);border-color:var(--c)}
.route .s,.legend span{color:#fff;background:var(--c)}
@media (max-width:600px){.route li{grid-template-columns:1.6rem 1fr auto;grid-template-areas:"i d s" "i t t"}
.route .i{grid-area:i}.route .d{grid-area:d}.route .s{grid-area:s}.route .t{grid-area:t}}
