:root{
  --ink:#111;
  --paper:#fff8e7;
  --pink:#ff2e63;
  --yellow:#ffe66d;
  --cyan:#00d4ff;
  --lime:#7dff6b;
  --purple:#7b2cbf;
  --orange:#ff7a18;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Comic Neue", "Comic Sans MS", "Chalkboard SE", system-ui, sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.45;
  background-image:
    radial-gradient(circle at 12% 18%, #ff2e6322 0 120px, transparent 121px),
    radial-gradient(circle at 88% 8%, #00d4ff22 0 140px, transparent 141px),
    radial-gradient(circle at 70% 80%, #ffe66d55 0 160px, transparent 161px),
    radial-gradient(circle at 20% 90%, #7dff6b33 0 100px, transparent 101px);
  min-height:100vh;
}
a{color:var(--purple);font-weight:700}
.wrap{max-width:720px;margin:0 auto;padding:18px 16px 48px}
.badge-18{
  display:inline-block;background:var(--pink);color:#fff;
  border:3px solid var(--ink);border-radius:12px;
  padding:2px 10px;font-weight:900;letter-spacing:1px;font-size:.85rem;
  box-shadow:3px 3px 0 var(--ink);transform:rotate(-3deg);
}
header.top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:18px;flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.brand img{width:64px;height:64px;border-radius:16px;border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);object-fit:cover;background:var(--pink)}
.brand h1{font-size:1.55rem;line-height:1.05;letter-spacing:-.5px}
.brand .smash{color:var(--pink);-webkit-text-stroke:1px var(--ink)}
.brand .pass{color:var(--cyan);-webkit-text-stroke:1px var(--ink)}
.nav a{margin-left:10px;font-size:.95rem}
.hero{
  background:linear-gradient(145deg,var(--yellow),#fff);
  border:5px solid var(--ink);border-radius:28px;
  padding:28px 22px 24px;box-shadow:8px 8px 0 var(--ink);
  text-align:center;position:relative;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:10px;border:3px dashed var(--ink);border-radius:20px;opacity:.25;pointer-events:none;
}
.hero h2{font-size:clamp(1.8rem,6vw,2.6rem);margin:8px 0 6px;transform:rotate(-1deg)}
.hero .tag{font-size:1.15rem;font-weight:800;margin:8px 0 14px}
.pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:14px 0 6px}
.pill{
  border:3px solid var(--ink);border-radius:999px;padding:8px 14px;font-weight:900;
  box-shadow:3px 3px 0 var(--ink);background:#fff;
}
.pill.smash{background:var(--pink);color:#fff}
.pill.pass{background:var(--cyan)}
.pill.date{background:var(--lime)}
.cta{
  display:inline-block;margin-top:16px;background:var(--ink);color:var(--yellow);
  border:4px solid var(--ink);border-radius:999px;padding:14px 28px;
  font-weight:900;font-size:1.1rem;text-decoration:none;
  box-shadow:5px 5px 0 var(--pink);transform:rotate(-1deg);
}
.cta:hover{transform:rotate(1deg) translateY(-2px)}
.card{
  margin-top:22px;background:#fff;border:4px solid var(--ink);border-radius:22px;
  padding:20px 18px;box-shadow:6px 6px 0 var(--ink);
}
.card h3{font-size:1.35rem;margin-bottom:8px}
.card p{margin:8px 0}
.how{display:grid;gap:12px;margin-top:12px}
@media(min-width:560px){.how{grid-template-columns:1fr 1fr 1fr}}
.step{
  background:var(--paper);border:3px solid var(--ink);border-radius:18px;padding:14px;
  box-shadow:3px 3px 0 var(--orange);text-align:center;
}
.step .n{font-size:1.8rem;font-weight:900}
form label{display:block;font-weight:800;margin:12px 0 4px}
form input[type=text],form input[type=email]{
  width:100%;padding:12px 14px;font:inherit;font-size:1.05rem;
  border:3px solid var(--ink);border-radius:14px;background:var(--paper);
  box-shadow:3px 3px 0 #0002;
}
.chk{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-weight:700}
.chk input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--pink)}
button[type=submit],.btn{
  display:block;width:100%;margin-top:16px;padding:14px;font:inherit;font-size:1.15rem;font-weight:900;
  background:var(--pink);color:#fff;border:4px solid var(--ink);border-radius:18px;
  box-shadow:5px 5px 0 var(--ink);cursor:pointer;
}
button[type=submit]:hover{transform:translateY(-2px)}
.note{font-size:.9rem;margin-top:10px;opacity:.85}
.notice{
  margin-top:18px;background:var(--pink);color:#fff;border:4px solid var(--ink);
  border-radius:18px;padding:14px 16px;font-weight:800;box-shadow:4px 4px 0 var(--ink);
  text-align:center;
}
footer{
  margin-top:28px;text-align:center;font-weight:700;font-size:.95rem;
}
footer a{margin:0 6px}
.legal h1{font-size:1.8rem;margin:8px 0 4px}
.legal h2{font-size:1.15rem;margin:18px 0 6px;color:var(--purple)}
.legal p,.legal li{margin:6px 0}
.legal ul{padding-left:22px}
.back{
  display:inline-block;margin-top:20px;background:var(--yellow);color:var(--ink);
  border:3px solid var(--ink);border-radius:999px;padding:10px 18px;
  text-decoration:none;font-weight:900;box-shadow:3px 3px 0 var(--ink);
}
.hidden{display:none}
