:root{--bg: #050607;--panel: #0a0d0f;--line: #1b2327;--line2: #34424a;--hair: rgba(255,255,255,.06);--txt: #d3dbde;--dim: #6f7c82;--white: #e9eef0;--ice: #8fe9ff;--cyan: #4fc3e3;--red: #ff4a38;--orange: #ff6a3d;--amber: #e6aa3c;--mono: "Share Tech Mono", ui-monospace, Consolas, monospace;--head: "Rajdhani", "Segoe UI", sans-serif;--body: Inter, system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:radial-gradient(ellipse 80% 70% at 62% 40%,#0f1519,#07090b 55%,#030405) fixed,#030405;color:var(--txt);font-family:var(--body)}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}.hidden{display:none!important}.top{display:flex;align-items:center;justify-content:space-between;height:58px;padding:0 22px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px}.brand img{height:22px}.brand span{font:600 18px var(--head);letter-spacing:.32em;color:var(--white)}.brand b{color:var(--ice);font-weight:600}.brand em{font:10px var(--mono);font-style:normal;letter-spacing:.2em;color:#0b0d0e;background:#d8f37a;padding:2px 7px;border-radius:99px}.status{display:flex;align-items:center;gap:8px;font:11px var(--mono);letter-spacing:.14em;color:var(--dim)}.status i{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber)}.status.ok i{background:var(--ice);box-shadow:0 0 10px var(--ice)}.layout{display:grid;grid-template-columns:380px minmax(0,1fr);height:calc(100% - 58px)}.panel{overflow-y:auto;border-right:1px solid var(--line);padding:18px 20px 24px;display:flex;flex-direction:column;gap:22px}h2{display:flex;align-items:baseline;gap:10px;margin:0 0 12px;font:400 12px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}h2 span{color:var(--ice)}h2 em{margin-left:auto;font-style:normal;color:var(--white)}.drop{position:relative;display:block;min-height:190px;border:1px dashed var(--line2);border-radius:14px;overflow:hidden;cursor:pointer;transition:border-color .15s,background .15s;background:#ffffff04}.drop:hover,.drop.over{border-color:var(--cyan);background:#4fc3e30f}.drop-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:6px}.drop-empty b{font:400 22px var(--head);letter-spacing:.12em;color:var(--white);text-transform:uppercase}.drop-empty small{font:11px var(--mono);color:var(--dim);letter-spacing:.08em}.drop-img{position:relative;background:#000}.drop-img img{display:block;width:100%;max-height:360px;object-fit:contain}#boxes{position:absolute;inset:0}#boxes i{position:absolute;border:1.5px solid var(--red);box-shadow:0 0 12px #ff4a3880}#boxes i.low{border-color:var(--amber);box-shadow:none}#boxes i b{position:absolute;left:-1px;top:-16px;font:10px var(--mono);background:var(--red);color:#000;padding:0 5px}#boxes i.low b{background:var(--amber)}.field{width:100%;margin-top:10px;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:#ffffff05;color:var(--txt);font:13px var(--body);outline:none}.field:focus{border-color:var(--cyan)}#turnstile:not(:empty){margin-top:10px}.go{width:100%;margin-top:12px;height:46px;border-radius:99px;background:var(--red);color:#fff;font:600 14px var(--body);letter-spacing:.18em;box-shadow:0 10px 30px #ff4a3840;transition:filter .15s,opacity .15s}.go:hover:not(:disabled){filter:brightness(1.12)}.go:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.demos{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;font:11px var(--mono);color:var(--dim);letter-spacing:.06em}.demos span{width:100%;margin-bottom:2px}.demos button{padding:6px 12px;border-radius:99px;border:1px solid var(--line2);color:var(--txt);font:12px var(--body)}.demos button:hover{border-color:var(--cyan);color:var(--ice)}.impression{margin:0 0 12px;font-size:13.5px;line-height:1.55;color:var(--white)}.findings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.findings li{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:start;padding:11px 12px;border:1px solid var(--hair);border-radius:12px;background:#ffffff05;cursor:pointer;transition:border-color .15s,background .15s}.findings li:hover,.findings li.sel{border-color:#4fc3e380;background:#4fc3e30f}.findings .n{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font:12px var(--mono);color:#000;background:var(--red)}.findings .low .n{background:var(--amber)}.findings .moderate .n{background:var(--orange)}.findings strong{display:block;font:600 13px var(--body);color:var(--white)}.findings p{margin:4px 0 0;font-size:12px;line-height:1.45;color:var(--dim)}.findings .c{font:12px var(--mono);color:var(--ice)}.next{margin-top:12px;font-size:12.5px;line-height:1.5;color:var(--txt)}.next b{font:11px var(--mono);letter-spacing:.14em;color:var(--ice)}.legal{margin:auto 0 0;font-size:11px;line-height:1.5;color:var(--dim)}.viewer{position:relative;min-width:0;overflow:hidden}#three{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.viewer:after{content:"";position:absolute;inset:16px;pointer-events:none;--k: rgba(233,238,240,.55);--l: 22px;background:linear-gradient(var(--k),var(--k)) 0 0/var(--l) 1px,linear-gradient(var(--k),var(--k)) 0 0/1px var(--l),linear-gradient(var(--k),var(--k)) 100% 0/var(--l) 1px,linear-gradient(var(--k),var(--k)) 100% 0/1px var(--l),linear-gradient(var(--k),var(--k)) 0 100%/var(--l) 1px,linear-gradient(var(--k),var(--k)) 0 100%/1px var(--l),linear-gradient(var(--k),var(--k)) 100% 100%/var(--l) 1px,linear-gradient(var(--k),var(--k)) 100% 100%/1px var(--l);background-repeat:no-repeat}.vp-title{position:absolute;left:40px;top:32px;pointer-events:none}.vp-title h1{margin:0;font:300 34px var(--head);letter-spacing:.14em;color:var(--white);padding-bottom:6px;background:linear-gradient(var(--white),var(--white)) left bottom/40% 2px no-repeat,linear-gradient(#e9eef059,#e9eef059) left bottom/100% 1px no-repeat}.vp-title p{margin:8px 0 0;font:11px var(--mono);letter-spacing:.18em;color:var(--txt)}.vp-stats{position:absolute;left:40px;bottom:34px;display:flex;gap:28px;pointer-events:none}.vp-stats div{display:flex;flex-direction:column}.vp-stats b{font:300 34px var(--head);color:var(--white);line-height:1}.vp-stats span{margin-top:4px;font:10px var(--mono);letter-spacing:.14em;color:var(--dim)}.vp-stats .sev b{color:var(--orange)}.vp-ctl{position:absolute;right:36px;bottom:34px;display:flex;gap:6px}.vp-ctl button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);background:#04060799;font-size:17px;color:var(--txt)}.vp-ctl button:hover,.vp-ctl button.on{border-color:var(--cyan);color:var(--ice)}.tags{position:absolute;inset:0;pointer-events:none}.tags .tag{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font:11px var(--mono);color:#000;background:var(--red);box-shadow:0 0 0 4px #ff4a3840,0 0 18px #ff4a38b3}.tags .tag.low{background:var(--amber);box-shadow:0 0 0 4px #e6aa3c40}.tags .tag.moderate{background:var(--orange)}.tags .tag.sel{outline:2px solid #fff}.scan{position:absolute;inset:0;pointer-events:none}.scan i{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--ice),transparent);box-shadow:0 0 20px var(--ice);animation:sweep 2s linear infinite}.scan span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:13px var(--mono);letter-spacing:.3em;color:var(--ice);background:#040607b3;padding:8px 16px;border-radius:99px}@keyframes sweep{0%{top:6%}to{top:94%}}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#000000b8;backdrop-filter:blur(4px);padding:16px}.mbox{width:min(400px,100%);background:#0a0d0f;border:1px solid var(--line2);border-radius:16px;padding:22px}.mbox p{font-size:13px;color:var(--dim);line-height:1.5}.mbox .row{display:flex;gap:8px}.mbox .row .go{flex:1}.ghost{margin-top:12px;height:46px;padding:0 18px;border-radius:99px;border:1px solid var(--line2);color:var(--dim)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:60;max-width:min(560px,calc(100% - 32px));padding:12px 18px;border-radius:12px;background:#160604f2;border:1px solid var(--red);color:#ffc2b8;font-size:13px}.toast.ok{background:#040c0ff2;border-color:var(--cyan);color:#cdf3ff}@media(max-width:900px){html,body{height:auto}.layout{display:flex;flex-direction:column-reverse;height:auto}.viewer{height:62vh;min-height:380px;border-bottom:1px solid var(--line)}.panel{border-right:0;padding:16px}.vp-title{left:28px;top:24px}.vp-title h1{font-size:24px}.vp-stats{left:28px;bottom:26px;gap:14px}.vp-stats b{font-size:24px}.vp-stats span{font-size:9px;letter-spacing:.08em}.vp-ctl{right:24px;bottom:26px}}
