.scan-overlay{z-index:100;background:radial-gradient(circle at 40% 40%,#0d1a36 0%,#050a17 70%);flex-direction:column;animation:.5s both rise;display:flex;position:fixed;inset:0;overflow-y:auto}.scan-overlay[hidden]{display:none}.scan-head{border-bottom:1px solid #121c33;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 24px;display:flex}.scan-safe{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:inline-flex}.scan-close{border:1px solid var(--line-2);color:var(--text);cursor:pointer;background:0 0;border-radius:10px;width:40px;height:40px;font-size:22px}.scan-body{flex-wrap:wrap;flex:1;align-items:stretch;gap:24px;width:100%;max-width:1320px;margin:0 auto;padding:24px;display:flex}.scan-stage{border:1px solid var(--line);background:radial-gradient(circle at 50% 45%,#0d1a36 0%,#050a17 72%);border-radius:24px;flex:999 600px;min-width:0;min-height:560px;padding:0;position:relative;overflow:hidden}.scan-stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.scan-stage-top{pointer-events:none;flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex;position:absolute;top:20px;left:22px;right:22px}.scan-req{font-family:var(--mono);border:1px solid var(--line);background:#0c162ccc;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:7px 12px;font-size:13px;display:inline-flex}.scan-req i{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:1s steps(2,start) infinite glow}.scan-log{font-family:var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;gap:10px;font-size:13px;display:flex;position:absolute;bottom:18px;left:22px;right:22px;overflow:hidden}.scan-log span:first-child{color:var(--sky)}.scan-panel{border:1px solid var(--line);background:var(--bg-2);border-radius:24px;flex-direction:column;flex:360px;min-width:0;padding:24px;display:flex}.scan-progress-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.scan-progress-head span{font-family:var(--mono);color:var(--sky)}.scan-bar{background:var(--line);border-radius:999px;height:8px;margin-bottom:14px;position:relative;overflow:hidden}.scan-bar div{background:linear-gradient(90deg,#3b82f6,#22d3ee);border-radius:999px;width:4%;height:100%;transition:width .6s}.scan-bar i{background:linear-gradient(90deg,#fff0,#fff6,#fff0);width:30%;animation:1.6s ease-in-out infinite shine;position:absolute;top:0;bottom:0}@keyframes shine{0%{transform:translate(-100%)}to{transform:translate(400%)}}.scan-list{flex:1;margin:0;padding:0;list-style:none}.scan-list li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:11px 0;font-size:15px;font-weight:600;transition:opacity .3s;display:flex}.scan-list li.pending{opacity:.6}.scan-list .st{color:var(--soft);text-align:right;margin-left:auto;font-size:12px;font-weight:700}.scan-list .ic{flex:none;place-items:center;width:26px;height:26px;display:grid}.scan-list .spin{border:2.5px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.scan-list .mk{border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;font-weight:800;animation:.5s cubic-bezier(.2,.8,.2,1) both pop;display:grid}.scan-list .ok .mk{color:#22c55e;background:#22c55e26}.scan-list .ok .st{color:#22c55e}.scan-list .low .mk{color:#60a5fa;background:#3b82f62e}.scan-list .low .st{color:#60a5fa}.scan-list .med .mk{color:#f59e0b;background:#f59e0b29}.scan-list .med .st{color:#f59e0b}.scan-list .high .mk{color:#ef4444;background:#ef444429}.scan-list .high .st{color:#ef4444}.scan-list .skip .mk{color:#94a3b8;background:#64748b33}.scan-result{border:1px solid var(--line);background:#0f1b33;border-radius:18px;align-items:center;gap:16px;margin-top:16px;padding:16px;animation:.6s cubic-bezier(.2,.8,.2,1) both pop;display:flex}.scan-result b{color:#fff;font-size:17px;display:block}.scan-result span{color:var(--muted);font-size:14px}.scan-grade{width:68px;height:68px;font-family:var(--display);border:6px solid;border-radius:50%;flex:none;place-items:center;font-size:30px;font-weight:700;display:grid}[data-go]{margin-top:12px}@media (width<=700px){.scan-stage{min-height:380px}.scan-body{padding:14px}.scan-safe{display:none}}
