body{font-family:system-ui,sans-serif;background:#f5eee4;margin:0;color:#27231f}
.wrap{max-width:520px;margin:auto;padding:18px}.card{background:#fffaf4;border-radius:24px;overflow:hidden;box-shadow:0 12px 35px #0002}
.hero{background:linear-gradient(135deg,#39281f,#875039);color:#fff;text-align:center;padding:28px 20px}
.logo{width:72px;height:72px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;margin:auto;font-weight:800}
.body{padding:20px}h1,h2{font-family:Georgia,serif}label{display:block;font-size:12px;color:#6f675f;margin:12px 0 6px}
input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d8cbbb;border-radius:12px;font-size:16px}
button{border:0;border-radius:12px;padding:12px;font-weight:800;cursor:pointer}.primary{background:#7b432f;color:white}.secondary{background:#e8ddd0}
.full{width:100%;margin-top:12px}.hidden{display:none}.notice{padding:11px;border-radius:12px;background:#f0e5d8;margin-top:12px;font-size:13px}
.track{background:white;border:1px solid #eadfd2;border-radius:16px;padding:14px;margin-top:14px}.head{display:flex;justify-content:space-between}
.stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}.stamp{aspect-ratio:1;border:2px dashed #c9b398;border-radius:50%;display:grid;place-items:center}
.stamp.on{background:#7b432f;color:white;border-style:solid}.reward{font-size:12px;text-align:center;margin-top:9px;padding:8px;background:#f6eee3;border-radius:10px}
.reward.ready{background:#dcebdd;color:#214d38;font-weight:800}.result{border:1px solid #e6d8c8;border-radius:14px;padding:12px;margin-top:10px;background:#fff}
.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.actions button{font-size:12px;padding:9px 5px}.small{font-size:12px;color:#716b64}