/* VulNyx landing page styles */
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 14% 8%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 42%),radial-gradient(ellipse at 87% 7%,color-mix(in srgb,var(--accent2) 10%,transparent),transparent 40%),radial-gradient(ellipse at 50% 92%,color-mix(in srgb,var(--accent) 6%,transparent),transparent 46%)}
[data-theme="light"] body::before{background:radial-gradient(ellipse at 14% 8%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 42%),radial-gradient(ellipse at 87% 7%,color-mix(in srgb,var(--accent2) 4%,transparent),transparent 40%),radial-gradient(ellipse at 50% 92%,color-mix(in srgb,var(--accent) 2%,transparent),transparent 46%)}
.lnd-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 16px 6px;max-width:780px;margin:0 auto}
.lnd-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface));font:700 10px 'Fira Code',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.lnd-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:lnd-pulse 2s ease infinite}
@keyframes lnd-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.78)}}
.lnd-h1{font:700 clamp(30px,6vw,70px)/1.05 'Rajdhani',sans-serif;letter-spacing:-.01em;margin:8px 0 16px;max-width:820px}

/* ── Cyberpunk glitch layers ────────────────────────────────────────────── */
.lnd-glitch{
  position:relative;
  z-index:2;
  filter:drop-shadow(0 1px 3px);
  animation:lnd-paths 5s step-end infinite;
}
.lnd-glitch::before,
.lnd-glitch::after{
  content:attr(data-text);
  position:absolute;
  width:110%;
  z-index:-1;
  font:inherit;
  letter-spacing:inherit;
  text-align:inherit;
  white-space:pre-wrap;
  word-break:break-word;
}
.lnd-glitch::before{
  top:10px;left:15px;color:#e0287d;
  animation:lnd-paths 5s step-end infinite,lnd-opacity 5s step-end infinite,lnd-font 8s step-end infinite,lnd-movement 10s step-end infinite;
}
.lnd-glitch::after{
  top:5px;left:-10px;color:#1bc7fb;
  animation:lnd-paths 5s step-end infinite,lnd-opacity 5s step-end infinite,lnd-font 7s step-end infinite,lnd-movement 8s step-end infinite;
}

@keyframes lnd-paths{
  0%{clip-path:polygon(0% 43%,83% 43%,83% 22%,23% 22%,23% 24%,91% 24%,91% 26%,18% 26%,18% 83%,29% 83%,29% 17%,41% 17%,41% 39%,18% 39%,18% 82%,54% 82%,54% 88%,19% 88%,19% 4%,39% 4%,39% 14%,76% 14%,76% 52%,23% 52%,23% 35%,19% 35%,19% 8%,36% 8%,36% 31%,73% 31%,73% 16%,1% 16%,1% 56%,50% 56%,50% 8%)}
  5%{clip-path:polygon(0% 29%,44% 29%,44% 83%,94% 83%,94% 56%,11% 56%,11% 64%,94% 64%,94% 70%,88% 70%,88% 32%,18% 32%,18% 96%,10% 96%,10% 62%,9% 62%,9% 84%,68% 84%,68% 50%,52% 50%,52% 55%,35% 55%,35% 87%,25% 87%,25% 39%,15% 39%,15% 88%,52% 88%)}
  30%{clip-path:polygon(0% 53%,93% 53%,93% 62%,68% 62%,68% 37%,97% 37%,97% 89%,13% 89%,13% 45%,51% 45%,51% 88%,17% 88%,17% 54%,81% 54%,81% 75%,79% 75%,79% 76%,38% 76%,38% 28%,61% 28%,61% 12%,55% 12%,55% 62%,68% 62%,68% 51%,0% 51%,0% 92%,63% 92%,63% 4%,65% 4%)}
  45%{clip-path:polygon(0% 33%,2% 33%,2% 69%,58% 69%,58% 94%,55% 94%,55% 25%,33% 25%,33% 85%,16% 85%,16% 19%,5% 19%,5% 20%,79% 20%,79% 96%,93% 96%,93% 50%,5% 50%,5% 74%,55% 74%,55% 57%,96% 57%,96% 59%,87% 59%,87% 65%,82% 65%,82% 39%,63% 39%,63% 92%,4% 92%,4% 36%,24% 36%,24% 70%,1% 70%,1% 43%,15% 43%,15% 28%,23% 28%,23% 71%,90% 71%,90% 86%,97% 86%,97% 1%,60% 1%,60% 67%,71% 67%,71% 91%,17% 91%,17% 14%,39% 14%,39% 30%,58% 30%,58% 11%,52% 11%,52% 83%,68% 83%)}
  76%{clip-path:polygon(0% 26%,15% 26%,15% 73%,72% 73%,72% 70%,77% 70%,77% 75%,8% 75%,8% 42%,4% 42%,4% 61%,17% 61%,17% 12%,26% 12%,26% 63%,73% 63%,73% 43%,90% 43%,90% 67%,50% 67%,50% 41%,42% 41%,42% 46%,50% 46%,50% 84%,96% 84%,96% 78%,49% 78%,49% 25%,63% 25%,63% 14%)}
  90%{clip-path:polygon(0% 41%,13% 41%,13% 6%,87% 6%,87% 93%,10% 93%,10% 13%,89% 13%,89% 6%,3% 6%,3% 8%,16% 8%,16% 79%,0% 79%,0% 99%,92% 99%,92% 90%,5% 90%,5% 60%,0% 60%,0% 48%,89% 48%,89% 13%,80% 13%,80% 43%,95% 43%,95% 19%,80% 19%,80% 85%,38% 85%,38% 62%)}
  1%,7%,33%,47%,78%,93%{clip-path:none}
}
@keyframes lnd-opacity{
  0%{opacity:.1}  5%{opacity:.7}  30%{opacity:.4}
  45%{opacity:.6} 76%{opacity:.4} 90%{opacity:.8}
  1%,7%,33%,47%,78%,93%{opacity:0}
}
@keyframes lnd-font{
  0%{font-weight:100;color:#e0287d;filter:blur(3px)}
  20%{font-weight:500;color:#fff;filter:blur(0)}
  50%{font-weight:300;color:#1bc7fb;filter:blur(2px)}
  60%{font-weight:700;color:#fff;filter:blur(0)}
  90%{font-weight:500;color:#e0287d;filter:blur(6px)}
}
@keyframes lnd-movement{
  0%{top:0;left:-20px}
  15%{top:10px;left:10px}
  60%{top:5px;left:-10px}
  75%{top:-5px;left:20px}
  100%{top:10px;left:5px}
}
.lnd-grad{background:linear-gradient(90deg,var(--accent),var(--accent2) 50%,var(--accent));background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:lnd-shimmer 4.5s linear infinite}
@keyframes lnd-shimmer{0%{background-position:0% center}100%{background-position:200% center}}
.lnd-sub{font-size:13px;line-height:1.75;color:var(--text2);max-width:480px;margin:0 auto 24px}
.lnd-term{margin-top:32px;width:100%;max-width:620px;min-height:296px;border-radius:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--line2) 58%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 24px 48px color-mix(in srgb,var(--shadow) 58%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 5%,transparent);text-align:left}
.lnd-term-bar{display:flex;align-items:center;gap:6px;padding:8px 13px;background:#111;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
.lnd-dot{width:9px;height:9px;border-radius:50%}.lnd-dot-r{background:#ff5f57}.lnd-dot-y{background:#febc2e}.lnd-dot-g{background:#28c840}
.lnd-term-title{margin-left:auto;font:600 10px 'Fira Code',monospace;color:var(--soft);letter-spacing:.06em}
.lnd-term-body{background:#000;height:266px;padding:13px 15px;font-size:10.4px;line-height:1.5;overflow:hidden}
@media(max-width:640px){.lnd-term{min-height:auto}.lnd-term-body{height:auto;min-height:200px}}
.lnd-line{display:none;opacity:0;visibility:hidden;transform:translateY(6px);filter:blur(1.5px)}
.lnd-line.is-visible{display:block;animation:lnd-line-in .52s cubic-bezier(.22,.61,.36,1) forwards}
.lnd-pre{white-space:pre-wrap;color:#00ff05}
@keyframes lnd-line-in{0%{opacity:0;visibility:hidden;transform:translateY(6px);filter:blur(1.5px)}1%{opacity:0;visibility:visible;transform:translateY(6px);filter:blur(1.5px)}60%{opacity:.94;visibility:visible;transform:translateY(0);filter:blur(0)}100%{opacity:1;visibility:visible;transform:translateY(0);filter:blur(0)}}
.t-p{color:#EC0101;font-weight:bold}.t-p2{color:#00ff05;font-weight:bold}.t-d{color:white;font-weight:bold}.t-d2{color:white}.t-hi{color:#367BF0;font-weight:bold}.t-ok{color:var(--accent)}.t-w{color:var(--accent3)}.t-c{color:#00ff05;font-weight:bold}.t-c2{color:#fff}.t-c3{color:#5ebdab;font-weight:bold}.t-c4{color:#49aee6;font-weight:bold}
.t-flag{color:#ffd700;font-weight:700;letter-spacing:.03em;text-shadow:0 0 12px rgba(255,215,0,.35)}
.lnd-cursor{display:inline-block;width:7px;height:12px;background:var(--accent);vertical-align:text-bottom;animation:lnd-blink .9s step-end infinite}
@keyframes lnd-blink{0%,100%{opacity:1}50%{opacity:0}}
.lnd-features{padding:8px 16px 36px}.lnd-features-inner{max-width:1000px;margin:0 auto}
.lnd-sec-head{text-align:center;margin-bottom:18px}.lnd-sec-head h2{font:700 clamp(20px,3vw,28px) 'Rajdhani',sans-serif;margin-bottom:7px}.lnd-sec-head p{color:var(--text2);font-size:12px;line-height:1.6}
.lnd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:11px}
.lnd-fc{position:relative;overflow:hidden;padding:16px 14px 12px;border-radius:14px;border:1px solid color-mix(in srgb,var(--line2) 60%,transparent);background:linear-gradient(158deg,color-mix(in srgb,var(--surface) 88%,transparent),color-mix(in srgb,var(--card) 78%,transparent));box-shadow:0 8px 18px color-mix(in srgb,var(--shadow) 32%,transparent);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;display:flex;flex-direction:column}
.lnd-fc::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,#fff 5%,transparent) 0%,transparent 60%);opacity:0;transition:opacity .3s ease;pointer-events:none;border-radius:14px}
.lnd-fc::after{content:'';position:absolute;top:-40%;left:-20%;right:-20%;height:70%;background:radial-gradient(ellipse,color-mix(in srgb,var(--fc-color,var(--accent)) 11%,transparent),transparent 68%);opacity:0;transition:opacity .3s ease;pointer-events:none}
.lnd-fc:hover{transform:translateY(-3px);box-shadow:0 16px 32px color-mix(in srgb,var(--shadow) 46%,transparent);border-color:color-mix(in srgb,var(--fc-color,var(--accent)) 36%,var(--line2))}.lnd-fc:hover::before,.lnd-fc:hover::after{opacity:1}
.lnd-fc-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;flex-shrink:0;color:var(--fc-color,var(--accent));border:1px solid color-mix(in srgb,var(--fc-color,var(--accent)) 28%,var(--line));background:color-mix(in srgb,var(--fc-color,var(--accent)) 9%,var(--surface));position:relative;z-index:1}
.lnd-fc-icon svg{width:17px;height:17px}.lnd-fc h3{font:700 13px 'Rajdhani',sans-serif;margin-bottom:5px;letter-spacing:.02em;position:relative;z-index:1}
.lnd-fc p{font-size:11px;line-height:1.7;color:var(--text2);flex:1;position:relative;z-index:1;text-align:justify}
.lnd-fc-tag{display:inline-block;margin-top:10px;align-self:flex-start;padding:2px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--fc-color,var(--accent)) 30%,var(--line));background:color-mix(in srgb,var(--fc-color,var(--accent)) 8%,transparent);color:var(--fc-color,var(--accent));font:700 10px 'Fira Code',monospace;letter-spacing:.06em;position:relative;z-index:1}
.lnd-cta{position:relative;z-index:1;max-width:1000px;margin:0 auto 28px;padding:22px 28px;border-radius:18px;text-align:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,var(--surface)),color-mix(in srgb,var(--accent2) 6%,var(--card)));box-shadow:0 0 60px color-mix(in srgb,var(--accent) 9%,transparent),0 14px 32px color-mix(in srgb,var(--shadow) 42%,transparent)}
.lnd-cta::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% -10%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 58%)}
.lnd-cta h2{font:700 clamp(18px,2.8vw,28px) 'Rajdhani',sans-serif;margin-bottom:9px;position:relative;z-index:1}
.lnd-cta p{color:var(--text2);font-size:12px;margin-bottom:20px;max-width:420px;margin-left:auto;margin-right:auto;line-height:1.7;position:relative;z-index:1}
.lnd-cta .primary-btn{position:relative;z-index:1;padding:11px 20px;font-size:12px}
@media(max-width:980px){.lnd-hero{padding:36px 12px 30px}}
@media(max-width:760px){.lnd-features{padding:12px 10px 28px}.lnd-cta{margin:0 10px 20px;padding:18px 14px}.lnd-term{margin-top:16px}.lnd-grid{grid-template-columns:1fr 1fr}.lnd-sec-head{margin-bottom:20px}}
@media(max-width:480px){.lnd-grid{grid-template-columns:1fr}}
