:root{ --bg:#000; --surface:#111; --fg:#fff; --fg-soft:#9C9C9C; --line:rgba(255,255,255,.18); --ok:#4ADE80; --bad:#E5433D; }
*{box-sizing:border-box;}
body{ margin:0; background:var(--bg); color:var(--fg); font-family:'Inter',sans-serif; -webkit-font-smoothing:antialiased;
  background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.08) 1px, transparent 0); background-size:22px 22px; }
.stencil{ font-family:'Big Shoulders Stencil',sans-serif; text-transform:uppercase; letter-spacing:.02em; }
.mono{ font-family:'JetBrains Mono',monospace; }
a{ color:inherit; }
img{ max-width:100%; display:block; }
.wrap{ max-width:1160px; margin:0 auto; padding:0 20px; }
.topbar{ border-bottom:2px solid var(--fg); background:var(--bg); position:sticky; top:0; z-index:20; }
.topbar-in{ max-width:1160px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.logo{ font-family:'Big Shoulders Stencil',sans-serif; font-weight:700; font-size:20px; letter-spacing:.03em; }
h1{ font-size:clamp(30px,5vw,52px); line-height:1; margin:28px 0 6px; }
.lede{ color:var(--fg-soft); margin:0 0 26px; font-size:15px; }
.btn{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:13px; background:var(--fg); color:var(--bg);
  padding:12px 18px; border:none; cursor:pointer; text-decoration:none; display:inline-block; box-shadow:3px 3px 0 var(--fg-soft);
  transition:transform .15s ease, box-shadow .15s ease; }
.btn:hover{ transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--fg-soft); }
.btn[disabled]{ opacity:.5; cursor:wait; transform:none; }
.btn-ghost{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:13px; background:transparent; color:var(--fg);
  padding:12px 18px; border:2px solid var(--fg); cursor:pointer; text-decoration:none; display:inline-block; }
.btn-ghost:hover{ background:var(--fg); color:var(--bg); }
.btn-mini{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; background:transparent; color:var(--fg-soft);
  border:1px solid var(--line); padding:6px 10px; cursor:pointer; }
.btn-mini:hover{ color:var(--fg); border-color:var(--fg); }
.card{ background:var(--surface); border:2px solid var(--fg); padding:22px; }
label{ display:block; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--fg-soft); margin:0 0 6px; }
input,textarea,select{ width:100%; background:#000; color:var(--fg); border:1px solid var(--line); padding:11px 12px;
  font-family:'Inter',sans-serif; font-size:15px; }
input:focus,textarea:focus{ outline:none; border-color:var(--fg); }
input[type=file]{ font-size:13px; padding:8px; }
.grid2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field{ margin-bottom:16px; }
.msg{ font-family:'JetBrains Mono',monospace; font-size:13px; padding:10px 12px; border:1px solid var(--line); margin:14px 0; }
.msg.ok{ color:var(--ok); border-color:var(--ok); }
.msg.err{ color:var(--bad); border-color:var(--bad); }
.muted{ color:var(--fg-soft); font-size:13px; }
footer{ border-top:1px solid var(--line); margin-top:60px; padding:22px 0; color:var(--fg-soft); font-size:12px; }
@media(max-width:720px){ .grid2{ grid-template-columns:1fr; } }
