:root{
  --bg:#0f1113; --surface:#181b1e; --surface2:#20242a; --line:#2b3037;
  --text:#f1efea; --muted:#8d949e; --red:#e2373f; --blue:#2c64e8; --ok:#4cc38a; --warn:#e8b04a;
  --pole:repeating-linear-gradient(135deg,var(--red) 0 10px,#f1efea 10px 20px,var(--blue) 20px 30px,#f1efea 30px 40px);
  --r:14px;
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font:16px/1.4 "DM Sans",system-ui,sans-serif;min-height:100dvh}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.wrap{max-width:520px;margin:0 auto;padding:0 16px}
h1,h2,h3,.display{font-family:"Archivo",sans-serif;font-stretch:112%;font-weight:800;letter-spacing:-.01em}
.pole-top{height:6px;background:var(--pole);background-size:56px 56px;animation:slide 2.4s linear infinite}
@keyframes slide{to{background-position:56px 0}}
@keyframes in{from{opacity:0;transform:translateY(6px)}}
.sub{color:var(--muted);font-size:15px}
input,select,textarea{width:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:14px;font-size:17px}
select{appearance:none}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue)}
input.bad{border-color:var(--red)}
label{display:block;font-size:14px;color:var(--muted);margin:0 0 6px}
.field{margin-bottom:16px}
.err{color:#ff8087;font-size:14px;margin-top:8px}
.btn{background:var(--red);color:#fff;font-weight:700;padding:15px 22px;border-radius:14px;font-size:16px;transition:.15s;text-align:center;display:inline-block;text-decoration:none}
.btn:disabled{background:var(--surface2);color:#5b626c;cursor:default}
.btn2{background:var(--surface2);padding:12px 16px;border-radius:12px;font-weight:600;display:inline-block;text-decoration:none}
.toast{position:fixed;left:16px;right:16px;bottom:calc(100px + env(safe-area-inset-bottom));max-width:488px;margin:0 auto;background:#2a1517;border:1px solid var(--red);color:#ffd5d7;padding:14px 16px;border-radius:12px;z-index:20;animation:in .2s ease}
.toast.okk{background:#12241b;border-color:var(--ok);color:#c9f2de}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
[hidden]{display:none!important}
