.badges-page{--rarity:#9aa3b5;gap:24px;padding:28px 0 40px;display:grid}.rarity-unclaimed{--rarity:#c9c2d6}.rarity-common{--rarity:#9aa3b5}.rarity-uncommon{--rarity:#5fd39a}.rarity-rare{--rarity:#5aa9ff}.rarity-epic{--rarity:#b98aff}.rarity-legendary{--rarity:#f2c14e}.badges-hero{border:1px solid var(--chp-line);background:radial-gradient(90% 140% at 100% 0%, #f2c14e24, transparent 55%), radial-gradient(70% 120% at 0% 100%, color-mix(in srgb, var(--chp-accent) 18%, transparent), transparent 60%), var(--panel,var(--chp-panel));border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding:32px;display:flex}.badges-hero>div{max-width:620px}.badges-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#f2c14e;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.badges-hero h1{margin:10px 0;font-size:clamp(30px,4vw,44px);line-height:1.1}.badges-hero p{color:var(--chp-muted);margin:0;font-size:15px;line-height:1.75}.badges-summary{gap:10px;margin:0;display:flex}.badges-summary div{border:1px solid var(--chp-line);background:color-mix(in srgb, var(--chp-panel,#231e2b) 70%, transparent);border-radius:6px;min-width:104px;padding:12px 16px}.badges-summary dt{color:var(--chp-muted);font-size:11px}.badges-summary dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:22px;font-weight:800}.badges-signin{color:var(--chp-muted);margin:-8px 0 0;font-size:13px}.badges-signin a{color:var(--chp-accent)}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.badge-card{border:1px solid var(--chp-line);background:var(--panel,var(--chp-panel));color:inherit;border-radius:8px;grid-template-rows:auto 1fr;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}a.badge-card:hover{border-color:color-mix(in srgb, var(--rarity) 60%, var(--chp-line));box-shadow:0 18px 40px -18px color-mix(in srgb, var(--rarity) 55%, transparent);transform:translateY(-3px)}a.badge-card:focus-visible{outline:2px solid var(--rarity);outline-offset:3px}.badge-card>.badge-art{background:radial-gradient(60% 70% at 50% 45%, color-mix(in srgb, var(--rarity) 20%, transparent), transparent 70%), linear-gradient(180deg, color-mix(in srgb, var(--rarity) 7%, transparent), transparent);border-bottom:1px solid var(--chp-line);padding:28px 0 18px}.badge-card-body{flex-direction:column;gap:6px;padding:18px 20px 20px;display:flex}.badge-card h2{margin:6px 0 0;font-size:22px}.badge-card-title{letter-spacing:.06em;text-transform:uppercase;color:var(--rarity);margin:0;font-size:12px;font-weight:750}.badge-card-tagline{color:var(--chp-muted);margin:2px 0 6px;font-size:13px;line-height:1.65}.badge-card-stats{grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 6px;display:grid}.badge-card-stats div{background:var(--chp-soft);border-radius:6px;padding:9px 10px}.badge-card-stats dt{color:var(--chp-muted);align-items:center;gap:5px;font-size:10px;display:flex}.badge-card-stats dd{font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:13px;font-weight:700}.badge-card-link{color:var(--chp-accent);align-items:center;gap:6px;margin-top:auto;padding-top:6px;font-size:13px;font-weight:750;display:inline-flex}.badge-card.teaser{background:0 0;border-style:dashed}.badge-teaser-art{height:236px;color:var(--chp-muted);border-bottom:1px dashed var(--chp-line);background:repeating-linear-gradient(135deg, transparent 0 12px, color-mix(in srgb, var(--chp-line) 35%, transparent) 12px 13px);place-items:center;display:grid}.badge-chips{flex-wrap:wrap;gap:6px;display:flex}.badge-chip{border:1px solid var(--chp-line);color:var(--chp-muted);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.badge-chip.rarity{border-color:color-mix(in srgb, var(--rarity) 55%, transparent);background:color-mix(in srgb, var(--rarity) 14%, transparent);color:var(--rarity);text-transform:uppercase;letter-spacing:.06em}.badge-chip.limited{color:#f2c14e;border-color:#f2c14e8c}.badge-chip.limited.ended{border-color:var(--chp-line);color:var(--chp-muted)}.badge-status{background:var(--chp-soft);color:var(--chp-muted);border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge-status.owned{color:#7fe3b0;background:#5fd39a24}.badge-status.claimable{color:#f2c14e;background:#f2c14e29;animation:2.4s ease-in-out infinite badge-pulse}@keyframes badge-pulse{50%{box-shadow:0 0 0 4px #f2c14e24}}.badge-art{place-items:center;display:grid;position:relative}.badge-art .member-badge,.badge-art .pioneer-badge,.badge-art .giveaway-badge{z-index:1;filter:drop-shadow(0 10px 18px #0009);width:150px;position:relative}.badge-art.hero .member-badge,.badge-art.hero .pioneer-badge,.badge-art.hero .giveaway-badge{width:230px}.badge-art-glow{background:radial-gradient(circle, color-mix(in srgb, var(--rarity) 38%, transparent), transparent 68%);filter:blur(6px);border-radius:50%;width:190px;height:190px;position:absolute}.badge-art.hero .badge-art-glow{width:300px;height:300px}.badge-art.rarity-legendary .badge-art-glow,.badge-art.rarity-epic .badge-art-glow{animation:4s ease-in-out infinite badge-glow}@keyframes badge-glow{50%{opacity:.8;transform:scale(1.08)}}.badge-art.locked .member-badge,.badge-art.locked .pioneer-badge,.badge-art.locked .giveaway-badge{filter:grayscale(.85)brightness(.7)drop-shadow(0 10px 18px #0009)}.badge-art.locked .badge-art-glow{opacity:.35}.badges-breadcrumb a{color:var(--chp-muted);align-items:center;gap:6px;font-size:13px;text-decoration:none;display:inline-flex}.badges-breadcrumb a:hover{color:var(--chp-text)}.badge-detail{border:1px solid color-mix(in srgb, var(--rarity) 35%, var(--chp-line));background:radial-gradient(60% 90% at 15% 50%, color-mix(in srgb, var(--rarity) 16%, transparent), transparent 70%), var(--panel,var(--chp-panel));border-radius:8px;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:center;gap:32px;padding:32px;display:grid}.badge-detail-copy h1{margin:12px 0 2px;font-size:clamp(32px,4vw,46px);line-height:1.05}.badge-detail-title{letter-spacing:.08em;text-transform:uppercase;color:var(--rarity);margin:0 0 14px;font-size:13px;font-weight:800}.badge-detail-story{max-width:62ch;color:var(--chp-muted);margin:0 0 20px;font-size:15px;line-height:1.8}.badge-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.badge-detail-stats div{border:1px solid var(--chp-line);background:color-mix(in srgb, var(--chp-panel,#231e2b) 70%, transparent);border-radius:6px;padding:12px 14px}.badge-detail-stats dt{color:var(--chp-muted);font-size:11px}.badge-detail-stats dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:4px 0 0;font-size:15px;font-weight:750;display:grid}.badge-detail-stats dd a{color:var(--chp-accent);text-decoration:none}.badge-detail-stats dd small{color:var(--chp-muted);font-size:11px;font-weight:500}.badge-detail-grid{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.badge-panel{border:1px solid var(--chp-line);background:var(--panel,var(--chp-panel));border-radius:8px;padding:22px}.badge-panel h2{align-items:center;gap:8px;margin:0 0 14px;font-size:17px;display:flex}.badge-panel.owners header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 14px;margin-bottom:14px;display:flex}.badge-panel.owners header h2{margin:0}.badge-panel.owners header span{color:var(--chp-muted);font-size:12px}.badge-steps{gap:10px;margin:0 0 18px;padding:0;list-style:none;display:grid}.badge-steps li{align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;display:flex}.badge-steps li>span{border:1px solid var(--chp-line);height:24px;color:var(--chp-muted);border-radius:50%;flex:0 0 24px;place-items:center;font-size:11px;font-weight:800;display:grid}.badge-steps li.done{color:var(--chp-muted)}.badge-steps li.done>span{color:#7fe3b0;background:#5fd39a29;border-color:#5fd39a}.badge-you{background:var(--chp-soft);border-radius:6px;gap:12px;padding:14px;display:grid}.badge-you p{margin:0;font-size:13px;line-height:1.6}.badge-you p svg{vertical-align:-3px;margin-right:6px}.badge-you.owned{color:#a7efc9;background:#5fd39a1f}.badge-you progress{width:100%;accent-color:var(--chp-accent)}.badge-you .button{justify-content:center;gap:8px}.badge-owners{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.badge-owners a{border:1px solid var(--chp-line);color:inherit;border-radius:6px;align-items:center;gap:10px;padding:9px 12px;text-decoration:none;display:flex}.badge-owners a:hover{border-color:color-mix(in srgb, var(--rarity) 50%, var(--chp-line));background:var(--chp-soft)}.badge-owners a:focus-visible{outline:2px solid var(--chp-accent);outline-offset:2px}.badge-owners li.first a{border-color:color-mix(in srgb, #f2c14e 55%, var(--chp-line));background:#f2c14e14}.badge-owner-number{font-variant-numeric:tabular-nums;min-width:34px;color:var(--chp-muted);font-size:12px;font-weight:800}.badge-owners li.first .badge-owner-number{color:#f2c14e}.badge-owners .member-avatar{border-radius:50%;width:34px;height:34px;font-size:11px}.badge-owner-name{min-width:0;display:grid}.badge-owner-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.badge-owner-name small{color:var(--chp-muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.badge-owners li.first small{color:#f2c14e}.badge-empty,.badge-owners-note{color:var(--chp-muted);margin:0;font-size:13px;line-height:1.7}.badge-owners-note{margin-top:14px;font-size:12px}.badge-pagination{gap:8px;margin-top:14px;display:flex}@media (max-width:900px){.badge-detail,.badge-detail-grid{grid-template-columns:minmax(0,1fr)}.badge-detail{gap:18px;padding:24px 18px}.badge-art.hero .member-badge,.badge-art.hero .pioneer-badge{width:170px}.badge-art.hero .badge-art-glow{width:230px;height:230px}}@media (max-width:650px){.badges-hero{padding:22px 18px}.badges-summary{width:100%}.badges-summary div{flex:1;min-width:0;padding:10px 12px}.badges-grid{grid-template-columns:minmax(0,1fr)}.badge-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.badge-card,.badge-status.claimable,.badge-art-glow{transition:none;animation:none!important}}
