/* N.A.P. is an optional living backdrop, never a modal or a new required route. */
.node.elysium-satellite .node-dot{left:19.5px;top:19.5px;width:5px;height:5px;border:0!important;border-radius:50%;background:#f2f3eb!important;box-shadow:0 0 5px #ffffffa0,0 0 13px #dfe9ef70!important;transform:none!important}
.node.elysium-satellite .node-dot:before{inset:-6px;border-color:#e1e6e3;opacity:0}
.node.elysium-satellite.satellite-active .node-dot:before{opacity:.55}
.node.elysium-satellite .node-label{color:#e2e8e5;font-size:12px;background:#071116e8;border-radius:5px;padding:5px 8px;white-space:nowrap;opacity:var(--satellite-label-opacity,0);transition:opacity .4s}
.node.elysium-satellite:not(.satellite-named) .node-label{visibility:hidden!important}
.node.elysium-satellite{opacity:calc(var(--satellite-reveal,0)*.9);will-change:transform;transition:opacity .35s;pointer-events:none}
.node.elysium-satellite.satellite-available{pointer-events:auto}
.node.elysium-satellite.satellite-active{opacity:var(--satellite-reveal,1);z-index:28!important}
.node.elysium-satellite.selected{opacity:1}
@media(prefers-reduced-motion:reduce){.node.elysium-satellite{will-change:auto;transition:none}.node.elysium-satellite .node-label{transition:none}}
/* Symbols stay centred on their existing map coordinates; hit areas remain 44px. */
.node[data-id=nemo] .node-dot{left:12px;top:8px;width:20px;height:28px;background:none!important;box-shadow:none!important;color:#a56d70;font:400 27px/28px Georgia,serif;text-align:center;text-shadow:none}
.node[data-id=nemo] .node-dot:before{inset:-3px -4px;border-radius:50%;opacity:0}
.node[data-id=nemo].selected .node-dot:before{inset:-5px -6px;opacity:.65}
.node[data-id=elysium] .node-dot{left:9px;top:9px;width:26px;height:26px;background:none!important;box-shadow:none!important;color:#f2d598}
.node[data-id=elysium] .node-dot svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 4px #ffe5aab3) drop-shadow(0 0 11px #e8b65466)}
.node[data-id=elysium] .node-dot path{fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;opacity:.8}
.node[data-id=elysium] .node-dot circle{fill:#fff0be}
.node[data-id=elysium] .node-dot:before{inset:-5px;opacity:0}
.node[data-id=elysium].selected .node-dot:before{inset:-7px;opacity:.65}
button.nap-label{pointer-events:auto;cursor:pointer;min-width:72px;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:24px;background:transparent;z-index:5;touch-action:manipulation}
button.nap-label:hover,button.nap-label[aria-pressed="true"]{color:#f0dfb2;border-color:#d8cfad38;background:#070c10a6;text-shadow:0 0 20px #f1dfb680}
button.nap-label:focus-visible{outline:1px solid #d8cfad;outline-offset:3px}
.nap-nature{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#020609;opacity:0;transition:opacity 2.5s}
.nap-nature img{position:absolute;left:50%;top:49%;width:76%;height:84%;object-fit:contain;opacity:0;filter:blur(1.6px) saturate(.52) brightness(.85);will-change:opacity,transform}
.nap-nature img:nth-child(2){left:55%;top:54%;width:82%;filter:blur(2.1px) saturate(.5) brightness(.85)}
.nap-nature img:nth-child(3){left:46%;top:48%;width:66%;filter:blur(1.5px) saturate(.55) brightness(.85)}
.nap-dreaming .nap-nature{opacity:1}.nap-dreaming #atlas-memory,.nap-dreaming .atlas-horizon{opacity:0!important}
.companion-route .node-dot{border-radius:50%!important;transform:none!important;border-style:dashed!important;border-color:var(--node-color)!important}
.companion-route .node-label{color:var(--node-color)}
.companion-route .atlas-thumb{display:none}
@media(max-width:600px){.nap-nature img{width:96%;height:72%}.nap-nature img:nth-child(2){width:100%}.nap-nature img:nth-child(3){width:84%}}
@media(prefers-reduced-motion:reduce){.nap-nature{transition:none}.nap-nature img{will-change:auto}}
