/* ============================================================
   GRAPH VIEW — floating chips + event popup.
   ============================================================ */
/* CHIPS */
.chip{
  position:fixed;z-index:100;pointer-events:all;cursor:pointer;
  background:rgba(9,11,22,.92);
  border:1px solid var(--line-2);border-radius:var(--r-xs);
  padding:5px 10px;font-size:12.5px;color:var(--t-1);
  display:flex;align-items:center;gap:6px;white-space:nowrap;
  transition:opacity .35s,transform .2s,border-color .2s;
  box-shadow:0 2px 10px rgba(0,0,0,.3);
  animation:chipIn .3s cubic-bezier(.16,1,.3,1);
}
@keyframes chipIn{from{opacity:0;transform:translateY(-4px) scale(.96);}to{opacity:1;transform:none;}}
.chip:hover{background:var(--surf-3);border-color:var(--accent-line);transform:translateY(-1px);}
.chip-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}

/* EVENT POPUP */
.ev-popup{position:fixed;z-index:500;width:252px;background:rgba(10,13,24,.98);border:1px solid var(--accent-line);border-radius:var(--r-md);box-shadow:0 16px 44px rgba(0,0,0,.7),0 0 0 1px var(--line-1);overflow:hidden;transition:opacity .2s,transform .2s;transform-origin:top left;visibility:hidden;}
.ev-popup:not(.hidden){visibility:visible;}
.ev-popup.hidden{opacity:0;pointer-events:none;transform:scale(.96) translateY(-4px);}
.ev-popup-head{display:flex;align-items:center;gap:10px;padding:12px 13px 10px;border-bottom:1px solid var(--line-1);}
.ev-popup-icon{width:28px;height:28px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.ev-popup-type{font-size:13.5px;font-weight:600;color:var(--t-0);font-family:var(--f-mono);letter-spacing:.01em;}
.ev-popup-ts{font-size:11.5px;color:var(--t-3);margin-top:2px;font-family:var(--f-mono);}
.ev-popup-x{width:22px;height:22px;border-radius:var(--r-xs);background:transparent;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--t-3);font-size:13px;margin-left:auto;flex-shrink:0;transition:all .15s;}
.ev-popup-x:hover{background:var(--line-1);color:var(--t-1);}
.ev-popup-rows{padding:10px 13px;}
.ev-popup-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--line-1);}
.ev-popup-row:last-child{border-bottom:none;}
.ev-popup-k{font-size:12.5px;color:var(--t-3);min-width:80px;font-weight:500;}
.ev-popup-v{font-size:12.5px;color:var(--t-1);font-family:var(--f-mono);text-align:right;}
.ev-popup-v.ok{color:var(--ok);}
.ev-popup-v.err{color:var(--err);}
.ev-popup-v.warn{color:var(--warn);}
.ev-popup-footer{padding:10px 13px;border-top:1px solid var(--line-1);cursor:pointer;font-size:12.5px;color:var(--accent);display:flex;align-items:center;gap:6px;transition:color .15s,background .15s;font-weight:500;}
.ev-popup-footer:hover{color:#c7d2fe;background:var(--accent-soft);}
