/* Travel uses the same paper, ink, yellow and display face as Lil World. */
.map-toggle{position:absolute;right:14px;top:124px;z-index:3;padding:7px 10px;border:2px solid var(--ink);background:var(--paper);box-shadow:4px 4px 0 rgb(23 23 19 / .3);font-size:8px;letter-spacing:.09em;cursor:pointer}
.route-guide{position:absolute;left:14px;top:88px;z-index:3;width:min(340px,calc(100% - 140px));padding:10px 30px 10px 12px;border:2px solid var(--ink);background:var(--sun);box-shadow:4px 4px 0 rgb(23 23 19 / .3)}
.route-guide strong,.route-guide span{display:block;font-size:9px;line-height:1.5}.route-guide strong{margin-bottom:4px;letter-spacing:.06em}.route-guide button{position:absolute;top:3px;right:5px;padding:3px;border:0;background:none;font-size:20px;cursor:pointer}
.travel-panel{position:absolute;inset:20px;z-index:5;max-width:900px;margin:auto;overflow:auto;overscroll-behavior:contain;padding:26px;background:var(--paper);border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink)}
.travel-panel .eyebrow{margin:0 40px 12px 0;font-size:10px;letter-spacing:.15em}.travel-panel h2{font:400 clamp(25px,4vw,45px)/1.1 var(--display);letter-spacing:-.02em;margin:0 32px 18px 0}.travel-panel>p:not(.eyebrow){font-size:12px;line-height:1.6}.travel-panel>small{display:block;font-size:10px;line-height:1.7}.travel-close{position:absolute;top:10px;right:12px;border:0;background:none;font-size:30px;cursor:pointer}
.travel-panel button:focus-visible,.map-toggle:focus-visible,.route-guide button:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.travel-panel svg{display:block;width:100%;margin:18px 0;background:#e7dfc4;border:2px solid var(--ink)}
.travel-panel svg line{stroke:#746e58;stroke-width:4}.travel-panel svg .door-link{stroke-dasharray:6 7}.travel-panel svg .chosen-link{stroke:#b44921;stroke-width:6}.travel-panel svg circle{fill:var(--ink);stroke:var(--paper);stroke-width:3}.travel-panel svg .you-are-here{fill:var(--red)}.travel-panel svg .map-goal{fill:var(--sun);stroke:var(--ink)}.travel-panel svg text{font:12px var(--mono);fill:var(--ink);text-anchor:middle}
.travel-panel .map-key{font-size:9px!important;letter-spacing:.05em}.map-locations{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.map-locations button{border:2px solid var(--ink);padding:10px 12px;background:var(--sun);font-size:10px;cursor:pointer}.map-locations button:disabled{background:var(--ink);color:var(--paper);cursor:default}
.train-stops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.train-stops article{display:flex;flex-direction:column;align-items:start;gap:12px;padding:18px;border:3px solid var(--ink);background:#fffaf0;box-shadow:4px 4px 0 var(--ink)}.train-stops article small{font-size:9px}.train-stops h3{font:400 25px/1.1 var(--display);margin:0}.train-stops p{font-size:11px;line-height:1.7;margin:0 0 8px}.train-stops button{margin-top:auto;border:2px solid var(--ink);padding:12px;background:var(--sun);font-size:10px;line-height:1.5;text-align:left;cursor:pointer}.train-stops button:disabled{background:#ddd5be;color:#625b49;cursor:default}
@media(max-width:760px){.map-toggle{top:124px}.route-guide{top:72px;width:min(300px,calc(100% - 130px));padding:8px 26px 8px 9px}.route-guide strong,.route-guide span{font-size:8px}.travel-panel{inset:10px;padding:18px;box-shadow:4px 4px 0 var(--ink)}.travel-panel h2{font-size:29px}.train-stops{grid-template-columns:1fr}.train-stops article{gap:8px;padding:14px}.train-stops h3{font-size:23px}.train-stops button{width:100%}.travel-panel svg text{font-size:14px}.map-locations{gap:6px}.map-locations button{font-size:9px;padding:9px}.travel-panel>p:not(.eyebrow){font-size:11px}}
