.nmap{--nm-ink: #1a2235;--nm-paper: #f2f0e8;--nm-line: #d0cdc1;--nm-lime: #c8e600;--nm-muted: #4b5468;position:relative;width:100%;overflow:hidden;background:linear-gradient(var(--nm-line) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg,var(--nm-line) 1px,transparent 1px) 0 0 / 28px 28px,var(--nm-paper);background-blend-mode:normal;isolation:isolate}.nmap-canvas{position:absolute!important;inset:0;width:100%;height:100%}.nmap-canvas[hidden]{display:none}.nmap-veil{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center;font-size:12px;font-weight:600;color:var(--nm-muted);background:color-mix(in srgb,var(--nm-paper) 82%,transparent)}.nmap-veil-soft{inset:auto 12px 12px auto;padding:6px 10px;border:1px solid var(--nm-line);background:var(--nm-paper)}.nmap-spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--nm-line);border-top-color:var(--nm-ink);animation:nmap-spin .8s linear infinite}@keyframes nmap-spin{to{transform:rotate(360deg)}}.nmap-static{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.nmap-static-note{position:absolute;left:8px;bottom:8px;z-index:2;padding:3px 7px;font-size:10.5px;font-weight:700;letter-spacing:.02em;color:var(--nm-paper);background:var(--nm-ink)}.nmap-switch{position:absolute;top:10px;left:10px;z-index:3;display:inline-flex;border:1px solid var(--nm-ink);background:var(--nm-paper);box-shadow:0 2px #1a22352e}.nmap-switch button{appearance:none;border:0;background:transparent;cursor:pointer;padding:5px 10px;font:inherit;font-size:11.5px;font-weight:700;color:var(--nm-ink)}.nmap-switch button+button{border-left:1px solid var(--nm-line)}.nmap-switch button:hover{background:#e6e3d7}.nmap-switch button.is-on{background:var(--nm-ink);color:var(--nm-lime)}.nmk{--nmk-color: #1a2235;position:relative;display:inline-flex;align-items:center;gap:6px;transform:translate(-50%,calc(-100% - 9px));padding:4px 9px 4px 4px;max-width:220px;background:var(--nmk-color);color:#f2f0e8;font-family:Pretendard,Noto Sans KR,sans-serif;font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap;border:1.5px solid #f2f0e8;box-shadow:0 3px 10px #1a223552;cursor:pointer;transition:transform .12s ease}.nmk:after{content:"";position:absolute;left:50%;top:100%;width:10px;height:10px;margin-left:-5px;margin-top:-4px;background:var(--nmk-color);border-right:1.5px solid #f2f0e8;border-bottom:1.5px solid #f2f0e8;transform:rotate(45deg)}.nmk:not(:has(.nmk-label)){padding:4px}.nmk-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:#c8e600;color:#1a2235;font-size:11px;font-weight:800}.nmk-dot{width:10px;height:10px;margin:4px;border-radius:50%;background:#c8e600}.nmk-label{overflow:hidden;text-overflow:ellipsis}.nmk.is-selected{transform:translate(-50%,calc(-100% - 9px)) scale(1.12);box-shadow:0 0 0 3px #c8e600,0 6px 16px #1a223566}.nmk-lime{--nmk-color: #c8e600;color:#1a2235;border-color:#1a2235}.nmk-lime:after{border-color:#1a2235}.nmk-lime .nmk-badge,.nmk-lime .nmk-dot{background:#1a2235;color:#c8e600}.nmk-start .nmk-badge{background:#c8e600}.nmk-goal{--nmk-color: #c8e600;color:#1a2235;border-color:#1a2235}.nmk-goal:after{border-color:#1a2235}.nmk-goal .nmk-badge{background:#1a2235;color:#c8e600}.nmk-via{--nmk-color: #4b5468}.nmk.has-color .nmk-badge{background:#f2f0e8;color:var(--nmk-color)}.nmk.is-light{color:#1a2235;border-color:#1a2235}.nmk.is-light:after{border-color:#1a2235}.nmk.is-light .nmk-dot{background:#1a2235}.nmk.has-color .nmk-dot{background:#f2f0e8;box-shadow:inset 0 0 0 2px var(--nmk-color)}.nmk.is-light.has-color .nmk-dot{background:#1a2235;box-shadow:none}.nmk-compact{padding:3px 7px 3px 3px;font-size:11px}.nmap.is-picking .nmap-canvas,.nmap.is-picking .nmap-canvas *{cursor:crosshair!important}.nmk.nmk-tag{transform:translate(-50%,-50%);padding:1px 6px;gap:0;background:#f2f0e8eb;color:#1a2235;border:1px solid rgba(26,34,53,.45);box-shadow:none;font-size:10.5px}.nmk.nmk-tag:after{display:none}.nmk.nmk-tag .nmk-dot{display:none}.nmk.nmk-tag.is-selected{transform:translate(-50%,-50%) scale(1.12);background:#1a2235;color:#c8e600;box-shadow:0 0 0 2px #c8e600}
