.csz-vi-trigger{position:relative;}
.csz-vi-trigger .csz-vi-pulse{position:absolute;top:2px;right:2px;width:6px;height:6px;border-radius:50%;background:var(--teal);animation:pulse 1.6s infinite;}

.csz-vi-blink{color:var(--amber) !important;animation:cszViTextBlink 1.3s ease-in-out infinite;font-weight:700;}
.csz-vi-blink i{color:var(--amber) !important;}
.csz-vi-blink:hover{animation-play-state:paused;opacity:1 !important;}
@keyframes cszViTextBlink{0%,100%{opacity:1}50%{opacity:.4}}
@media (prefers-reduced-motion: reduce){.csz-vi-blink{animation:none;}}

.csz-vi-overlay{
  display:none;position:fixed;inset:0;z-index:200;
  background:rgba(0,0,0,.55);backdrop-filter:blur(2px);
  align-items:flex-start;justify-content:center;overflow-y:auto;padding:60px 16px;
}
.csz-vi-overlay.open{display:flex;}

.csz-vi-modal{
  background:var(--panel);border:1px solid var(--border-strong);border-radius:14px;
  max-width:600px;width:100%;padding:0;box-shadow:0 20px 60px rgba(0,0,0,.4);
  animation:cszViIn .25s ease both;
}
@keyframes cszViIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}

.csz-vi-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px;border-bottom:1px solid var(--border);
}
.csz-vi-head h3{margin:0;font-size:15px;color:var(--text-primary);display:flex;align-items:center;gap:8px;}
.csz-vi-head h3 i{color:var(--teal);}
.csz-vi-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:4px;line-height:1;}
.csz-vi-close:hover{color:var(--text-primary);}

.csz-vi-body{padding:16px 20px 20px;max-height:70vh;overflow-y:auto;}
.csz-vi-loading{padding:40px 0;text-align:center;color:var(--text-secondary);font-size:13px;}

.csz-vi-hero{
  background:var(--teal-dark);border:1px solid var(--teal-border);border-radius:10px;
  padding:14px 16px;margin-bottom:16px;
}
.csz-vi-hero .ip{font-size:20px;font-weight:700;color:var(--teal);font-family:monospace;}
.csz-vi-hero .loc{font-size:12.5px;color:var(--text-secondary);margin-top:2px;}
.csz-vi-flag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;margin-top:8px;}
.csz-vi-flag.warn{background:var(--amber-dark);color:var(--amber);}
.csz-vi-flag.ok{background:var(--teal-dark);color:var(--teal);border:1px solid var(--teal-border);}

.csz-vi-section{margin-bottom:14px;}
.csz-vi-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px;font-weight:600;}
.csz-vi-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--border);font-size:12.5px;}
.csz-vi-row:last-child{border-bottom:none;}
.csz-vi-row .label{color:var(--text-secondary);}
.csz-vi-row .value{color:var(--text-primary);font-weight:500;text-align:right;max-width:60%;word-break:break-word;}

.csz-vi-fingerprint{
  background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:14px 16px;text-align:center;
}
.csz-vi-fingerprint .stat{font-size:22px;font-weight:700;color:var(--teal);}
.csz-vi-fingerprint .stat-label{font-size:11.5px;color:var(--text-secondary);margin-top:4px;}
.csz-vi-fingerprint .stat-sub{font-size:10.5px;color:var(--text-muted);margin-top:2px;}

.csz-vi-foot{padding:12px 20px;border-top:1px solid var(--border);font-size:10.5px;color:var(--text-muted);text-align:center;}

@media (max-width:600px){
  .csz-vi-overlay{padding:20px 10px;}
  .csz-vi-row .value{max-width:55%;}
}
