.map-panel { align-self:start; }
.travel-globe-stage { max-width:none; height:clamp(320px,34vw,440px); aspect-ratio:auto; margin:16px auto; overflow:hidden; border-radius:14px; background:radial-gradient(ellipse at 50% 45%,#17231f,#111a17 70%);box-shadow:none;border:1px solid #7d99821c; }
.map-panel .globe-legend { gap:18px; margin-top:16px; flex-wrap:wrap; }
.map-panel .globe-controls { padding-top:2px; }
.map-panel .place-picker { padding-top:15px; border-top:1px solid var(--line-soft); }
.map-panel .place-chip { border-radius:20px; }
.travel-map-globe { position:absolute;inset:0; }
.travel-map-globe .cesium-widget,.travel-map-globe .cesium-widget canvas { width:100%;height:100%; }
.travel-map-globe .cesium-viewer-bottom { left:auto;right:8px;bottom:6px;max-width:calc(100% - 16px);padding:0;background:transparent;line-height:1.4; }
.travel-map-globe .cesium-credit-textContainer,.travel-map-globe .cesium-credit-textContainer a { color:#fff;font-size:10px;text-shadow:0 1px 3px #000,0 0 2px #000; }
.travel-map-globe .cesium-credit-textContainer a { padding:2px; }
.globe-map-status { position:absolute;top:12px;left:12px;z-index:3;border-radius:20px;padding:5px 10px;font-size:11px;color:#e9f3ef;background:#17312de0;pointer-events:none; }
.travel-map-globe .cesium-viewer { font-family:inherit; }
.globe-landmark{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:18px 0;background:#15241e;}.landmark-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px;}.landmark-heading h3{font-size:20px;margin-top:5px;}.landmark-heading p{font-size:12px;color:var(--muted);margin-top:8px;}.globe-landmark figure{margin:0;}.globe-landmark img{width:100%;height:230px;object-fit:cover;display:block;}.globe-landmark figcaption,.globe-landmark>[data-landmark-note]{padding:12px 18px;color:var(--muted);font-size:12px;line-height:1.7;}.globe-landmark figcaption a{color:var(--accent);}.landmark-photo-pending{padding:35px;text-align:center;color:var(--dim);background:#233227;}.future-plans{grid-template-columns:repeat(4,1fr);}@media(max-width:650px){.landmark-heading{flex-wrap:wrap;}.future-plans{grid-template-columns:1fr 1fr;}.globe-landmark img{height:185px;}}
.globe-city-label { border:0; border-radius:5px; padding:5px 8px; background:#0b1920c9; color:#e6f0ec; box-shadow:0 2px 8px #0002; font-size:12px; min-height:28px; }
.globe-landmark figure[hidden] { display:none; }
.globe-city-label:before { content:'';display:inline-block;width:4px;height:4px;background:var(--place-color);border-radius:50%;margin-right:6px;vertical-align:middle; }
.globe-city-label:hover,.globe-city-label[aria-pressed=true] { background:#2a4442;color:#fff; }
.globe-connections line { stroke-width:.8;opacity:.48; }
.map-sources { text-align:right;color:var(--muted);font-size:.68rem;margin-top:14px; }
.map-sources summary { cursor:pointer;list-style:none; }
.map-sources p { text-align:left;line-height:1.8;padding:12px 0 0; }
.map-sources a { text-decoration:underline;text-underline-offset:3px; }
@media(max-width:600px){ .travel-globe-stage { height:350px; margin:16px auto; } .globe-city-label { font-size:11px;padding:4px 6px; } .map-panel .globe-legend { gap:14px; } }
.globe-fullscreen-button { position:absolute;right:max(10px,env(safe-area-inset-right));bottom:calc(32px + env(safe-area-inset-bottom));z-index:4;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;border:1px solid #b9d6c947;border-radius:10px;background:#102621d9;color:#e9f3ef;cursor:pointer; }
.globe-fullscreen-button svg { width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.globe-fullscreen-button:hover { background:#25443deb;border-color:#b9d6c982; }
.globe-fullscreen-button:focus-visible { outline:2px solid #c3e9ad;outline-offset:3px; }
.globe-fullscreen-button:disabled { opacity:.6;cursor:wait; }
.travel-globe-stage:fullscreen,.travel-globe-stage.is-fullscreen-fallback { width:100%;max-width:none;height:100%;margin:0;border:0;border-radius:0; }
.travel-globe-stage:fullscreen { height:100vh;height:100dvh; }
.travel-globe-stage:is(:fullscreen,.is-fullscreen-fallback) canvas { border-radius:0; }
.travel-globe-stage:is(:fullscreen,.is-fullscreen-fallback) .cesium-viewer-bottom { right:max(8px,env(safe-area-inset-right));bottom:calc(6px + env(safe-area-inset-bottom)); }
.globe-fullscreen-shell { width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;padding:0;margin:0;border:0;border-radius:0;overflow:hidden;background:#0d191a; }
.globe-fullscreen-shell::backdrop { background:#0d191a; }
