:root{--bg:#030712;--panel:#0f172ad1;--panel2:#020617b8;--line:#94a3b82e;--text:#f8fafc;--muted:#94a3b8;--blue:#38bdf8;--purple:#8b5cf6;--green:#22c55e;--red:#ef4444;--amber:#f59e0b}*{box-sizing:border-box}html,body{color:var(--text);background:radial-gradient(circle at 12% -10%,#38bdf82e,#0000 32%),radial-gradient(circle at 88% 4%,#8b5cf633,#0000 36%),linear-gradient(135deg,#030712,#050816 55%,#020617);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}body:before{content:"";pointer-events:none;background-image:linear-gradient(#94a3b80b 1px,#0000 1px),linear-gradient(90deg,#94a3b80b 1px,#0000 1px);background-size:46px 46px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app{grid-template-columns:280px 1fr;min-height:100vh;display:grid}.side{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#020617b8;height:100vh;padding:22px;position:sticky;top:0;overflow:auto}.logo{letter-spacing:-.06em;align-items:center;gap:12px;font-size:24px;font-weight:1000;display:flex}.shield{background:linear-gradient(135deg,var(--blue),var(--purple));clip-path:polygon(50% 0,88% 15%,82% 76%,50% 100%,18% 76%,12% 15%);color:#020617;place-items:center;width:42px;height:42px;display:grid}.slogan{color:var(--muted);margin-top:4px;font-size:12px}.nav{gap:6px;margin-top:26px;display:grid}.nav a{color:#cbd5e1;border-radius:14px;padding:11px 12px;font-size:14px;font-weight:800}.nav a:hover,.nav a.active{color:#fff;background:#38bdf81c}.main{min-width:0;padding:22px 28px 60px}.top{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.title{letter-spacing:-.075em;margin:0;font-size:clamp(32px,4vw,64px);line-height:.92}.sub{color:var(--muted);line-height:1.5}.live{color:#bbf7d0;background:#22c55e1a;border:1px solid #22c55e59;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:1000;display:inline-flex}.dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 20px var(--green);border-radius:50%}.grid{gap:16px;display:grid}.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#0f172adb,#020617b8);border-radius:24px;min-width:0;padding:18px;box-shadow:0 22px 80px #00000038}.score{letter-spacing:-.09em;background:linear-gradient(135deg,#fff,var(--blue),var(--purple));color:#0000;-webkit-background-clip:text;font-size:92px;font-weight:1000;line-height:.82}.metric{letter-spacing:-.05em;font-size:30px;font-weight:1000}.muted{color:var(--muted)}.tag{border:1px solid var(--line);color:#dbeafe;background:#ffffff0d;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900;display:inline-flex}.good{color:var(--green)}.bad{color:var(--red)}.bar{background:#94a3b824;border-radius:99px;height:9px;overflow:hidden}.bar span{background:linear-gradient(90deg,var(--blue),var(--purple));border-radius:99px;height:100%;display:block}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.table td,.table th{vertical-align:top;border-bottom:1px solid #94a3b81f;padding:12px}.map{background:radial-gradient(circle at 30%,#38bdf82e,#0000 12%),radial-gradient(circle at 54% 42%,#8b5cf63d,#0000 13%),radial-gradient(circle at 72% 58%,#ef44442e,#0000 10%),linear-gradient(135deg,#07111f,#020617);border-radius:22px;height:330px;position:relative;overflow:hidden}.arc{background:linear-gradient(90deg,transparent,var(--red),var(--blue),transparent);width:44%;height:2px;animation:2s infinite pulse;position:absolute;top:46%;left:20%;transform:rotate(-18deg)}.arc:nth-child(2){animation-delay:.4s;top:62%;left:36%;transform:rotate(14deg)}.arc:nth-child(3){animation-delay:.8s;top:30%;left:10%;transform:rotate(6deg)}@keyframes pulse{0%{opacity:.1;filter:blur(2px)}50%{opacity:1;filter:blur()}to{opacity:.1;filter:blur(2px)}}.form{gap:12px;display:grid}.input{border:1px solid var(--line);color:#fff;background:#020617b3;border-radius:14px;outline:none;width:100%;padding:12px}.btn{background:linear-gradient(135deg,var(--blue),var(--purple));color:#020617;cursor:pointer;border:0;border-radius:14px;padding:12px 15px;font-weight:1000}.btn2{border:1px solid var(--line);color:#e2e8f0;cursor:pointer;background:#ffffff0f;border-radius:14px;padding:10px 12px;font-weight:900}.heroAuth{place-items:center;min-height:100vh;padding:24px;display:grid}.authbox{grid-template-columns:1.1fr .9fr;gap:18px;width:min(980px,100%);display:grid}.toast{border:1px solid var(--line);z-index:99;background:#020617;border-radius:16px;padding:14px 16px;position:fixed;bottom:18px;right:18px}.skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a);border-radius:8px;height:18px;animation:1.2s infinite sk}@keyframes sk{to{background-position:200px}}@media (max-width:980px){.app{grid-template-columns:1fr}.side{height:auto;position:relative}.nav{grid-template-columns:repeat(2,1fr)}.cols2,.cols3,.cols4,.authbox{grid-template-columns:1fr}.score{font-size:70px}.main{padding:18px}}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.sitecard{min-height:310px}.score.small{letter-spacing:-.07em;font-size:54px}.codeblock{white-space:normal;word-break:break-all;border:1px solid var(--line);color:#e0f2fe;background:#020617b8;border-radius:14px;margin:8px 0;padding:12px;display:block}.mapnote{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#02061794;border:1px solid #94a3b82e;border-radius:16px;max-width:270px;padding:12px;position:absolute;top:18px;right:18px}.bigmap{min-height:330px}.btn2 svg,.btn svg{vertical-align:middle;margin-right:6px}.warn{color:var(--amber)}@media (max-width:900px){.mapnote{margin:10px;position:static}.bigmap{min-height:260px}.app{grid-template-columns:1fr}.side{height:auto;position:relative}.main{padding:18px}}
