/* lineage-curation.css — dev-mode curation overlay (only visible with ?dev=1).
   Normal visitors never load this behavior. Star / redact / retitle controls per card. */

/* Overflow (past the gallery cap) and redacted cards are rendered into the page but
   hidden from normal visitors. Dev mode (?dev=1 adds body.gm-dev) reveals them so a
   curation pass can star/redact across the FULL set, not just the visible cap. */
.gcard.gm-overflow, .gcard.gm-redacted-hide{ display:none; }
body.gm-dev .gcard.gm-overflow, body.gm-dev .gcard.gm-redacted-hide{ display:block; }
.gm-dev-bar{
  position:fixed; top:0; left:0; right:0; z-index:9000;
  display:flex; align-items:center; gap:14px; padding:8px 16px;
  background:#0d0d11; border-bottom:1px solid var(--accent,#2fb3b8);
  font-family:"IBM Plex Mono",monospace; font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink-soft,#b4afa7);
}
.gm-dev-bar b{ color:var(--accent,#2fb3b8); }
.gm-dev-bar .gm-spacer{ flex:1; }
.gm-dev-bar button{
  font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.12em;
  text-transform:uppercase; cursor:pointer; padding:7px 12px;
  background:#11110f; color:var(--ink,#ece9e3); border:1px solid var(--rule,#38332e);
}
.gm-dev-bar button:hover{ border-color:var(--accent,#2fb3b8); color:var(--accent,#2fb3b8); }
.gm-dev-bar button.gm-primary{ border-color:var(--accent,#2fb3b8); color:var(--accent,#2fb3b8); }
body.gm-dev{ padding-top:42px; }

/* per-card controls */
.gcard{ position:relative; }
.gm-card-ctl{
  position:absolute; top:6px; left:6px; right:6px; z-index:5;
  display:none; gap:6px; align-items:center;
}
body.gm-dev .gm-card-ctl{ display:flex; }
.gm-card-ctl button{
  font-family:"IBM Plex Mono",monospace; font-size:12px; line-height:1;
  cursor:pointer; padding:5px 8px; border:1px solid var(--rule,#38332e);
  background:rgba(10,10,11,.82); color:var(--ink-soft,#b4afa7);
}
.gm-card-ctl button:hover{ color:var(--ink,#ece9e3); border-color:var(--accent,#2fb3b8); }
.gm-card-ctl .gm-on{ color:#e0b86a; border-color:#e0b86a; }       /* starred */
.gm-card-ctl .gm-red.gm-on{ color:#b85f5f; border-color:#b85f5f; } /* redacted */
.gm-spacer-sm{ flex:1; }
/* visually mark redacted cards in dev (they're hidden for real visitors) */
body.gm-dev .gcard.gm-is-redacted{ outline:2px solid #b85f5f; opacity:.55; }
body.gm-dev .gcard.gm-is-starred{ outline:2px solid #e0b86a; }
.gm-toast{
  position:fixed; bottom:18px; left:50%; transform:translateX(-50%); z-index:9100;
  background:#0d0d11; border:1px solid var(--accent,#2fb3b8); color:var(--ink,#ece9e3);
  font-family:"IBM Plex Mono",monospace; font-size:11px; padding:9px 16px; opacity:0;
  transition:opacity .2s ease; pointer-events:none;
}
.gm-toast.show{ opacity:1; }
