/* ==========================================================================
   EUTOPIA x LagZapper · AION 2 Halloween Giveaway
   Page-local styles. Shares the EUTOPIA topbar and the tool-meta footer with
   every other page; everything else is scoped to .gw-* classes.
   ========================================================================== */

:root{
  --ink:#070405;
  --char:#110b0c;
  --char-2:#18100f;
  --char-3:#21140f;
  --line:rgba(216,166,74,.22);
  --line-strong:rgba(216,166,74,.48);
  --gold:#d8a64a;
  --gold-hi:#f6dc94;
  --gold-dim:#8f6b31;
  --blood:#b3121f;
  --blood-hi:#ea2c3d;
  --blood-deep:#3d050c;
  --zap:#2ef2a0;
  --zap-hi:#7dffc8;
  --zap-deep:#0b4a32;
  --text:#f4ece4;
  --muted:#bcad9f;
  --faint:#8a7a6d;
  --ok:#5ef0ac;
  --warn:#ffc46b;
  --err:#ff6b6b;
  --radius:18px;
  --gutter:clamp(16px,3.2vw,34px);
  --display:"Cinzel","Times New Roman",serif;
  --wide:"Archivo","Segoe UI",system-ui,sans-serif;
  --body:"Inter","Segoe UI",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--ink)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;min-height:100vh;
  background:
    radial-gradient(1100px 620px at 78% -8%,rgba(179,18,31,.30),transparent 62%),
    radial-gradient(900px 520px at -10% 24%,rgba(120,10,22,.20),transparent 65%),
    linear-gradient(180deg,#0b0607 0%,var(--ink) 46%,#060304 100%);
  color:var(--text);
  font-family:var(--body);
  font-size:16px;line-height:1.55;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------------------------------------------------------------- topbar */
/* Same markup and look as every EUTOPIA tool page. */
.eu-topbar{
  position:sticky;top:0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  height:52px;padding:0 clamp(13px,3vw,22px);
  border-bottom:1px solid rgba(168,120,255,.18);
  background:rgba(10,4,22,.86);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  font-family:"Inter","Segoe UI",system-ui,sans-serif;
}
.eu-topbar a{text-decoration:none;}
.eu-back{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 13px 7px 10px;
  border:1px solid rgba(168,120,255,.18);
  border-radius:9px;
  background:rgba(255,255,255,.025);
  color:#E8DFF5;font-size:.85rem;font-weight:650;
  transition:color .2s,background .2s,border-color .2s,box-shadow .2s,transform .2s;
}
.eu-back:hover{
  color:#F6F1FF;
  background:rgba(255,91,225,.08);
  border-color:rgba(255,91,225,.34);
  box-shadow:0 0 16px rgba(157,92,255,.12);
  transform:translateY(-1px);
}
.eu-back svg{transition:transform .25s cubic-bezier(.22,1,.36,1);}
.eu-back:hover svg{transform:translateX(-3px);}
.eu-brand{
  display:flex;align-items:baseline;gap:6px;
  font-family:"Archivo","Segoe UI",system-ui,sans-serif;
  font-weight:800;font-size:.78rem;letter-spacing:.16em;
}
.eu-brand span{color:#F6F1FF;}
.eu-brand em{
  font-style:normal;
  background:linear-gradient(100deg,#FF5BE1,#9D5CFF 45%,#4CA8FF 78%,#45E5F0);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.eu-yt{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 13px;border-radius:9px;
  border:1px solid rgba(255,120,235,.34);
  background:linear-gradient(180deg,rgba(255,91,225,.16),rgba(157,92,255,.09));
  color:#F6F1FF;font-size:.8rem;font-weight:600;
  transition:box-shadow .25s,border-color .25s,transform .25s cubic-bezier(.22,1,.36,1);
}
.eu-yt:hover{transform:translateY(-1px);border-color:#FF5BE1;box-shadow:0 0 20px rgba(255,91,225,.34);}
.eu-topbar :focus-visible{outline:2px solid #45E5F0;outline-offset:2px;}
@media (max-width:560px){ .eu-brand{display:none;} }
@media (prefers-reduced-motion:reduce){
  .eu-topbar *{transition-duration:.001ms !important;}
}

/* ------------------------------------------------------------ atmosphere */
.gw-atmos{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.gw-moon{
  position:absolute;top:-140px;right:-120px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle at 42% 40%,rgba(255,120,96,.20),rgba(179,18,31,.10) 45%,transparent 70%);
  filter:blur(6px);
}
.gw-fog{
  position:absolute;left:-20%;width:140%;height:240px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(150,20,30,.16),transparent);
  filter:blur(30px);
  animation:gwDrift 38s ease-in-out infinite alternate;
}
.gw-fog-a{bottom:-90px}
.gw-fog-b{top:42%;opacity:.55;animation-duration:52s;animation-direction:alternate-reverse}
@keyframes gwDrift{from{transform:translate3d(-4%,0,0)}to{transform:translate3d(4%,-12px,0)}}
@media (prefers-reduced-motion:reduce){.gw-fog{animation:none}}

/* ---------------------------------------------------------------- layout */
.gw{
  position:relative;z-index:1;
  width:min(1260px,100%);
  margin:0 auto;
  padding:clamp(18px,3.4vw,40px) var(--gutter) 10px;
}

/* ------------------------------------------------------------------ hero */
.gw-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(20px,3vw,36px);
  align-items:center;
}
@media (min-width:1080px){
  .gw-hero{grid-template-columns:minmax(0,1.62fr) minmax(0,1fr)}
}

.gw-art{
  position:relative;margin:0;
  border-radius:16px;
  padding:2px;
  background:linear-gradient(140deg,rgba(246,220,148,.85),rgba(143,107,49,.45) 30%,rgba(179,18,31,.55) 64%,rgba(246,220,148,.7));
  box-shadow:
    0 0 0 1px rgba(0,0,0,.6),
    0 26px 70px rgba(0,0,0,.55),
    0 0 90px rgba(179,18,31,.28);
}
.gw-art picture,.gw-art img{border-radius:14px;width:100%;height:auto;background:#1a0b0c}
.gw-art-corner{
  position:absolute;width:22px;height:22px;z-index:2;
  border-color:var(--gold-hi);border-style:solid;border-width:0;
  filter:drop-shadow(0 0 6px rgba(246,220,148,.5));
}
.gw-art-corner--tl{top:-7px;left:-7px;border-top-width:2px;border-left-width:2px;border-top-left-radius:6px}
.gw-art-corner--tr{top:-7px;right:-7px;border-top-width:2px;border-right-width:2px;border-top-right-radius:6px}
.gw-art-corner--bl{bottom:-7px;left:-7px;border-bottom-width:2px;border-left-width:2px;border-bottom-left-radius:6px}
.gw-art-corner--br{bottom:-7px;right:-7px;border-bottom-width:2px;border-right-width:2px;border-bottom-right-radius:6px}

.gw-intro{min-width:0}
.gw-eyebrow{
  margin:0 0 12px;
  font-family:var(--wide);font-weight:800;font-stretch:112%;
  font-size:.72rem;letter-spacing:.2em;color:var(--gold);
}
.gw-eyebrow span{color:var(--zap);margin:0 .2em}
.gw-eyebrow i{font-style:normal;color:var(--faint);margin:0 .35em}

.gw-title{margin:0;line-height:1.02}
.gw-title-top{
  display:block;margin-bottom:8px;
  font-family:var(--wide);font-weight:800;font-stretch:118%;
  font-size:clamp(.95rem,1.5vw,1.12rem);letter-spacing:.14em;text-transform:uppercase;
  color:var(--text);
}
.gw-title-main{
  display:block;
  font-family:var(--display);font-weight:800;
  font-size:clamp(2.3rem,4.6vw,3.7rem);letter-spacing:.01em;
  background:linear-gradient(180deg,#fff4d6 0%,var(--gold-hi) 34%,var(--gold) 70%,#a8752c 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 0 transparent;
  filter:drop-shadow(0 2px 0 rgba(0,0,0,.6)) drop-shadow(0 0 24px rgba(179,18,31,.45));
}
.gw-lede{margin:16px 0 18px;color:var(--muted);font-size:1.02rem;max-width:52ch}

/* status / deadline */
.gw-status{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:12px 14px;margin-bottom:16px;
  border:1px solid var(--line);border-radius:12px;
  background:linear-gradient(180deg,rgba(33,20,15,.75),rgba(14,8,9,.75));
}
.gw-status-pill{
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 11px;border-radius:999px;
  font-family:var(--wide);font-weight:800;font-stretch:110%;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.16);color:var(--muted);background:rgba(255,255,255,.04);
  white-space:nowrap;
}
.gw-status-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.9}
.gw-status[data-state="open"] .gw-status-pill{color:var(--zap);border-color:rgba(46,242,160,.38);background:rgba(46,242,160,.07)}
.gw-status[data-state="open"] .gw-status-pill::before{box-shadow:0 0 10px var(--zap);animation:gwPulse 2.2s ease-in-out infinite}
.gw-status[data-state="closed"] .gw-status-pill{color:#ff8a8a;border-color:rgba(234,44,61,.45);background:rgba(234,44,61,.10)}
.gw-status[data-state="soon"] .gw-status-pill,
.gw-status[data-state="error"] .gw-status-pill{color:var(--warn);border-color:rgba(255,196,107,.35);background:rgba(255,196,107,.07)}
@keyframes gwPulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.gw-status-pill::before{animation:none!important}}
.gw-status-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.gw-status-label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-weight:600}
.gw-status-time{font-weight:600;color:var(--text);font-size:.95rem}
.gw-status-count{font-family:var(--mono);font-size:.78rem;color:var(--gold-hi)}
.gw-status-count:empty{display:none}

/* prize cards */
.gw-prizes{display:grid;gap:10px}
.gw-prize{
  position:relative;display:flex;align-items:center;gap:16px;
  padding:14px 16px;border-radius:14px;
  border:1px solid var(--line);
  overflow:hidden;
}
.gw-prize::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(100deg,transparent 40%,rgba(255,255,255,.05) 50%,transparent 60%);
}
.gw-prize--outfit{
  background:linear-gradient(100deg,rgba(120,10,22,.55),rgba(30,10,12,.85) 60%);
  border-color:rgba(216,166,74,.38);
}
.gw-prize--pass{
  background:linear-gradient(100deg,rgba(11,74,50,.42),rgba(12,14,13,.88) 60%);
  border-color:rgba(46,242,160,.26);
}
.gw-prize-count{
  flex:0 0 auto;min-width:64px;text-align:center;
  font-family:var(--display);font-weight:800;font-size:2.15rem;line-height:1;
}
.gw-prize--outfit .gw-prize-count{color:var(--gold-hi);text-shadow:0 0 18px rgba(234,44,61,.55)}
.gw-prize--pass .gw-prize-count{color:var(--zap-hi);text-shadow:0 0 16px rgba(46,242,160,.35)}
.gw-prize-body{min-width:0}
.gw-prize-title{
  margin:0;font-family:var(--wide);font-weight:800;font-stretch:104%;
  font-size:1rem;line-height:1.25;letter-spacing:.01em;
}
.gw-prize-value{margin:3px 0 0;font-size:.9rem;color:var(--muted)}
.gw-prize--outfit .gw-prize-value{color:var(--gold-hi);font-weight:600}
.gw-disclosure{
  margin:10px 2px 0;font-size:.8rem;color:var(--faint);
}
.gw-jump{
  display:inline-flex;align-items:center;gap:8px;margin-top:16px;
  padding:10px 4px;
  font-family:var(--wide);font-weight:800;font-stretch:110%;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-hi);text-decoration:none;
}
.gw-jump[hidden]{display:none}
.gw-jump svg{transition:transform .25s}
.gw-jump:hover svg{transform:translateY(3px)}

/* -------------------------------------------------------------- sections */
.gw-enter,.gw-rules{margin-top:clamp(40px,6vw,72px);scroll-margin-top:70px}
.gw-head{margin-bottom:20px;text-align:center}
.gw-kicker{
  margin:0 0 6px;font-family:var(--wide);font-weight:800;font-stretch:112%;
  font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);
}
.gw-h2{
  margin:0;font-family:var(--display);font-weight:700;
  font-size:clamp(1.6rem,3vw,2.2rem);color:var(--text);
}
.gw-head::after{
  content:"";display:block;width:140px;height:10px;margin:12px auto 0;
  background:
    linear-gradient(90deg,transparent,var(--gold) 45%,var(--gold) 55%,transparent) center/100% 1px no-repeat,
    radial-gradient(circle,var(--gold-hi) 0 2.5px,transparent 3px) center/10px 10px no-repeat;
}

/* ----------------------------------------------------------------- steps */
.gw-steps{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media (min-width:880px){.gw-steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}}

.gw-step{
  position:relative;min-width:0;
  padding:clamp(20px,2.6vw,28px);
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:
    linear-gradient(180deg,rgba(34,20,16,.92),rgba(14,9,10,.94));
  box-shadow:0 18px 50px rgba(0,0,0,.42);
  transition:border-color .35s,box-shadow .35s,opacity .35s;
}
.gw-step.is-active{
  border-color:var(--line-strong);
  box-shadow:0 18px 50px rgba(0,0,0,.42),0 0 0 1px rgba(216,166,74,.12),0 0 46px rgba(179,18,31,.22);
}
.gw-step--one.is-complete{border-color:rgba(46,242,160,.38);box-shadow:0 18px 50px rgba(0,0,0,.42),0 0 36px rgba(46,242,160,.10)}
.gw-step-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.gw-step-num{
  font-family:var(--wide);font-weight:900;font-stretch:116%;
  font-size:.82rem;letter-spacing:.24em;color:var(--gold-hi);
  padding:6px 12px;border-radius:8px;
  background:linear-gradient(180deg,rgba(216,166,74,.18),rgba(216,166,74,.06));
  border:1px solid rgba(216,166,74,.4);
}
.gw-step-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);
}
.gw-step.is-active .gw-step-tag{color:var(--gold)}
.gw-step--one.is-complete .gw-step-tag{color:var(--ok)}
.gw-step-title{
  margin:0 0 8px;font-family:var(--display);font-weight:700;
  font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.15;
}
.gw-step-text{margin:0 0 18px;color:var(--muted)}
.gw-fine{margin:14px 0 0;font-size:.8rem;color:var(--faint)}

/* ---------------------------------------------------------------- buttons */
.gw-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;min-height:58px;padding:14px 18px;
  border-radius:12px;border:0;cursor:pointer;
  font-family:var(--wide);font-weight:900;font-stretch:108%;
  font-size:clamp(.92rem,1.6vw,1.02rem);letter-spacing:.05em;line-height:1.2;text-align:center;
  text-decoration:none;
  transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .25s,filter .2s,background .25s;
  -webkit-tap-highlight-color:transparent;
}
.gw-btn:focus-visible{outline:3px solid var(--gold-hi);outline-offset:3px}
.gw-btn--zap{
  color:#03170e;
  background:linear-gradient(180deg,#5fffc0 0%,var(--zap) 48%,#17c886 100%);
  box-shadow:0 0 0 1px rgba(125,255,200,.55) inset,0 10px 28px rgba(46,242,160,.22),0 2px 0 #0a7f52;
}
.gw-btn--zap:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(125,255,200,.7) inset,0 14px 34px rgba(46,242,160,.32),0 2px 0 #0a7f52}
.gw-btn--zap:active{transform:translateY(0)}
.gw-step--one.is-complete .gw-btn--zap{
  min-height:50px;font-size:.86rem;color:var(--zap-hi);
  background:rgba(46,242,160,.06);box-shadow:0 0 0 1px rgba(46,242,160,.35) inset;
}
.gw-btn--enter{
  color:#fff;margin-top:18px;
  background:linear-gradient(180deg,#ff5a48 0%,var(--blood-hi) 38%,var(--blood) 100%);
  box-shadow:0 0 0 1px rgba(246,220,148,.5) inset,0 12px 32px rgba(179,18,31,.38),0 2px 0 #5d0710;
  text-shadow:0 1px 0 rgba(0,0,0,.35);
}
.gw-btn--enter:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 0 0 1px rgba(246,220,148,.7) inset,0 16px 40px rgba(179,18,31,.5),0 2px 0 #5d0710}
.gw-btn--enter:disabled,.gw-btn--enter[aria-busy="true"]{cursor:progress;filter:saturate(.6) brightness(.85);transform:none}
fieldset:disabled .gw-btn--enter{cursor:not-allowed;filter:grayscale(.75) brightness(.55);box-shadow:none}
.gw-btn--ghost{
  width:auto;display:inline-flex;min-height:48px;padding:12px 20px;margin-top:14px;
  color:var(--gold-hi);background:rgba(216,166,74,.06);
  box-shadow:0 0 0 1px rgba(216,166,74,.45) inset;font-size:.86rem;
}
.gw-btn--ghost:hover{background:rgba(216,166,74,.12);transform:translateY(-1px)}

.gw-done{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin:14px 0 0;padding:12px 14px;border-radius:12px;
  font-family:var(--wide);font-weight:900;font-stretch:110%;letter-spacing:.1em;font-size:.92rem;
  color:var(--ok);background:rgba(46,242,160,.07);border:1px solid rgba(46,242,160,.35);
}
.gw-done[hidden]{display:none}
.gw-done-ring{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 12px var(--ok)}

.gw-msg{margin:12px 0 0;font-size:.9rem;font-weight:500}
.gw-msg:empty{display:none}
.gw-msg[data-tone="error"]{color:var(--err)}
.gw-msg[data-tone="warn"]{color:var(--warn)}
.gw-msg[data-tone="info"]{color:var(--muted)}
.gw-msg[data-tone="ok"]{color:var(--ok)}
.gw-msg[data-tone="duplicate"]{
  color:var(--gold-hi);padding:12px 14px;border-radius:10px;
  background:rgba(216,166,74,.08);border:1px solid rgba(216,166,74,.35);
}

/* ------------------------------------------------------------ step 2 form */
.gw-lock{
  display:flex;align-items:center;gap:10px;
  margin:4px 0 16px;padding:12px 14px;border-radius:12px;
  font-weight:600;font-size:.92rem;color:var(--muted);
  background:repeating-linear-gradient(-45deg,rgba(255,255,255,.025) 0 10px,transparent 10px 20px),rgba(0,0,0,.25);
  border:1px dashed rgba(216,166,74,.32);
}
.gw-lock[hidden]{display:none}
.gw-step--two.is-locked .gw-form{opacity:.42;filter:saturate(.4)}
.gw-step--two .gw-form{transition:opacity .4s,filter .4s}
.gw-form fieldset{border:0;margin:0;padding:0;min-width:0}
.gw-form[hidden]{display:none}

.gw-label{display:block;margin:0 0 7px;font-weight:700;font-size:.95rem;letter-spacing:.01em}
.gw-input{
  width:100%;height:54px;padding:0 15px;
  border-radius:11px;border:1px solid rgba(255,255,255,.16);
  background:#0b0708;color:var(--text);
  font:500 1rem/1 var(--body); /* 16px keeps iOS from zooming */
  transition:border-color .2s,box-shadow .2s;
}
.gw-input::placeholder{color:#6f6158}
.gw-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(216,166,74,.22)}
.gw-input[aria-invalid="true"]{border-color:var(--err);box-shadow:0 0 0 3px rgba(255,107,107,.15)}
.gw-hint{margin:7px 0 16px;font-size:.8rem;color:var(--faint)}
.gw-hint b{color:var(--muted)}

.gw-check{
  position:relative;display:flex;align-items:flex-start;gap:12px;
  min-height:48px;padding:12px 14px;border-radius:12px;cursor:pointer;
  border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);
  transition:border-color .2s,background .2s;
}
.gw-check:hover{border-color:rgba(216,166,74,.38)}
.gw-check input{position:absolute;opacity:0;width:24px;height:24px;margin:0;left:14px;top:12px;cursor:pointer}
.gw-check-box{
  flex:0 0 24px;width:24px;height:24px;border-radius:7px;margin-top:1px;
  border:2px solid rgba(216,166,74,.6);background:#0b0708;
  display:grid;place-items:center;transition:background .18s,border-color .18s;
}
.gw-check-box::after{
  content:"";width:11px;height:6px;margin-top:-3px;
  border-left:3px solid #1a0b06;border-bottom:3px solid #1a0b06;
  transform:rotate(-45deg) scale(0);transition:transform .18s cubic-bezier(.22,1,.36,1);
}
.gw-check input:checked + .gw-check-box{background:var(--gold-hi);border-color:var(--gold-hi)}
.gw-check input:checked + .gw-check-box::after{transform:rotate(-45deg) scale(1)}
.gw-check input:focus-visible + .gw-check-box{outline:3px solid var(--gold-hi);outline-offset:2px}
.gw-check input[aria-invalid="true"] + .gw-check-box{border-color:var(--err)}
.gw-check-text{font-size:.92rem;line-height:1.45}

.gw-turnstile{margin-top:16px;min-height:65px;display:flex;justify-content:center;max-width:100%;overflow:hidden}
.gw-turnstile:empty{min-height:0;margin-top:0}

.gw-success{
  margin-top:6px;padding:26px 20px;border-radius:14px;text-align:center;
  background:
    radial-gradient(420px 160px at 50% 0%,rgba(216,166,74,.22),transparent 70%),
    linear-gradient(180deg,rgba(40,24,14,.9),rgba(16,10,10,.9));
  border:1px solid var(--line-strong);
  outline:none;
}
.gw-success[hidden]{display:none}
.gw-success-title{
  margin:0 0 8px;font-family:var(--display);font-weight:800;
  font-size:clamp(1.6rem,3.4vw,2.1rem);color:var(--gold-hi);
  text-shadow:0 0 24px rgba(234,44,61,.45);
}
.gw-success-text{margin:0 auto;max-width:44ch;color:var(--muted)}

.gw-privacy{
  display:flex;gap:10px;align-items:flex-start;
  margin:18px 0 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.07);
  font-size:.8rem;line-height:1.5;color:var(--muted);
}
.gw-privacy svg{flex:0 0 auto;margin-top:2px;color:var(--zap)}

/* --------------------------------------------------------------- closed */
.gw-closed{
  padding:clamp(28px,5vw,46px) 22px;border-radius:var(--radius);text-align:center;
  border:1px solid rgba(234,44,61,.4);
  background:
    radial-gradient(520px 200px at 50% 0%,rgba(179,18,31,.32),transparent 72%),
    linear-gradient(180deg,rgba(30,10,12,.95),rgba(12,7,8,.95));
  box-shadow:0 18px 50px rgba(0,0,0,.45);
}
.gw-closed[hidden]{display:none}
.gw-closed-title{
  margin:0 0 10px;font-family:var(--display);font-weight:800;
  font-size:clamp(1.9rem,5vw,3rem);letter-spacing:.04em;color:#ffd7cf;
  text-shadow:0 0 30px rgba(234,44,61,.6);
}
.gw-closed-text{margin:0 auto;max-width:52ch;color:var(--muted)}
.gw-steps[hidden]{display:none}

.gw-noscript{
  padding:14px 16px;border-radius:12px;margin:0 0 16px;
  background:rgba(255,196,107,.08);border:1px solid rgba(255,196,107,.35);color:var(--warn);
}
.gw-noscript a{color:var(--zap-hi);word-break:break-all}

/* ----------------------------------------------------------------- rules */
.gw-rules{
  width:min(880px,100%);margin-left:auto;margin-right:auto;
}
.gw-rule-list{
  list-style:none;counter-reset:rule;margin:0;padding:0;
  display:grid;gap:10px;
}
.gw-rule-list li{
  counter-increment:rule;position:relative;
  padding:13px 16px 13px 56px;border-radius:12px;
  background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);
  color:var(--muted);font-size:.93rem;
}
.gw-rule-list li::before{
  content:counter(rule,upper-roman);
  position:absolute;left:14px;top:12px;width:30px;text-align:center;
  font-family:var(--display);font-weight:700;font-size:.95rem;color:var(--gold);
}
.gw-coop{margin:16px 0 0;text-align:center;font-size:.8rem;color:var(--faint)}

/* tool-meta footer sits on the atmosphere layer */
.eu-tool-meta{position:relative;z-index:1;margin-top:clamp(36px,5vw,56px);margin-bottom:34px;border-color:rgba(216,166,74,.22);background:linear-gradient(180deg,rgba(30,18,14,.8),rgba(10,7,8,.8))}
.eu-tool-meta__pill.status{border-color:rgba(46,242,160,.24);background:rgba(46,242,160,.05)}
.eu-tool-meta__links a{border-color:rgba(216,166,74,.3);background:rgba(216,166,74,.05)}
.eu-tool-meta__links a:hover{border-color:rgba(216,166,74,.6);background:rgba(216,166,74,.1)}

/* ---------------------------------------------------------------- mobile */
@media (max-width:640px){
  .gw-art{border-radius:12px}
  .gw-art picture,.gw-art img{border-radius:10px}
  .gw-art-corner{width:16px;height:16px}
  .gw-art-corner--tl,.gw-art-corner--tr{top:-5px}
  .gw-art-corner--bl,.gw-art-corner--br{bottom:-5px}
  .gw-art-corner--tl,.gw-art-corner--bl{left:-5px}
  .gw-art-corner--tr,.gw-art-corner--br{right:-5px}
  .gw-eyebrow{font-size:.64rem;letter-spacing:.14em}
  .gw-lede{font-size:.97rem}
  .gw-prize{padding:13px 14px;gap:12px}
  .gw-prize-count{min-width:52px;font-size:1.85rem}
  .gw-prize-title{font-size:.95rem}
  .gw-rule-list li{padding-left:50px}
  .gw-head{text-align:left}
  .gw-head::after{margin-left:0}
  .gw-btn{font-size:.9rem;letter-spacing:.03em}
}
@media (max-width:360px){
  .gw-btn{font-size:.82rem;padding:12px 12px}
  .gw-status{padding:10px 11px}
}
@media (prefers-reduced-motion:reduce){
  .gw-btn,.gw-step,.gw-check-box,.gw-check-box::after,.gw-jump svg{transition:none!important}
}
