:root {
  --bg:#111111;
  --text:#C2A25E;
  --sub:#AAAAAA;
  --gold:#C2A25E;
  --gold-weak: rgba(194,162,94,0.35);
}
* { box-sizing:border-box; margin:0; padding:0; }
html, body { height:100%; }
body {
  background:var(--bg);
  color:var(--text);
  font-family:'Didact Gothic', sans-serif;
  letter-spacing:0.3px;
}
.wrap {
  min-height:100%;
  max-width:820px;
  margin:0 auto;
  padding:clamp(20px,5vw,40px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: clamp(18px,3vw,30px);
  text-align:center;
}
.tagline {
  font-weight:600;
  letter-spacing:0.4px;
  font-size:clamp(24px,3.2vw,38px);
  text-transform:uppercase;
}
.goal {
  font-size:clamp(16px,1.6vw,20px);
  color:var(--sub);
  border-top:1px solid var(--gold-weak);
  border-bottom:1px solid var(--gold-weak);
  padding:12px 16px;
  letter-spacing:0.4px;
}
.counter { display:flex; flex-direction:column; align-items:center; gap:10px; }
.amount {
  font-weight:600;
  line-height:1.1;
  font-variant-numeric: tabular-nums lining-nums;
  font-size:clamp(44px,11vw,108px);
  letter-spacing:1px;
}
.unit {
  font-size:clamp(15px,1.4vw,19px);
  color:var(--sub);
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.wallet { display:flex; flex-direction:column; gap:12px; width:min(100%,740px); }
.label { color:var(--sub); font-size:14px; letter-spacing:0.5px; }
.addr-row {
  display:flex;
  gap:12px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  border:1px solid var(--gold-weak);
  border-radius:12px;
  padding:12px 16px;
}
code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;
  font-size:clamp(14px,1.6vw,17px);
  color:var(--text);
}
button {
  border:1px solid var(--gold);
  background:transparent;
  color:var(--text);
  padding:9px 18px;
  border-radius:999px;
  cursor:pointer;
  transition:transform .06s ease, background .2s ease, color .2s ease;
  font-family:'Didact Gothic', sans-serif;
  letter-spacing:0.4px;
}
button:hover { transform:translateY(-1px); background:rgba(194,162,94,0.15); }
button:active { transform:translateY(0); }
.status { min-height:18px; font-size:12px; color:var(--sub); }
.disclaimer {
  margin-top:12px;
  font-size:12px;
  color:var(--sub);
  letter-spacing:0.3px;
}
@media (prefers-reduced-motion:no-preference) {
  .tick { animation: fade .8s ease; }
  @keyframes fade { from{opacity:.35} to{opacity:1} }
}