.jt-page .jg-route{background:none;border:0;padding:0;overflow:visible}.jg-route .jt-section-heading{margin-bottom:24px;align-items:center}.jg-route .jt-section-heading h3{font-family:var(--jt-serif);font-size:clamp(27px,3vw,39px);letter-spacing:1px}.jg-legend{display:flex;gap:22px;color:#5d7c84;font-size:14px}.jg-legend>span{display:flex;align-items:center;gap:8px;white-space:nowrap}.jg-legend i{width:22px;border-top:2px solid #829b9e}.jg-legend>span:nth-child(2) i{border-top:2px dashed #6e9eaf}.jg-legend>span:nth-child(3) i{border-color:#0089a3}.jg-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:stretch}.jg-map-card{width:100%;min-width:0;overflow:hidden;border:1px solid #d6e5e1;border-radius:16px;background:#fff}.jg-stage{width:100%;position:relative;aspect-ratio:1250/856;background:#e6f2f2;overflow:hidden}.jg-canvas{display:block;width:100%;height:100%;overflow:hidden;touch-action:pan-y pinch-zoom}.jg-marker{cursor:pointer;outline:none}.jg-map-label>path{fill:none;stroke:#0089a3;stroke-width:1.5;opacity:.5}.jg-map-label>rect{fill:#fff;fill-opacity:.97;stroke:#e1e9e5;stroke-width:1.5;filter:drop-shadow(0 3px 5px #193d4312)}.jg-poi-name{font-size:24px;fill:#204a55;font-weight:600}.jg-poi-sub{font-size:17px;fill:#6e858a}.jg-hit{fill:transparent}.jg-halo{fill:#e3ae78;opacity:0;pointer-events:none}.jg-dot{fill:#0089a3;stroke:#fff;stroke-width:4;filter:drop-shadow(0 3px 4px #193d431c)}.jg-number{font-size:20px;fill:white;font-weight:650;text-anchor:middle;pointer-events:none}.jg-marker.is-selected .jg-halo{opacity:.28}.jg-marker.is-selected .jg-dot{fill:#d88948}.jg-marker.is-selected .jg-map-label>path,.jg-marker.is-selected .jg-map-label>rect{stroke:#d88948}.jg-marker:hover .jg-dot{stroke:#eac7a0;stroke-width:6}.jg-marker:focus-visible .jg-dot{stroke:#78431d;stroke-width:6}.jg-ferry-note{position:absolute;left:16px;top:16px;display:flex;align-items:center;gap:12px;border:1px solid #e0e9e3;border-radius:10px;background:#fffffff5;padding:12px 15px;pointer-events:none}.jg-ferry-note>svg{width:25px;height:25px;fill:none;stroke:#528a9b;stroke-width:1.5;flex-shrink:0}.jg-ferry-note strong{display:block;font-size:14px;line-height:1.5;color:#386471;font-weight:550}.jg-ferry-note span{display:block;font-size:10px;line-height:1.7;color:#718c92;margin-top:3px}.jg-north{position:absolute;right:18px;top:18px;width:34px;text-align:center;color:#65818a;font-size:11px;pointer-events:none}.jg-north svg{display:block;margin:auto;width:16px;height:24px;fill:#254f59}.jg-north span{display:block;margin-top:6px}.jg-map-controls{position:absolute;bottom:17px;right:16px;display:flex;flex-direction:column;border:1px solid #d3e1df;background:white;border-radius:9px;overflow:hidden;box-shadow:0 2px 10px #204b5510}.jg-map-controls button{width:42px;height:42px;padding:0;border:0;background:white;color:#386e79;font-size:24px;line-height:1;display:grid;place-items:center}.jg-map-controls button+button{border-top:1px solid #e1e9e5}.jg-map-controls button:hover{background:#edf6f5}.jg-map-controls button:disabled{color:#b8cbc9;cursor:default}.jg-map-controls button:focus-visible{outline-offset:-4px}.jg-map-credit{position:absolute;left:16px;bottom:13px;color:#68868b;font-size:10px}.jg-map-credit a{color:#526e78;background:#edf6f6d9;padding:2px 4px;margin-left:-4px;text-decoration:none;line-height:1.5}.jg-map-credit a:hover{text-decoration:underline}.jg-scale{width:max-content;text-align:center;font-size:10px;margin-bottom:10px}.jg-scale-line{display:block;width:50px;height:6px;border:1px solid #68868b;border-top:0;margin-top:4px}.jg-selected{padding:19px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #dce9e3;min-height:104px}.jg-selected-name{font-size:18px;font-weight:600;color:#183e4c}.jg-selected-time{display:inline-block;color:#946134;font-size:12px;margin-left:15px}.jg-selected-description{font-size:13px;color:#607c84;line-height:1.8;margin-top:7px}.jg-detail-link{border:0;border-bottom:1px solid #adc5ca;padding:8px 0;background:none;color:#007e96;font-size:12px;white-space:nowrap;line-height:1.6}.jg-detail-link span{margin-left:8px}.jg-sidebar{border:1px solid #dfe7df;border-radius:16px;background:#fff;padding:23px 18px 16px;display:flex;flex-direction:column;min-width:0}.jg-list-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 6px 17px;border-bottom:1px solid #e7ede5;gap:10px}.jg-list-head h4{font-size:21px;color:#183e4c;font-weight:600;margin:0}.jg-list-head>span{font-size:11px;color:#71878d;white-space:nowrap}.jt-page .jg-sidebar ol{list-style:none;margin:9px 0 0;padding:0;display:grid;grid-template-rows:repeat(var(--map-stops,8),1fr);flex:1}.jg-sidebar li{min-width:0}.jg-list-stop{display:flex;align-items:center;gap:14px;width:100%;height:100%;min-height:65px;text-align:left;border:1px solid transparent;border-radius:9px;background:none;padding:12px 9px}.jg-list-number{width:31px;height:31px;border:1px solid #bed6d6;color:#388396;border-radius:50%;display:grid;place-items:center;font-size:12px;flex-shrink:0}.jg-list-copy{min-width:0}.jg-list-copy strong{display:block;color:#183e4c;font-weight:550;font-size:16px;line-height:1.5}.jg-list-copy small{display:block;color:#70878e;font-size:11px;line-height:1.7;margin-top:5px;white-space:pre-line}.jg-list-stop.is-selected{background:#fbf1e5;border-color:#eedcc6}.jg-list-stop.is-selected .jg-list-number{color:white;background:#d88948;border-color:#d88948}.jg-list-stop.is-selected strong{color:#996131}.jg-list-stop:hover{background:#f3f8f7}.jg-list-stop.is-selected:hover{background:#f9ead7}.jg-caption{display:flex;justify-content:space-between;gap:18px;font-size:12px;line-height:1.8;color:#748d90;margin-top:19px}.jg-caption>span:first-child{color:#3a6f79;flex-shrink:0}.jg-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.is-zoomed .jg-canvas{cursor:grab;touch-action:none}.is-zoomed .jg-canvas.is-dragging{cursor:grabbing}
@media(min-width:951px) and (max-width:1150px){.jg-layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.jg-sidebar{padding:20px 13px 13px}.jg-list-stop{min-height:59px;padding:8px 6px;gap:10px}.jg-list-copy strong{font-size:15px}.jg-selected{padding:17px;display:block}.jg-detail-link{margin-top:9px}.jg-selected-time{display:block;margin:5px 0 0}}
@media(max-width:950px){.jg-layout{grid-template-columns:1fr;gap:20px}.jg-sidebar{padding:22px}.jt-page .jg-sidebar ol{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:3px 12px;margin-top:12px}.jg-list-stop{min-height:84px;padding:12px}.jg-caption{display:block}.jg-caption>span{display:block}.jg-caption>span+span{margin-top:4px}}
@media(max-width:760px){.jg-route .jt-section-heading{align-items:start;gap:14px}.jg-route .jt-section-heading h3{font-size:30px}.jg-legend{font-size:12px;gap:14px;margin-top:12px}.jg-legend i{width:17px}.jg-map-card,.jg-sidebar{border-radius:12px}.jg-stage{aspect-ratio:1.08;min-height:320px}.jg-map-label{display:none}.jg-dot{r:38;stroke-width:5}.jg-halo{r:51}.jg-hit{r:55}.jg-number{font-size:33px}.jg-ferry-note{left:12px;top:12px;padding:9px 11px;gap:8px;max-width:calc(100% - 64px)}.jg-ferry-note>svg{width:21px;height:21px}.jg-ferry-note strong{font-size:12px}.jg-ferry-note span{font-size:10px;margin-top:2px}.jg-north{right:11px;top:15px;width:25px;font-size:10px}.jg-north svg{width:13px;height:20px}.jg-map-controls{right:12px;bottom:13px}.jg-map-controls button{width:40px;height:40px}.jg-map-credit{left:12px;bottom:12px;font-size:9px}.jg-selected{padding:17px 18px;display:block;min-height:0}.jg-selected-name{font-size:17px}.jg-selected-time{font-size:12px;margin-left:12px}.jg-selected-description{font-size:12px}.jg-detail-link{margin-top:8px;min-height:38px;font-size:12px}.jg-sidebar{padding:18px 13px 13px}.jg-list-head{padding:0 6px 15px}.jg-list-head h4{font-size:19px}.jt-page .jg-sidebar ol{gap:4px}.jg-list-stop{padding:11px 6px;gap:9px;min-height:89px;align-items:start}.jg-list-number{width:27px;height:27px;font-size:11px;margin-top:1px}.jg-list-copy strong{font-size:14px;line-height:1.65}.jg-list-copy small{font-size:11px;margin-top:4px}.jg-caption{font-size:11px;margin-top:15px}.jg-caption>span+span{line-height:1.9}}
@media(max-width:400px){.jg-selected-time{display:block;margin:5px 0 0}.jg-list-stop{gap:7px;padding-inline:4px}.jg-list-number{width:24px;height:24px;font-size:10px}.jg-list-copy strong{font-size:13px}.jg-list-copy small{font-size:10px}}

.jg-time-part{white-space:nowrap}.jg-time-part+.jg-time-part:before{content:" · "}@media(max-width:760px){.jg-time-part{display:block}.jg-time-part+.jg-time-part:before{content:none}.jg-list-copy strong{font-size:15px}.jg-list-copy small{font-size:12px}}@media(max-width:400px){.jg-list-copy strong{font-size:14px}.jg-list-copy small{font-size:11px}}
@media(max-width:350px){.jg-list-stop{flex-direction:column;gap:7px;padding:12px 9px;min-height:117px}.jg-list-copy strong{white-space:nowrap}}

/* Shared six-day geographic views. */
.jg-scene-controls{display:flex;gap:6px;padding:13px 16px;border-bottom:1px solid #dce9e3;background:#fff;flex-wrap:wrap}.jg-scene-controls button{border:1px solid transparent;border-radius:7px;background:none;color:#55757c;padding:9px 15px;font-size:13px;line-height:1.5}.jg-scene-controls button[aria-pressed="true"]{background:#eaf4f3;border-color:#cfe4df;color:#087d90;font-weight:600}.jg-scene-controls button:hover{background:#f1f6f3}.jg-position-link{fill:none;stroke:#6c9ba6;stroke-width:3;stroke-dasharray:10 10;opacity:.65;pointer-events:none}.jg-legend .jg-location-legend i{width:9px;height:9px;border:0;border-radius:50%;background:#0089a3}.jg-legend .jg-connection-legend i{border-top:2px dashed #6c9ba6}.jg-range .jg-number{font-size:21px}.jg-range .jg-halo{r:59}.jg-range .jg-hit{r:64}.jg-range .jg-map-label>path{stroke-dasharray:4 4}
@media(max-width:760px){.jg-scene-controls{padding:10px;gap:4px}.jg-scene-controls button{padding:8px 11px;font-size:12px;min-height:40px}.jg-range-dot{x:-78px;y:-33px;width:156px;height:66px;rx:33px}.jg-range .jg-number{font-size:38px}.jg-range .jg-halo{r:74}.jg-range .jg-hit{r:79}.jg-route:not(.jg-day-2) .jg-stage{aspect-ratio:1.18;min-height:300px}.jg-route:not(.jg-day-2) .jg-canvas{background:#edf3f0}.jg-route:not(.jg-day-2) .jt-section-heading{flex-wrap:wrap}.jg-route:not(.jg-day-2) .jg-legend{margin-top:0}.jg-caption>span:last-child{max-width:750px}}

.jg-mobile-summary{display:none}@media(max-width:760px){.jg-route .jg-ferry-note{display:none}.jg-route .jg-mobile-summary{display:block;padding:13px 16px;background:#fff;border-bottom:1px solid #dce9e3}.jg-mobile-summary strong{display:block;font-size:13px;color:#386471;font-weight:600}.jg-mobile-summary span{display:block;font-size:11px;color:#718c92;line-height:1.7;margin-top:4px}}

/* A slightly smaller map viewport; the existing layout and visual language stay intact. */
.jg-map-card{align-self:start}.jg-stage{aspect-ratio:1250/710}
.jg-bus,.jg-bus *{pointer-events:none}.jg-bus-symbol{filter:drop-shadow(0 2px 2px #204a5526)}
@media(max-width:760px){.jg-route .jg-stage,.jg-route:not(.jg-day-2) .jg-stage{aspect-ratio:1.35;min-height:260px}}

/* Day-one compact map: retain geographic aspect and the surrounding card layout. */
.jg-day-1 .jg-stage{width:80%;margin-inline:auto}
@media(max-width:760px){.jg-route.jg-day-1 .jg-stage{min-height:208px}}
