:root{--bg:#0a0b0a;--panel:#111412;--line:#232824;--text:#eef2ee;--mute:#9aa59c;--acc:#2ee06a;--acc-ink:#04140a;--err:#ff6b6b}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:720px;margin:0 auto;padding:32px 16px 80px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.02em}
.dot{width:10px;height:10px;border-radius:50%;background:var(--acc);box-shadow:0 0 14px var(--acc)}
h1{font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.1;margin:28px 0 10px}
.lead{color:var(--mute);margin:0 0 28px;max-width:56ch}
.badge{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.85rem;color:var(--acc);margin-bottom:6px}
fieldset{border:0;padding:0;margin:0 0 28px}
legend,.q{font-weight:600;margin-bottom:10px;display:block;padding:0}
.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mode{position:relative}
.mode input{position:absolute;opacity:0;inset:0;cursor:pointer}
.mode span{display:block;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:14px 12px;text-align:center;font-weight:600;transition:.15s}
.mode small{display:block;color:var(--mute);font-weight:400;margin-top:2px}
.mode input:checked+span{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset}
.mode input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
.field{margin-bottom:18px}
label{display:block;font-weight:600;margin-bottom:6px}
.hint{display:block;color:var(--mute);font-weight:400;font-size:.9rem;margin-top:2px}
input[type=text],input[type=email],input[type=number],select,textarea{width:100%;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit}
textarea{min-height:96px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acc);outline-offset:1px}
input[type=file]{width:100%;color:var(--mute);background:var(--panel);border:1px dashed var(--line);border-radius:12px;padding:12px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin-bottom:10px}
.check input{margin-top:5px;accent-color:var(--acc)}
.box{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px;margin-bottom:22px}
.box h2{font-size:1rem;margin:0 0 8px}
button{background:var(--acc);color:var(--acc-ink);border:0;border-radius:12px;padding:14px 22px;font:inherit;font-weight:700;cursor:pointer;width:100%}
button:disabled{opacity:.6;cursor:wait}
.ghost{background:transparent;color:var(--text);border:1px solid var(--line);width:auto;padding:10px 16px;margin-top:10px}
.err{color:var(--err);font-size:.9rem;margin-top:6px;display:none}
.invalid .err{display:block}
.invalid input,.invalid select,.invalid textarea{border-color:var(--err)}
[hidden]{display:none!important}
pre{white-space:pre-wrap;word-break:break-word;background:#000;border:1px solid var(--line);border-radius:12px;padding:14px;font-size:.85rem;max-height:340px;overflow:auto}
.ok{border-color:var(--acc)}
@media (max-width:560px){.modes{grid-template-columns:1fr}.row{grid-template-columns:1fr}}
.trampa{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.sep{margin-top:8px}

