:root{--holo-angle:135deg;--holo-intensity:0.9;--light-x:80%;--light-y:80%}.holo{position:relative;overflow:hidden;border:none;border-radius:0;will-change:transform;transform:translateZ(0)}.holo:after{background:radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),rgba(255,255,255,calc(.3 * var(--holo-intensity, .6))) 0,rgba(255,255,255,calc(.1 * var(--holo-intensity, .6))) 20%,transparent 50%),radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),transparent 30%,rgba(0,0,0,calc(.1 * var(--holo-intensity, .6))) 60%,rgba(0,0,0,calc(.2 * var(--holo-intensity, .6))) 80%);pointer-events:none;mix-blend-mode:color-burn;opacity:var(--holo-intensity,.2);z-index:3;will-change:background,opacity;transition:background .1s ease-out,opacity .2s ease-out}.holo:after,.holo:before{content:"";position:absolute;inset:0;border-radius:inherit;transform:translateZ(0)}.holo:before{background-size:100% 100%;background-position:50%;transition:none;pointer-events:grab;mix-blend-mode:multiply;z-index:1;overflow:hidden;will-change:background}.holo-commune img{filter:drop-shadow(calc((var(--light-x, 50%) - 50%) * .01px) calc((var(--light-y, 50%) - 50%) * .01px) .5px rgba(0,0,0,.2)) drop-shadow(calc((var(--light-x, 50%) - 50%) * -.005px) calc((var(--light-y, 50%) - 50%) * -.005px) 0 rgba(255,255,255,.3))}.holo-rare img{filter:drop-shadow(calc((var(--light-x, 50%) - 50%) * .015px) calc((var(--light-y, 50%) - 50%) * .015px) .8px rgba(0,0,0,.25)) drop-shadow(calc((var(--light-x, 50%) - 50%) * -.008px) calc((var(--light-y, 50%) - 50%) * -.008px) 0 rgba(59,130,246,.3))}.holo-ultra-rare:before{background:url(/images/sparkles2.jpg) 50%/cover,radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),rgba(255,20,147,.3) 0,rgba(138,43,226,.25) 20%,rgba(0,191,255,.2) 40%,rgba(50,205,50,.15) 60%,rgba(255,215,0,.1) 80%,transparent 100%),linear-gradient(var(--holo-angle,135deg),rgba(255,20,147,.2) 0,rgba(138,43,226,.25) 25%,rgba(0,191,255,.2) 50%,rgba(50,205,50,.25) 75%,rgba(255,215,0,.2) 100%),linear-gradient(calc(var(--holo-angle, 135deg) + 60deg),transparent 0,rgba(255,255,255,.1) 30%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.1) 70%,transparent 100%);background-size:cover,200% 200%,100% 100%,100% 100%;background-blend-mode:overlay,overlay,multiply,soft-light;opacity:.9;filter:brightness(1.2) saturate(1.8) blur(.5px);mix-blend-mode:color-burn}.holo-ultra-rare-2:before,.holo-ultra-rare:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit}.holo-ultra-rare-2:before{background:url(/images/sparkles.webp) 50%/var(--sparkles-size,800px),linear-gradient(var(--holo-angle,135deg),transparent 0,rgba(255,0,149,.1) 10%,rgba(102,0,255,.1) 20%,rgba(0,247,255,.1) 30%,rgba(0,255,136,.1) 40%,rgba(200,0,255,.1) 50%,rgba(255,255,0,.1) 60%,rgba(203,5,147,.1) 70%,rgba(242,10,242,.1) 80%,transparent 100%),repeating-linear-gradient(calc(var(--holo-angle, 135deg) + 10deg),transparent 0,rgba(255,255,255,0) 0,transparent 2px,transparent 100px);background-blend-mode:color-dodge,color-dodge;opacity:.8,.8;filter:blur(0) brightness(1) saturate(1.8);mix-blend-mode:lighten}.holo-rare:before{content:"";position:absolute;inset:0;background:linear-gradient(var(--holo-angle,217deg),rgba(255,0,0,.6) 0,rgba(209,16,199,.4) 50%,rgba(255,0,0,.2) 100%),linear-gradient(calc(var(--holo-angle, 127deg) + 90deg),rgba(0,255,0,.6) 0,rgba(0,255,0,.3) 50%,rgba(0,255,0,.1) 100%),linear-gradient(calc(var(--holo-angle, 336deg) - 90deg),rgba(0,0,255,.6) 0,rgba(0,0,255,.3) 50%,rgba(0,0,255,.1) 100%);mix-blend-mode:overlay;opacity:.8;filter:brightness(1.1) saturate(1.3);z-index:1;pointer-events:none;border-radius:inherit;will-change:background;transform:translateZ(0)}@keyframes holoSparkleAnim{0%{background-position:0 0,50%,50%,50%}to{background-position:100% 100%,50%,50%,50%}}.holo-gold:before{background:url(/images/gold-pattern.jpg) 50%/cover repeat,linear-gradient(var(--holo-angle,195deg),rgba(204,214,10,.89) 0,rgba(216,212,202,.802) 50%,rgba(255,196,0,.949) 70%,rgba(199,198,191,.882) 100%);background-blend-mode:multiply,normal;mix-blend-mode:color-burn;filter:brightness(1.3) saturate(1.5) blur(0);opacity:1}.holo-legendaire-bronze:before{background:linear-gradient(var(--holo-angle,115deg),rgba(120,53,15,.8) 0,rgba(139,69,19,.9) 20%,rgba(180,83,9,.9) 40%,rgba(205,127,50,.9) 60%,rgba(251,146,60,.9) 80%,rgba(239,68,68,.8) 100%)}.holo-legendaire-argent:before{background:linear-gradient(var(--holo-angle,115deg),rgba(15,23,42,.8) 0,rgba(55,65,81,.9) 20%,rgba(107,114,128,.9) 40%,rgba(156,163,175,.9) 60%,rgba(209,213,219,.9) 80%,rgba(249,250,251,.8) 100%)}.holo-legendaire-or:before{background:repeating-conic-gradient(from calc(var(--holo-angle, 115deg)) at calc(80% + (var(--light-x, 50%) - 50%) * .3) calc(50% + (var(--light-y, 50%) - 50%) * .8),#ffe06680 0 8.25%,#ffd70080 8.25% 16.5%,#fae31580 16.5% 25%),repeating-conic-gradient(from calc(var(--holo-angle, 115deg) + 15deg) at var(--light-x,50%) var(--light-y,50%),#ffd70080 0 8.25%,#ffec8080 8.25% 16.5%,#e7c41380 16.5% 25%),repeating-conic-gradient(from calc(var(--holo-angle, 115deg)) at calc(20% + (var(--light-x, 50%) - 50%) * .3) calc(50% + (var(--light-y, 50%) - 50%) * .8),rgb(151,127,8) 0 8.25%,#ffe066ff 8.25% 16.5%,#ffd700ff 16.5% 25%);mix-blend-mode:color-burn;filter:brightness(.7) saturate(1.2) blur(1px) opacity(.6);background-size:10% 10%;height:150%}.holo-commune:before{background:linear-gradient(var(--holo-angle,135deg),rgba(255,255,255,.1) 0,rgba(255,255,255,.2) 25%,rgba(255,255,255,.01) 50%,rgba(255,255,255,.1) 75%,rgba(255,255,255,.1) 100%)}.holo:after{display:none}.card-modal .holo,.modal .holo{border-radius:0}.collection-grid .holo:hover{transform:scale(1)!important}.card-modal .holo{transform-style:preserve-3d;transition:transform .8s ease}@keyframes discoveryGlow{0%{transform:scale(1);box-shadow:0 0 20px rgba(255,255,255,.5);border:2px solid transparent}50%{transform:scale(1.08);box-shadow:0 0 40px rgba(255,255,255,.8),0 0 60px var(--glow-color,rgba(255,255,255,.4));border:4px solid var(--glow-color,rgba(255,255,255,.8))}to{transform:scale(1);box-shadow:0 0 20px rgba(255,255,255,.5);border:2px solid transparent}}.card-discovered{animation:discoveryGlow 3s cubic-bezier(.4,0,.2,1);border-radius:15px}.card-discovered.holo-ultra-rare{--glow-color:rgba(147,51,234,0.6)}.card-discovered.holo-ultra-rare-2{--glow-color:rgba(37,99,235,0.6)}.card-discovered.holo-rare{--glow-color:rgba(27,0,148,0.6)}.card-discovered.holo-gold{--glow-color:rgba(234,179,8,0.6)}.card-discovered.holo-legendaire-bronze{--glow-color:rgba(205,127,50,0.6)}.card-discovered.holo-legendaire-argent{--glow-color:rgba(192,192,192,0.6)}.card-discovered.holo-legendaire-or{--glow-color:rgba(255,215,0,0.6)}.card-discovered.holo-commune{--glow-color:rgba(156,163,175,0.4)}.holo-enabled{border-radius:16px!important;overflow:hidden}.holo-enabled .holo{position:relative;border-radius:16px;overflow:hidden}.rounded-2xl,.sm\:rounded-3xl{border-radius:16px!important}@media (min-width:640px){.sm\:rounded-3xl{border-radius:24px!important}}.modal-card{border-radius:16px!important;overflow:hidden}.modal-card .holo:before{border-radius:16px}.card-modal .holo-gemmes:before,.collection-grid .holo-gemmes:before,.holo-enabled .holo-gemmes:before,.holo-gemmes:before,.modal-card .holo-gemmes:before{background:radial-gradient(circle at calc(var(--light-x, 50%) + 20%) calc(var(--light-y, 50%) - 10%),rgba(255,20,147,.4) 0,rgba(138,43,226,.3) 15%,transparent 30%),radial-gradient(circle at calc(var(--light-x, 50%) - 15%) calc(var(--light-y, 50%) + 15%),rgba(0,191,255,.4) 0,rgba(50,205,50,.3) 15%,transparent 30%),radial-gradient(circle at calc(var(--light-x, 50%) + 10%) calc(var(--light-y, 50%) + 20%),rgba(255,215,0,.4) 0,rgba(255,140,0,.3) 15%,transparent 30%),linear-gradient(var(--holo-angle,135deg),rgba(147,51,234,.2) 0,rgba(59,130,246,.2) 20%,rgba(16,185,129,.2) 40%,rgba(245,158,11,.2) 60%,rgba(236,72,153,.2) 80%,rgba(139,92,246,.2) 100%),repeating-linear-gradient(calc(var(--holo-angle, 135deg) + 45deg),transparent 0,rgba(255,255,255,.1) 1px,transparent 3px,transparent 20px);background-size:80% 80%,70% 70%,60% 60%,100% 100%,100% 100%;mix-blend-mode:color-burn;filter:brightness(1.1) saturate(1.6) blur(.3px);opacity:.85}.holo-character-mask:before{clip-path:polygon(15% 10%,85% 10%,90% 85%,10% 85%)}.holo-standing-character:before{clip-path:polygon(20% 5%,80% 5%,85% 90%,15% 90%)}.holo-sitting-character:before{clip-path:polygon(25% 15%,75% 15%,80% 80%,20% 80%)}.holo-bust-character:before{clip-path:polygon(20% 10%,80% 10%,85% 70%,15% 70%)}.holo-character-with-accessories:before{clip-path:polygon(10% 5%,90% 5%,95% 90%,5% 90%)}.holo-character-complex-bg:before{clip-path:polygon(25% 15%,75% 15%,80% 85%,20% 85%)}.holo-rare.character-mask-1:before{clip-path:polygon(20% 10%,80% 10%,85% 80%,15% 80%)}.holo-rare.character-mask-2:before{clip-path:polygon(15% 5%,85% 5%,90% 85%,10% 85%)}@keyframes characterHoloPulse{0%,to{clip-path:polygon(15% 10%,85% 10%,90% 85%,10% 85%)}50%{clip-path:polygon(12% 8%,88% 8%,92% 88%,8% 88%)}}.holo-character-mask.animated:before{animation:characterHoloPulse 3s ease-in-out infinite}.holo-enabled .holo:after,.holo-enabled .holo:before{animation:enableHolo .2s ease-out forwards}@keyframes enableHolo{0%{opacity:1}to{opacity:1}}.holo:not(.holo-enabled):after,.holo:not(.holo-enabled):before{opacity:1}