/* The profile sheet (js/nm-profile-panel.js, window.NMProfile / NMFeed), shared by the map (index.php) and the Planetarium (planetarium.php).
   Everything here is prefixed nmp- (plus nm-cpin, the map highlight). Moved out of NightMap.css so the Planetarium can load just this. */
@keyframes nme-slide { from { transform: translateX(100%); } to { transform: none; } }
@keyframes nme-slide-out { from { transform: none; } to { transform: translateX(100%); } }
.nmp-root.nme-leaving .nmp-sheet { animation: nme-slide-out 0.32s cubic-bezier(0.5, 0, 0.75, 0.3) forwards; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .nmp-sheet { animation: none; } }
@media (max-width: 520px) { .nmp-sheet { width: 100vw; border-left: 0; padding-left: 12px; padding-right: 12px; } }

/* ---------- Profile and Following-feed side panel (js/nm-profile-panel.js, window.NMProfile / NMFeed) ----------
   Same sheet as the Eclipse panel (right-hand, warm theme, map stays usable beside it). Prefix nmp-. The map highlight for a member's
   contributions is nm-cpin (labelled rings on their own Leaflet pane) plus body.nm-contrib-focus, which dims every other pin. */
.nmp-root[hidden] { display: none; }
.nmp-root { position: fixed; inset: 0; z-index: 2000; pointer-events: none; }
.nmp-sheet {
    --nmp-bg: rgb(29, 26, 21); --nmp-card: #26221c; --nmp-text: #f2ece0; --nmp-body: #e2dccb; --nmp-muted: #b3ab97;
    --nmp-border: rgba(148, 140, 120, 0.28); --nmp-accent: #9beeff;
    pointer-events: auto; position: absolute; top: 0; right: 0; bottom: 0; width: min(100vw, 456px);
    background: var(--nmp-bg); color: var(--nmp-text); border-left: 1px solid var(--nmp-border);
    box-shadow: -18px 0 40px rgba(0, 0, 0, 0.35); font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
    scrollbar-width: thin; scrollbar-color: rgba(148, 140, 120, 0.5) transparent;
    padding: 0 16px calc(32px + env(safe-area-inset-bottom, 0px)); outline: none; animation: nme-slide 0.42s cubic-bezier(0.22, 0.8, 0.25, 1);
}
.nmp-bar {
    position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 8px; margin: 0 -16px 14px;
    padding: calc(10px + env(safe-area-inset-top, 0px)) 12px 10px 14px; min-height: 52px; box-sizing: border-box;
    background: linear-gradient(to bottom, var(--nmp-bg) 78%, rgba(29, 26, 21, 0));
}
.nmp-bar-title { font: 700 11px/1 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: 0.16em; text-transform: uppercase; color: var(--nmp-muted); margin-right: auto; }
.nmp-bar-title[hidden] { display: none; }
.nmp-back {
    display: inline-flex; align-items: center; gap: 4px; margin-right: 4px; padding: 6px 8px 6px 4px; border: 0; border-radius: 3px;
    background: transparent; color: var(--nmp-text); font: 600 13px/1 system-ui, -apple-system, "Segoe UI", sans-serif; cursor: pointer; box-shadow: none;
}
.nmp-back[hidden] { display: none; }
.nmp-back svg { width: 18px; height: 18px; }
.nmp-back:hover { background: rgba(242, 236, 224, 0.08); color: var(--nmp-accent); }
.nmp-close { width: 32px; height: 32px; padding: 0; border: 0; border-radius: 3px; background: transparent; cursor: pointer; display: grid; place-items: center; box-shadow: none; }
.nmp-close:hover { background: rgba(242, 236, 224, 0.08); }
.nmp-close img { opacity: 0.8; display: block; }
.nmp-in { animation: nme-in 0.3s cubic-bezier(0.2, 0.7, 0.2, 1); }
.nmp-note, .nmp-empty { margin: 8px 2px; font-size: 13.5px; line-height: 1.5; color: var(--nmp-muted); }
.nmp-lead { margin: 6px 2px 16px; font: 400 17px/1.5 Georgia, "Times New Roman", serif; color: var(--nmp-body); }
.nmp-center { padding: 40px 4px; text-align: center; }
.nmp-eyebrow { margin: 0 2px 10px; font: 700 11px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: 0.16em; text-transform: uppercase; color: var(--nmp-accent); }
.nmp-title { margin: 0 2px 14px; font: 400 32px/1.1 Georgia, "Times New Roman", serif; letter-spacing: -0.012em; color: var(--nmp-text); }
.nmp-head { display: flex; align-items: center; gap: 16px; margin: 4px 2px 14px; }
.nmp-who { min-width: 0; }
.nmp-name { margin: 0 0 6px; font: 400 30px/1.1 Georgia, "Times New Roman", serif; letter-spacing: -0.01em; overflow-wrap: anywhere; }
.nmp-follow-counts { display: flex; gap: 14px; flex-wrap: wrap; }
.nmp-linkbtn { appearance: none; border: 0; background: none; padding: 0; margin: 0; color: var(--nmp-muted); font: 500 13px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif; cursor: pointer; box-shadow: none; text-align: left; }
.nmp-linkbtn b { color: var(--nmp-text); font-weight: 650; }
.nmp-linkbtn:hover { color: var(--nmp-accent); }
.nmp-linkbtn--name { color: var(--nmp-text); font-weight: 650; font-size: 14.5px; }
.nmp-av { --s: 40px; position: relative; flex: none; display: inline-grid; place-items: center; width: var(--s); height: var(--s); border-radius: 50%; overflow: hidden; color: #fff; font: 600 calc(var(--s) * 0.42)/1 system-ui, -apple-system, "Segoe UI", sans-serif; }
.nmp-av img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nmp-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 2px 14px; }
.nmp-btn {
    appearance: none; border: 1px solid var(--nmp-border); background: transparent; color: var(--nmp-text); text-decoration: none; display: inline-block;
    padding: 9px 14px; border-radius: 3px; font: 600 13.5px/1.2 system-ui, -apple-system, "Segoe UI", sans-serif; cursor: pointer; box-shadow: none;
}
.nmp-btn:hover { border-color: rgba(148, 140, 120, 0.6); color: var(--nmp-accent); }
.nmp-btn--primary { background: var(--nmp-accent); border-color: var(--nmp-accent); color: #0d1a1d; }
.nmp-btn--primary:hover { color: #0d1a1d; filter: brightness(1.06); }
.nmp-btn--map { margin: 0 2px 10px; }
.nmp-btn--map.is-on { border-color: var(--nmp-accent); color: var(--nmp-accent); background: rgba(155, 238, 255, 0.08); }
.nmp-btn--more { display: block; width: 100%; margin-top: 8px; text-align: center; }
.nmp-links, .nmp-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 2px 12px; }
.nmp-chips { margin: 0; }
.nmp-chip { display: inline-block; padding: 5px 10px; border: 1px solid var(--nmp-border); border-radius: 3px; font-size: 12.5px; line-height: 1.3; color: var(--nmp-body); text-decoration: none; }
a.nmp-chip { color: var(--nmp-accent); }
a.nmp-chip:hover { border-color: var(--nmp-accent); }
.nmp-chip--static { background: rgba(255, 255, 255, 0.03); }
.nmp-bio { margin: 0 2px 6px; font: 400 17px/1.55 Georgia, "Times New Roman", serif; color: var(--nmp-body); overflow-wrap: anywhere; }
.nmp-group { margin: 26px 2px 10px; font: 700 11px/1 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: 0.16em; text-transform: uppercase; color: var(--nmp-muted); }
.nmp-count { margin-left: 4px; padding: 2px 6px; border-radius: 3px; background: rgba(255, 255, 255, 0.06); letter-spacing: 0; font-size: 11px; color: var(--nmp-body); }
.nmp-gearrow { display: grid; gap: 6px; margin: 0 2px 12px; }
.nmp-gearlabel { font-size: 12px; color: var(--nmp-muted); }
.nmp-gearother { font-size: 14px; line-height: 1.5; color: var(--nmp-body); overflow-wrap: anywhere; }
.nmp-list { list-style: none; margin: 0; padding: 0; }
.nmp-row {
    appearance: none; display: flex; align-items: baseline; gap: 10px; width: 100%; box-sizing: border-box; padding: 10px 6px; margin: 0; border: 0; border-bottom: 1px solid var(--nmp-border);
    background: transparent; color: var(--nmp-text); text-align: left; font: inherit; cursor: pointer; box-shadow: none; border-radius: 0;
}
div.nmp-row { cursor: default; }
button.nmp-row:hover { background: rgba(242, 236, 224, 0.05); }
.nmp-row-t { font-size: 14.5px; font-weight: 600; overflow-wrap: anywhere; }
.nmp-row-m { margin-left: auto; font-size: 12px; color: var(--nmp-muted); text-align: right; flex: none; }
.nmp-row--person { align-items: center; }
.nmp-row--person .nmp-row-t { margin-left: 2px; }
.nmp-photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.nmp-photo { position: relative; appearance: none; display: block; padding: 0; border: 0; border-radius: 4px; overflow: hidden; aspect-ratio: 1; background: var(--nmp-card); cursor: pointer; box-shadow: none; }
.nmp-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.nmp-photo:hover img { transform: scale(1.05); }
.nmp-photo span { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 6px 5px; font-size: 11px; line-height: 1.25; color: #fff; text-align: left; background: linear-gradient(to top, rgba(10, 9, 7, 0.85), rgba(10, 9, 7, 0)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nmp-listcard { margin: 0 2px 12px; padding: 12px 13px; border: 1px solid var(--nmp-border); border-radius: 6px; background: rgba(255, 255, 255, 0.03); }
.nmp-listtitle { margin-bottom: 8px; font: 400 18px/1.2 Georgia, "Times New Roman", serif; }
/* feed posts */
.nmp-post { margin: 0 0 14px; border: 1px solid var(--nmp-border); border-radius: 8px; background: var(--nmp-card); overflow: hidden; }
.nmp-post-h { display: flex; align-items: center; gap: 10px; padding: 12px 13px 10px; }
.nmp-avbtn { appearance: none; border: 0; background: none; padding: 0; cursor: pointer; box-shadow: none; line-height: 0; }
.nmp-post-l { font-size: 14px; line-height: 1.35; color: var(--nmp-body); }
.nmp-post-t { margin-top: 1px; font-size: 12px; color: var(--nmp-muted); }
.nmp-post-b { appearance: none; display: block; width: 100%; padding: 0 0 13px; border: 0; background: transparent; color: inherit; text-align: left; font: inherit; cursor: pointer; box-shadow: none; }
.nmp-post-b:hover .nmp-post-act { color: var(--nmp-accent); text-decoration-color: var(--nmp-accent); }
.nmp-post-img { display: block; width: 100%; max-height: 260px; object-fit: cover; margin-bottom: 10px; background: #1a1712; }
.nmp-post-title, .nmp-post-meta, .nmp-post-act { display: block; padding: 0 13px; }
.nmp-post-title { font: 400 19px/1.25 Georgia, "Times New Roman", serif; color: var(--nmp-text); }
.nmp-post-meta { margin-top: 3px; font-size: 12.5px; color: var(--nmp-muted); }
.nmp-post-act { margin-top: 8px; font-size: 12.5px; color: var(--nmp-body); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255, 255, 255, 0.3); }
body.nmp-open .nm-debug-clear { visibility: hidden !important; }

/* a member's contributions on the map */
body.nm-contrib-focus .leaflet-marker-pane .leaflet-marker-icon,
body.nm-contrib-focus .leaflet-shadow-pane .leaflet-marker-shadow { opacity: 0.2 !important; filter: grayscale(1); transition: opacity 0.3s ease; }
.nm-cpin { pointer-events: auto; }
.nm-cpin-dot { position: absolute; left: -6px; top: -6px; width: 12px; height: 12px; border-radius: 50%; background: #9beeff; border: 2px solid #0d1a1d; box-shadow: 0 0 0 1px rgba(155, 238, 255, 0.9); }
.nm-cpin-ring { position: absolute; left: -17px; top: -17px; width: 34px; height: 34px; border-radius: 50%; border: 2px solid #9beeff; box-sizing: border-box; background: rgba(155, 238, 255, 0.12); animation: nm-cpin-pulse 2.4s ease-out infinite; }
@keyframes nm-cpin-pulse { 0% { transform: scale(0.6); opacity: 1; } 70%, 100% { transform: scale(1.25); opacity: 0.25; } }
.nm-cpin-label {
    position: absolute; left: 14px; top: -11px; padding: 3px 8px; border-radius: 3px; white-space: nowrap; max-width: 220px; overflow: hidden; text-overflow: ellipsis;
    background: rgba(29, 26, 21, 0.94); border: 1px solid rgba(155, 238, 255, 0.55); color: #f2ece0; font: 600 12px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif;
    text-shadow: none; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}
.nm-cpin--nolabel .nm-cpin-label { display: none; }
.nm-cpin--nolabel:hover .nm-cpin-label { display: block; }
.nm-cpin:hover { z-index: 9999 !important; }
.nm-cpin-chip {
    position: fixed; top: calc(14px + env(safe-area-inset-top, 0px)); left: 50%; transform: translateX(-50%); z-index: 1900; display: flex; align-items: center; gap: 12px;
    padding: 8px 8px 8px 14px; border-radius: 4px; background: rgba(29, 26, 21, 0.96); border: 1px solid rgba(155, 238, 255, 0.55); color: #f2ece0;
    font: 500 13px/1.2 system-ui, -apple-system, "Segoe UI", sans-serif; box-shadow: 0 6px 24px rgba(0, 0, 0, 0.4); max-width: calc(100vw - 24px);
}
.nm-cpin-chip b { color: #9beeff; }
.nm-cpin-chip button { appearance: none; border: 1px solid rgba(148, 140, 120, 0.4); background: transparent; color: #f2ece0; border-radius: 3px; padding: 5px 10px; font: 600 12px/1 system-ui, sans-serif; cursor: pointer; box-shadow: none; }
.nm-cpin-chip button:hover { color: #9beeff; border-color: #9beeff; }
@media (max-width: 700px) {
    .nmp-title { font-size: 28px; }
    .nm-cpin-chip { top: auto; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
}

/* collapsible profile sections */
.nmp-sec { margin: 0; }
.nmp-sec > summary.nmp-group { display: flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; user-select: none; }
.nmp-sec > summary.nmp-group::-webkit-details-marker { display: none; }
.nmp-sec > summary.nmp-group::before { content: ""; width: 7px; height: 7px; margin-right: 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform 0.15s ease; flex: none; }
.nmp-sec[open] > summary.nmp-group::before { transform: rotate(45deg); }
.nmp-sec > summary.nmp-group:hover { color: var(--nmp-accent); }
.nmp-secbody { padding-bottom: 2px; }


/* Social: profile privacy pill and switches, feed notices, the unread number on the profile icon */
.nmp-pill { display: inline-block; vertical-align: middle; margin-left: 6px; padding: 2px 8px; border: 1px solid var(--nmp-border); border-radius: 999px; font: 600 10.5px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nmp-muted); background: rgba(255, 255, 255, 0.04); }
.nmp-name .nmp-pill { margin-left: 10px; font-size: 11px; }
.nmp-switch { position: relative; flex: none; width: 34px; height: 20px; padding: 0; border: 1px solid var(--nmp-border); border-radius: 999px; background: rgba(255, 255, 255, 0.08); cursor: pointer; transition: background 0.15s ease; }
.nmp-switch::after { content: ""; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--nmp-muted); transition: transform 0.15s ease, background 0.15s ease; }
.nmp-switch[aria-checked="true"] { background: rgba(155, 238, 255, 0.28); border-color: var(--nmp-accent); }
.nmp-switch[aria-checked="true"]::after { transform: translateX(14px); background: var(--nmp-accent); }
.nmp-switch:disabled { opacity: 0.5; cursor: progress; }
.nmp-switch:focus-visible { outline: 2px solid var(--nmp-accent); outline-offset: 2px; }
.nmp-vis { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; text-transform: none; letter-spacing: 0; }
.nmp-vis-l { font: 500 11px/1 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--nmp-muted); }
.nmp-sec.is-hidden > summary { opacity: 0.7; }
.nmp-sec.is-hidden .nmp-secbody { opacity: 0.55; }
.nmp-visrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 14px 2px 6px; font: 700 11px/1 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: 0.16em; text-transform: uppercase; color: var(--nmp-muted); }
.nmp-visrow.is-hidden { opacity: 0.7; }
.nmp-privrow { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 14px 0 4px; padding: 12px 14px; border: 1px solid var(--nmp-border); border-radius: 3px; }
.nmp-privrow b { display: block; font: 600 14px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--nmp-body); }
.nmp-privrow span { display: block; margin-top: 3px; font: 400 12.5px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--nmp-muted); }
.nmp-notice { padding: 0; }
.nmp-notice-b { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border: 0; background: none; color: var(--nmp-body); text-align: left; text-decoration: none; cursor: pointer; font: inherit; }
.nmp-notice-t { flex: 1; min-width: 0; font: 400 14px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif; }
.nmp-notice-t .nmp-post-t { display: block; margin-top: 2px; }
.nmp-notice.is-unread { border-color: var(--nmp-accent); }
.nmp-dot { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--nmp-accent); }

/* Profile "View as" preview */
.nmp-viewas { display: flex; align-items: center; gap: 6px; margin: 12px 0 4px; font: 600 12px/1 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--nmp-muted); }
.nmp-viewas > span { margin-right: 4px; letter-spacing: 0.08em; text-transform: uppercase; font-size: 11px; }
.nmp-viewas button { padding: 6px 12px; border: 1px solid var(--nmp-border); border-radius: 999px; background: none; color: var(--nmp-body); font: inherit; cursor: pointer; }
.nmp-viewas button[aria-pressed="true"] { background: rgba(155, 238, 255, 0.16); border-color: var(--nmp-accent); color: var(--nmp-accent); }

/* Profile redesign: stat tiles, activity feed, section screens */
.nmp-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 18px 0 6px; }
.nmp-tile { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 14px 6px 11px; border: 1px solid var(--nmp-border); border-radius: 8px; background: var(--nmp-card); color: var(--nmp-body); cursor: pointer; font: inherit; transition: border-color 0.15s ease, background 0.15s ease; }
.nmp-tile:hover { border-color: var(--nmp-accent); }
.nmp-tile:focus-visible { outline: 2px solid var(--nmp-accent); outline-offset: 2px; }
.nmp-tile-i { color: var(--nmp-accent); display: inline-flex; }
.nmp-tile b { font: 400 24px/1.1 Georgia, "Times New Roman", serif; color: var(--nmp-text); }
.nmp-tile-l { font: 600 10.5px/1.2 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: 0.1em; text-transform: uppercase; color: var(--nmp-muted); }
.nmp-tile.is-zero { opacity: 0.6; }
.nmp-tile.is-zero b { color: var(--nmp-muted); }
.nmp-tile.is-hidden { border-style: dashed; opacity: 0.6; }
.nmp-tile-h { position: absolute; top: 5px; right: 6px; font: 600 9px/1 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nmp-muted); }
.nmp-sechead { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.nmp-sechead .nmp-title { margin: 0 0 6px; }
.nmp-actsec { margin-top: 12px; }
.nmp-actsec.is-hidden .nmp-feed { opacity: 0.5; }
.nmp-act { margin: 0 0 12px; border: 1px solid var(--nmp-border); border-radius: 8px; background: var(--nmp-card); overflow: hidden; }
.nmp-act--row { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; }
.nmp-act-ico { flex: none; display: inline-flex; margin-top: 1px; color: var(--nmp-muted); }
.nmp-act-ico.nmp-tick { color: #4ade80; }
.nmp-act-b { flex: 1; min-width: 0; font: 400 14px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif; }
.nmp-act-t { color: var(--nmp-muted); font-size: 12.5px; }
.nmp-act-link { display: inline; padding: 0; color: var(--nmp-text); font: 500 15px/1.35 Georgia, "Times New Roman", serif; text-decoration: none; text-align: left; background: none; border: 0; cursor: pointer; }
a.nmp-act-link:hover, button.nmp-act-link:hover { color: var(--nmp-accent); }
.nmp-act-meta { margin-left: 8px; font-size: 12px; color: var(--nmp-muted); }
.nmp-act-time { display: block; margin-top: 3px; font-size: 12px; color: var(--nmp-muted); }
.nmp-act-thumb { flex: none; width: 52px; height: 52px; border-radius: 6px; object-fit: cover; }
.nmp-act .nmp-chips { margin-top: 6px; }
.nmp-act--photo { padding: 0; }
.nmp-act-img { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #0f0d0a; cursor: pointer; }
.nmp-act-img img { display: block; width: 100%; max-height: 300px; object-fit: cover; }
.nmp-badge { position: absolute; left: 10px; top: 10px; padding: 4px 10px; border-radius: 999px; background: rgba(18, 16, 13, 0.78); border: 1px solid rgba(155, 238, 255, 0.45); color: var(--nmp-accent); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); font: 600 11px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: 0.04em; }
.nmp-act-cap { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 10px 14px 12px; font: 500 15px/1.35 Georgia, "Times New Roman", serif; color: var(--nmp-text); }
.nmp-act-cap .nmp-act-time { margin: 0; flex: none; }
/* Chips that are buttons (activity feed places) must not take the page's light button look */
.nmp-sheet button.nmp-chip { background: rgba(255, 255, 255, 0.05); color: var(--nmp-body); border: 1px solid var(--nmp-border); cursor: pointer; font-family: inherit; }
.nmp-sheet button.nmp-chip:hover { border-color: var(--nmp-accent); color: var(--nmp-accent); }


/* Profile sheet steps aside while the image lightbox is open (NMPanels.tuckAway) */
.nmp-root .nmp-sheet { transition: transform 0.28s ease; }
.nmp-root.nm-tucked .nmp-sheet { transform: translateX(105%); }
.nmp-tick { color: #4ade80; }
