/* Wallverse store frames — web rendering aligned with the Android painters. */
.card-frame-skin__tracer,.card-frame-skin__plate { position:absolute; display:none; pointer-events:none; }
.collectible-card:has(>.card-frame-skin) { --frame-radius:34px; --frame-inner-radius:25px; padding:10px; overflow:visible; border:0; background:transparent; }
.collectible-card:has(>.card-frame-skin)::before { z-index:-1; inset:0; border:0; content:''; }
.collectible-card:has(>.card-frame-skin)>.collectible-card__media { z-index:2; }
.collectible-card:has(>.card-frame-skin)>.card-frame-skin { z-index:5; inset:0; transform:translateZ(6px); }
.collectible-card:has(>.card-frame-skin) .collectible-card__info,.collectible-card:has(>.card-frame-skin) .collectible-card__badges { z-index:8; }

/* Neon Rounded — rarity-coloured premium screen with two contour glints. */
.frame--neonrounded { border-radius:var(--frame-radius); filter:none; box-shadow:0 24px 54px rgba(0,0,0,.5),0 0 20px color-mix(in srgb,var(--tier) 25%,transparent),0 0 44px color-mix(in srgb,var(--accent) 12%,transparent); }
.frame--neonrounded::before { border-radius:var(--frame-radius); background:radial-gradient(circle at 16% 0,color-mix(in srgb,var(--accent) 19%,transparent),transparent 40%),linear-gradient(145deg,color-mix(in srgb,var(--tier) 14%,#101a2a),#050b16 62%); box-shadow:inset 0 0 18px color-mix(in srgb,var(--tier) 13%,transparent); }
.frame--neonrounded>.collectible-card__media { border:1px solid color-mix(in srgb,var(--tier) 34%,rgba(255,255,255,.18)); border-radius:var(--frame-inner-radius); clip-path:none; }
.frame--neonrounded>.card-frame-skin { border:0; border-radius:var(--frame-radius); box-shadow:none; animation:none; }
.frame--neonrounded>.card-frame-skin::before { inset:1px; padding:2px; border-radius:calc(var(--frame-radius) - 1px); background:linear-gradient(135deg,color-mix(in srgb,var(--tier) 92%,#fff),color-mix(in srgb,var(--accent) 72%,var(--tier)) 42%,var(--tier) 68%,color-mix(in srgb,var(--tier) 76%,#fff)); filter:drop-shadow(0 0 5px color-mix(in srgb,var(--tier) 82%,transparent)) drop-shadow(0 0 13px color-mix(in srgb,var(--accent) 34%,transparent)); animation:neon-rounded-energy 4.6s ease-in-out infinite; }
.frame--neonrounded>.card-frame-skin::after { inset:5px; border:1px solid color-mix(in srgb,#fff 26%,var(--tier)); border-radius:calc(var(--frame-radius) - 6px); opacity:.72; box-shadow:inset 0 0 12px color-mix(in srgb,var(--tier) 16%,transparent),0 0 10px color-mix(in srgb,var(--tier) 15%,transparent); }
.frame--neonrounded>.card-frame-skin__rail,.frame--neonrounded>.card-frame-skin__spark,.frame--neonrounded>.card-frame-skin__plate { display:none; }
.frame--neonrounded>.card-frame-skin__tracer { display:block; offset-path:inset(2px round calc(var(--frame-radius) - 2px)); offset-rotate:0deg; width:clamp(34px,16%,66px); height:3px; border-radius:999px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.98) 42% 60%,color-mix(in srgb,var(--accent) 78%,#fff),transparent); box-shadow:0 0 4px #fff,0 0 10px var(--tier),0 0 18px color-mix(in srgb,var(--accent) 58%,transparent); animation:neon-contour-trace 8.4s linear infinite; }
.frame--neonrounded>.card-frame-skin__tracer--2 { width:clamp(24px,10%,44px); height:2px; opacity:.76; animation-duration:10.2s; animation-delay:-5.1s; }

/* Neon Gradient — thin rotating spectrum with clean moving hot zones. */
.frame--neongradient { border-radius:32px; filter:none; box-shadow:0 24px 54px rgba(0,0,0,.48),0 0 18px rgba(64,151,255,.16),0 0 34px rgba(164,69,255,.1); }
.frame--neongradient::before { border-radius:32px; background:linear-gradient(145deg,rgba(17,27,47,.98),rgba(4,10,20,.99)); }
.frame--neongradient>.collectible-card__media { border:1px solid rgba(129,193,255,.23); border-radius:23px; clip-path:none; }
.frame--neongradient>.card-frame-skin { border:0; border-radius:32px; box-shadow:none; }
.frame--neongradient>.card-frame-skin::before { inset:1px; padding:2px; border-radius:31px; background:conic-gradient(from var(--frame-angle),#23f4ff 0deg,#277dff 76deg,#6857ff 148deg,#d64aff 224deg,color-mix(in srgb,var(--tier) 55%,#ff62dc) 292deg,#23f4ff 360deg); filter:drop-shadow(0 0 4px rgba(40,243,255,.45)) drop-shadow(0 0 9px rgba(133,73,255,.28)); animation:gradient-frame-orbit 8s linear infinite; }
.frame--neongradient>.card-frame-skin::after { inset:5px; border:1px solid rgba(194,225,255,.32); border-radius:27px; opacity:.62; box-shadow:inset 0 0 10px rgba(49,115,255,.12); }
.frame--neongradient>.card-frame-skin__rail,.frame--neongradient>.card-frame-skin__spark,.frame--neongradient>.card-frame-skin__plate { display:none; }
.frame--neongradient>.card-frame-skin__tracer { display:block; offset-path:inset(2px round 30px); offset-rotate:0deg; width:clamp(22px,10%,46px); height:2px; border-radius:999px; background:linear-gradient(90deg,transparent,#fff 45% 60%,#49efff,transparent); box-shadow:0 0 4px #fff,0 0 9px #4bdfff; animation:gradient-hot-zone 9.4s linear infinite; }
.frame--neongradient>.card-frame-skin__tracer--2 { width:clamp(16px,7%,32px); opacity:.72; animation-duration:12.2s; animation-delay:-6.1s; }

/* Cyberpunk — octagonal image mask, broken HUD rails and corner plates. */
.frame--cyberpunk { padding:11px; border:0; border-radius:0; clip-path:none; filter:drop-shadow(0 0 8px color-mix(in srgb,var(--tier) 36%,transparent)); box-shadow:none; }
.frame--cyberpunk::before { inset:0; border-radius:0; clip-path:polygon(7% 0,93% 0,100% 7%,100% 93%,93% 100%,7% 100%,0 93%,0 7%); background:linear-gradient(145deg,color-mix(in srgb,var(--tier) 19%,#0b1627),#050b15 30% 72%,color-mix(in srgb,var(--accent) 18%,#07101e)); box-shadow:inset 0 0 20px rgba(21,111,158,.13); }
.frame--cyberpunk>.collectible-card__media { border:1px solid color-mix(in srgb,var(--tier) 26%,transparent); border-radius:0; clip-path:polygon(7% 0,93% 0,100% 7%,100% 93%,93% 100%,7% 100%,0 93%,0 7%); }
.frame--cyberpunk>.card-frame-skin { inset:0; border:0; border-radius:0; clip-path:none; filter:none; }
.frame--cyberpunk>.card-frame-skin::before { inset:1px; padding:2px; border-radius:0; clip-path:polygon(7% 0,42% 0,42% 1%,62% 1%,62% 0,93% 0,100% 7%,100% 39%,99% 39%,99% 62%,100% 62%,100% 93%,93% 100%,62% 100%,62% 99%,39% 99%,39% 100%,7% 100%,0 93%,0 62%,1% 62%,1% 38%,0 38%,0 7%); background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--tier) 84%,#fff) 28%,rgba(255,255,255,.7) 52%,var(--tier) 76%,var(--accent)); filter:drop-shadow(0 0 5px color-mix(in srgb,var(--tier) 68%,transparent)); animation:none; }
.frame--cyberpunk>.card-frame-skin::after { inset:7px; border:1px solid color-mix(in srgb,var(--accent) 34%,transparent); border-radius:0; clip-path:polygon(6% 0,94% 0,100% 6%,100% 94%,94% 100%,6% 100%,0 94%,0 6%); box-shadow:inset 0 0 14px rgba(34,139,177,.1); }
.frame--cyberpunk>.card-frame-skin__tracer { display:block; width:20%; height:2px; border-radius:0; background:linear-gradient(90deg,transparent,#fff,var(--accent)); box-shadow:0 0 5px var(--accent); animation:cyber-moving-dash 5.6s linear infinite; }
.frame--cyberpunk>.card-frame-skin__tracer--1 { top:13.5%; left:-22%; }.frame--cyberpunk>.card-frame-skin__tracer--2 { right:-18%; bottom:13.5%; animation-delay:-2.8s; animation-direction:reverse; }
.frame--cyberpunk>.card-frame-skin__rail { display:block; border-radius:0; background:linear-gradient(90deg,var(--accent),#fff,var(--tier)); box-shadow:0 0 5px color-mix(in srgb,var(--tier) 70%,transparent); animation:cyber-rail-pulse 2.5s steps(4,end) infinite; }
.frame--cyberpunk>.card-frame-skin__rail--top { top:2%; left:14%; width:27%; height:2px; }.frame--cyberpunk>.card-frame-skin__rail--bottom { right:12%; bottom:2%; width:23%; height:2px; }.frame--cyberpunk>.card-frame-skin__rail--left { top:16%; left:2%; width:2px; height:21%; }.frame--cyberpunk>.card-frame-skin__rail--right { right:2%; bottom:18%; width:2px; height:18%; }
.frame--cyberpunk>.card-frame-skin__spark { display:block; width:8px; height:2px; border-radius:0; background:var(--accent); box-shadow:0 0 6px var(--accent); animation:cyber-node-flicker 2s steps(2,end) infinite alternate; }.frame--cyberpunk>.card-frame-skin__spark--1 { top:7%; left:6%; transform:rotate(-45deg); }.frame--cyberpunk>.card-frame-skin__spark--2 { top:6%; right:7%; transform:rotate(45deg); }.frame--cyberpunk>.card-frame-skin__spark--3 { right:6%; bottom:7%; transform:rotate(-45deg); }.frame--cyberpunk>.card-frame-skin__spark--4 { bottom:6%; left:7%; transform:rotate(45deg); }.frame--cyberpunk>.card-frame-skin__spark--5,.frame--cyberpunk>.card-frame-skin__spark--6,.frame--cyberpunk>.card-frame-skin__spark--7,.frame--cyberpunk>.card-frame-skin__spark--8 { display:none; }
.frame--cyberpunk>.card-frame-skin__plate { display:block; height:3.4%; background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 32%,transparent),color-mix(in srgb,var(--tier) 16%,transparent)); clip-path:polygon(0 0,82% 0,100% 100%,12% 100%); }.frame--cyberpunk>.card-frame-skin__plate--1 { top:2px; left:16%; width:23%; }.frame--cyberpunk>.card-frame-skin__plate--2 { top:10%; right:-1%; width:13%; transform:rotate(90deg); }.frame--cyberpunk>.card-frame-skin__plate--3 { right:14%; bottom:2px; width:22%; transform:rotate(180deg); }.frame--cyberpunk>.card-frame-skin__plate--4 { bottom:12%; left:-1%; width:12%; transform:rotate(-90deg); }
.frame--cyberpunk.is-visible .collectible-card__shine { top:-40%; bottom:-40%; left:-50%; width:48%; opacity:.62; background:linear-gradient(90deg,transparent,rgba(50,229,255,.12),rgba(255,255,255,.68),rgba(155,70,255,.14),transparent); animation:cyber-polish-sweep 5s cubic-bezier(.45,0,.55,1) infinite; }

/* Electric — subtly changing perimeter plus asynchronous bolts and branches. */
.frame--electric { padding:11px; border:0; border-radius:0; clip-path:none; filter:drop-shadow(0 0 8px color-mix(in srgb,var(--tier) 40%,transparent)); box-shadow:none; animation:none; }
.frame--electric::before { inset:0; border-radius:0; clip-path:polygon(2% 1%,24% 0,49% 1%,72% 0,98% 1%,100% 24%,99% 49%,100% 76%,98% 99%,74% 100%,51% 99%,25% 100%,1% 98%,0 74%,1% 50%,0 23%); background:linear-gradient(145deg,color-mix(in srgb,var(--tier) 17%,#0c1727),#050b15 60%,color-mix(in srgb,var(--accent) 14%,#07101d)); box-shadow:inset 0 0 18px color-mix(in srgb,var(--tier) 11%,transparent); }
.frame--electric>.collectible-card__media { border:1px solid color-mix(in srgb,var(--tier) 28%,transparent); border-radius:19px; clip-path:polygon(2% 1%,23% 0,49% 1%,74% 0,98% 2%,100% 24%,99% 50%,100% 76%,98% 99%,75% 100%,51% 99%,24% 100%,1% 98%,0 75%,1% 49%,0 22%); }
.frame--electric>.card-frame-skin { inset:0; border:0; border-radius:0; clip-path:none; filter:none; animation:none; }
.frame--electric>.card-frame-skin::before { inset:1px; padding:2px; border-radius:0; clip-path:polygon(2% 1%,24% 0,49% 1%,72% 0,98% 1%,100% 24%,99% 49%,100% 76%,98% 99%,74% 100%,51% 99%,25% 100%,1% 98%,0 74%,1% 50%,0 23%); background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--accent) 88%,#fff) 18%,var(--tier) 44%,#fff 69%,var(--accent)); filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 10px color-mix(in srgb,var(--tier) 70%,transparent)); animation:electric-frame-drift 6.2s ease-in-out infinite,electric-line-flicker 2.8s ease-in-out infinite; }
.frame--electric>.card-frame-skin::after { inset:5px; border:1px solid color-mix(in srgb,#fff 22%,var(--tier)); border-radius:18px; clip-path:polygon(2% 1%,24% 0,50% 1%,76% 0,98% 2%,100% 25%,99% 51%,100% 77%,98% 99%,74% 100%,49% 99%,23% 100%,1% 98%,0 74%,1% 48%,0 22%); opacity:.62; box-shadow:inset 0 0 12px color-mix(in srgb,var(--tier) 16%,transparent); }
.frame--electric>.card-frame-skin__tracer,.frame--electric>.card-frame-skin__plate { display:none; }
.frame--electric>.card-frame-skin__rail { display:block; height:2px; border-radius:0; background:linear-gradient(90deg,transparent,var(--tier),#fff,var(--accent),transparent); box-shadow:0 0 5px #fff,0 0 10px var(--tier); animation:electric-rail-burst 2.4s steps(4,end) infinite; }.frame--electric>.card-frame-skin__rail--top { top:1px; left:15%; width:24%; }.frame--electric>.card-frame-skin__rail--bottom { right:13%; bottom:1px; width:20%; }.frame--electric>.card-frame-skin__rail--left { top:19%; left:1px; width:2px; height:17%; }.frame--electric>.card-frame-skin__rail--right { right:1px; bottom:20%; width:2px; height:18%; }
.frame--electric>.card-frame-skin__spark { --bolt-rotation:0deg; display:block; width:27px; height:12px; border-radius:0; background:linear-gradient(90deg,transparent 0 4%,#fff 16%,var(--accent) 45%,#fff 70%,transparent 100%); clip-path:polygon(0 44%,25% 32%,38% 0,49% 43%,67% 20%,60% 57%,100% 48%,74% 64%,58% 100%,45% 63%,21% 78%); filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 7px var(--tier)); transform-origin:center; animation:electric-bolt-flash 3.7s ease-in-out infinite; }
.frame--electric>.card-frame-skin__spark--1 { top:-5px; left:8%; --bolt-rotation:-8deg; animation-delay:-.2s; }.frame--electric>.card-frame-skin__spark--2 { top:16%; right:-11px; --bolt-rotation:84deg; animation-delay:-1.35s; }.frame--electric>.card-frame-skin__spark--3 { right:-9px; bottom:26%; --bolt-rotation:96deg; animation-delay:-2.6s; }.frame--electric>.card-frame-skin__spark--4 { bottom:-5px; left:17%; --bolt-rotation:174deg; animation-delay:-.8s; }.frame--electric>.card-frame-skin__spark--5 { right:12%; bottom:-5px; --bolt-rotation:188deg; animation-delay:-3.1s; }.frame--electric>.card-frame-skin__spark--6 { top:31%; left:-11px; --bolt-rotation:-92deg; animation-delay:-1.9s; }.frame--electric>.card-frame-skin__spark--7 { bottom:13%; left:-9px; --bolt-rotation:-83deg; animation-delay:-3.45s; }.frame--electric>.card-frame-skin__spark--8 { top:-5px; right:21%; --bolt-rotation:7deg; animation-delay:-2.25s; }

/* Polished custom cards intensify the chosen frame and sweep the real mask. */
.collectible-card.is-polished:has(>.card-frame-skin) { filter:drop-shadow(0 0 11px color-mix(in srgb,var(--tier) 50%,transparent)); }
.collectible-card.is-polished:has(>.card-frame-skin)::after { z-index:7; inset:10px; border-radius:var(--frame-inner-radius); background:linear-gradient(108deg,transparent 24%,rgba(255,255,255,.08) 36%,rgba(255,255,255,.62) 48%,color-mix(in srgb,var(--accent) 28%,transparent) 54%,transparent 69%); background-size:260% 100%; mix-blend-mode:screen; animation:custom-polish-sweep 4.8s ease-in-out infinite; }
.frame--cyberpunk.is-polished::after { border-radius:0; clip-path:polygon(7% 0,93% 0,100% 7%,100% 93%,93% 100%,7% 100%,0 93%,0 7%); }.frame--electric.is-polished::after { border-radius:18px; clip-path:polygon(2% 1%,23% 0,49% 1%,74% 0,98% 2%,100% 24%,99% 50%,100% 76%,98% 99%,75% 100%,51% 99%,24% 100%,1% 98%,0 75%,1% 49%,0 22%); }
.collectible-card.is-polished:has(>.card-frame-skin)>.card-frame-skin::before { filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 13px color-mix(in srgb,var(--tier) 86%,transparent)); }

/* Avatar equivalents: rounded square, concentric spectrum, HUD and electricity. */
.avatar-frame--neonrounded { border-radius:14px !important; filter:drop-shadow(0 0 5px color-mix(in srgb,var(--avatar-tier) 45%,transparent)); }.avatar-frame--neonrounded .avatar-frame__content { inset:4px; border-radius:10px; }.avatar-frame--neonrounded::before { padding:2px; border-radius:14px; background:conic-gradient(from var(--frame-angle),var(--avatar-tier),var(--avatar-accent),#fff,var(--avatar-tier),var(--avatar-tier)); animation:avatar-frame-orbit 7s linear infinite; }.avatar-frame--neonrounded::after { inset:2px; border-radius:12px; transform:none; opacity:.55; }
.avatar-frame--neongradient { border-radius:50% !important; }.avatar-frame--neongradient .avatar-frame__content { inset:5px; border-radius:50%; }.avatar-frame--neongradient::before { inset:0; padding:2px; border-radius:50%; background:conic-gradient(from var(--frame-angle),#28f3ff,#377cff,#8257ff,#ef4de1,#28f3ff); animation:avatar-frame-orbit 7.8s linear infinite; }.avatar-frame--neongradient::after { inset:4px; border:1px solid rgba(216,238,255,.55); border-radius:50%; opacity:.8; box-shadow:0 0 7px rgba(40,243,255,.25),inset 0 0 6px rgba(137,76,255,.16); }
.avatar-frame--cyberpunk,.avatar-frame--cyberpunk .avatar-frame__content { border-radius:0 !important; clip-path:polygon(14% 0,86% 0,100% 14%,100% 86%,86% 100%,14% 100%,0 86%,0 14%); }.avatar-frame--cyberpunk::before { padding:2px; border-radius:0; background:conic-gradient(from 28deg,var(--avatar-accent) 0 10%,transparent 10% 22%,var(--avatar-tier) 22% 37%,transparent 37% 58%,#28f3ff 58% 72%,transparent 72% 88%,var(--avatar-accent) 88%); animation:cyber-avatar-pulse 2.6s steps(4,end) infinite; }.avatar-frame--cyberpunk::after { inset:2px; border-radius:0; border-style:solid; clip-path:inherit; opacity:.62; }
.avatar-frame--electric,.avatar-frame--electric .avatar-frame__content { border-radius:42% !important; clip-path:polygon(4% 2%,25% 0,49% 3%,73% 0,97% 4%,100% 26%,97% 51%,100% 77%,96% 98%,72% 100%,48% 97%,23% 100%,2% 96%,0 72%,3% 48%,0 22%); }.avatar-frame--electric::before { padding:2px; border-radius:42%; background:conic-gradient(from var(--frame-angle),transparent 0 8%,#fff 11%,var(--avatar-accent) 15%,transparent 21% 43%,var(--avatar-tier) 47%,#fff 51%,transparent 57% 78%,var(--avatar-accent) 82%,transparent 89%); filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 6px var(--avatar-tier)); animation:avatar-frame-orbit 3.2s linear infinite,electric-avatar-flicker 2.1s ease-in-out infinite; }.avatar-frame--electric::after { inset:2px; border-radius:40%; clip-path:inherit; opacity:.66; }

@keyframes neon-contour-trace { to { offset-distance:100%; } }
@keyframes gradient-hot-zone { to { offset-distance:100%; } }
@keyframes neon-rounded-energy { 0%,100% { opacity:.78; filter:drop-shadow(0 0 4px color-mix(in srgb,var(--tier) 72%,transparent)); } 50% { opacity:1; filter:drop-shadow(0 0 7px color-mix(in srgb,var(--tier) 88%,transparent)) drop-shadow(0 0 12px color-mix(in srgb,var(--accent) 28%,transparent)); } }
@keyframes gradient-frame-orbit { to { --frame-angle:360deg; } }
@keyframes cyber-moving-dash { 0% { transform:translateX(0); opacity:0; } 12% { opacity:.85; } 82% { opacity:.85; } 100% { transform:translateX(620%); opacity:0; } }
@keyframes cyber-rail-pulse { 0%,100% { opacity:.38; } 42% { opacity:1; filter:brightness(1.45); } 58% { opacity:.55; } }
@keyframes cyber-node-flicker { from { opacity:.28; } to { opacity:1; filter:brightness(1.55); } }
@keyframes cyber-polish-sweep { 0%,18% { opacity:0; transform:translateX(0) rotate(-18deg); } 38% { opacity:.72; } 62%,100% { opacity:0; transform:translateX(330%) rotate(-18deg); } }
@keyframes electric-frame-drift { 0%,100% { clip-path:polygon(2% 1%,24% 0,49% 1%,72% 0,98% 1%,100% 24%,99% 49%,100% 76%,98% 99%,74% 100%,51% 99%,25% 100%,1% 98%,0 74%,1% 50%,0 23%); } 50% { clip-path:polygon(1% 2%,26% 0,48% 2%,74% 0,99% 2%,100% 26%,98% 48%,100% 74%,97% 100%,72% 99%,49% 100%,23% 99%,2% 97%,0 72%,2% 52%,0 25%); } }
@keyframes electric-line-flicker { 0%,100% { opacity:.72; } 14% { opacity:.96; } 19% { opacity:.62; } 43% { opacity:1; } 48% { opacity:.76; } 77% { opacity:.92; } }
@keyframes electric-rail-burst { 0%,100% { opacity:.18; transform:scaleX(.45); } 23% { opacity:1; transform:scaleX(1.32); } 37% { opacity:.3; } 66% { opacity:.82; transform:scaleX(.88); } }
@keyframes electric-bolt-flash { 0%,12%,100% { opacity:0; transform:rotate(var(--bolt-rotation)) scale(.45); } 16% { opacity:1; transform:rotate(var(--bolt-rotation)) scale(1.08); } 22% { opacity:.2; transform:rotate(var(--bolt-rotation)) scale(.82); } 27% { opacity:.92; transform:rotate(var(--bolt-rotation)) scale(1); } 34%,78% { opacity:0; transform:rotate(var(--bolt-rotation)) scale(.55); } 82% { opacity:.65; transform:rotate(var(--bolt-rotation)) scale(.9); } 88% { opacity:0; } }
@keyframes custom-polish-sweep { 0%,18% { background-position:185% 0; opacity:0; } 34% { opacity:.72; } 60%,100% { background-position:-75% 0; opacity:0; } }
@keyframes cyber-avatar-pulse { 0%,100% { opacity:.58; } 48% { opacity:1; } }
@keyframes electric-avatar-flicker { 0%,100% { opacity:.72; } 22% { opacity:1; } 31% { opacity:.62; } 68% { opacity:.94; } }

@media (max-width:760px) { .collectible-card:has(>.card-frame-skin) { --frame-radius:28px; --frame-inner-radius:20px; padding:8px; }.frame--neonrounded>.card-frame-skin__tracer { offset-path:inset(2px round 26px); }.frame--neongradient>.card-frame-skin__tracer { offset-path:inset(2px round 27px); }.frame--cyberpunk,.frame--electric { padding:8px; } }
@media (prefers-reduced-motion:reduce) { .card-frame-skin__tracer,.card-frame-skin__rail,.card-frame-skin__spark,.frame--neonrounded>.card-frame-skin::before,.frame--neongradient>.card-frame-skin::before,.frame--electric>.card-frame-skin,.frame--electric>.card-frame-skin::before,.frame--cyberpunk .collectible-card__shine,.collectible-card.is-polished:has(>.card-frame-skin)::after,.avatar.avatar-frame::before { animation:none !important; }.card-frame-skin__tracer { display:none !important; } }

/* Structural selectors: decorations live inside the frame skin layer. */
.frame--neonrounded>.card-frame-skin>.card-frame-skin__rail,.frame--neonrounded>.card-frame-skin>.card-frame-skin__spark,.frame--neonrounded>.card-frame-skin>.card-frame-skin__plate { display:none; }
.frame--neonrounded>.card-frame-skin>.card-frame-skin__tracer { display:block; offset-path:inset(2px round calc(var(--frame-radius) - 2px)); offset-rotate:0deg; width:clamp(34px,16%,66px); height:3px; border-radius:999px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.98) 42% 60%,color-mix(in srgb,var(--accent) 78%,#fff),transparent); box-shadow:0 0 4px #fff,0 0 10px var(--tier),0 0 18px color-mix(in srgb,var(--accent) 58%,transparent); animation:neon-contour-trace 8.4s linear infinite; }
.frame--neonrounded>.card-frame-skin>.card-frame-skin__tracer--2 { width:clamp(24px,10%,44px); height:2px; opacity:.76; animation-duration:10.2s; animation-delay:-5.1s; }
.frame--neongradient>.card-frame-skin>.card-frame-skin__rail,.frame--neongradient>.card-frame-skin>.card-frame-skin__spark,.frame--neongradient>.card-frame-skin>.card-frame-skin__plate { display:none; }
.frame--neongradient>.card-frame-skin>.card-frame-skin__tracer { display:block; offset-path:inset(2px round 30px); offset-rotate:0deg; width:clamp(22px,10%,46px); height:2px; border-radius:999px; background:linear-gradient(90deg,transparent,#fff 45% 60%,#49efff,transparent); box-shadow:0 0 4px #fff,0 0 9px #4bdfff; animation:gradient-hot-zone 9.4s linear infinite; }
.frame--neongradient>.card-frame-skin>.card-frame-skin__tracer--2 { width:clamp(16px,7%,32px); opacity:.72; animation-duration:12.2s; animation-delay:-6.1s; }
.frame--cyberpunk>.card-frame-skin>.card-frame-skin__tracer { display:block; width:20%; height:2px; border-radius:0; background:linear-gradient(90deg,transparent,#fff,var(--accent)); box-shadow:0 0 5px var(--accent); animation:cyber-moving-dash 5.6s linear infinite; }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__tracer--1 { top:13.5%; left:-22%; }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__tracer--2 { right:-18%; bottom:13.5%; animation-delay:-2.8s; animation-direction:reverse; }
.frame--cyberpunk>.card-frame-skin>.card-frame-skin__rail { display:block; border-radius:0; background:linear-gradient(90deg,var(--accent),#fff,var(--tier)); box-shadow:0 0 5px color-mix(in srgb,var(--tier) 70%,transparent); animation:cyber-rail-pulse 2.5s steps(4,end) infinite; }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__rail--top { top:2%; left:14%; width:27%; height:2px; }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__rail--bottom { right:12%; bottom:2%; width:23%; height:2px; }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__rail--left { top:16%; left:2%; width:2px; height:21%; }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__rail--right { right:2%; bottom:18%; width:2px; height:18%; }
.frame--cyberpunk>.card-frame-skin>.card-frame-skin__spark { display:block; width:8px; height:2px; border-radius:0; background:var(--accent); box-shadow:0 0 6px var(--accent); animation:cyber-node-flicker 2s steps(2,end) infinite alternate; }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__spark--1 { top:7%; left:6%; transform:rotate(-45deg); }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__spark--2 { top:6%; right:7%; transform:rotate(45deg); }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__spark--3 { right:6%; bottom:7%; transform:rotate(-45deg); }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__spark--4 { bottom:6%; left:7%; transform:rotate(45deg); }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__spark--5,.frame--cyberpunk>.card-frame-skin>.card-frame-skin__spark--6,.frame--cyberpunk>.card-frame-skin>.card-frame-skin__spark--7,.frame--cyberpunk>.card-frame-skin>.card-frame-skin__spark--8 { display:none; }
.frame--cyberpunk>.card-frame-skin>.card-frame-skin__plate { display:block; height:3.4%; background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 32%,transparent),color-mix(in srgb,var(--tier) 16%,transparent)); clip-path:polygon(0 0,82% 0,100% 100%,12% 100%); }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__plate--1 { top:2px; left:16%; width:23%; }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__plate--2 { top:10%; right:-1%; width:13%; transform:rotate(90deg); }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__plate--3 { right:14%; bottom:2px; width:22%; transform:rotate(180deg); }.frame--cyberpunk>.card-frame-skin>.card-frame-skin__plate--4 { bottom:12%; left:-1%; width:12%; transform:rotate(-90deg); }
.frame--electric>.card-frame-skin>.card-frame-skin__tracer,.frame--electric>.card-frame-skin>.card-frame-skin__plate { display:none; }
.frame--electric>.card-frame-skin>.card-frame-skin__rail { display:block; height:2px; border-radius:0; background:linear-gradient(90deg,transparent,var(--tier),#fff,var(--accent),transparent); box-shadow:0 0 5px #fff,0 0 10px var(--tier); animation:electric-rail-burst 2.4s steps(4,end) infinite; }.frame--electric>.card-frame-skin>.card-frame-skin__rail--top { top:1px; left:15%; width:24%; }.frame--electric>.card-frame-skin>.card-frame-skin__rail--bottom { right:13%; bottom:1px; width:20%; }.frame--electric>.card-frame-skin>.card-frame-skin__rail--left { top:19%; left:1px; width:2px; height:17%; }.frame--electric>.card-frame-skin>.card-frame-skin__rail--right { right:1px; bottom:20%; width:2px; height:18%; }
.frame--electric>.card-frame-skin>.card-frame-skin__spark { --bolt-rotation:0deg; display:block; width:27px; height:12px; border-radius:0; background:linear-gradient(90deg,transparent 0 4%,#fff 16%,var(--accent) 45%,#fff 70%,transparent 100%); clip-path:polygon(0 44%,25% 32%,38% 0,49% 43%,67% 20%,60% 57%,100% 48%,74% 64%,58% 100%,45% 63%,21% 78%); filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 7px var(--tier)); transform-origin:center; animation:electric-bolt-flash 3.7s ease-in-out infinite; }.frame--electric>.card-frame-skin>.card-frame-skin__spark--1 { top:-5px; left:8%; --bolt-rotation:-8deg; animation-delay:-.2s; }.frame--electric>.card-frame-skin>.card-frame-skin__spark--2 { top:16%; right:-11px; --bolt-rotation:84deg; animation-delay:-1.35s; }.frame--electric>.card-frame-skin>.card-frame-skin__spark--3 { right:-9px; bottom:26%; --bolt-rotation:96deg; animation-delay:-2.6s; }.frame--electric>.card-frame-skin>.card-frame-skin__spark--4 { bottom:-5px; left:17%; --bolt-rotation:174deg; animation-delay:-.8s; }.frame--electric>.card-frame-skin>.card-frame-skin__spark--5 { right:12%; bottom:-5px; --bolt-rotation:188deg; animation-delay:-3.1s; }.frame--electric>.card-frame-skin>.card-frame-skin__spark--6 { top:31%; left:-11px; --bolt-rotation:-92deg; animation-delay:-1.9s; }.frame--electric>.card-frame-skin>.card-frame-skin__spark--7 { bottom:13%; left:-9px; --bolt-rotation:-83deg; animation-delay:-3.45s; }.frame--electric>.card-frame-skin>.card-frame-skin__spark--8 { top:-5px; right:21%; --bolt-rotation:7deg; animation-delay:-2.25s; }
@media (max-width:760px) { .frame--neonrounded>.card-frame-skin>.card-frame-skin__tracer { offset-path:inset(2px round 26px); }.frame--neongradient>.card-frame-skin>.card-frame-skin__tracer { offset-path:inset(2px round 27px); } }
