/* Geographic globe: intrinsic stage size prevents mobile/Safari canvas collapse. */
.world-explorer{position:relative;isolation:isolate;min-width:0;width:100%;max-width:650px;margin-inline:auto;color:#30282a}
.world-stage{position:relative;height:clamp(340px,44vw,560px);min-height:320px;background:radial-gradient(ellipse at 50% 58%,#eec5bd45 0,transparent 64%);overflow:visible}
.world-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;outline-offset:-10px;border-radius:50%;z-index:1}
.world-canvas:active{cursor:grabbing}.world-canvas:focus-visible{outline:2px solid #a91828}
.world-stage:before,.world-stage:after{content:"";position:absolute;z-index:-1;left:50%;top:49%;width:91%;height:34%;border:1px solid #c9323a24;border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg);pointer-events:none}
.world-stage:after{width:100%;height:27%;transform:translate(-50%,-50%) rotate(18deg);border-color:#c9323a14}
.world-stage-label{position:absolute;z-index:3;top:17px;left:18px;max-width:calc(100% - 115px);font-size:13px;font-weight:650;letter-spacing:.025em;display:flex;gap:8px;align-items:center;color:#7b5b60;pointer-events:none;line-height:1.4}
.world-live-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#d62839;box-shadow:0 0 0 4px #d6283913}
.world-controls{position:absolute;z-index:4;right:12px;top:7px;display:flex;gap:7px}
.world-control{display:grid;place-items:center;width:42px;height:42px;border:1px solid #dccdd0;border-radius:50%;background:#fff9;backdrop-filter:blur(10px);font-size:16px;color:#7e2732;box-shadow:0 5px 12px #77232c06;transition:background .2s,transform .2s}
.world-control:hover{background:#fff;transform:translateY(-2px)}.world-control:disabled{cursor:default;opacity:.65;transform:none}.world-control svg,.world-hint svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none;flex-shrink:0}
.world-explorer .world-hint{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:max-content;max-width:94%;display:flex;align-items:center;gap:7px;font-size:13px;line-height:1.5;color:#886e73;pointer-events:none;margin:0;text-align:center}
.world-route-panel{position:relative;z-index:3;max-width:calc(100% - 24px);margin:17px auto 0;padding:22px 23px 17px;border-radius:20px;background:linear-gradient(135deg,#fff,#fcf8f7);border:1px solid #fff;box-shadow:0 18px 55px #7b253515,0 1px 0 #d7c3c7,inset 0 1px 0 #fff}
.world-route-label{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.world-route-label>span{color:#a44653;font-size:13px;letter-spacing:.055em;font-weight:700;flex-shrink:0}.world-route-label strong{font-size:21px;line-height:1.25;letter-spacing:-.035em;color:#35282b;text-align:right;overflow-wrap:anywhere}.world-route-label strong>span[aria-hidden]{color:#ca2637;margin:0 5px}
.world-destination-label{display:block;font-size:13px;color:#76696c;margin-bottom:6px}.world-search{display:block;width:100%;min-width:0;box-sizing:border-box;min-height:44px;padding:11px 13px;border:1px solid #ded2d3;border-radius:9px;background:#fff;color:#45393c;font:inherit;font-size:16px;line-height:1.4}.world-search::placeholder{color:#89767b}.world-explorer .world-results{font-size:13px;line-height:1.5;color:#806970;margin:6px 0 13px;min-height:19px}
.world-route-actions{display:flex;gap:10px;align-items:stretch}.world-route-actions select{width:48%;min-width:0;min-height:44px;padding:11px 27px 11px 11px;border:1px solid #ded2d3;border-radius:8px;background:#fff;color:#45393c;font-size:14px;line-height:1.4}.world-route-actions select:disabled{opacity:.55}
.world-route-link{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-height:44px;box-sizing:border-box;padding:10px 13px;background:#c9222b;color:#fff;border:1px solid #c9222b;border-radius:8px;font-size:13px;line-height:1.35;font-weight:650;box-shadow:0 6px 17px #c9222b15;transition:transform .2s,background .2s}.world-route-link:hover{background:#a71622;color:white;transform:translateY(-2px)}.world-route-link span{font-size:18px}.world-explorer .world-status{font-size:13px;line-height:1.5;color:#8b6b73;margin:10px 0 0;min-height:0}.world-status:empty{display:none}
.world-search:focus-visible,.world-route-actions select:focus-visible,.world-control:focus-visible,.world-route-link:focus-visible,.world-directory a:focus-visible,.world-directory summary:focus-visible{outline:2px solid #a91828;outline-offset:3px}
.world-directory{margin-top:16px;padding-top:12px;border-top:1px solid #eee1df}.world-directory summary{cursor:pointer;color:#91414c;font-size:13px;font-weight:650;line-height:1.6;min-height:26px}.world-directory-groups{max-height:330px;overflow:auto;overscroll-behavior:contain;padding:4px 5px 4px 0;scrollbar-width:thin}.world-directory section{padding-top:10px}.world-directory h4{font-size:14px;line-height:1.5;margin:4px 0 8px;color:#4c343c;letter-spacing:0}.world-directory ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 10px}.world-directory li{list-style:none;padding:0;margin:0;min-width:0}.world-directory li[hidden],.world-directory section[hidden]{display:none}.world-directory a{display:block;font-size:13px;line-height:1.5;padding:8px 0;color:#755960;text-underline-offset:3px}.world-directory a:hover{text-decoration:underline;color:#b01b2f}
.world-explorer .world-attribution{font-size:13px;line-height:1.6;color:#8b7479;margin:14px auto 0;max-width:calc(100% - 34px)}.world-attribution a{color:#76565f;text-decoration:underline;text-decoration-color:#d8bfc5;text-underline-offset:3px}
@media(max-width:700px){.destination-block>.world-explorer{order:0}.destination-block>.world-explorer+div{order:1}.world-explorer{max-width:500px}.world-stage{height:clamp(320px,100vw,470px);min-height:320px}.world-stage-label{left:8px;top:14px;max-width:calc(100% - 109px);font-size:13px;letter-spacing:0}.world-controls{right:3px;top:5px;gap:5px}.world-control{width:42px;height:42px}.world-route-panel{max-width:100%;padding:19px 17px 14px;margin-top:16px}.world-route-label{align-items:flex-start;gap:10px;flex-direction:column}.world-route-label strong{font-size:23px;text-align:left}.world-route-label>span{font-size:13px}.world-route-actions{flex-direction:column;gap:9px}.world-route-actions select{font-size:16px;width:100%;padding:12px 10px}.world-route-link{font-size:14px;padding:12px 13px}.world-explorer .world-hint{font-size:13px;bottom:0}.world-explorer .world-attribution{max-width:100%;font-size:13px}.world-directory ul{grid-template-columns:1fr}.world-directory a{font-size:14px;min-height:36px;box-sizing:border-box}}
.motion-off .world-control,.motion-off .world-route-link{transition:none}
@media(prefers-reduced-motion:reduce){.world-control,.world-route-link{transition:none}}
