.fm-map-viewport{position:relative;overflow:hidden;touch-action:none;cursor:grab;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.98),rgba(238,245,251,.96));border:1px solid #dce7f1;border-radius:18px;isolation:isolate;contain:layout paint}
.fm-map-viewport.is-panning{cursor:grabbing;user-select:none}.fm-map-world{position:absolute;left:0;top:0;transform-origin:0 0}.fm-map-world.is-moving{will-change:transform}.fm-map-world.is-smooth{transition:transform var(--fm-camera-duration,.42s) cubic-bezier(.18,.78,.24,1)}.fm-map-world.is-settled{will-change:auto}.fm-map-edges,.fm-map-nodes{position:absolute;left:0;top:0}.fm-map-edges{overflow:visible;pointer-events:none}.fm-map-nodes{z-index:2}.fm-map-node{position:absolute;display:flex;align-items:center;justify-content:center;transform-origin:center;cursor:pointer;outline:none;border:0;background:transparent;padding:0}.fm-node-render{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box;text-align:center}.fm-node-render.fm-node-image,.fm-map-node-image .fm-node-render{background:transparent!important;border:0!important;box-shadow:none!important}.fm-node-render img{width:100%;height:100%;object-fit:contain;display:block;background:transparent;pointer-events:none;user-select:none;image-rendering:auto}.fm-map-node-image.fm-image-missing .fm-node-render{background:transparent!important}.fm-map-node-image.fm-image-missing img{visibility:hidden}.fm-map-node-image.fm-image-missing::before{content:"";position:absolute;inset:22%;border:1px dashed rgba(110,128,151,.42);border-radius:10px;pointer-events:none}.fm-node-render .fm-node-text{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:7px;line-height:1.2;overflow:hidden}.fm-map-node::after{content:"";position:absolute;inset:-7px;border-radius:calc(var(--node-radius,14px) + 4px);border:3px solid transparent;pointer-events:none;transition:.18s ease}.fm-map-node.is-active::after{border-color:rgba(24,183,104,.94);box-shadow:0 0 18px rgba(24,183,104,.34)}.fm-map-node.is-disabled::after{border-color:rgba(223,67,86,.96);box-shadow:0 0 18px rgba(223,67,86,.28)}.fm-map-node.is-disabled .fm-node-render{filter:saturate(.62) brightness(.94)}.fm-map-node.status-mastered::after{border-color:#12c468;box-shadow:0 0 18px rgba(18,196,104,.5),0 0 38px rgba(18,196,104,.25)}.fm-map-node.status-strong::after{border-color:#1cb16c;box-shadow:0 0 18px rgba(28,177,108,.25)}.fm-map-node.status-developing::after{border-color:#eda426;box-shadow:0 0 18px rgba(237,164,38,.24)}.fm-map-node.status-repeat::after{border-color:#de4a5e;box-shadow:0 0 20px rgba(222,74,94,.28)}.fm-map-node.status-unseen::after{border-color:rgba(137,151,181,.46)}.fm-map-node:hover{z-index:8;filter:brightness(1.05);transform:scale(1.025)}.fm-map-viewport.is-panning .fm-map-node{pointer-events:none}.fm-map-viewport.is-panning .fm-map-node:hover{filter:none;transform:none}.fm-map-viewport.is-panning .fm-map-node::before,.fm-map-viewport.is-panning .fm-map-node::after{animation:none!important;box-shadow:none!important}.fm-map-fit{position:absolute;left:50%;bottom:20px;z-index:20;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid rgba(255,255,255,.78)!important;border-radius:16px!important;background:rgba(12,91,150,.52)!important;color:#fff!important;font-size:11px!important;font-weight:900!important;box-shadow:0 14px 36px rgba(8,64,106,.24)!important;backdrop-filter:blur(11px);opacity:.72;transition:.18s ease}.fm-map-fit:hover{opacity:1;transform:translateX(-50%) translateY(-2px);background:rgba(7,128,199,.76)!important}.fm-map-background{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:.3;pointer-events:none}
html[data-theme="dark"] .fm-map-viewport{background:radial-gradient(circle at 50% 28%,#1b2b37,#101c26);border-color:#30495b}
@media(prefers-reduced-motion:reduce){.fm-map-world.is-smooth{transition-duration:.01ms!important}}
/* V7.8.1 — presentation mobile rendering keeps the huge mind-map world vector-friendly. */
.fm-map-world.fm-vector-safe.is-moving{will-change:auto!important}
.fm-map-world.fm-vector-safe .canonical-edge{shape-rendering:geometricPrecision}
