:root{
  --bg:#0B0E14; --bg2:#11161F; --panel:#141A24; --line:#232C3A;
  --ink:#E6EDF5; --mut:#8A97A8; --lime:#C6F24E; --cyan:#4ED7F2; --violet:#9B8CFF;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Space Grotesk",system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(900px 500px at 80% -5%,rgba(155,140,255,.16),transparent 60%),radial-gradient(700px 500px at 0% 10%,rgba(78,215,242,.10),transparent 55%)}
.wrap{width:min(1080px,92vw);margin-inline:auto}
a{color:inherit;text-decoration:none}
code{font-family:"JetBrains Mono",monospace;background:rgba(198,242,78,.12);color:var(--lime);padding:.1em .4em;border-radius:5px;font-size:.9em}
em{color:var(--cyan);font-style:normal}
h1,h2,h3{letter-spacing:-.02em;line-height:1.1}

.scanline{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.4;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(255,255,255,.012) 2px 3px)}

/* nav */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);background:rgba(11,14,20,.7);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:62px}
.logo{font-weight:700;font-size:1.3rem;letter-spacing:-.03em}
.logo span{color:var(--mut)}
.logo .dot{color:var(--lime);animation:blink 1.1s steps(2) infinite;margin-left:1px}
@keyframes blink{0%,50%{opacity:1}51%,100%{opacity:0}}
.nav nav{display:flex;gap:1.5rem;align-items:center;font-size:.92rem;color:var(--mut)}
.nav nav a:hover{color:var(--ink)}
.ncta{background:var(--lime);color:#0B0E14!important;font-weight:600;padding:.5rem 1rem;border-radius:999px}
.ncta:hover{filter:brightness(1.08)}

/* hero */
.hero{padding:clamp(3rem,8vw,6rem) 0 2.5rem;max-width:880px}
.kick{font-family:"JetBrains Mono",monospace;font-size:.78rem;letter-spacing:.22em;color:var(--cyan);margin-bottom:1.2rem}
.hero h1{font-size:clamp(2.5rem,6.5vw,4.4rem);font-weight:700}
.hl{color:var(--lime)}
.hero .sub{margin-top:1.4rem;font-size:1.18rem;color:var(--mut);max-width:62ch}
.btn{display:inline-block;margin-top:2rem;background:var(--lime);color:#0B0E14;font-weight:700;padding:.95rem 1.8rem;border-radius:999px;transition:transform .15s,box-shadow .15s;box-shadow:0 10px 40px -12px rgba(198,242,78,.55)}
.btn:hover{transform:translateY(-2px)}

/* tool */
.tool{padding:1.5rem 0 3rem}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}
.panel-h{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--mut);font-family:"JetBrains Mono",monospace;font-weight:500;margin-bottom:.9rem}
label{display:block;font-size:.85rem;color:var(--mut);margin-bottom:.85rem}
input,textarea{width:100%;margin-top:.35rem;background:var(--bg2);border:1px solid var(--line);border-radius:9px;color:var(--ink);font:inherit;font-size:.95rem;padding:.6rem .7rem;transition:border-color .15s,box-shadow .15s}
input:focus,textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(78,215,242,.15)}
textarea{resize:vertical}
.rows-head{display:flex;justify-content:space-between;align-items:center;margin:.4rem 0 .6rem}
.mini{background:var(--bg2);border:1px solid var(--line);color:var(--ink);font:inherit;font-size:.8rem;font-weight:600;padding:.4rem .8rem;border-radius:7px;cursor:pointer;transition:.15s}
.mini:hover{border-color:var(--cyan);color:var(--cyan)}
.mini.solid{background:var(--lime);color:#0B0E14;border-color:var(--lime)}
.mini.solid:hover{filter:brightness(1.08);color:#0B0E14}
.prow{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;margin-bottom:.5rem;align-items:start}
.prow input{margin-top:0}
.prow .desc{grid-column:1/3}
.prow .rm{background:none;border:1px solid var(--line);color:var(--mut);border-radius:7px;cursor:pointer;padding:.3rem .55rem;font-size:.9rem;height:38px}
.prow .rm:hover{border-color:#ff6b6b;color:#ff6b6b}
.tip{font-size:.8rem;color:var(--mut);margin-top:.6rem}
.out{position:sticky;top:80px;align-self:start}
.out-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}
.out-btns{display:flex;gap:.5rem}
.code{font-family:"JetBrains Mono",monospace;font-size:.82rem;line-height:1.55;background:#0A0D12;border:1px solid var(--line);border-radius:10px;padding:1rem;color:#cfe;white-space:pre-wrap;word-break:break-word;min-height:280px;max-height:460px;overflow:auto}
.code .c-h{color:var(--lime)}.code .c-q{color:var(--mut)}.code .c-s{color:var(--cyan)}

/* how */
.how{padding:3rem 0 1rem}
.how h2,.content h2,.faq h2{font-size:clamp(1.7rem,3.5vw,2.4rem);font-weight:700;margin-bottom:1.4rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem}
.card .num{font-family:"JetBrains Mono",monospace;color:var(--lime);font-size:.85rem}
.card h3{margin:.5rem 0 .4rem;font-size:1.15rem}
.card p{color:var(--mut);font-size:.95rem}

/* content */
.content{padding:3rem 0;max-width:min(760px,92vw)}
.content h3{margin:1.6rem 0 .5rem;color:var(--cyan);font-size:1.2rem}
.content p{color:var(--mut);margin-bottom:1rem}
.disc{font-size:.85rem;border-left:2px solid var(--violet);padding-left:1rem;opacity:.8}

/* faq */
.faq{padding:1rem 0 4rem;max-width:min(760px,92vw)}
details{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:1rem 1.2rem;margin-bottom:.7rem}
summary{font-weight:600;cursor:pointer;list-style:none;position:relative;padding-right:1.5rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:0;top:-2px;color:var(--lime);font-size:1.3rem}
details[open] summary::after{content:"–"}
details p{color:var(--mut);margin-top:.6rem}

/* footer */
.foot{border-top:1px solid var(--line);padding:2rem 0;color:var(--mut)}
.foot span{color:var(--mut)}
.foot .fine{font-size:.8rem;opacity:.7;margin-top:.3rem}

@media(max-width:820px){.tool-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.out{position:static}.nav nav a:not(.ncta){display:none}}
