.qr-drop{display:grid;justify-items:center;gap:1rem;padding:1.6rem 1rem;margin:1rem 0;border:1.5px dashed rgba(167,139,250,.45);border-radius:1.2rem;background:radial-gradient(120% 90% at 50% 0,rgba(139,92,246,.18),rgba(15,10,35,.35));transition:border-color .2s,transform .2s}
.qr-drop.on{border-color:#c4b5fd;transform:scale(1.01)}
.qr-ico{width:64px;height:64px;color:#c4b5fd;filter:drop-shadow(0 6px 18px rgba(139,92,246,.55));animation:qrf 4s ease-in-out infinite}
@keyframes qrf{50%{transform:translateY(-4px) rotate(-3deg)}}
@media (prefers-reduced-motion:reduce){.qr-ico{animation:none}}
.qr-drop label.btn{cursor:pointer}
.qr-paste summary{cursor:pointer;font-weight:600;opacity:.85}
.qr-facts{display:grid;grid-template-columns:auto 1fr;gap:.35rem .9rem;margin:.8rem 0;font-size:.95rem}
.qr-facts dt{opacity:.7}.qr-facts dd{margin:0;min-width:0;overflow-wrap:anywhere}
.qr-url{word-break:break-all;font-size:.85rem;opacity:.9}
.qr-sigs{list-style:none;padding:0;margin:.8rem 0;display:grid;gap:.45rem}
.qr-sig{padding:.6rem .8rem;border-radius:.7rem;border-left:3px solid #a78bfa;background:rgba(255,255,255,.04);display:grid;gap:.2rem}
.qr-sig span{font-size:.88rem;opacity:.8}
.qr-sig.bad{border-color:#f87171}.qr-sig.warn{border-color:#fbbf24}.qr-sig.ok{border-color:#34d399}
.vt-steps{counter-reset:vt;display:grid;gap:1.2rem}
.vt-step{position:relative;padding-left:clamp(3.2rem,9vw,4rem)}
.vt-step::after{counter-increment:vt;content:counter(vt);position:absolute;left:clamp(1rem,3vw,1.6rem);top:clamp(1.25rem,4vw,2rem);width:2.2rem;height:2.2rem;display:grid;place-items:center;border-radius:.7rem;font-weight:700;background:linear-gradient(135deg,#f472b6,#a855f7 55%,#3b82f6);box-shadow:0 8px 22px rgba(139,92,246,.45),inset 0 1px 0 rgba(255,255,255,.35);transform:perspective(200px) rotateX(12deg) rotateY(-14deg)}
.vt-step .when{display:inline-block;font-size:.75rem;padding:.15rem .55rem;border-radius:999px;background:rgba(248,113,113,.22);margin-bottom:.3rem}
.vt-step .when.soon{background:rgba(251,191,36,.2)}.vt-step .when.later{background:rgba(139,92,246,.25)}
.vt-step ul{margin:.5rem 0 0;padding-left:1.15rem;display:grid;gap:.35rem}
.vt-step a{color:#c4b5fd}
.vt-states{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 0;padding:0;list-style:none}
.vt-states a{display:inline-block;font-size:.85rem;padding:.3rem .7rem;border-radius:999px;background:rgba(139,92,246,.22);text-decoration:none}
.vt-warn{border:1px solid rgba(251,191,36,.45)}
