/* ==========================================================================
   Evidence website - IN-CONTEXT COPY EDITOR chrome (edit.js).
   A pencil fab (above the comment bubble) toggles edit mode: double-click any
   copy to rewrite it in place; the override saves to /api/edits and re-applies
   on top of the deployed source on every load. A drawer lists every change for
   review, download, and copy-out. 4px grid per the brand rule.
   ========================================================================== */
.edit-fab{position:fixed;right:16px;bottom:136px;z-index:80;width:48px;height:48px;border:0;border-radius:var(--radius-pill);background:var(--forest);color:var(--lime);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 28px -10px rgba(15,23,42,0.4);transition:transform .15s ease,background .2s ease;}
.edit-fab:hover{transform:translateY(-2px);}
.edit-fab svg{width:24px;height:24px;stroke-width:2.4;}
.edit-fab--on{background:var(--lime);color:var(--forest);}
.edit-fab__count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 4px;border-radius:var(--radius-pill);background:var(--lime-300);color:var(--forest);font-family:var(--font-body);font-size:14px;font-weight:700;line-height:20px;}

/* edit mode: highlight the copy the pointer is over, mark the one being edited */
.edit-hot{outline:2px solid var(--lime);outline-offset:2px;border-radius:4px;cursor:text;}
.edit-active{outline:3px solid var(--lime);outline-offset:2px;border-radius:4px;background:color-mix(in srgb,var(--lime) 12%,transparent);cursor:text;}
.edit-active:focus{outline:3px solid var(--lime);}
/* an already-edited element wears a lime underline, but only while the mode is on */
body.is-editing .edit-done{box-shadow:inset 0 -2px 0 0 var(--lime-300);}

/* the inline edit bar: floats by the element being rewritten */
.edit-bar{position:fixed;z-index:84;width:300px;background:#fff;border-radius:16px;padding:16px;box-shadow:0 25px 50px -12px rgba(15,23,42,0.32);font-family:var(--font-body);color:var(--ink);display:flex;flex-direction:column;gap:8px;}
.edit-bar__hint{font-size:14px;line-height:1.4;color:var(--ink);}
.edit-bar__note{border:0;background:var(--fill-2);color:var(--ink);font-family:var(--font-body);font-size:14px;padding:12px;border-radius:12px;width:100%;}
.edit-bar__note:focus{outline:3px solid var(--lime);}
.edit-bar__row{display:flex;gap:8px;justify-content:space-between;align-items:center;}
.edit-bar__row--end{justify-content:flex-end;}
.edit-btn{border:0;background:var(--forest);color:var(--lime);font-family:var(--font-body);font-weight:600;font-size:14px;padding:8px 16px;border-radius:var(--radius-pill);cursor:pointer;}
.edit-btn:disabled{opacity:0.4;cursor:default;}
.edit-btn--quiet{background:var(--fill-2);color:var(--ink);}
.edit-btn--text{background:transparent;color:var(--green-700);padding:8px 4px;}

/* toast: a brief saved/failed confirmation */
.edit-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(8px);z-index:90;background:var(--forest);color:var(--lime);font-family:var(--font-body);font-weight:600;font-size:14px;padding:12px 20px;border-radius:var(--radius-pill);box-shadow:0 12px 28px -10px rgba(15,23,42,0.5);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s var(--ease-silk);}
.edit-toast--show{opacity:1;transform:translateX(-50%) translateY(0);}
.edit-toast--err{background:var(--grapefruit-companion);color:var(--grapefruit);}

/* panel: a full-height drawer from the right - every edit across pages */
.edit-panel{position:fixed;top:0;right:0;bottom:0;z-index:84;width:440px;max-width:calc(100vw - 64px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:24px 0 0 24px;padding:24px;box-shadow:-24px 0 48px -16px rgba(15,23,42,0.28);font-family:var(--font-body);color:var(--ink);transform:translateX(105%);transition:transform .35s var(--ease-silk);}
.edit-panel--open{transform:translateX(0);}
@media(prefers-reduced-motion:reduce){.edit-panel{transition:none;}}
.edit-panel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;}
.edit-panel__title{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-0.01em;}
.edit-panel__close{border:0;background:var(--fill-2);color:var(--ink);width:28px;height:28px;border-radius:var(--radius-pill);font-size:16px;line-height:1;cursor:pointer;}
.edit-panel__hint{font-size:14px;line-height:1.4;color:var(--ink);margin-bottom:12px;}
.edit-panel__tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.edit-mini{border:0;background:var(--fill-2);color:var(--ink);font-family:var(--font-body);font-weight:600;font-size:14px;padding:8px 12px;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;align-items:center;gap:4px;}
.edit-mini svg{width:16px;height:16px;stroke-width:2.4;}
.edit-mini--on{background:var(--forest);color:var(--lime);}
.edit-mini--accent{background:var(--lime-300);color:var(--forest);}
.edit-panel__empty{font-size:14px;line-height:1.5;color:var(--ink);padding:8px 0;}
.edit-panel__body{display:flex;flex-direction:column;gap:8px;}

.edit-row{display:flex;flex-direction:column;gap:8px;text-align:left;background:var(--fill-1);border-radius:16px;padding:16px;}
.edit-row__top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.edit-row__author{font-weight:700;font-size:14px;color:var(--ink);}
.edit-row__where{font-size:14px;font-weight:600;color:var(--green-700);cursor:pointer;}
.edit-row__diff{display:flex;flex-direction:column;gap:4px;}
.edit-row__old{font-size:14px;line-height:1.4;color:var(--ink);text-decoration:line-through;text-decoration-color:var(--grapefruit-companion);}
.edit-row__new{font-size:14px;line-height:1.4;color:var(--ink);font-weight:600;}
.edit-row__note{font-size:14px;line-height:1.4;color:var(--ink);background:var(--fill-2);border-radius:8px;padding:8px 12px;}
.edit-row__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.edit-row__time{font-size:14px;color:var(--ink);}
.edit-row__acts{display:flex;gap:4px;}
.edit-row__pill{font-size:14px;font-weight:700;color:var(--forest);background:var(--lime-300);border-radius:var(--radius-pill);padding:4px 12px;}
.edit-row--merged{background:var(--fill-2);}
