/* ==========================================================================
   Evidence website - IN-CONTEXT FEEDBACK PINS chrome (comments.js).
   The speech-bubble fab sits above the palette brush; pins re-anchor live.
   4px grid per the brand rule.
   ========================================================================== */
.cmt-fab{position:fixed;right:16px;bottom:76px;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;}
.cmt-fab:hover{transform:translateY(-2px);}
.cmt-fab svg{width:24px;height:24px;stroke-width:2.4;}
.cmt-fab--on{background:var(--lime);color:var(--forest);}
.cmt-fab__count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 4px;border-radius:var(--radius-pill);background:var(--grapefruit-companion);color:var(--grapefruit);font-family:var(--font-body);font-size:14px;font-weight:700;line-height:20px;}

body.is-commenting{cursor:crosshair;}
body.is-commenting a,body.is-commenting button,body.is-commenting input,body.is-commenting select,body.is-commenting textarea{cursor:crosshair;}
body.is-commenting .cmt-fab,body.is-commenting .cmt-panel,body.is-commenting .cmt-panel *,body.is-commenting .cmt-compose,body.is-commenting .cmt-compose *,body.is-commenting .cmt-popover,body.is-commenting .cmt-popover *,body.is-commenting .cmt-pin{cursor:pointer;}
body.is-commenting .cmt-compose .cmt-in,body.is-commenting .cmt-popover .cmt-popover__text{cursor:auto;}

/* pins: the author's initial in a forest drop, white ring so it reads on any surface */
.cmt-pin{position:fixed;z-index:78;width:28px;height:28px;margin:-24px 0 0 -4px;border-radius:50% 50% 50% 4px;background:var(--forest);color:var(--lime);font-family:var(--font-body);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff,0 8px 20px -6px rgba(15,23,42,0.45);cursor:pointer;transition:transform .15s ease;}
.cmt-pin:hover{transform:scale(1.12);}
.cmt-pin--open{background:var(--lime);color:var(--forest);}

/* compose + popover cards */
.cmt-compose,.cmt-popover{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;}
.cmt-in{border:0;background:var(--fill-2);color:var(--ink);font-family:var(--font-body);font-size:14px;padding:12px;border-radius:12px;width:100%;}
.cmt-in:focus{outline:3px solid var(--lime);}
.cmt-in--area{min-height:84px;resize:vertical;}
.cmt-row{display:flex;gap:8px;justify-content:flex-end;}
.cmt-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;}
.cmt-btn:disabled{opacity:0.4;cursor:default;}
.cmt-btn--quiet{background:var(--fill-2);color:var(--ink);}
.cmt-popover__author{font-weight:700;font-size:14px;}
.cmt-popover__time{font-size:14px;color:var(--slate-500);}
.cmt-popover__text{font-size:14px;line-height:1.5;white-space:pre-wrap;}

/* panel: a full-height drawer from the right - every comment across pages, scrollable
   no matter how many pile up (data-lenis-prevent keeps the page's smooth scroll out) */
.cmt-panel{position:fixed;top:0;right:0;bottom:0;z-index:84;width:400px;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);}
.cmt-panel--open{transform:translateX(0);}
@media(prefers-reduced-motion:reduce){.cmt-panel{transition:none;}}
.cmt-panel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;}
.cmt-panel__title{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-0.01em;}
.cmt-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;}
.cmt-panel__hint{font-size:14px;color:var(--slate-600);margin-bottom:12px;}
.cmt-panel__empty{font-size:14px;color:var(--slate-600);padding:8px 0;}
.cmt-panel__body{display:flex;flex-direction:column;gap:8px;}
.cmt-rowitem{display:flex;flex-direction:column;gap:4px;text-align:left;border:0;background:var(--fill-1);border-radius:12px;padding:12px;cursor:pointer;font-family:var(--font-body);}
.cmt-rowitem:hover{background:var(--fill-2);}
.cmt-rowitem__author{font-weight:700;font-size:14px;color:var(--ink);}
.cmt-rowitem__text{font-size:14px;line-height:1.4;color:var(--ink);}
.cmt-rowitem__where{font-size:14px;font-weight:600;color:var(--green-700);}
