/* KaliVault — shared styles */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#000300;--card:#021002;--border:#0a2a0a;--border2:#0f3d0f;--accent:#00ff41;--accent2:#00cc33;--text:#c8ffc8;--muted:#3a7a3a;--muted2:#1a4a1a;--warn:#ffd166}
html{scroll-behavior:smooth}
body{font-family:'Cairo',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(0,255,65,.06),transparent 70%);pointer-events:none}
a{color:inherit}
.ico{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;pointer-events:none}
nav{position:fixed;top:0;left:0;right:0;z-index:100;height:60px;display:flex;align-items:center;gap:18px;padding:0 2rem;background:rgba(0,3,0,.95);backdrop-filter:blur(24px);border-bottom:1px solid rgba(0,255,65,.1)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:'Space Mono',monospace;font-weight:700;font-size:15px;letter-spacing:.04em}
.brand svg{width:30px;height:30px;stroke:var(--accent);fill:rgba(0,255,65,.1);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(0,255,65,.5))}
.brand b{color:var(--accent)}
.nl{display:flex;gap:4px;margin-inline-start:10px}
.nl a{font-size:13px;color:var(--muted);text-decoration:none;padding:6px 12px;border-radius:8px;transition:.2s}
.nl a:hover{color:var(--accent);background:rgba(0,255,65,.06)}
.nav-r{margin-inline-start:auto;display:flex;gap:8px;align-items:center}
.cur{display:flex;border:1px solid var(--border2);border-radius:8px;overflow:hidden}
.cur button{background:var(--card);color:var(--muted);border:0;padding:7px 11px;font-family:'Space Mono',monospace;font-size:11px;cursor:pointer}
.cur button.on{background:rgba(0,255,65,.15);color:var(--accent)}
.wrap{max-width:1150px;margin:0 auto;padding:90px 2rem 3rem;position:relative}
.tag{display:inline-flex;align-items:center;gap:6px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.1em;color:var(--accent);border:1px solid rgba(0,255,65,.35);background:rgba(0,255,65,.08);padding:4px 12px;border-radius:100px;margin-bottom:1rem}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;margin-bottom:2rem}
h1{font-size:clamp(2rem,4.5vw,3.4rem);font-weight:900;line-height:1.1;letter-spacing:-.03em;margin-bottom:.8rem}
h1 span{color:var(--accent);text-shadow:0 0 24px rgba(0,255,65,.5)}
.sub{color:var(--muted);line-height:1.9;font-size:15px;margin-bottom:1.2rem;max-width:480px}
.cta{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#000;font-family:'Space Mono',monospace;font-size:12px;font-weight:700;text-decoration:none;box-shadow:0 0 24px rgba(0,255,65,.3);transition:.2s}
.cta:hover{transform:translateY(-2px);box-shadow:0 0 36px rgba(0,255,65,.5)}
.term{direction:ltr;background:#000a00;border:1px solid var(--border2);border-radius:14px;overflow:hidden;box-shadow:0 0 40px rgba(0,255,65,.08)}
.term-h{display:flex;gap:6px;align-items:center;padding:10px 14px;background:#001200;border-bottom:1px solid var(--border)}
.term-h i{width:9px;height:9px;border-radius:50%;background:#1a4a1a}
.term-h span{margin-left:auto;font-family:'Space Mono',monospace;font-size:10px;color:var(--muted)}
.term pre{font-family:'Space Mono',monospace;font-size:12px;line-height:1.8;padding:16px;min-height:236px;white-space:pre-wrap}
.term .p{color:var(--accent)}.term .d{color:var(--muted)}.term .w{color:var(--warn)}
.cur-b{display:inline-block;width:7px;height:13px;background:var(--accent);vertical-align:-2px;animation:bl 1s steps(2) infinite}
@keyframes bl{50%{opacity:0}}
.legal{display:flex;gap:10px;align-items:flex-start;background:rgba(255,209,102,.06);border:1px solid rgba(255,209,102,.25);color:#e8c878;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.8;margin-bottom:2rem}
.legal .ico{color:var(--warn);margin-top:4px}
.bundle{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:linear-gradient(135deg,rgba(0,255,65,.1),rgba(0,255,65,.02));border:1px solid rgba(0,255,65,.35);border-radius:18px;padding:1.3rem 1.5rem;margin-bottom:2rem}
.bundle .big{width:54px;height:54px;border-radius:14px;background:rgba(0,255,65,.12);border:1px solid rgba(0,255,65,.4);display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--accent)}
.bundle h2{font-size:20px;font-weight:900}.bundle p{color:var(--muted);font-size:13px;margin-top:2px}
.bundle .go{margin-inline-start:auto}
.tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:1.4rem}
.chip{font-family:'Space Mono',monospace;font-size:11px;color:var(--muted);background:var(--card);border:1px solid var(--border2);padding:7px 14px;border-radius:100px;cursor:pointer;transition:.2s}
.chip:hover{color:var(--accent)}.chip.on{color:#000;background:var(--accent);border-color:var(--accent)}
.search{margin-inline-start:auto;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border2);border-radius:10px;padding:7px 12px;color:var(--muted)}
.search input{background:none;border:0;outline:0;color:var(--text);font-family:'Cairo';font-size:13px;width:150px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:20px}
.card{background:linear-gradient(135deg,#021002,#010a01);border:1px solid var(--border2);border-radius:18px;padding:1.3rem;display:flex;flex-direction:column;transition:.25s;position:relative;overflow:hidden}
.card::after{content:'';position:absolute;left:0;right:0;top:-2px;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:.3s}
.card:hover{transform:translateY(-4px);border-color:rgba(0,255,65,.4);box-shadow:0 14px 40px rgba(0,255,65,.12)}
.card:hover::after{opacity:1}
.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.ic{width:46px;height:46px;border-radius:12px;background:rgba(0,255,65,.08);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--accent)}
.cat{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.08em;color:var(--accent);border:1px solid rgba(0,255,65,.3);background:rgba(0,255,65,.07);padding:3px 10px;border-radius:100px}
.card h3{font-size:17px;font-weight:800;margin-bottom:.4rem}
.card h3 a{text-decoration:none}.card h3 a:hover{color:var(--accent)}
.card p{color:var(--muted);font-size:13px;line-height:1.8;flex:1;margin-bottom:.9rem}
.tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:1rem}
.tags span{font-family:'Space Mono',monospace;font-size:10px;color:var(--accent2);background:rgba(0,255,65,.06);border:1px solid var(--border);padding:2px 9px;border-radius:100px}
.buy{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:.9rem}
.pr{line-height:1}.pr s{display:block;font-family:'Space Mono',monospace;font-size:10px;color:var(--muted2);margin-bottom:3px}
.pr b{font-size:22px;font-weight:900;color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border-radius:10px;background:rgba(0,255,65,.1);border:1px solid rgba(0,255,65,.4);color:var(--accent);font-family:'Space Mono',monospace;font-size:11px;font-weight:700;text-decoration:none;cursor:pointer;transition:.2s}
.btn:hover{background:var(--accent);color:#000}
.btn.ghost{background:none;border-color:var(--border2);color:var(--muted)}.btn.ghost:hover{background:rgba(0,255,65,.08);color:var(--accent)}
.btn.main{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#000;border:0;box-shadow:0 0 24px rgba(0,255,65,.3)}
.buy .btn:first-of-type{margin-inline-start:auto}
.empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:3rem 0}
.note{margin-top:2rem;padding:12px 14px;background:rgba(0,255,65,.04);border:1px solid rgba(0,255,65,.12);border-radius:10px;font-family:'Space Mono',monospace;font-size:11px;color:var(--muted);line-height:1.9}
.note b{color:var(--accent)}
footer{border-top:1px solid var(--border);padding:1.6rem 2rem;display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;font-family:'Space Mono',monospace;font-size:11px;color:var(--muted)}
footer a{text-decoration:none}footer a:hover{color:var(--accent)}
/* detail page */
.crumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:1.4rem;font-family:'Space Mono',monospace}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--accent)}
.d-grid{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}
.d-head{display:flex;gap:16px;align-items:center;margin-bottom:1.2rem}
.d-ic{width:68px;height:68px;border-radius:18px;background:rgba(0,255,65,.08);border:1px solid rgba(0,255,65,.35);display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--accent);box-shadow:0 0 30px rgba(0,255,65,.12)}
.d-head h1{font-size:clamp(1.6rem,3.5vw,2.4rem);margin:0}
.box{background:linear-gradient(135deg,#021002,#010a01);border:1px solid var(--border2);border-radius:16px;padding:1.3rem 1.4rem;margin-bottom:1.4rem}
.box h2{font-size:15px;font-weight:800;margin-bottom:.8rem;display:flex;gap:8px;align-items:center;color:var(--accent)}
.box p{color:#8fc98f;line-height:2;font-size:14px;white-space:pre-line}
.feat{list-style:none;display:grid;gap:9px}
.feat li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.7}
.feat .ico{color:var(--accent);margin-top:4px}
.steps{list-style:none;counter-reset:s;display:grid;gap:12px}
.steps li{counter-increment:s;display:flex;gap:12px;align-items:center;font-size:14px}
.steps li::before{content:counter(s);width:28px;height:28px;border-radius:8px;background:rgba(0,255,65,.12);border:1px solid rgba(0,255,65,.4);color:var(--accent);font-family:'Space Mono',monospace;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.panel{position:sticky;top:80px;background:linear-gradient(135deg,rgba(0,255,65,.08),#010a01);border:1px solid rgba(0,255,65,.35);border-radius:18px;padding:1.5rem}
.panel .pr b{font-size:38px}.panel .pr s{font-size:13px}
.panel .btn{width:100%;margin-top:10px;padding:14px;font-size:13px}
.panel ul{list-style:none;margin-top:1.1rem;display:grid;gap:8px;font-size:12.5px;color:var(--muted)}
.panel li{display:flex;gap:8px;align-items:center}.panel li .ico{color:var(--accent)}
.sec-t{font-size:18px;font-weight:900;margin:2.2rem 0 1rem}
@media(max-width:860px){.hero,.d-grid{grid-template-columns:1fr}nav{padding:0 1rem}.nl{display:none}.wrap{padding:80px 1rem 2rem}.search{margin:0;width:100%}.search input{width:100%}.bundle .go{margin:0}.panel{position:static}}
@media(prefers-reduced-motion:reduce){.card,.cta,.cur-b{transition:none;animation:none}}
.embed nav,.embed .hero,.embed footer{display:none}
.embed body{min-height:0}.embed .wrap{padding:.5rem 0 1rem}
