:root{
  --bg:#050505; --ink:#f4f4f4; --dim:#a7a7a7;
  --lime:#9bf542; --pink:#ff5fc8; --cyan:#38d9f5; --red:#ff3b5c; --yellow:#e9f56a; --purple:#6b1fa0;
  --card:#0f0f12; --line:#2a2a33;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:'Fredoka',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--cyan)}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
.title{font-family:'Rubik Wet Paint','Fredoka',sans-serif;color:var(--lime);font-size:clamp(56px,13vw,132px);line-height:.95;margin:0;letter-spacing:2px;
  text-shadow:-4px 0 0 var(--cyan),4px 3px 0 var(--pink)}
.tag{color:var(--cyan);text-transform:uppercase;letter-spacing:2px;font-weight:600}
.tag .star{color:var(--pink)}
.btn{appearance:none;border:0;border-radius:14px;background:var(--lime);color:#000;font:700 18px 'Fredoka',sans-serif;padding:16px 22px;cursor:pointer;
  text-transform:uppercase;letter-spacing:1px;box-shadow:4px 4px 0 var(--pink);transition:transform .08s}
.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--pink)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--line);box-shadow:none}
input,select{width:100%;background:#000;color:var(--ink);border:2px solid var(--line);border-radius:12px;padding:13px 14px;font:500 16px 'Fredoka',sans-serif}
input:focus,select:focus{outline:none;border-color:var(--cyan)}
label{display:block;font-size:13px;color:var(--dim);text-transform:uppercase;letter-spacing:1px;margin:14px 0 6px}
.card{background:var(--card);border:2px solid var(--line);border-radius:20px;padding:22px}
.muted{color:var(--dim)}
.pink{color:var(--pink)} .cyan{color:var(--cyan)} .lime{color:var(--lime)}
.err{color:var(--red);min-height:1.2em;margin-top:10px;font-weight:500}
small{font-size:13px}
.web{position:fixed;pointer-events:none;opacity:.35;z-index:0}
main,header,footer{position:relative;z-index:1}
