:root{--bg:#0b1020;--panel:#131a33;--panel2:#1a2346;--txt:#e8ecff;--mut:#9aa5d1;--acc:#7c5cff;--acc2:#20d3c2;--ok:#2ecc71;--warn:#f5b041;--bad:#ff5c7a;--r:14px}
*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(1200px 600px at 80% -10%,#2a1f66 0,transparent 60%),var(--bg);color:var(--txt);min-height:100vh;display:flex;flex-direction:column}
a{color:var(--acc2)}main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:28px 20px 60px}
.top{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-bottom:1px solid #ffffff14;position:sticky;top:0;background:#0b1020e6;backdrop-filter:blur(8px);z-index:5}
.brand{font-weight:800;font-size:20px;color:var(--txt);text-decoration:none}.logo{color:var(--acc)}
nav{display:flex;gap:16px;align-items:center}nav a{color:var(--mut);text-decoration:none}nav a:hover{color:var(--txt)}
.btn{display:inline-block;background:linear-gradient(135deg,var(--acc),#5a8bff);color:#fff!important;border:0;border-radius:10px;padding:12px 20px;font-weight:700;cursor:pointer;text-decoration:none;font-size:15px}
.btn.sm{padding:8px 14px;font-size:14px}.btn.ghost{background:transparent;border:1px solid #ffffff33}.btn:disabled{opacity:.5;cursor:wait}
.pill{background:#20d3c222;color:var(--acc2);padding:4px 10px;border-radius:999px;font-size:13px;font-weight:700}
h1{font-size:44px;line-height:1.1;margin:10px 0 14px}h2{font-size:28px;margin:34px 0 12px}h3{margin:0 0 8px}
.lead{color:var(--mut);font-size:19px;max-width:720px}.mut{color:var(--mut)}
.card{background:var(--panel);border:1px solid #ffffff12;border-radius:var(--r);padding:22px}
.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
input,select,textarea{width:100%;background:var(--panel2);color:var(--txt);border:1px solid #ffffff22;border-radius:10px;padding:12px;font:inherit}
label{display:block;font-weight:600;margin:14px 0 6px}.row{display:flex;gap:10px}.row>*{flex:1}.row .btn{flex:0 0 auto}
.hero-audit{display:flex;gap:10px;max-width:640px;margin-top:22px}.hero-audit input{font-size:17px}
.score{text-align:center}.ring{--v:0;--c:var(--ok);width:120px;height:120px;border-radius:50%;margin:0 auto 10px;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--v)*1%),#ffffff14 0);position:relative}
.ring::before{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--panel)}.ring b{position:relative;font-size:30px}
.chk{display:grid;grid-template-columns:26px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid #ffffff0f;align-items:start}
.chk .v{color:var(--mut);font-size:14px;text-align:right}.chk small{display:block;color:var(--mut)}
.dot{width:18px;height:18px;border-radius:50%;margin-top:3px}.pass{background:var(--ok)}.warn{background:var(--warn)}.fail{background:var(--bad)}
.lock{filter:blur(4px);pointer-events:none;user-select:none}
.plan{position:relative}.plan.pop{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc),0 20px 50px #7c5cff33}
.plan .price{font-size:42px;font-weight:800}.plan ul{padding-left:18px;color:var(--mut)}.tag{position:absolute;top:-12px;right:18px;background:var(--acc);padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}
.steps{display:flex;gap:8px;margin-bottom:18px}.steps span{flex:1;height:6px;border-radius:9px;background:#ffffff1a}.steps span.on{background:linear-gradient(90deg,var(--acc),var(--acc2))}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid #ffffff2a;padding:8px 12px;border-radius:999px;cursor:pointer;user-select:none;color:var(--mut)}.chip.on{background:#7c5cff33;border-color:var(--acc);color:var(--txt)}
.tl{border-left:2px solid #7c5cff66;margin-left:10px;padding-left:22px}.tl .m{position:relative;margin-bottom:22px}.tl .m::before{content:"";position:absolute;left:-31px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--acc)}
.gen{font-family:ui-monospace,Menlo,monospace;font-size:14px;background:#0008;border-radius:10px;padding:14px;min-height:120px;white-space:pre-wrap}
.err{color:var(--bad);margin-top:10px}.center{text-align:center}.foot{text-align:center;color:var(--mut);padding:20px;font-size:13px}
.stat{font-size:30px;font-weight:800}
@media(max-width:640px){h1{font-size:32px}nav a:not(.btn){display:none}.hero-audit{flex-direction:column}}
