/* 红包 — premium red/gold, matching the 3D red-envelope render. Glossy panels,
   gold foil accents, cloud motifs. Clean, not crude. */
:root{
  --red:#d31f26; --red-deep:#a3121a; --red-ink:#5e0a0f;
  --gold:#f2c94c; --gold-deep:#c9962a; --gold-lite:#ffe9a8;
  --ink:#2a0d0d; --cream:#fff6e6;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --han:'Ma Shan Zheng',serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  color:var(--cream); font-family:var(--mono); overflow-x:hidden;
  background:
    radial-gradient(1200px 600px at 80% -10%, #ffd76a33, transparent 60%),
    radial-gradient(900px 500px at 10% 110%, #ffd76a22, transparent 60%),
    linear-gradient(160deg,#e7a12e 0%,#d98b1f 40%,#c9781a 100%);
}
/* faint cloud/knot foil motifs in the background */
.grain{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.09;
  background-image:
    radial-gradient(circle at 12% 30%, transparent 38px, #7a4a0e 39px 41px, transparent 42px),
    radial-gradient(circle at 88% 70%, transparent 30px, #7a4a0e 31px 33px, transparent 34px);
  background-size:340px 340px,300px 300px}
a{color:inherit;text-decoration:none}
main,header,footer{position:relative;z-index:1}

.bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;
  padding:14px 26px;background:linear-gradient(180deg,#b7161d,#98121a);
  border-bottom:2px solid var(--gold);box-shadow:0 6px 24px #0003}
.logo{font-family:var(--han);font-size:38px;color:var(--gold);line-height:1;
  text-shadow:0 2px 0 #0004}
.bar nav{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap;align-items:center;
  font-weight:500;font-size:13px;letter-spacing:.04em}
.bar nav a:hover{color:var(--gold)}
.ca{background:#0002;color:var(--gold-lite)!important;padding:7px 13px;
  border:1px solid var(--gold-deep);border-radius:6px}

main{max-width:1120px;margin:0 auto;padding:0 20px}

.hero{display:grid;grid-template-columns:400px 1fr;gap:44px;align-items:center;
  padding:58px 0 40px}
.hero-art img{width:100%;border-radius:18px;display:block;
  box-shadow:0 24px 60px #0005, 0 0 0 4px #ffffff14, 0 0 0 6px var(--gold-deep)}
.art-fallback{display:none}
.hero-art.empty .art-fallback{display:grid;place-items:center;aspect-ratio:1;border-radius:18px;
  background:linear-gradient(160deg,#d31f26,#a3121a);border:6px solid var(--gold-deep);text-align:center;gap:10px}
.hero-art.empty .art-fallback span{font-family:var(--han);font-size:150px;color:var(--gold);
  line-height:1;text-shadow:0 4px 0 #0004}
.hero-art.empty .art-fallback small{color:#ffd9a8;font-size:12px;letter-spacing:.05em}
.mode-pill{display:inline-block;font-weight:700;font-size:12px;color:var(--red-ink);
  background:linear-gradient(180deg,var(--gold-lite),var(--gold));
  padding:6px 14px;border-radius:20px;margin-bottom:16px;letter-spacing:.06em;
  box-shadow:0 2px 8px #0003}
h1{font-size:62px;line-height:.92;margin:0 0 10px;letter-spacing:-.02em;
  color:var(--gold-lite);text-shadow:0 3px 0 #0004,0 0 24px #ffcf6a55;font-weight:700}
h2{font-size:22px;line-height:1.1;margin:0 0 22px;color:#fff;font-weight:500;opacity:.95}
.lede{font-size:15px;line-height:1.7;max-width:52ch;color:#fff5e2}
.lede b{color:var(--gold-lite)}
.cta{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap}
.btn{display:inline-block;font-weight:700;font-size:15px;padding:15px 26px;border-radius:12px;
  background:linear-gradient(180deg,var(--gold-lite),var(--gold));color:var(--red-ink);
  border:1px solid var(--gold-deep);box-shadow:0 8px 22px #0004;transition:transform .1s,box-shadow .1s}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0005}
.btn.ghost{background:#ffffff10;color:var(--gold-lite);border:1px solid var(--gold-deep);box-shadow:none}

.counter{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:18px;margin:14px 0 50px}
.stat{background:linear-gradient(180deg,#c81c22,#a5141b);border-radius:16px;padding:24px;
  border:1px solid var(--gold-deep);box-shadow:0 14px 34px #0003, inset 0 1px 0 #ffffff1a}
.stat.big{background:linear-gradient(180deg,#ffe38c,#f2c94c)}
.stat.big .num{color:var(--red-deep)} .stat.big .lbl{color:var(--red-ink);opacity:.8}
.num{font-size:44px;font-weight:700;color:var(--gold-lite);line-height:1;font-variant-numeric:tabular-nums}
.stat.big .num{font-size:66px}
.lbl{font-size:11px;letter-spacing:.12em;margin-top:10px;color:#ffd9a8;text-transform:uppercase}

section h3{font-family:var(--han);font-size:36px;color:var(--gold-lite);text-align:center;
  text-shadow:0 2px 0 #0004;margin:52px 0 30px}

.loop{list-style:none;padding:0;margin:0 auto;display:grid;gap:12px;max-width:780px}
.loop li{display:flex;align-items:center;gap:18px;border-radius:14px;padding:16px 20px;font-size:15px;
  background:linear-gradient(180deg,#c81c22,#ab151c);border:1px solid var(--gold-deep);
  box-shadow:0 10px 24px #0002}
.loop li b{color:var(--gold-lite)}
.loop span{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;
  background:linear-gradient(180deg,var(--gold-lite),var(--gold));color:var(--red-ink);
  font-weight:700;border-radius:50%;box-shadow:0 3px 10px #0003}
.fine{color:#fff0d6;font-size:13px;text-align:center;max-width:66ch;margin:26px auto 44px;line-height:1.7;opacity:.9}

.check{max-width:700px;margin:0 auto 24px;text-align:center}
.check p{color:#fff5e2;font-size:14px}
.check-row{display:flex;gap:0;margin:20px 0;border-radius:12px;overflow:hidden;box-shadow:0 10px 26px #0003}
#addr-in{flex:1;font-family:var(--mono);font-size:15px;padding:16px;border:none;background:var(--cream);color:var(--ink)}
#addr-btn{font-weight:700;padding:0 28px;border:none;cursor:pointer;
  background:linear-gradient(180deg,var(--gold-lite),var(--gold));color:var(--red-ink)}
#addr-btn:hover{filter:brightness(1.05)}
.check-out{min-height:28px;font-weight:700;font-size:17px}
.check-out.yes{color:var(--gold-lite)} .check-out.no{color:#ffe0bd}

.ticker{margin:40px -50vw 0;padding:15px 0;overflow:hidden;position:relative;left:50%;width:100vw;
  background:linear-gradient(180deg,#7a0d12,#5e0a0f);border-top:2px solid var(--gold-deep);border-bottom:2px solid var(--gold-deep)}
.ticker-in{white-space:nowrap;font-size:13px;color:var(--gold-lite);animation:scroll 42s linear infinite}
@keyframes scroll{from{transform:translateX(10%)}to{transform:translateX(-100%)}}

footer{text-align:center;padding:46px 20px;color:#fff0d6;font-size:13px;opacity:.9}

@media(max-width:820px){
  .hero{grid-template-columns:1fr;text-align:center}
  .hero-art{max-width:320px;margin:0 auto}
  h1{font-size:46px} .counter{grid-template-columns:1fr 1fr}
  .cta{justify-content:center}
}
