
:root{--bg:#0a0a0b;--card:#151518;--line:#2a2a30;--txt:#f4f4f5;--muted:#a1a1aa;--accent:#a78bfa;--gold:#fbbf24}
*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI",system-ui,sans-serif;background:radial-gradient(1200px 600px at 10% -10%,#2e1065 0%,var(--bg) 55%);color:var(--txt);min-height:100vh}
.wrap{max-width:960px;margin:0 auto;padding:1rem}a{color:var(--accent)}
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0}
.brand{font-weight:800}.badge{font-size:.7rem;background:#6d28d9;padding:.15rem .45rem;border-radius:999px;margin-left:.35rem}
.nav a{color:var(--muted);margin-left:1rem}
.hero{padding:2rem 0}h1{font-size:clamp(1.8rem,4vw,2.8rem);margin:0 0 .6rem}
.muted{color:var(--muted)}.ph{border:2px dashed #3f3f46;border-radius:12px;padding:2rem;text-align:center;color:#71717a;margin:1rem 0}
.wallet{max-width:340px;margin:1.5rem auto;border-radius:18px;padding:1.2rem 1.3rem;background:linear-gradient(145deg,#4c1d95,#1e1b4b 60%,#0f172a);border:1px solid #5b21b6;box-shadow:0 20px 50px rgba(0,0,0,.45)}
.wallet .biz{font-size:.85rem;color:#ddd6fe}.wallet .title{font-size:1.35rem;font-weight:800;margin:.2rem 0 1rem}
.stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:.45rem;margin:1rem 0}
.stamp{aspect-ratio:1;border-radius:50%;border:2px solid #7c3aed;display:grid;place-items:center;font-weight:800;color:#c4b5fd;background:rgba(255,255,255,.04)}
.stamp.on{background:var(--gold);border-color:#f59e0b;color:#111}
.progress{height:8px;background:#312e81;border-radius:999px;overflow:hidden}.progress>i{display:block;height:100%;background:var(--gold);width:0%}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem}
.btn{background:var(--accent);color:#111;border:0;border-radius:10px;padding:.7rem 1rem;font-weight:700;cursor:pointer}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--txt)}
label{display:block;font-size:.8rem;color:var(--muted);margin:.45rem 0 .2rem}
input,select,textarea{width:100%;background:#09090b;border:1px solid var(--line);border-radius:8px;padding:.55rem .65rem;color:var(--txt)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:640px){.row{grid-template-columns:1fr}}
.banner{background:#422006;color:#fde68a;padding:.75rem 1rem;border-radius:8px;margin:1rem 0}
footer{margin:2rem 0 1rem;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line);padding-top:1rem}
.note{color:var(--muted);font-size:.85rem}
