.route-hero{margin:0 0 32px}.route-hero img{width:100%;max-height:430px;object-fit:contain;display:block;background:var(--panel)}.route-hero figcaption{font:12px/1.6 Arial,sans-serif;color:var(--muted);margin-top:8px}.route-tools{display:grid;grid-template-columns:2fr 1fr auto;gap:16px;align-items:end;margin:28px 0 12px}.route-tools label{display:grid;gap:8px;font:13px/1.5 Arial,sans-serif}.route-tools input,.route-tools select,.route-tools button{min-width:0;min-height:46px;padding:10px;background:var(--paper);color:var(--ink);border:1px solid var(--gold)}.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}.route-card{border:1px solid var(--gold);border-radius:13px;padding:16px;display:flex;flex-direction:column;min-width:0}.route-image{height:254px;display:flex;align-items:center;justify-content:center;background:var(--panel);border-radius:6px;margin:0 0 20px}.route-image img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain}.route-card h3{border-left:3px solid var(--gold);padding-left:11px;font-size:25px;line-height:1.25;overflow-wrap:anywhere}.route-card p{font-size:15px;line-height:1.75}.route-card .route-go{margin-top:auto;align-self:flex-start;background:var(--gold);color:#17333b;padding:11px 14px;border:1px solid var(--gold);outline:1px solid var(--gold);outline-offset:3px;font:13px/1.5 Arial,sans-serif}.route-card .route-description{margin-bottom:28px}.route-meta{font:12px/1.6 Arial,sans-serif;color:var(--muted)}.route-dialog{box-sizing:border-box;width:min(850px,94vw);max-width:94vw;max-height:90vh;padding:28px;background:var(--paper);color:var(--ink);border:1px solid var(--gold);border-radius:14px;overflow:auto}.route-dialog::backdrop{background:#061923c9}.route-dialog header{display:flex;gap:16px;justify-content:space-between;align-items:start;background:none;color:inherit;padding:0;border:0}.route-dialog h2{font-size:30px;line-height:1.25;margin:0 0 22px}.route-dialog button{width:44px;min-width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;background:var(--paper);color:var(--ink);font:26px/1 Arial,sans-serif}.route-dialog .route-image{height:auto;max-height:360px}.route-dialog .route-image img{max-height:360px}.route-dialog details,.route-fallback details{border-block:1px solid var(--rule);padding:18px 0;margin:20px 0}.route-dialog summary{cursor:pointer;font-weight:bold}.route-dialog p{line-height:1.85}.route-related{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px}.route-art-section{margin:45px 0;padding-block:20px;border-top:1px solid var(--rule)}.route-art-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:24px;align-items:start}.route-art-grid figure{margin:0}.route-art-grid img{width:100%;height:260px;object-fit:contain;background:var(--panel)}.route-art-grid figcaption{font:13px/1.7 Arial,sans-serif;margin-top:8px}.route-card[hidden],.route-fallback[hidden],.route-tools[hidden],[data-route-empty][hidden]{display:none!important}.route-card a:focus-visible,.route-dialog button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}@media(max-width:1000px){.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.route-grid{grid-template-columns:minmax(0,1fr)}.route-image{height:269px}.route-tools{grid-template-columns:1fr}.route-dialog{padding:20px}.route-dialog h2{font-size:26px}}@media(prefers-reduced-motion:reduce){.route-dialog{scroll-behavior:auto}}

.route-grid{grid-auto-rows:1fr}

/* Close glyphs use an explicit two-axis centre, never native button padding. */
.route-dialog button[data-route-close]{display:grid!important;place-items:center!important;padding:0!important;line-height:1!important;text-align:center;box-sizing:border-box;flex:0 0 44px}
.modes-explanation,.modes-schema{margin:32px 0}.modes-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.modes-guide article{padding:18px;border:1px solid var(--rule);border-radius:10px;background:var(--panel);min-width:0}.modes-guide h3{font-size:21px;line-height:1.3;margin:0 0 12px}.modes-guide p{font-size:15px;line-height:1.8;margin:0}.modes-schema table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--gold);border-radius:12px;overflow:hidden;font:15px/1.7 Arial,sans-serif}.modes-schema th,.modes-schema td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}.modes-schema thead th{background:var(--panel);font-size:13px;letter-spacing:.05em}.modes-schema tbody tr:last-child>*{border-bottom:0}.modes-schema tbody th{width:44%;font-weight:600}.modes-selectable{background:var(--panel)}.modes-badge{display:inline-block;padding:5px 10px;border:1px solid var(--rule);border-radius:7px}.modes-selectable .modes-badge{border-color:var(--gold);font-weight:600}.modes-goal{padding:16px 18px;border-left:3px solid var(--gold);background:var(--panel);margin:20px 0}.modes-goal h4{font-size:19px;margin:0 0 8px}.modes-goal p{margin:0}
@media(max-width:720px){.modes-guide{grid-template-columns:1fr}.modes-schema th,.modes-schema td{padding:12px 10px;font-size:13px}.modes-schema tbody th{width:43%}}

.route-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 24px}.route-photos a{min-width:0;padding:8px;border:1px solid var(--rule);border-radius:6px;font:12px/1.5 Arial,sans-serif}.route-photos a[aria-pressed="true"]{border-color:var(--gold);outline:1px solid var(--gold)}.route-photos img{width:100%;height:90px;object-fit:contain;background:var(--panel)}.route-photos span{display:block;overflow-wrap:anywhere}.route-dialog figure.route-image{display:flex;flex-direction:column;max-height:none}.route-dialog .route-image figcaption{font:13px/1.5 Arial,sans-serif;margin-top:10px}.modes-long-reading{max-width:80ch}.modes-long-reading>section{margin-block:28px}.modes-long-reading h3{font-size:25px;line-height:1.35}.modes-long-reading p{line-height:1.9}
body main a.route-go{padding:9px 13px;color:#203a3c!important;border:1px solid transparent;outline:1px solid var(--gold);outline-offset:3px;font:13px/1.5 Arial,sans-serif;text-underline-offset:4px}
body main a.route-go:is(:hover,:focus-visible){color:#6b3328!important;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
body main a.route-go:focus-visible{outline:3px solid var(--accent,#805720);outline-offset:4px}
