:root{
  --bg:#0b0f17;
  --text:#e5e7eb;
  --muted:#9ca3af;
  --line:#243042;
  --shadow: 0 14px 40px rgba(0,0,0,.35);
}

*{ box-sizing:border-box; }

body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background: radial-gradient(1200px 800px at 20% 10%, rgba(167,139,250,.2), transparent 60%),
              radial-gradient(900px 600px at 90% 30%, rgba(52,211,153,.1), transparent 55%),
              var(--bg);
  color: var(--text);
}

.wrap{ max-width:1000px; margin:auto; padding:28px 18px; }

.brand{ display:flex; gap:14px; align-items:center; }

.logo{
  width:54px; height:54px;
  display:grid; place-items:center;
  border-radius:16px;
  font-weight:900; font-size:22px;
  background: linear-gradient(135deg, #a78bfa, #34d399);
  color:#000;
}

h1{ margin:0; font-size:28px; }
.subtitle{ color:var(--muted); margin-top:6px; }

.notice{
  margin-top:18px;
  padding:14px;
  border-radius:14px;
  background:rgba(251,191,36,.1);
  border:1px solid rgba(251,191,36,.4);
}

.grid{
  display:grid;
  gap:20px;
  margin-top:30px;
}

.card{
  background:rgba(17,24,39,.9);
  border-radius:18px;
  padding:18px;
  box-shadow:var(--shadow);
}

.address{
  font-family:monospace;
  background:#111;
  padding:12px;
  border-radius:12px;
  word-break:break-all;
  margin-top:10px;
}

button{
  margin-top:10px;
  padding:10px 14px;
  border-radius:12px;
  border:none;
  background:#a78bfa;
  font-weight:bold;
  cursor:pointer;
}

.qr{
  margin-top:15px;
  text-align:center;
}

.faq{
  margin-top:40px;
  padding:16px;
  border-radius:18px;
  background:rgba(17,24,39,.6);
}

.footerRow{
  display:flex;
  justify-content:space-between;
  margin-top:40px;
  font-size:12px;
}

.toast{
  position:fixed;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  background:#222;
  padding:10px 16px;
  border-radius:12px;
  opacity:0;
  transition:.2s;
}

.toast.show{ opacity:1; }
.muted{ color:var(--muted); }
