/* Logical diagrams read in page flow; zoom is an explicit, separate view. */
.mapwindow{height:auto!important;max-height:none!important;overflow:visible!important}.mapsize{min-width:0!important;width:100%!important}.mapcontrols{display:none}.logic-heading{margin:36px 0 14px;font-size:26px}.logic-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 22px}.logic-actions .btn{min-height:44px}.mobile-logic{display:none}.logic-dialog{width:min(96vw,1500px);max-width:none;height:92dvh;max-height:96dvh;padding:0;border:1px solid #afc2b6;border-radius:12px;background:#f8f6ee;color:#203d39}.logic-dialog::backdrop{background:#152e29b8}.dialog-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid #c6d5c8;background:#f8f6ee}.dialog-bar h2{font-size:18px;margin:0;margin-right:auto}.dialog-bar button{min-width:44px;min-height:44px}.diagram-viewport{height:calc(100% - 85px);overflow:auto;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain;padding:10px}.diagram-full{width:100%;min-width:0;transform-origin:top left}.diagram-full svg{display:block;width:100%;height:auto}.diagram-hint{font-size:14px;margin:0;padding:0 14px 8px}.day-scenery{margin:24px 0 30px}.day-scenery h3{font-size:23px;margin:0 0 8px}.day-scenery>p{font-size:14px;color:#637368;margin:0 0 16px}.scenery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.scenery-card{min-width:0;background:#fffdf7;border:1px solid #c6d4c8;border-radius:10px;overflow:hidden;margin:0}.scenery-title{padding:13px 15px 8px;margin:0;font-size:18px}.scenery-title a{display:block;line-height:1.6}.scenery-meta{padding:0 15px 12px;color:#65756b;font-size:14px;line-height:1.65}.scenery-image-button{display:block;border:0;padding:0;width:100%;background:#e5eadd;cursor:zoom-in}.scenery-image-button img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.scenery-card figcaption{font-size:13px;padding:12px 15px;line-height:1.65;color:#556b60}.scenery-card figcaption a{overflow-wrap:anywhere}.scenery-card .photo-credit{display:block;margin-top:6px;font-size:12px}.scenery-card .photo-credit a{color:#556b60;text-decoration:underline}.scenery-chip{display:inline-block;font-size:12px;padding:1px 6px;background:#e7eddf;border-radius:4px;margin-right:5px}.scenery-chip.optional{color:#79552f;background:#f0e5d3}.photo-dialog{width:min(96vw,1250px);max-width:none;max-height:95dvh;overflow:auto;padding:0;border:1px solid #afc2b6;border-radius:12px;background:#fffdf7;color:#203d39}.photo-dialog::backdrop{background:#10231ce0}.photo-dialog img{width:100%;max-height:76dvh;object-fit:contain;display:block;background:#182c24}.photo-dialog p{padding:4px 16px 14px;margin:0;line-height:1.6;font-size:14px}.photo-dialog .dialog-bar{position:sticky;top:0}.scenery-link{scroll-margin-top:16px}.maplinks{overflow-wrap:anywhere}
@media(max-width:700px){.mobile-logic{display:block}.mapwindow{display:block}.logic-heading{font-size:24px;margin-top:28px}.logic-actions{gap:8px;margin-top:10px}.logic-actions .btn{flex:1 1 145px;font-size:15px;padding:10px 8px;text-align:center}.logic-intro{font-size:15px;line-height:1.7;color:#5b7064}.journey-stack{list-style:none;margin:18px 0 26px;padding:0 0 0 15px;border-left:2px solid #afc7b7}.journey-city{position:relative;margin:0 0 14px;padding:14px 15px;background:#fffdf7;border:1px solid #c6d5c8;border-radius:8px}.journey-city:before{content:'';position:absolute;left:-22px;top:24px;width:10px;height:10px;border:2px solid #f8f6ee;background:#2c6b56;border-radius:50%;box-sizing:content-box}.journey-city h3{font-size:19px;margin:3px 0 4px;line-height:1.5}.journey-city .city-date{font-size:14px;color:#7b643d}.journey-city p{font-size:15px;line-height:1.7;margin:4px 0}.journey-transfer{font-size:14px;line-height:1.6;color:#607367;margin:0 0 14px;padding:0 12px}.mountain-stack{display:grid;gap:15px;margin:18px 0 28px}.mountain-card{padding:16px;background:#fffdf7;border:1px solid #c4d6c9;border-top:4px solid var(--day);border-radius:9px;min-width:0}.mountain-card h3{font-size:20px;margin:0 0 5px;line-height:1.5}.mountain-card .night{font-size:14px;color:#657562;margin-bottom:12px}.mountain-flow{list-style:none;padding:0;margin:0}.mountain-flow li{position:relative;padding:0 0 13px 24px;line-height:1.6}.mountain-flow li:before{position:absolute;content:'';left:3px;top:9px;bottom:-8px;border-left:2px solid #c2d1c6}.mountain-flow li:last-child:before{bottom:auto;height:0}.mountain-flow li:after{position:absolute;content:'';left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--day)}.mountain-flow a{font-size:17px;font-weight:600}.mountain-flow time,.mountain-flow .leg-time{display:block;font-size:14px;color:#5f7568;margin:3px 0}.mountain-card .day-balance{font-size:14px;line-height:1.7;border-top:1px solid #d5dfd2;padding-top:10px;margin-top:3px}.mountain-card .day-link{display:inline-block;border-bottom:1px solid #a1bcaa;padding:5px 0;margin-top:7px;min-height:40px}.scenery-grid{grid-template-columns:1fr;gap:18px}.scenery-title{font-size:18px}.day-scenery h3{font-size:22px}.scenery-image-button img{aspect-ratio:3/2}.day-scenery{margin:20px 0 26px}.logic-dialog{width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}.dialog-bar{padding:10px;gap:6px}.dialog-bar h2{font-size:17px;flex-basis:100%}.diagram-viewport{height:calc(100% - 136px)}.photo-dialog{width:100vw;max-height:100dvh;border-radius:0}.photo-dialog .dialog-bar h2{flex-basis:auto}.shell{overflow-wrap:break-word}#actual-drive-map{padding:12px!important}#actual-drive-map h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.scenery-card.portrait .scenery-image-button img{aspect-ratio:4/5;object-fit:contain;background:#e5eadd}.scenery-grid{align-items:start}
