/* ── Custom right-click menu ── */
#ci-ctxmenu {
  position: absolute;
  z-index: 99999;
  min-width: 190px;
  background: rgba(8,5,15,.97);
  border: 1px solid rgba(201,168,76,.35);
  border-radius: 8px;
  box-shadow: 0 12px 40px rgba(0,0,0,.85), 0 0 20px rgba(201,168,76,.07);
  font-family: 'Exo 2', 'Segoe UI', sans-serif;
  font-size: 12px;
  overflow: hidden;
  user-select: none;
}
.ci-ctx-header {
  padding: 10px 14px 8px;
  font-size: 12px;
  font-weight: 700;
  color: #f0ddb0;
  border-bottom: 1px solid rgba(201,168,76,.15);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 230px;
}
.ci-ctx-meta {
  padding: 6px 0 4px;
  border-bottom: 1px solid rgba(201,168,76,.12);
}
.ci-ctx-copy-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  cursor: pointer;
  transition: background .12s;
}
.ci-ctx-copy-row:hover {
  background: rgba(201,168,76,.08);
}
.ci-ctx-lbl {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: rgba(201,168,76,.45);
  width: 36px;
  flex-shrink: 0;
}
.ci-ctx-val {
  flex: 1;
  font-size: 11.5px;
  font-weight: 600;
  color: #c9a84c;
  font-variant-numeric: tabular-nums;
}
.ci-ctx-copy-ico {
  font-size: 13px;
  color: rgba(201,168,76,.35);
  transition: color .12s;
  flex-shrink: 0;
}
.ci-ctx-copy-row:hover .ci-ctx-copy-ico {
  color: #c9a84c;
}
.ci-ctx-sep {
  height: 1px;
  background: rgba(201,168,76,.1);
  margin: 3px 0;
}
.ci-ctx-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 14px;
  color: #c8b99a;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background .12s, color .12s;
}
.ci-ctx-item:hover {
  background: rgba(201,168,76,.1);
  color: #f0ddb0;
}
.ci-ctx-item-ico {
  font-size: 11px;
  width: 13px;
  text-align: center;
  flex-shrink: 0;
  color: rgba(201,168,76,.32);
  transition: color .12s;
}
.ci-ctx-item:hover .ci-ctx-item-ico { color: rgba(201,168,76,.75); }
/* Delete — red */
.ci-ctx-item[data-a="delete"]:hover {
  background: rgba(220,60,60,.12);
  color: #e07070;
}
.ci-ctx-item[data-a="delete"] .ci-ctx-item-ico { color: rgba(220,80,80,.4); }
.ci-ctx-item[data-a="delete"]:hover .ci-ctx-item-ico { color: #e07070; }
/* Bound/UnBound — purple tint */
.ci-ctx-item[data-a="bound"] .ci-ctx-item-ico,
.ci-ctx-item[data-a="unbound"] .ci-ctx-item-ico { color: rgba(170,130,220,.4); }
.ci-ctx-item[data-a="bound"]:hover .ci-ctx-item-ico,
.ci-ctx-item[data-a="unbound"]:hover .ci-ctx-item-ico { color: #c87dff; }
/* Cheat/UnCheat — gold tint */
.ci-ctx-item[data-a="cheat"] .ci-ctx-item-ico,
.ci-ctx-item[data-a="uncheat"] .ci-ctx-item-ico { color: rgba(201,168,76,.45); }
.ci-ctx-item[data-a="cheat"]:hover .ci-ctx-item-ico,
.ci-ctx-item[data-a="uncheat"]:hover .ci-ctx-item-ico { color: #c9a84c; }
/* Duplicate / Insert — green tint */
.ci-ctx-item[data-a="duplicate"] .ci-ctx-item-ico,
.ci-ctx-item[data-a="insert"] .ci-ctx-item-ico { color: rgba(80,200,120,.45); }
.ci-ctx-item[data-a="duplicate"]:hover .ci-ctx-item-ico,
.ci-ctx-item[data-a="insert"]:hover .ci-ctx-item-ico { color: #5dc87f; }
.ci-ctx-item[data-a="duplicate"]:hover,
.ci-ctx-item[data-a="insert"]:hover {
  background: rgba(80,200,120,.1);
  color: #a0eabb;
}

/* Prevent background scroll while modal is open */
body.ci-modal-open { overflow: hidden; }

/* ── Insert Index modal ── */
#ci-insert-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 199998;
  background: rgba(0,0,0,.65);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#ci-insert-box {
  background: #13100a;
  border: 1px solid rgba(201,168,76,.28);
  border-radius: 8px;
  width: 300px;
  box-shadow: 0 10px 40px rgba(0,0,0,.85);
  overflow: hidden;
}
.ci-ib-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(201,168,76,.14);
  font-size: 13px;
  font-weight: 700;
  color: #c9a84c;
}
#ci-ib-close {
  background: none;
  border: none;
  color: rgba(255,255,255,.3);
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
  padding: 0;
  transition: color .12s;
}
#ci-ib-close:hover { color: #e07070; }
.ci-ib-body { padding: 14px 16px 16px; }
.ci-ib-body label {
  display: block;
  font-size: 10.5px;
  font-weight: 700;
  color: rgba(201,168,76,.65);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 10px 0 4px;
}
.ci-ib-body label:first-child { margin-top: 0; }
.ci-ib-item-name {
  font-size: 13px;
  font-weight: 700;
  color: #f0ddb0;
  margin-bottom: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ci-ib-hint {
  font-size: 11px;
  color: rgba(201,168,76,.55);
  margin-bottom: 10px;
  line-height: 1.45;
}
.ci-ib-input {
  width: 100%;
  padding: 6px 10px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 4px;
  color: #e8d5a0;
  font-size: 13px;
  box-sizing: border-box;
  transition: border-color .15s;
}
.ci-ib-input:focus { outline: none; border-color: rgba(201,168,76,.55); }
.ci-ib-msg {
  font-size: 12px;
  padding: 6px 0 2px;
  margin-top: 6px;
}
.ci-ib-msg-err { color: #e07070; }
.ci-ib-msg-ok  { color: #5dc87f; }
.ci-ib-foot {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 14px;
}
.ci-ib-btn {
  padding: 6px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  border: none;
  transition: background .13s, color .13s;
}
.ci-ib-btn-grey {
  background: rgba(255,255,255,.09);
  color: rgba(255,255,255,.45);
}
.ci-ib-btn-grey:hover {
  background: rgba(255,255,255,.15);
  color: rgba(255,255,255,.7);
}
.ci-ib-btn-gold {
  background: linear-gradient(135deg,#c9a84c,#e0c068);
  color: #1a1400;
}
.ci-ib-btn-gold:hover { background: linear-gradient(135deg,#d4b558,#ead07a); }
.ci-ib-btn-gold:disabled { opacity: .5; cursor: not-allowed; }

/* ── Toast notifications ── */
.ci-copy-toast,   /* legacy alias */
.ci-toast-pop {
  position: fixed;
  bottom: 28px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 999999;
  /* default: info / gold */
  background: rgba(201,168,76,.16);
  border: 1px solid rgba(201,168,76,.45);
  color: #c9a84c;
  font-family: 'Exo 2', sans-serif;
  font-size: 12px;
  font-weight: 700;
  padding: 7px 22px;
  border-radius: 20px;
  pointer-events: none;
  letter-spacing: .4px;
  white-space: nowrap;
}
/* success — green */
.ci-toast-pop.ci-toast-ok {
  background: rgba(60,180,100,.18);
  border-color: rgba(60,180,100,.5);
  color: #5dc87f;
}
/* error — red */
.ci-toast-pop.ci-toast-err {
  background: rgba(220,60,60,.18);
  border-color: rgba(220,60,60,.45);
  color: #e07070;
}

/* ── Coven Dark Theme ── */
.context-menu-theme-coven {
  background: rgba(8,5,15,.97);
  border: 1px solid rgba(201,168,76,.38);
  border-radius: 6px;
  box-shadow: 0 8px 32px rgba(0,0,0,.75), 0 0 18px rgba(201,168,76,.08);
  overflow: hidden;
  min-width: 170px;
  padding: 4px 0;
  font-family: 'Exo 2', 'Segoe UI', sans-serif;
}
.context-menu-theme-coven .context-menu-item {
  color: #c8b99a;
  font-family: 'Exo 2', 'Segoe UI', sans-serif;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  background: none;
}
.context-menu-theme-coven .context-menu-item .context-menu-item-inner {
  padding: 8px 18px 8px 42px;
  background-repeat: no-repeat;
  background-position: 14px center;
  background-size: 14px 14px;
  transition: background-color .14s, color .14s;
}
.context-menu-theme-coven .context-menu-item-hover {
  background: rgba(201,168,76,.1);
}
.context-menu-theme-coven .context-menu-item-hover .context-menu-item-inner {
  color: #c9a84c;
}
.context-menu-theme-coven .context-menu-separator {
  border-top: 1px solid rgba(201,168,76,.1);
  border-bottom: none;
  margin: 3px 0;
  font-size: 0;
}
.context-menu-theme-coven .context-menu-item-disabled {
  color: rgba(201,168,76,.25);
  cursor: default;
}
.context-menu-theme-coven .context-menu-item-disabled-hover {
  background: none;
}
