/* Shared vector collectibles. Animation runs once on interaction, never at rest. */
:is(.achievement-emblem,.collectible-card,.showcase-badge)[data-material=silver]{--metal-hi:#e2edf6;--metal-mid:#91a5b9;--metal-low:#4b5d71;--metal-ink:#19232f;--metal-glow:#c3d5e6}
:is(.achievement-emblem,.collectible-card,.showcase-badge)[data-material=gold]{--metal-hi:#ffe0a0;--metal-mid:#c99e54;--metal-low:#775023;--metal-ink:#302315;--metal-glow:#e8bc72}
:is(.achievement-emblem,.collectible-card,.showcase-badge)[data-material=jade]{--metal-hi:#b4f3e0;--metal-mid:#69b4a5;--metal-low:#2d6b65;--metal-ink:#142c2d;--metal-glow:#86ddc5}
:is(.achievement-emblem,.collectible-card,.showcase-badge)[data-material=violet]{--metal-hi:#e3ceff;--metal-mid:#ae84d6;--metal-low:#614980;--metal-ink:#281d3e;--metal-glow:#c49aed}
:is(.achievement-emblem,.collectible-card,.showcase-badge)[data-material=platinum]{--metal-hi:#f4e9d9;--metal-mid:#b9c5d8;--metal-low:#6d7893;--metal-ink:#222839;--metal-glow:#dfe5fa}
.achievement-emblem{position:relative;display:inline-grid;place-items:center;isolation:isolate;flex:none;box-sizing:border-box;width:58px;height:58px;color:var(--metal-hi,#e2edf6)}
.achievement-emblem:before{content:'';position:absolute;inset:9px;border-radius:50%;box-shadow:0 0 18px var(--metal-glow,#c3d5e6);opacity:0;transition:opacity .24s ease;pointer-events:none}
.emblem-progress{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-width:1.5}
.emblem-track{stroke:#aab4c52b}.emblem-value{stroke:var(--metal-mid,#91a5b9);stroke-linecap:round}
.emblem-core{position:absolute;inset:5px;display:grid;place-items:center;border:1px solid var(--metal-hi,#e2edf6);border-radius:50%;overflow:hidden;background:radial-gradient(ellipse at 25% 0%,#fff9,transparent 48%),linear-gradient(140deg,var(--metal-hi,#e2edf6),var(--metal-low,#4b5d71));box-shadow:inset 0 1px 2px #fff8,inset 0 -3px 5px #0005,0 3px 8px #0004;transition:transform .24s cubic-bezier(.2,.7,.2,1);transform:var(--emblem-transform,none)}
.emblem-engraving{position:absolute;inset:4px;border:1px solid #ffffff24;border-radius:inherit;background:linear-gradient(145deg,#ffffff0f,transparent 55%),var(--metal-ink,#19232f);box-shadow:inset 0 2px 5px #0006,inset 0 -1px #ffffff18}
.emblem-engraving:after{content:'';position:absolute;inset:3px;border:1px dashed #ffffff19;border-radius:inherit}
.achievement-emblem[data-rarity=epic] .emblem-core{border-radius:26%}.achievement-emblem[data-rarity=legendary] .emblem-engraving{border-style:double;border-width:3px}
.emblem-symbol{position:relative;width:55%;height:55%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--metal-hi,#e2edf6)}
.emblem-number{fill:currentColor;stroke:none;font:bold 24px system-ui,sans-serif;letter-spacing:-1px}.emblem-number-small{font-size:19px}
.emblem-glint{position:absolute;inset:-35% -80%;background:linear-gradient(100deg,transparent 40%,#ffffff0d 44%,#ffffff9c 49%,#ffffff0d 54%,transparent 58%);opacity:0;transform:translateX(-130%) rotate(20deg);animation:var(--emblem-sweep,none) .85s ease both;pointer-events:none}
.emblem-sparks{position:absolute;inset:0;pointer-events:none}.emblem-sparks i{position:absolute;top:3%;left:70%;width:6px;height:6px;background:var(--metal-hi,#e2edf6);clip-path:polygon(50% 0,63% 37%,100% 50%,63% 63%,50% 100%,37% 63%,0 50%,37% 37%);opacity:0;animation:var(--emblem-spark,none) .75s ease-out both}
.emblem-sparks i:nth-child(1){--spark-x:8px;--spark-y:-12px}.emblem-sparks i:nth-child(2){top:25%;left:96%;--spark-x:12px;--spark-y:-5px;animation-delay:.08s}.emblem-sparks i:nth-child(3){top:73%;left:4%;--spark-x:-9px;--spark-y:7px;animation-delay:.13s}.emblem-sparks i:nth-child(4){top:95%;left:65%;--spark-x:5px;--spark-y:10px;animation-delay:.18s}
.emblem-lock{position:absolute;right:1px;bottom:0;width:21px;height:21px;padding:3px;box-sizing:border-box;border:1px solid #79818d;border-radius:50%;background:#262d38;stroke:#bbc3d0;fill:none;stroke-width:1.8}
.achievement-emblem[data-earned=false],.collectible-card.locked{--metal-hi:#a4aebd;--metal-mid:#6c7889;--metal-low:#353e4c;--metal-ink:#252c38;--metal-glow:#7e8b9e}
.achievement-emblem[data-earned=false] .emblem-core{background:linear-gradient(145deg,#566171,#303845);box-shadow:inset 0 1px #ffffff30,0 2px 5px #0002}.achievement-emblem[data-earned=false] .emblem-symbol{opacity:.65}
.achievement-rarity{font-size:9px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--metal-hi,#c3d5e6)}

.profile-page .profile-showcase{width:424px;padding:18px 18px 16px}
.showcase-medals{position:relative;gap:14px;padding-top:17px}
.profile-page :is(#memberPanel,#publicProfileContent)[data-palette] .profile-showcase .showcase-badge{position:static;display:block;flex:1 1 0;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--case-text);outline:0}
.profile-page .profile-showcase .showcase-badge>summary{display:flex;align-items:center;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0;cursor:pointer;outline-offset:5px;border-radius:9px}
.showcase-badge>summary::-webkit-details-marker{display:none}
.profile-showcase .medal-title{font-size:10px;line-height:1.4;max-width:72px;overflow-wrap:normal;hyphens:auto;text-align:center;color:var(--case-text)}
.award-tooltip{position:absolute;display:flex;flex-direction:column;gap:7px;left:0;right:0;bottom:calc(100% + 12px);z-index:8;padding:17px 18px;border:1px solid var(--metal-mid,#91a5b9);border-radius:13px;background:#191d27;box-shadow:0 8px 24px #0005;text-align:left;white-space:normal;color:#dddfe7;visibility:hidden;opacity:0;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none}
.award-tooltip>strong{color:#f7f1e4;font-size:14px;line-height:1.4}.award-tooltip>span:not(.achievement-rarity){font-size:12px;line-height:1.5}.award-tooltip>small{font-size:10px;color:#a4adbf}
.showcase-badge[open] .award-tooltip,.showcase-badge>summary:focus-visible .award-tooltip{visibility:visible;opacity:1;transform:none}
.showcase-badge[data-tooltip-dismissed] .award-tooltip{visibility:hidden!important;opacity:0!important}
.showcase-badge[open],.showcase-badge>summary:focus-visible,.collectible-card.earned:focus-within{--emblem-transform:translateY(-4px) scale(1.05);--emblem-sweep:kl-emblem-sheen;--emblem-spark:kl-emblem-spark}
.showcase-badge[open] .achievement-emblem:before,.showcase-badge>summary:focus-visible .achievement-emblem:before,.collectible-card.earned:focus-within .achievement-emblem:before{opacity:.4}

.profile-page :is(#memberPanel,#publicProfileContent)[data-palette] .achievement-card.collectible-card{box-sizing:border-box;align-items:center;gap:12px;min-height:310px;padding:24px 22px 20px;background:radial-gradient(ellipse at 50% 18%,#ffffff08,transparent 70%),#171b25;border:1px solid #8b9bb52e;border-radius:19px;color:#edf0f6;text-align:center;outline:0;box-shadow:inset 0 1px #ffffff08;cursor:pointer}
.profile-page :is(#memberPanel,#publicProfileContent)[data-palette] .collectible-card.selected{border-color:var(--metal-mid);box-shadow:inset 0 0 0 1px var(--metal-mid),0 5px 20px #0002}
.profile-page :is(#memberPanel,#publicProfileContent)[data-palette] .collectible-card.locked{background:#151922;color:#aab2c0;cursor:default}
.collectible-card .achievement-emblem{width:92px;height:92px;margin:8px 0 4px}.collectible-card .achievement-rarity{align-self:start;margin-right:30px}.collectible-card.locked .achievement-rarity{color:#8590a2}
.profile-page [data-palette] .collectible-card>strong{font-size:16px;line-height:1.4;font-weight:650;margin:0;color:inherit}
.profile-page [data-palette] .collectible-card>small{font-size:12px;line-height:1.6;color:#aeb8ca;max-width:250px}
.profile-page [data-palette] .collectible-card .achievement-completion{font-size:11px;font-weight:500;color:var(--metal-hi);margin-top:auto}
.profile-page [data-palette] .collectible-card>progress{width:100%;height:4px;max-height:4px;margin:0;accent-color:var(--metal-mid);border:0;border-radius:3px;background:#ffffff0d}
.collectible-card>progress::-webkit-progress-bar{background:#ffffff0d;border-radius:3px}.collectible-card>progress::-webkit-progress-value{background:var(--metal-mid);border-radius:3px}.collectible-card>progress::-moz-progress-bar{background:var(--metal-mid);border-radius:3px}
.profile-page .collectible-card>input{position:absolute;right:11px;top:11px;width:40px;height:40px;opacity:0;margin:0;z-index:2;cursor:pointer}
.achievement-select{position:absolute;right:20px;top:20px;display:grid;place-items:center;width:21px;height:21px;border:1px solid #75829766;border-radius:50%;color:transparent;background:#0c101655;pointer-events:none}
.achievement-select>svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.collectible-card>input:checked+.achievement-select{color:var(--metal-ink);background:var(--metal-hi);border-color:var(--metal-mid)}
.collectible-card>input:focus-visible+.achievement-select{outline:2px solid var(--metal-hi);outline-offset:4px}.collectible-card>input:disabled+.achievement-select{opacity:.4}
.profile-page [data-palette] .collectible-card:focus-within{border-color:var(--metal-mid)}

@media(hover:hover) and (pointer:fine){
  .showcase-badge:hover,.collectible-card.earned:hover{--emblem-transform:translateY(-4px) scale(1.05);--emblem-sweep:kl-emblem-sheen;--emblem-spark:kl-emblem-spark}
  .showcase-badge:hover .award-tooltip{visibility:visible;opacity:1;transform:none}
  .showcase-badge:hover .achievement-emblem:before,.collectible-card.earned:hover .achievement-emblem:before{opacity:.4}
}
@keyframes kl-emblem-sheen{0%{opacity:0;transform:translateX(-130%) rotate(20deg)}20%{opacity:.85}80%{opacity:.85}100%{opacity:0;transform:translateX(130%) rotate(20deg)}}
@keyframes kl-emblem-spark{0%,10%{opacity:0;transform:translate(0,0) scale(.3)}35%{opacity:.9}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.2)}}
:root[data-theme=light] .award-tooltip{background:#fbf8f0;color:#5f5b60;box-shadow:0 8px 24px #41332922}:root[data-theme=light] .award-tooltip>strong{color:#332b26}:root[data-theme=light] .award-tooltip>small{color:#756d70}
.profile-page :is(#memberPanel,#publicProfileContent):is([data-palette=white],[data-palette=ice],[data-palette=pearl-mint],[data-palette=pearl-lavender],[data-palette=pearl-peach]) .award-tooltip{background:#fbf8f0;color:#5f5b60;box-shadow:0 8px 24px #41332922}
.profile-page :is(#memberPanel,#publicProfileContent):is([data-palette=white],[data-palette=ice],[data-palette=pearl-mint],[data-palette=pearl-lavender],[data-palette=pearl-peach]) .award-tooltip>strong{color:#332b26}
.profile-page :is(#memberPanel,#publicProfileContent):is([data-palette=white],[data-palette=ice],[data-palette=pearl-mint],[data-palette=pearl-lavender],[data-palette=pearl-peach]) .award-tooltip>small{color:#756d70}
:root[data-theme=light] .collectible-card .achievement-rarity,.profile-page :is(#memberPanel,#publicProfileContent):is([data-palette=white],[data-palette=ice],[data-palette=pearl-mint],[data-palette=pearl-lavender],[data-palette=pearl-peach]) .achievement-rarity{color:#795d35}
:root[data-theme=light] .profile-page [data-palette] .achievement-card.collectible-card,.profile-page :is(#memberPanel,#publicProfileContent):is([data-palette=white],[data-palette=ice],[data-palette=pearl-mint],[data-palette=pearl-lavender],[data-palette=pearl-peach]) .achievement-card.collectible-card{background:radial-gradient(ellipse at 50% 15%,#d8c8ab20,transparent 70%),#faf9f6;color:#332e39;border-color:#cac1cf}
:root[data-theme=light] .profile-page .collectible-card>small,.profile-page :is(#memberPanel,#publicProfileContent):is([data-palette=white],[data-palette=ice],[data-palette=pearl-mint],[data-palette=pearl-lavender],[data-palette=pearl-peach]) .collectible-card>small{color:#726a79}
:root[data-theme=light] .profile-page .collectible-card .achievement-completion,.profile-page :is(#memberPanel,#publicProfileContent):is([data-palette=white],[data-palette=ice],[data-palette=pearl-mint],[data-palette=pearl-lavender],[data-palette=pearl-peach]) .collectible-card .achievement-completion{color:#66527a}
@media(max-width:1000px){.profile-page .profile-showcase{width:100%}}
@media(max-width:520px){.profile-page .profile-showcase{padding:15px 12px}.showcase-medals{gap:7px;padding-top:15px}.achievement-emblem{width:45px;height:45px}.profile-page :is(#memberPanel,#publicProfileContent)[data-palette] .profile-showcase .showcase-badge{min-width:42px;max-width:70px}.profile-showcase .medal-title{font-size:9px;hyphens:auto}.profile-page [data-palette] .achievement-card.collectible-card{padding:20px 12px 16px;min-height:300px}.collectible-card .achievement-emblem{width:78px;height:78px}.profile-page [data-palette] .collectible-card>strong{font-size:14px}.profile-page [data-palette] .collectible-card>small{font-size:11px}.collectible-card .achievement-rarity{font-size:8px;letter-spacing:.8px}.achievement-select{width:18px;height:18px;right:13px;top:17px}.award-tooltip{padding:14px;font-size:12px}}
@media(max-width:359px){.achievement-grid{grid-template-columns:1fr}.collectible-card .achievement-emblem{width:92px;height:92px}}
@media(prefers-reduced-motion:reduce){.emblem-core,.achievement-emblem:before,.award-tooltip{transition:none}.emblem-core{transform:none!important}.emblem-glint,.emblem-sparks i{animation:none!important;opacity:0!important}}
