.claimhero .wrap{padding-block:48px 40px}
.claimhero h1{font-family:var(--display);font-weight:400;font-size:clamp(2.6rem,8vw,5rem);line-height:1;margin:0;text-wrap:balance}
.claimhero h1 span{display:block;color:var(--clown)}
.claimhero .tag{max-width:52ch}
.claim{background:var(--snow);border-top:3px solid var(--navy)}
.claim{padding-block:56px 72px}
.claimgrid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.claimgrid>*{min-width:0}
@media(max-width:860px){.claimgrid{grid-template-columns:1fr}}
.howto h2{font-size:2.2rem;margin-bottom:18px}
.flow{list-style:none;padding:0;margin:0;display:grid;gap:14px;counter-reset:f}
.flow li{counter-increment:f;display:grid;grid-template-columns:42px 1fr;column-gap:14px}
.flow li::before{content:counter(f);grid-row:span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--clown);color:var(--snow);border:3px solid var(--navy);font-family:var(--display);font-size:1.3rem}
.flow b{font-size:1.08rem}
.template,.safety{margin-top:22px;border:3px solid var(--navy);border-radius:16px;padding:16px 18px;background:var(--ice)}
.template .k{font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;opacity:.7}
.template p{font-family:var(--mono);font-size:.9rem;margin:6px 0 0;overflow-wrap:anywhere}
.safety{background:var(--snow);border-left:10px solid var(--diamond)}
.safety p{margin:4px 0 0}
.form{background:var(--ice);border:3px solid var(--navy);border-radius:22px;box-shadow:8px 8px 0 var(--navy);padding:24px;display:grid;gap:16px}
.field{display:grid;gap:6px}
.field label{font-weight:900}
.field em{font-style:normal;font-weight:600;opacity:.65;font-size:.9em}
.field input{font:inherit;font-size:1rem;width:100%;min-width:0;padding:12px 14px;border:3px solid var(--navy);border-radius:12px;background:var(--snow);color:var(--navy)}
.field input[type=file]{padding:9px 10px}
.field input:focus-visible{outline:3px solid var(--diamond);outline-offset:2px}
.field input:not(:placeholder-shown):invalid{border-color:var(--clown)}
#sol,#abs,#post{font-family:var(--mono);font-size:.9rem}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem}
.check input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--clown)}
.form .btn{justify-self:start}
.hp{position:absolute;left:-9999px}
.claimcta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:26px}
.formerr{margin:0;background:var(--snow);border:3px solid var(--clown);border-radius:12px;padding:12px 14px;font-weight:700;color:var(--clown)}
.formerr.info{border-color:var(--navy);color:#1c2a4a;background:#eef4fb}
.formerr.info a{color:var(--navy);font-weight:900;text-decoration:underline}
.btn[disabled]{opacity:.6;cursor:wait;transform:none}
.flow a{color:var(--diamond);font-weight:800}
/* redeem */
.redeem{background:var(--snow);border-top:3px solid var(--navy);padding-block:48px 72px}
.redeembox{max-width:640px;display:grid;gap:18px}
.lookup{display:flex;gap:10px;flex-wrap:wrap}
.lookup input{flex:1 1 280px;min-width:0;font-family:var(--mono);font-size:.95rem;padding:12px 14px;border:3px solid var(--navy);border-radius:12px;background:var(--snow);color:var(--navy)}
.card{border:3px solid var(--navy);border-radius:20px;padding:22px;background:var(--ice);box-shadow:6px 6px 0 var(--navy);display:grid;gap:10px}
.card h2{font-size:2rem;margin:0}
.card p{margin:0}
.pill{justify-self:start;font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;padding:5px 10px;border-radius:999px;border:2px solid var(--navy);background:var(--snow)}
.pill.ok{background:#BFE8C9}.pill.wait{background:var(--beak)}.pill.no{background:#F6C4C6}
.big{font-family:var(--display);font-size:2.4rem;line-height:1}
.mono{font-family:var(--mono);font-size:.85rem;overflow-wrap:anywhere}
.card a{color:var(--diamond);font-weight:800}
/* admin */
.admin{padding-block:28px 60px}
.admin .bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.admin .stat{background:var(--snow);border:2px solid var(--navy);border-radius:12px;padding:8px 12px;font-weight:700;font-variant-numeric:tabular-nums}
.admin select,.admin input[type=password]{font:inherit;padding:10px 12px;border:2px solid var(--navy);border-radius:10px;background:var(--snow);color:var(--navy)}
.tablewrap{overflow-x:auto;border:2px solid var(--navy);border-radius:14px;background:var(--snow)}
table{border-collapse:collapse;width:100%;font-size:.88rem}
th,td{padding:9px 10px;border-bottom:1px solid #C9D6EE;text-align:left;vertical-align:top;white-space:nowrap}
th{position:sticky;top:0;background:var(--ice);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
td.wrap{white-space:normal;min-width:180px}
tr.flag td:first-child{box-shadow:inset 5px 0 0 var(--beak)}
.sm{font-size:.85rem;padding:7px 12px;box-shadow:2px 2px 0 var(--navy)}
.sm:hover{box-shadow:3px 3px 0 var(--navy)}
.shot{max-width:100%;max-height:70vh;border:3px solid var(--navy);border-radius:12px}
.modal{position:fixed;inset:0;background:rgba(20,33,61,.7);display:grid;place-items:center;padding:20px;z-index:20}
.admin .reason{font:inherit;padding:9px 12px;border:2px solid var(--navy);border-radius:10px;min-width:0;flex:1 1 220px;background:var(--snow);color:var(--navy)}
.admin .stat.paused{background:#F6C4C6}
[hidden]{display:none!important}
