:root{--atlas-ink:#e5eddf;--atlas-dim:#a9c4ca;--atlas-ocean:#142c40;--atlas-sun:#f1cc78}
button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #edc96d;outline-offset:4px}
[hidden]{display:none!important}
#world{touch-action:none;cursor:grab}#world:active{cursor:grabbing}
body[data-scene="city"] #world{cursor:crosshair}
body:not([data-scene="city"]) .chatbar,body:not([data-scene="city"]) .chat-log,body:not([data-scene="city"]) .hint,body:not([data-scene="city"]) .online-panel,body:not([data-scene="city"]) .emoji-pop{display:none}
.topbar{top:18px;left:26px;right:26px;transform:none;justify-content:flex-start;border-radius:8px;padding:8px 12px;box-shadow:none;background:#e9eee0;backdrop-filter:none}
.topbar a[href="hashlings.html"]{display:none}.topbar{gap:6px;padding:6px 8px;border-radius:6px;background:#f0f1df;border:2px solid #294b46;box-shadow:4px 4px 0 #18363a}.topbar a,.topbar button{border-radius:3px;border:1px solid #8ea69a;background:#e1e7d8;font:700 11px Consolas,'Microsoft YaHei',monospace}.topbar a:hover,.topbar button:hover{background:#f1cc78}.topbar .brand{display:none}
#focusNewYork{display:none!important}
.earth-destinations{display:none!important}.enter-city{display:none!important}
.topbar .district{margin-left:auto}.topbar a,.topbar button{min-height:40px;border-radius:3px}.brand b{background:none;color:#264d48}
.enter{display:block;pointer-events:none;background:none;padding:0}.enter-card{pointer-events:auto;position:absolute;right:28px;top:106px;bottom:48px;width:350px;max-height:none;padding:23px;background:#e9eee0;border:2px solid #93aca8;border-radius:7px;box-shadow:8px 8px 0 #0c223180}
.enter-head{display:block;margin-bottom:18px}.enter h1{font-size:29px;line-height:1.2;letter-spacing:-.5px}.enter p{font-size:12px}.session-badge{display:inline-block;margin-top:12px;border-radius:3px;font-size:10px;max-width:100%;overflow-wrap:anywhere}
.pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:40vh;overflow:auto}.pick{border-radius:3px;padding:9px 6px;background:#dce4d4}.pick.selected{box-shadow:inset 0 0 0 2px #4e8a67;border-color:#4e8a67;background:#f8f9e9}.pick:hover{transform:none}.avatar-preview{width:72px;height:72px;border-radius:3px}.avatar-preview canvas{width:68px;height:68px}.pick.selected .avatar-preview{animation:none}.pick small{font-size:10px}.enter-actions{gap:8px;margin-top:16px;padding-top:15px}.enter-actions button,.enter-actions a{border-radius:3px;font-size:12px;padding:13px 8px;box-shadow:none}.enter-actions button{background:#33795b}.empty-pick{padding:22px 12px;border-radius:3px;font-size:12px}
.atlas-heading{position:fixed;z-index:8;top:116px;left:42px;color:var(--atlas-ink);pointer-events:none}.atlas-heading small{font:12px Consolas,monospace;letter-spacing:3px;color:var(--atlas-dim)}.atlas-heading h2{font:900 clamp(25px,3vw,43px)/1.1 Consolas,'Microsoft YaHei',monospace;letter-spacing:-1px;margin:12px 0}.atlas-heading p{font-size:12px;color:var(--atlas-dim)}
.atlas-panel{position:fixed;z-index:25;right:28px;top:106px;width:350px;max-height:calc(100dvh - 160px);overflow:auto;padding:24px;background:#e9eee0;border:2px solid #93aca8;border-radius:7px;box-shadow:8px 8px 0 #0c223180}.atlas-panel small{font:11px Consolas,monospace;letter-spacing:2px;color:#526b67}.atlas-panel h1{font:900 34px Consolas,'Microsoft YaHei',monospace;letter-spacing:-1px;margin:12px 0}.atlas-panel p{color:#536964;font-size:13px;line-height:1.7}.atlas-panel button{min-height:44px;border:1px solid #90a69b;border-radius:3px;padding:9px 14px;color:#243e38;background:#f8f9ef}.atlas-panel .enter-city{width:100%;background:#34795c;color:white;border:0;font-weight:800;margin-top:18px}.atlas-panel button:disabled{opacity:.5;cursor:not-allowed}.atlas-city-list{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:18px}.atlas-city-list button{font-size:11px;padding:7px 8px}.atlas-city-list .active{background:#cfdec8;border-color:#417f60}.atlas-people{display:flex;gap:8px;flex-wrap:wrap;min-height:46px}.atlas-people canvas{width:42px;height:42px;background:#d8e0d2;border:1px solid #a5b9a9;image-rendering:pixelated}.atlas-status{padding:12px 0;border-top:1px solid #bbcbbb;font-size:12px;color:#416957}.atlas-status.offline{color:#94632b}.atlas-description{min-height:52px}
.city-pin{position:fixed;z-index:21;transform:translate(-50%,-100%);background:#eaeecf;color:#243d3b;box-shadow:3px 3px 0 #183a4a;border:2px solid #7ca196;border-radius:2px;min-height:44px;padding:8px 12px;font:700 12px Consolas,'Microsoft YaHei',monospace;white-space:nowrap}.city-pin:after{content:'';position:absolute;width:8px;height:8px;bottom:-10px;left:calc(50% - 4px);background:#f1cc78;box-shadow:0 0 0 3px #294e53}.city-pin[data-open="true"]{border-color:#f1cc78;background:#f1cc78}.city-pin:hover{filter:brightness(1.1)}
.event-pin,.landmark-pin{position:fixed;z-index:21;transform:translate(-50%,-50%);border:0;background:transparent;color:#eff6ee;font:10px Consolas,sans-serif;text-shadow:0 1px 3px #071521;white-space:nowrap;cursor:pointer;pointer-events:auto}.event-pin{color:#ff9a62}.landmark-pin{color:#f4d17b}.event-pin:hover,.landmark-pin:hover{filter:brightness(1.25);transform:translate(-50%,-50%) scale(1.06)}
.atlas-controls{position:fixed;z-index:24;left:40px;bottom:62px;display:flex;gap:8px}.atlas-controls button{min-width:44px;min-height:44px;background:#25495c;border:1px solid #7096a2;border-radius:3px;color:#e6efdf;font:14px Consolas,'Microsoft YaHei',monospace}.atlas-controls .focus-city{padding:0 16px}.atlas-credit{position:fixed;z-index:24;bottom:12px;left:28px;font:10px Consolas,monospace;color:#b7cdd0;max-width:calc(100% - 40px)}.atlas-credit a{color:inherit}.atlas-load{position:fixed;left:30px;bottom:120px;color:#f1cc78;font-size:12px;z-index:30}.atlas-load button{min-height:44px;margin-left:12px}
.city-visits{position:fixed;left:18px;top:160px;z-index:14;display:grid;gap:7px}.city-visits button{min-height:40px;border:1px solid #94ada6;background:#eef0dfeF;color:#2b4d48;padding:8px 12px;border-radius:3px;text-align:left;font:11px Consolas,'Microsoft YaHei',monospace}.city-visits button:hover{background:#f1cc78}.city-visits small{background:#e8eddc;padding:7px;color:#46625b;font-size:11px}.city-zoom{position:fixed;right:18px;bottom:92px;z-index:25;display:flex;gap:5px}.city-zoom button{width:44px;height:44px;font-size:22px;border:1px solid #96a99d;background:#f0f1df;border-radius:3px}
body[data-scene="city"] .atlas-credit{color:#e7eee0;background:#284754c9;padding:3px 6px;bottom:3px}.online-panel{border-radius:5px;max-height:43vh}.mini{border-radius:2px}.atlas-panel .online-row{font-size:11px}
@media(max-width:759px){.topbar{left:10px;right:10px;top:10px;gap:5px;padding:6px}.topbar a,.topbar button{font-size:11px;padding:7px;min-height:40px}.brand svg{width:26px;height:26px}.brand b{display:none}.topbar .district{display:none}.atlas-heading{top:79px;left:20px}.atlas-heading small{font-size:9px}.atlas-heading h2{font-size:25px;margin:6px 0}.atlas-heading p{display:none}.enter-card,.atlas-panel{left:12px;right:12px;top:auto;bottom:40px;width:auto;max-height:42dvh;padding:16px;box-shadow:4px 4px 0 #0c223180}.enter-card{bottom:35px}.enter h1{font-size:22px}.enter-head{margin-bottom:10px}.enter p{font-size:11px}.pick-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:150px}.avatar-preview{width:56px;height:56px}.avatar-preview canvas{width:52px;height:52px}.session-badge{margin-top:5px}.enter-actions{margin-top:8px;padding-top:8px}.atlas-panel h1{font-size:26px;margin:7px 0}.atlas-panel p{font-size:12px;margin:5px 0 10px}.atlas-panel small{font-size:9px}.atlas-city-list{margin-bottom:8px}.atlas-description{min-height:0}.atlas-status{padding:7px 0}.atlas-panel .enter-city{margin-top:9px}.atlas-people{min-height:32px}.atlas-people canvas{width:32px;height:32px}.atlas-controls{left:auto;right:12px;top:80px;bottom:auto;gap:4px}.atlas-controls .focus-city{display:none}.atlas-credit{font-size:8px;bottom:8px;left:12px}.city-pin{font-size:10px;padding:6px 8px}.atlas-load{top:130px;bottom:auto;left:20px;max-width:90%;font-size:11px}.city-visits{left:10px;top:82px;max-width:140px}.city-visits button{min-height:35px;font-size:10px;padding:7px}.city-visits small{font-size:9px}.online-panel{width:150px;font-size:10px;top:82px}.online-row{font-size:10px}.chat-log{max-height:100px;width:calc(100vw - 90px)}.city-zoom{right:10px;bottom:90px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.event-pin:before{content:'';position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);border-radius:50%;background:currentColor;opacity:.28;animation:eventPulse 1.8s ease-out infinite;z-index:-1}@keyframes eventPulse{0%{box-shadow:0 0 0 0 currentColor;opacity:.5}70%{box-shadow:0 0 0 18px transparent;opacity:.12}100%{opacity:.3}}
#cityOverview,#cityStreet{width:auto;padding:0 12px;font-size:12px;font-weight:700}
.sky-info{position:fixed;left:42px;bottom:122px;color:#b8ccd1;font-size:11px;display:grid;gap:4px;pointer-events:none}.sky-info time{font-family:Consolas,monospace}.sky-info span{font-size:10px}.moon-destination{display:flex;flex-direction:column;gap:12px;color:#244e49;text-decoration:none;padding-bottom:22px}.moon-destination strong{font-size:30px;letter-spacing:1px}.moon-destination span{font-size:12px;line-height:1.7;color:#546e67}.moon-destination b{background:#34795c;color:#fff;padding:14px;text-align:center;border-radius:4px;font-size:13px}.earth-destinations{border-top:1px solid #b9c9bc;padding-top:12px}.earth-destinations summary{cursor:pointer;min-height:44px;font-size:12px;color:#526c63}.moon-town-pin{background:#e8dac4;border-color:#caa778;font-size:11px}.city-visits summary{min-height:44px;padding:10px 12px;background:#eef0df;cursor:pointer;font-size:12px;color:#2b4d48;list-style:none;border-radius:4px}#cityVisitList{display:grid;gap:6px;margin-top:6px}.city-visits button.active{background:#ecd5a4}.atlas-panel,.enter-card{box-shadow:0 8px 28px #06182738;border:0}.atlas-heading{top:120px}.atlas-heading h2{font-family:"Segoe UI","Microsoft YaHei",sans-serif;font-weight:800;font-size:36px}.atlas-panel h1{font-size:26px}.city-pin{box-shadow:none}.enter .eyebrow{display:none}
@media(max-width:759px){.atlas-heading{top:82px}.atlas-heading h2{font-size:25px}.sky-info{left:20px;bottom:auto;top:128px;font-size:10px}.sky-info span{font-size:8px;max-width:235px}.moon-destination strong{font-size:25px}.moon-destination{gap:7px;padding-bottom:12px}.moon-destination b{padding:10px}.moon-town-pin{font-size:9px;min-height:38px}.atlas-panel{max-height:37dvh}.enter-card{max-height:37dvh}.city-visits{max-width:150px;top:82px}.city-visits[open]{max-height:56dvh;overflow:auto}.city-visits button{min-height:40px}.sky-info time{font-size:9px}}

/* Transparent bulletin: only visible controls intercept globe gestures. */
.world-event-panel{position:fixed;z-index:24;right:28px;top:106px;width:280px;max-height:calc(100dvh - 150px);overflow:auto;padding:4px;background:transparent;border:0;box-shadow:none;color:#eef5e9;font:12px Consolas,'Microsoft YaHei',monospace;text-shadow:0 1px 3px #071521,0 0 8px #071521;pointer-events:none;scrollbar-width:thin;scrollbar-color:#8ca6a5 transparent}
.world-event-panel details,.bulletin-detail{pointer-events:auto}
.world-event-panel summary{cursor:pointer;min-height:44px;align-content:center;color:#f1cc78;font-weight:700;border-bottom:1px solid #ffffff40;list-style-position:inside}
.world-event-panel h3{margin:14px 0 6px;font-size:11px;letter-spacing:1px;color:#e4f0e3}
.world-event-panel .bulletin-note{color:#ccdce0;font-size:11px;line-height:1.6;margin:8px 0}
.world-event-row,.world-landmark-row{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:9px 6px;text-align:left;border:0;border-top:1px solid #ffffff26;border-radius:2px;background:transparent;color:#eef5e9;font:inherit;text-shadow:inherit;cursor:pointer}
.world-event-row i,.world-landmark-row i{flex:0 0 7px;height:7px;background:var(--point-color);box-shadow:0 0 8px var(--point-color)}
.world-landmark-row i{transform:rotate(45deg);box-shadow:none}
.world-event-row span{display:grid;gap:4px}.world-event-row small{color:#c8d9de;font-size:11px;line-height:1.5}
.world-event-row:hover,.world-landmark-row:hover,.world-event-panel [aria-pressed="true"]{background:#16323d80}
.bulletin-detail{position:relative;margin-top:10px;padding:0 28px 10px 10px;background:transparent}
.bulletin-detail p{line-height:1.7;margin:8px 0}.bulletin-detail small{font-size:10px;color:#c8d9de}
.bulletin-close{position:absolute;right:0;top:0;width:32px;min-height:44px;border:0;background:transparent;color:#eef5e9;font-size:22px;cursor:pointer}
.event-pin,.landmark-pin{min-height:44px;min-width:44px;padding:6px}
.event-pin[aria-pressed="true"],.landmark-pin[aria-pressed="true"]{outline:1px solid currentColor;outline-offset:2px}
@media(max-width:759px){.world-event-panel{right:12px;top:170px;width:min(240px,calc(100vw - 24px));max-height:calc(100dvh - 270px);font-size:11px}.world-event-panel h3{font-size:10px}.world-event-panel summary{font-size:11px}.bulletin-detail p{font-size:11px}.event-pin,.landmark-pin{font-size:9px}}
@media(max-height:520px) and (min-width:760px){.world-event-panel{top:90px;max-height:calc(100dvh - 120px)}}
/* Keep scene-wide button defaults from turning overlay labels into cards. */
.scene-theme #worldEventPanel button{background:transparent;color:#eef5e9;border:0;border-radius:2px;font:inherit;text-shadow:inherit;box-shadow:none;justify-content:flex-start}
.scene-theme #worldEventPanel .world-event-row,.scene-theme #worldEventPanel .world-landmark-row{display:flex;border-top:1px solid #ffffff26;padding:9px 6px}
.scene-theme #worldEventPanel button:hover,.scene-theme #worldEventPanel button[aria-pressed="true"]{background:#16323d80}
.scene-theme #worldEventPanel .bulletin-close{padding:0;justify-content:center;font-size:22px}
.scene-theme #atlasPins .event-pin,.scene-theme #atlasPins .landmark-pin{background:transparent;border:0;box-shadow:none;border-radius:2px;font:10px Consolas,'Microsoft YaHei',monospace;padding:6px;text-shadow:0 1px 3px #071521;min-height:44px;min-width:44px}
.scene-theme #atlasPins .event-pin:hover,.scene-theme #atlasPins .landmark-pin:hover{background:#16323d80}
.scene-theme #worldEventPanel :focus-visible{outline:2px solid #f1cc78;outline-offset:2px}
.scene-theme #atlasPins [aria-pressed="true"]{z-index:23;background:#16323db3}
@media(max-width:759px){.world-event-panel{top:auto;bottom:86px;width:calc(100vw - 24px);max-height:34dvh}.world-event-panel summary{min-height:44px}.scene-theme #atlasPins .event-pin,.scene-theme #atlasPins .landmark-pin{font-size:9px}}

/* Destination-first entry: a single modal with confirm and cancel. */
body[data-scene="picker"] .enter{z-index:80;display:flex;align-items:center;justify-content:center;padding:16px;background:#07152199;pointer-events:auto;inset:0}
body[data-scene="picker"] .enter-card{position:relative;inset:auto;width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:22px}
body[data-scene="picker"] .enter-actions{display:grid;grid-template-columns:1fr 1fr}
.scene-theme #cancelEntry{background:#eef0e7;color:#1d2530;border:1px solid #a9b8aa}
body[data-scene="picker"] .session-badge{display:none}
body[data-scene="picker"] .pick-grid{max-height:40dvh}

#atlasControls,#cityMinus,#cityPlus{display:none!important}
#detailMap{position:fixed;inset:0;z-index:5;background:#e6ebe5;overflow:hidden}
#detailMap .detail-map-viewport{position:absolute;transform-origin:50% 50%;pointer-events:none}
#detailMap .detail-map-input{position:absolute;inset:0;z-index:1;touch-action:none}
#detailMap .detail-map-input:focus-visible{outline:2px solid #91b591;outline-offset:-2px}
#detailMap .detail-map-north{position:absolute;right:20px;bottom:52px;z-index:3;min-height:40px;padding:8px 14px;border:1px solid #98aea2;border-radius:10px;background:#f5f7ed;color:#24483b;font:600 12px system-ui;cursor:pointer}
#detailMap .detail-map-credit{position:absolute;right:0;bottom:0;z-index:3;max-width:90vw;padding:3px 6px;background:#fffdf0e8;color:#355043;font:11px/1.5 system-ui}
#detailMap .detail-map-credit a{color:inherit;text-decoration:underline}
#detailMap .detail-map-tooltip{position:absolute;z-index:3;max-width:min(280px,calc(100vw - 64px));padding:7px 11px;transform:translate(-50%,-100%);border:1px solid #b4c4ab;border-radius:8px;background:#fffef1;color:#263f33;box-shadow:0 3px 12px #20332528;font:12px/1.4 system-ui;pointer-events:none}
#detailMap .landmark-map-label{padding:3px 7px;border:1px solid #8ea99a;border-radius:6px;background:rgba(255,255,245,.94);color:#21483a;box-shadow:0 2px 7px rgba(32,51,37,.22);font:600 11px/1.35 system-ui,"Microsoft YaHei",sans-serif;white-space:nowrap;pointer-events:none}
#detailMap .landmark-map-label::before{border-top-color:#8ea99a}
#detailMap .hazard-map-icon>svg{transform:rotate(calc(-1 * var(--map-bearing,0rad)))}
#detailMapStatus{position:fixed;z-index:30;left:20px;bottom:48px;padding:10px;background:#f5ecd8;color:#563b26;font-size:12px}
body.detail-map-active #atlasPins,body.detail-map-active #atlasHeading,body.detail-map-active #skyInfo,body.detail-map-active .atlas-credit{display:none!important}
body.detail-map-active .world-event-panel{background:#142c40d9;border-radius:4px;padding:10px}
#detailMap .leaflet-control-attribution{font-size:11px;max-width:90vw;white-space:normal}
body[data-scene="picker"] #detailMap{pointer-events:none}

#globeTileStatus{position:fixed;left:24px;bottom:42px;z-index:24;font:11px Consolas,monospace;color:#e7f0e5;background:#142c40c9;padding:5px 8px;pointer-events:none}
body.globe-tiles-active .atlas-heading{display:none}
body.globe-tiles-active .world-event-panel{color:#153f4c;text-shadow:0 1px 2px #fff,0 0 5px #fff}
body.globe-tiles-active #worldEventPanel :is(button,h3,p,small,summary){color:#153f4c;text-shadow:0 1px 2px #fff,0 0 5px #fff}

.scene-theme #mapViewSwitch{position:fixed;z-index:25;left:24px;bottom:70px;min-height:44px;padding:9px 16px;background:#eef0e7;color:#24483b;border:1px solid #98aea2;border-radius:4px;font-size:12px}
body[data-scene="picker"] #mapViewSwitch{display:none}
@media(max-width:759px){.scene-theme #mapViewSwitch{left:16px;bottom:80px}.world-event-panel{bottom:140px}}
.scene-theme #worldEventPanel .world-news-row{display:grid;gap:7px;width:100%;min-height:44px;border:0;border-top:1px solid #ffffff26;padding:12px 9px;text-align:left;background:transparent;color:inherit;font:inherit;white-space:normal}
.world-news-row small{color:var(--point-color);font-size:10px;line-height:1.5}.world-news-row b{line-height:1.6;font-size:12px}.world-news-row span{font-size:11px;line-height:1.6;color:#cbdadd}.news-legend{font-size:10px;line-height:1.8;color:#b6cbd0}

/* Map annotations: details appear only after selecting a geographic event. */
#worldEventPanel #worldBulletin[hidden]{display:none!important}
#worldEventPanel .bulletin-detail{margin:0;padding:8px 38px 12px 14px;background:rgba(12,28,36,.88);border-radius:8px;text-shadow:none;backdrop-filter:blur(8px)}
#worldEventPanel .bulletin-detail[hidden]{display:none}
#worldEventPanel .bulletin-detail h3{margin:4px 0 8px;font-size:13px;line-height:1.6}
#worldEventPanel .bulletin-detail p{font-size:12px;max-height:160px;overflow:auto}
@media(max-width:759px){#worldEventPanel{top:100px;bottom:auto;right:12px;width:min(280px,calc(100vw - 24px));max-height:40dvh}}

/* Small disaster symbols; names belong in the selected-event card. */
.scene-theme #atlasPins .event-pin{width:36px;height:36px;min-width:36px;min-height:36px;padding:6px;display:flex;align-items:center;justify-content:center}
.scene-theme #atlasPins .event-pin[hidden]{display:none}
.event-pin::before{display:none}
.event-pin svg,.hazard-map-icon svg{display:block;filter:drop-shadow(0 1px 2px #15263199)}
.hazard-map-icon{display:flex;align-items:center;justify-content:center;background:transparent;border:0}
.hazard-map-icon:focus-visible{outline:2px solid #f1cc78;border-radius:6px}

/* A map pin must keep its geographic anchor during press/release. */
.scene-theme #atlasPins .landmark-pin:active,.scene-theme #atlasPins .event-pin:active{transform:translate(-50%,-50%);background:#16323d80}
@media(max-width:760px){
 .scene-theme .sky-info{bottom:auto!important;height:max-content;gap:4px}
}

/* Geographic markers stay transparent: only the symbol reacts, not a button tile. */
body.scene-theme #atlasPins :is(.event-pin,.landmark-pin),
body.scene-theme #atlasPins :is(.event-pin,.landmark-pin):is(:hover,:active,:focus,[aria-pressed="true"]){
 background:transparent!important;border:0!important;box-shadow:none!important;
 transform:translate(-50%,-50%);filter:none;outline:none;border-radius:50%;
 -webkit-tap-highlight-color:transparent;
}
body.scene-theme #atlasPins .event-pin{width:44px;height:44px;min-width:44px;min-height:44px;padding:10px}
body.scene-theme #atlasPins .event-pin svg{flex:none;transition:transform .15s ease,filter .15s ease;transform-origin:center;filter:drop-shadow(0 1px 2px #102b3dcc)}
body.scene-theme #atlasPins .event-pin[aria-pressed="true"] svg{filter:drop-shadow(0 0 3px #cffff3) drop-shadow(0 1px 2px #102b3d)}
body.scene-theme #atlasPins :is(.event-pin,.landmark-pin):focus-visible{outline:2px solid #e8f9d3;outline-offset:0}
body.scene-theme #atlasPins .landmark-pin{border-radius:8px}
body.scene-theme #atlasPins .landmark-pin[aria-pressed="true"]{text-decoration:underline;text-underline-offset:4px}
@media(hover:hover) and (pointer:fine){
 body.scene-theme #atlasPins .event-pin:hover svg{transform:scale(1.15);filter:drop-shadow(0 0 3px #cffff3) drop-shadow(0 1px 2px #102b3d)}
 body.scene-theme #atlasPins .landmark-pin:hover{text-shadow:0 0 6px #152e44,0 1px 2px #071521;color:#fff3c6!important}
}
@media(prefers-reduced-motion:reduce){body.scene-theme #atlasPins .event-pin svg{transition:none}}


/* Readable landmark labels with a geographic anchor at the diamond. */
body.scene-theme #atlasPins .landmark-pin,
body.scene-theme #atlasPins .landmark-pin:is(:hover,:active,:focus,[aria-pressed="true"]){
 display:flex;align-items:center;gap:7px;font:600 14px/1.3 Arial,'Microsoft YaHei',sans-serif;
 min-height:44px;min-width:44px;padding:8px 10px;transform:translate(-20px,-50%);
 text-shadow:0 1px 3px #071521,0 0 5px #071521;
}
body.scene-theme #atlasPins .landmark-symbol{font-size:19px;line-height:24px;flex:none}
body.scene-theme #atlasPins .landmark-label{max-width:180px;white-space:normal;text-align:left}
/* Keep geographic names readable on both the light ocean and night globe.
   The symbol remains the anchor; the compact pill carries the text. */
body.scene-theme #atlasPins .landmark-label{display:inline-block;padding:3px 6px;border:1px solid rgba(241,204,120,.55);border-radius:4px;background:rgba(18,43,55,.78);color:#fff4d3;text-shadow:0 1px 2px #071521;white-space:nowrap}
body.scene-theme #atlasPins .landmark-pin.is-unavailable .landmark-label{box-sizing:border-box;max-width:calc(100vw - 72px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
body.scene-theme #atlasPins .landmark-pin[data-landmark="easter"]{margin-top:24px}
@media(max-width:759px){body.scene-theme #atlasPins .landmark-pin{font-size:13px}body.scene-theme #atlasPins .landmark-label{max-width:132px}body.scene-theme #atlasPins .landmark-pin.is-unavailable .landmark-label{max-width:calc(100vw - 64px);font-size:11px}}
body.scene-theme #atlasPins .landmark-pin.label-left,body.scene-theme #atlasPins .landmark-pin.label-left:is(:hover,:active,:focus,[aria-pressed="true"]){flex-direction:row-reverse;transform:translate(calc(-100% + 20px),-50%)}

/* Position callouts independently of their geographic diamond, drawn on canvas. */
body.scene-theme #atlasPins .landmark-pin.label-layout,
body.scene-theme #atlasPins .landmark-pin.label-layout:is(:hover,:active,:focus,[aria-pressed="true"]){
 transform:none!important;margin:0;width:max-content;box-sizing:border-box;transition:none;
 min-height:var(--atlas-label-min-height,44px);padding:var(--atlas-label-pad-y,8px) var(--atlas-label-pad-x,12px);
 max-width:min(var(--atlas-label-max-width,230px),calc(100vw - 20px));
 border:1px solid var(--point-color,#edcc89)!important;border-radius:var(--atlas-label-radius,7px);
 background:rgba(18,43,55,.9)!important;box-shadow:0 2px 8px rgba(5,19,29,.38);
 font-size:var(--atlas-label-font,15px);line-height:1.25;color:#fff4d3!important;
}
body.scene-theme #atlasPins .landmark-pin.label-layout .landmark-symbol{display:none}
body.scene-theme #atlasPins .landmark-pin.label-layout .landmark-label,
body.scene-theme #atlasPins .landmark-pin.label-layout.is-unavailable .landmark-label{
 display:block;box-sizing:border-box;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;color:inherit;
}
body.scene-theme #atlasPins .landmark-pin[hidden]{display:none}
