:root{--navy:#0A1F44;--blue:#1F8DC1;--blue-d:#108BC4;--ink:#1e293b;--mut:#475569;--line:#e2e8f0}
*{box-sizing:border-box}body{margin:0;font-family:"Space Grotesk",system-ui,sans-serif;color:var(--ink);background:#f4f8fc;line-height:1.5}
.top{background:#fff;border-bottom:1px solid var(--line)}.top .w{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.6rem 0}
.w{width:min(100% - 2rem,34rem);margin-inline:auto}
.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--navy);font-weight:700}.brand img{flex:none;height:56px;width:auto;display:block}
.back{font-size:.85rem;color:var(--blue-d);font-weight:700;text-decoration:none}
.demo{background:#fef3c7;color:#713f12;font-size:.82rem;font-weight:700;text-align:center;padding:.45rem 1rem;margin:0}
.hero{background:linear-gradient(160deg,#071633,#0A1F44 60%,#0d3a66);color:#fff;padding:1.4rem 0 1.6rem;text-align:center}
.hero h1{margin:0 0 .3rem;font-size:1.6rem;line-height:1.2}.hero p{margin:0;color:#cbd5e1}
main .w{padding:1.2rem 0 2rem}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.1rem;box-shadow:0 6px 20px rgba(10,31,68,.08);text-align:center}
.btn{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:12px;font:inherit;font-weight:700;font-size:1.05rem;padding:.8rem 1.4rem;cursor:pointer;text-decoration:none}
.btn:disabled{opacity:.55;cursor:default}.btn:focus-visible{outline:3px solid #fde68a;outline-offset:2px}
.coupon{border:2px dashed var(--blue);border-radius:14px;padding:1rem;margin:1rem 0 0;background:#f0f8fd}
.coupon .big{font-size:1.5rem;font-weight:800;color:var(--navy);margin:.1rem 0}.coupon small{display:block;color:var(--mut);font-size:.8rem}
.tag{display:inline-block;background:var(--navy);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.15rem .55rem}
.fine{font-size:.8rem;color:#64748b;margin:1rem 0 0;text-align:center}
footer{font-size:.8rem;color:#64748b;text-align:center;padding:0 1rem 1.5rem}
.list{display:grid;gap:.8rem;list-style:none;padding:0;margin:0}.list a{display:flex;gap:.8rem;align-items:center;text-align:left;text-decoration:none;color:var(--navy)}
.list .em{font-size:2rem;flex:none}.list b{display:block;font-size:1.05rem}.list span{color:var(--mut);font-size:.9rem}
[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* holiday theme */
:root{--red:#b3122e;--pine:#1f5f3a;--gold:#f2b632}
.top{position:relative}
.bulbs{height:26px;background:var(--navy);position:relative;overflow:hidden}
.bulbs::before{content:"";position:absolute;left:0;right:0;top:6px;border-top:2px solid #2d3b55}
.bulbs i{position:absolute;top:6px;width:10px;height:15px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;box-shadow:0 0 8px 2px currentColor;background:currentColor;animation:glow 1.6s ease-in-out infinite alternate}
@keyframes glow{from{opacity:.55}to{opacity:1}}
.hero{background:radial-gradient(500px 220px at 15% 0,rgba(179,18,46,.45),transparent 70%),radial-gradient(500px 220px at 90% 10%,rgba(31,95,58,.55),transparent 70%),linear-gradient(160deg,#071633,#0A1F44 60%,#0d3a66);position:relative}
.hero h1 .gold{color:var(--gold)}
.design{display:block;text-align:center;margin:0 0 1rem;font-weight:700;color:var(--pine);text-decoration:none;background:#eef7f1;border:1px solid #cfe7d8;border-radius:12px;padding:.6rem}
.btn{background:var(--red)}.btn.alt{background:var(--pine)}
.coupon{border-color:var(--red);background:#fff7f7}.tag{background:var(--pine)}
.card{border-top:4px solid var(--red)}
#snow{position:fixed;inset:0;pointer-events:none;z-index:5}
.gift{position:relative;width:5.2rem;height:5.2rem;border:0;border-radius:10px;cursor:pointer;background:linear-gradient(90deg,transparent 42%,var(--gold) 42% 58%,transparent 58%),linear-gradient(0deg,transparent 42%,var(--gold) 42% 58%,transparent 58%),var(--red);box-shadow:0 6px 14px rgba(10,31,68,.25);font-size:0}
.gift:nth-child(2){background-color:var(--pine)}.gift:nth-child(3){background-color:var(--blue)}
.gift::after{content:"🎀";position:absolute;top:-1.1rem;left:50%;transform:translateX(-50%);font-size:1.7rem}
.gift.open{font-size:2.6rem;background:#fff7e0;box-shadow:inset 0 0 0 2px var(--gold)}.gift.open::after{content:none}
@media (prefers-reduced-motion:reduce){.bulbs i{animation:none}#snow{display:none}}

/* Night social-pack theme helpers */
body.night{background:#06101f;color:#e2e8f0}
body.night .top{background:rgba(6,16,31,.92);border-bottom:1px solid rgba(255,255,255,.08)}
body.night .brand{color:#fff}
body.night .back{color:#f2b632}
body.night .demo{background:#713f12;color:#fff7ed}
body.night .hero{background:radial-gradient(500px 220px at 15% 0,rgba(179,18,46,.35),transparent 70%),linear-gradient(160deg,#06101f,#0A1F44 60%,#0d3a66)}
body.night .card{background:rgba(255,255,255,.96);color:#0A1F44}
body.night .fine,body.night footer{color:#94a3b8}
body.night .list a{color:#0A1F44}
body.night .coupon{background:#fff7f7}
