/* Readable city journey, keeping the existing full-size detailed Earth. */
.world-hero h1{max-width:580px;font-size:clamp(25px,4.8vw,34px);font-weight:650!important;line-height:1.16;letter-spacing:-.5px}
.world-hero h1 em{margin-top:5px}
.world-hero .world-intro{display:block;font-size:17px;font-weight:500;line-height:1.4;margin:12px auto 0;color:#ede1ec}
.world-virtual-tag{font-size:15px;line-height:1.4;text-align:center;color:#d6c9e0;margin:8px 0 14px}
.world-scene-switch button{font-size:15px;min-height:44px}
.world-route-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.world-route-overlay[hidden]{display:none}
.world-route-overlay path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.route-planned{stroke:#efcde3;stroke-width:3;stroke-dasharray:2 12;opacity:.4}
.route-walked{stroke:#ffd3d8;stroke-width:6;stroke-dasharray:2 11;filter:drop-shadow(0 0 4px #ffb8dc)}
.world-route-overlay .city-ahead{fill:#bac3d7}.world-route-overlay .city-reached{fill:#f6c7d9}
.world-route-overlay text{fill:#fff8fa;font:600 43px system-ui,sans-serif;text-anchor:middle;stroke:#142235;stroke-width:7;paint-order:stroke fill;stroke-linejoin:round}
.route-heart circle{fill:#172638;stroke:#f4c3d9;stroke-width:3}.world-route-overlay .route-heart path{fill:#f4bfd4;stroke:#fff1e8;stroke-width:1.5}
.world-stage .world-planet-label{font-size:12px;letter-spacing:.6px;bottom:2px}
.world-next-stop{margin:16px 0 8px;padding:16px;border:1px solid #ffffff26;border-radius:18px;background:linear-gradient(120deg,#263148,#34283e)}
.world-next-stop .route-card-label{font-size:13px;font-weight:650;letter-spacing:1px;color:#dbc6dd;margin:0 0 5px}
.world-next-stop h2{font-size:25px;color:#ffedf1;line-height:1.2;margin:0 0 7px;font-weight:650}
.world-next-stop p{font-size:16px;line-height:1.4;color:#e2d4e5;margin:5px 0}
.world-next-stop #world-leg-name{font-size:17px;font-weight:600}
.world-next-stop progress,.world-route progress{appearance:none;display:block;width:100%;height:7px;border:0;border-radius:20px;overflow:hidden;background:#ffffff20;margin:13px 0 10px}
.world-next-stop progress::-webkit-progress-bar{background:#ffffff20}.world-next-stop progress::-webkit-progress-value{background:linear-gradient(90deg,#f2c8b2,#e9bfd9,#c7b9ea);border-radius:20px}.world-next-stop progress::-moz-progress-bar{background:#e9bfd9}
#world-find-heart{display:block;min-height:44px;margin:10px 0 0;padding:9px 13px;color:#f8e8f0;background:#ffffff0c;border:1px solid #ffffff30;border-radius:20px;font:600 15px system-ui,sans-serif}
#world-find-heart:focus-visible{outline:3px solid #f5bfd8;outline-offset:3px}
.world-position-note{font-size:15px;color:#d3c7de;line-height:1.4;text-align:center;margin:10px 0 14px}
.world-total-label{text-align:center;color:#f5dfeb;font-size:17px;font-weight:600;margin:16px 0 6px}
.world-distance>span.world-distance-label{font-size:14px;line-height:1.4;color:#d5c9df}
.world-route>div{font-size:16px;line-height:1.4}.world-route p{font-size:15px;line-height:1.4}
.world-itinerary{margin:10px 0;color:#e0d2e6}.world-itinerary summary,.world-extra-stats>summary{font-size:16px;min-height:44px;align-content:center;cursor:pointer}
.world-itinerary p{font-size:15px;line-height:1.45}.world-itinerary ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;padding:0 0 0 24px;font-size:16px;line-height:1.45}
.world-itinerary li{padding-left:2px;color:#c5b9d4}.world-itinerary .route-reached{color:#f5d4df}.world-itinerary .route-next{font-weight:700;color:#ffe8ef}
.world-extra-stats .world-stats span{font-size:14px;line-height:1.4}.world-extra-stats .world-controls button{font-size:15px}
.world-update{font-size:14px;line-height:1.4;margin-top:8px}.world-about p,.world-about .world-image-credit{font-size:15px!important;line-height:1.5}.world-about summary{font-size:16px}
.world-screen .world-record-steps{font-size:17px;font-weight:600;min-height:48px}
@media(max-width:350px){.world-next-stop{padding:13px}.world-next-stop h2{font-size:23px}.world-itinerary ol{grid-template-columns:1fr}}
