.collection-profile{border-bottom:1px solid hsl(var(--border));grid-template-columns:1fr 1.15fr;gap:32px;margin-bottom:24px;padding:12px 0 34px;display:grid}.collection-showcase{background:radial-gradient(at 50% 55%,#b9974d14,#0000 67%);flex-direction:column;justify-content:center;min-width:0;padding:12px 0 4px;display:flex}.showcase-badge{border-radius:8px;width:31%;max-width:180px;padding:4px 2px;display:block;position:relative}.showcase-badge-first{order:1;width:38%;max-width:215px}.showcase-badge:nth-child(2){order:0}.showcase-badge:nth-child(3){order:2}.showcase-badge-first .badge-art{margin-bottom:10px}.showcase-plinth{background:hsl(var(--foreground) / .055);border-bottom:1px solid hsl(var(--foreground) / .1);border-radius:50%;width:80%;height:8px;margin:0 auto;display:block}.next-achievement{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:10px;padding:10px 18px}.collection-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.collection-badge{border:1px solid hsl(var(--border));background:hsl(var(--card));text-align:center;border-radius:10px;flex-direction:column;align-items:center;min-width:0;padding:14px 16px 16px;transition:border-color .2s,background-color .2s;display:flex}.collection-badge:hover{border-color:hsl(var(--foreground) / .3);background:hsl(var(--muted) / .6)}.collection-badge.is-earned{background:linear-gradient(145deg, #bd9a510e, transparent 55%), hsl(var(--card))}.gamification-page button:focus-visible,.gamification-page a:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:4px}.badge-detail-stage{background:radial-gradient(ellipse at 50% 45%, #ba975326, transparent 65%), hsl(var(--muted) / .5);border-bottom:1px solid hsl(var(--border));padding:26px 24px 20px;position:relative}.badge-detail-rarity{text-align:center;color:hsl(var(--muted-foreground));margin-top:8px;font-size:11px;display:block}.achievement-unlock{z-index:45;background:hsl(var(--popover));width:400px;max-width:calc(100vw - 32px);color:hsl(var(--popover-foreground));box-shadow:0 12px 50px hsl(var(--foreground) / .12);border:1px solid #b18c4680;border-radius:14px;padding:20px 20px 12px;position:fixed;bottom:24px;right:24px;overflow:hidden}.achievement-unlock-shine{pointer-events:none;opacity:0;background:linear-gradient(115deg,#0000 20%,#d1b06224 45%,#0000 70%);position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.achievement-unlock{animation:.6s cubic-bezier(.16,1,.3,1) both achievement-arrive}.achievement-unlock-shine{animation:1.7s ease-out .3s achievement-shine}}@keyframes achievement-arrive{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes achievement-shine{0%{opacity:0;transform:translate(-100%)}30%{opacity:1}to{opacity:0;transform:translate(100%)}}@media (min-width:1600px){.collection-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:1190px){.collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.collection-profile{gap:16px}}@media (max-width:950px){.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collection-profile{grid-template-columns:1fr}.collection-showcase{width:100%;max-width:540px;margin:auto}}@media (max-width:540px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collection-badge{padding:12px}.collection-profile{gap:24px;padding-top:0}.achievement-unlock{padding:16px 14px 10px;bottom:16px;right:16px}}@media (prefers-reduced-motion:reduce){.gamification-page *,.achievement-unlock *,.badge-detail,.badge-detail *{transition:none!important;animation:none!important}.achievement-unlock{animation:none!important}}.badge-edition-stamp{white-space:nowrap;border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));letter-spacing:.06em;box-shadow:0 1px 4px hsl(var(--foreground) / .08);border-radius:3px;padding:2px 5px;font-size:8px;line-height:1.2;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.edition-feature{background:linear-gradient(125deg, hsl(var(--muted) / .5), transparent);transition:border-color .2s}.edition-feature:hover{border-color:hsl(var(--foreground) / .3)}
