:root{
  --bg:#070914;
  --bg-2:#0d1124;
  --fg:#eaf0ff;
  --muted:#8b95b8;
  --card:rgba(20,24,48,0.55);
  --card-border:rgba(140,160,255,0.18);
  --grad-1:linear-gradient(135deg,#7c5cff 0%,#22d3ee 50%,#f472b6 100%);
  --grad-2:linear-gradient(135deg,#ff6ec4 0%,#7873f5 100%);
  --grad-3:linear-gradient(135deg,#22d3ee 0%,#3b82f6 50%,#a855f7 100%);
  --grad-warn:linear-gradient(90deg,#22c55e,#facc15,#ef4444);
  --shadow-glow:0 20px 60px -20px rgba(124,92,255,0.55), 0 8px 30px -10px rgba(34,211,238,0.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--fg);font-family:'Space Grotesk',system-ui,sans-serif;min-height:100%;overflow-x:hidden}
a{color:inherit;text-decoration:none}

/* Background */
.bg-aurora{position:fixed;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(1200px 800px at 20% 10%,#15184a 0%,transparent 60%),radial-gradient(1000px 700px at 90% 80%,#1a0b3a 0%,transparent 60%),var(--bg)}
.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;animation:float 14s ease-in-out infinite}
.orb-1{width:520px;height:520px;background:#7c5cff;top:-120px;left:-120px}
.orb-2{width:480px;height:480px;background:#22d3ee;bottom:-140px;right:-100px;animation-delay:-5s}
.orb-3{width:420px;height:420px;background:#f472b6;top:40%;left:50%;animation-delay:-9s}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,-30px) scale(1.08)}}
.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%)}

/* Loader */
.loader{position:fixed;inset:0;background:radial-gradient(circle at center,#0c0f24 0%,#04050d 100%);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .8s ease, visibility .8s}
.loader.hide{opacity:0;visibility:hidden}
.loader-3d{display:flex;flex-direction:column;align-items:center;gap:30px;perspective:800px}
.cube{width:90px;height:90px;position:relative;transform-style:preserve-3d;animation:spin 3s linear infinite}
.face{position:absolute;width:90px;height:90px;display:flex;align-items:center;justify-content:center;font-family:'Orbitron',sans-serif;font-weight:900;font-size:42px;color:#fff;background:var(--grad-1);border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 0 20px rgba(255,255,255,.2),0 0 30px rgba(124,92,255,.6);border-radius:8px}
.face.front{transform:translateZ(45px)}
.face.back{transform:rotateY(180deg) translateZ(45px)}
.face.right{transform:rotateY(90deg) translateZ(45px)}
.face.left{transform:rotateY(-90deg) translateZ(45px)}
.face.top{transform:rotateX(90deg) translateZ(45px)}
.face.bottom{transform:rotateX(-90deg) translateZ(45px)}
@keyframes spin{0%{transform:rotateX(0) rotateY(0)}100%{transform:rotateX(360deg) rotateY(360deg)}}
.loader-text{font-family:'Orbitron',sans-serif;font-weight:700;letter-spacing:3px;background:var(--grad-1);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:18px}
.loader-bar{width:240px;height:4px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}
.loader-bar-fill{width:0;height:100%;background:var(--grad-1);animation:fill 2.2s ease forwards}
@keyframes fill{to{width:100%}}

/* Navbar */
.navbar{display:flex;align-items:center;justify-content:space-between;padding:22px 6vw;position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(7,9,20,.55);border-bottom:1px solid rgba(255,255,255,.06)}
.brand{display:flex;align-items:center;gap:14px}
.brand-logo{width:48px;height:48px;border-radius:12px;background:var(--grad-1);display:flex;align-items:center;justify-content:center;font-family:'Orbitron',sans-serif;font-weight:900;font-size:18px;letter-spacing:1px;box-shadow:var(--shadow-glow)}
.brand-text h1{font-family:'Orbitron',sans-serif;font-size:18px;letter-spacing:1.5px}
.brand-text span{font-size:12px;color:var(--muted)}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-links a{color:var(--muted);font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--fg)}
.join-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:99px;background:linear-gradient(135deg,#25D366,#128C7E);color:#fff !important;font-weight:600;box-shadow:0 10px 30px -10px rgba(37,211,102,.7)}
.join-btn:hover{transform:translateY(-1px)}

/* Hero */
.hero{padding:80px 6vw 40px;text-align:center}
.badge-pill{display:inline-block;padding:8px 18px;border-radius:99px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-size:13px;color:var(--muted);margin-bottom:24px}
.hero-title{font-family:'Orbitron',sans-serif;font-weight:900;font-size:clamp(34px,6vw,68px);line-height:1.05;letter-spacing:-1px}
.grad-text{background:var(--grad-1);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{margin:18px auto 36px;max-width:620px;color:var(--muted);font-size:17px;line-height:1.6}

.search-card{max-width:780px;margin:0 auto;background:var(--card);border:1px solid var(--card-border);border-radius:24px;padding:18px;backdrop-filter:blur(20px);box-shadow:var(--shadow-glow)}
.search-row{display:flex;gap:10px;flex-wrap:wrap}
#ipInput{flex:1;min-width:220px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1);color:#fff;padding:16px 20px;border-radius:14px;font-size:16px;outline:none;font-family:inherit;transition:border .2s,box-shadow .2s}
#ipInput:focus{border-color:#7c5cff;box-shadow:0 0 0 4px rgba(124,92,255,.18)}
.btn-primary{background:var(--grad-1);color:#fff;border:none;padding:16px 28px;border-radius:14px;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;letter-spacing:.5px;transition:transform .15s, box-shadow .2s;box-shadow:0 12px 30px -10px rgba(124,92,255,.7)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -10px rgba(124,92,255,.85)}
.btn-primary.small{padding:12px 22px;font-size:14px;display:inline-block;margin-top:14px}
.btn-ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.14);padding:16px 22px;border-radius:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.error-msg{color:#ff6b81;font-size:14px;margin-top:10px;min-height:18px;text-align:left;padding:0 6px}

/* Results */
.results{padding:30px 6vw 60px}
.results.hidden{display:none}
.results-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.card{background:var(--card);border:1px solid var(--card-border);border-radius:22px;padding:24px;backdrop-filter:blur(18px);box-shadow:0 20px 50px -25px rgba(0,0,0,.6);grid-column:span 6;position:relative;overflow:hidden;transition:transform .3s}
.card:hover{transform:translateY(-3px)}
.card::before{content:"";position:absolute;inset:0;background:var(--grad-3);opacity:.06;pointer-events:none}
.card-main{grid-column:span 7}
.card-map{grid-column:span 5}
.card h3{font-family:'Orbitron',sans-serif;font-size:14px;letter-spacing:2px;color:#cbd3ff;text-transform:uppercase;margin-bottom:18px}
.card-head{display:flex;justify-content:space-between;align-items:center}
.status-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 12px #22c55e}

.ip-display{margin-bottom:20px}
.ip-value{font-family:'Orbitron',sans-serif;font-size:32px;font-weight:700;background:var(--grad-1);-webkit-background-clip:text;background-clip:text;color:transparent;word-break:break-all}
.ip-meta{color:var(--muted);font-size:13px;margin-top:4px}

.kv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 18px}
.kv{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.05);border-radius:12px}
.kv span{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.kv b{font-size:14px;font-weight:600;color:#fff;word-break:break-word}

.threat-meter{margin-bottom:18px}
.threat-bar{height:14px;background:rgba(0,0,0,.4);border-radius:99px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.threat-fill{height:100%;width:0;background:var(--grad-warn);transition:width 1s ease;border-radius:99px}
.threat-label{display:flex;justify-content:space-between;margin-top:8px;font-size:13px;color:var(--muted)}
.threat-label b{color:#fff;font-family:'Orbitron',sans-serif}
.flags{display:flex;flex-wrap:wrap;gap:10px}
.flag{padding:8px 14px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.5px}
.flag.active{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;border-color:transparent;box-shadow:0 6px 18px -6px rgba(239,68,68,.7)}
.flag.safe{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:transparent}

.coords{font-family:'Orbitron',sans-serif;color:#cbd3ff;font-size:14px;margin-bottom:14px;letter-spacing:1px}
.map-wrap{border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.1);height:240px;background:#0a0d1f}
.map-wrap iframe{width:100%;height:100%;border:0;display:block}
.btn-link{display:inline-block;margin-top:12px;color:#22d3ee;font-weight:600;font-size:14px}
.btn-link:hover{text-decoration:underline}

/* Features */
.features{padding:80px 6vw 40px;text-align:center}
.section-title{font-family:'Orbitron',sans-serif;font-size:clamp(28px,4vw,42px);margin-bottom:40px;background:var(--grad-3);-webkit-background-clip:text;background-clip:text;color:transparent}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;max-width:1200px;margin:0 auto}
.feature{background:var(--card);border:1px solid var(--card-border);border-radius:18px;padding:26px 22px;text-align:left;transition:transform .25s, box-shadow .25s;backdrop-filter:blur(14px)}
.feature:hover{transform:translateY(-6px) rotateX(2deg);box-shadow:var(--shadow-glow)}
.feature .fi{font-size:32px;margin-bottom:12px}
.feature h4{font-family:'Orbitron',sans-serif;font-size:15px;margin-bottom:8px;letter-spacing:.5px}
.feature p{color:var(--muted);font-size:14px;line-height:1.5}

/* About */
.about{padding:60px 6vw}
.about-card{max-width:980px;margin:0 auto;display:flex;gap:28px;align-items:center;background:var(--card);border:1px solid var(--card-border);border-radius:24px;padding:36px;backdrop-filter:blur(18px);box-shadow:var(--shadow-glow);flex-wrap:wrap}
.about-logo{width:110px;height:110px;border-radius:24px;background:var(--grad-2);display:flex;align-items:center;justify-content:center;font-family:'Orbitron',sans-serif;font-weight:900;font-size:32px;letter-spacing:2px;flex-shrink:0;box-shadow:var(--shadow-glow)}
.about-card h3{font-family:'Orbitron',sans-serif;margin-bottom:10px;font-size:20px}
.about-card p{color:var(--muted);line-height:1.6;max-width:640px}

.footer{padding:30px 6vw;text-align:center;color:var(--muted);font-size:14px;border-top:1px solid rgba(255,255,255,.06);margin-top:40px}

/* WhatsApp popup */
.wa-popup{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:14px;background:rgba(15,18,40,.95);border:1px solid rgba(37,211,102,.4);border-radius:18px;padding:16px 18px;backdrop-filter:blur(18px);box-shadow:0 20px 50px -10px rgba(0,0,0,.7), 0 0 30px rgba(37,211,102,.25);max-width:380px;z-index:1000;transform:translateY(150%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.wa-popup.show{transform:translateY(0)}
.wa-icon{width:48px;height:48px;flex-shrink:0;background:rgba(37,211,102,.12);border-radius:12px;display:flex;align-items:center;justify-content:center}
.wa-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.wa-text strong{font-size:14px}
.wa-text span{font-size:12px;color:var(--muted)}
.wa-btn{background:linear-gradient(135deg,#25D366,#128C7E);color:#fff;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:600;white-space:nowrap}
.wa-close{position:absolute;top:6px;right:10px;background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;line-height:1}
.wa-close:hover{color:#fff}

/* Responsive */
@media (max-width:880px){
  .card,.card-main,.card-map{grid-column:span 12}
  .nav-links a:not(.join-btn){display:none}
  .brand-text h1{font-size:15px}
  .hero{padding-top:50px}
  .wa-popup{left:16px;right:16px;max-width:none}
}
