.gv-header { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.gv-status { font-size:12px; padding:7px 10px; border:1px solid var(--border-light); border-radius:6px; color:var(--text-secondary); }
.gv-status.valid { color:#159566; background:#20a77b12; border-color:#20a77b66; }
.gv-path { margin:14px 0; padding:11px 12px; background:var(--content-bg); border:1px solid var(--border-light); border-radius:6px; color:var(--text-primary); font-size:13px; overflow-wrap:anywhere; user-select:text; }
.gv-actions { display:flex; gap:8px; flex-wrap:wrap; }
.gv-results { font-size:12px; line-height:1.8; color:var(--text-primary); margin-top:12px; }
.pd-overlay,.as-overlay { animation:snpShadeIn 180ms ease-out both; }
.pd-dialog,.as-dialog { animation:snpDialogIn 240ms cubic-bezier(.16,1,.3,1) both; transform-origin:center 45%; }
.modal-box { animation:snpDialogIn 240ms cubic-bezier(.16,1,.3,1) both; }
@keyframes snpShadeIn { from {opacity:0} to {opacity:1} }
@keyframes snpDialogIn { from {opacity:0; transform:translateY(16px) scale(.96)} to {opacity:1; transform:translateY(0) scale(1)} }
@media(prefers-reduced-motion:reduce) { .pd-overlay,.as-overlay,.pd-dialog,.as-dialog,.modal-overlay,.modal-box {animation:none!important;} }
