/*
 * ensbworks Holo Kartlar — GPL-3.0-only
 * Trainer Gallery gradient adaptation:
 * Copyright (C) 2022 Simon Goellner, @simeydotme
 * https://github.com/simeydotme/pokemon-cards-css
 * Scoped layout, controls, masking and interaction integration: ensbworks, 2026.
 */
.ensb-holo-gallery{--ensb-radius:16px;--ensb-intensity:.8;--ensb-glare:.55;--ensb-glow:#b5ef29;--ensb-background:#101010;--ensb-hover-scale:1.03;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start;justify-items:center;isolation:isolate}
.ensb-holo-gallery,.ensb-holo-gallery *{box-sizing:border-box}
.ensb-holo-gallery .ensb-holo-card{--pointer-x:50%;--pointer-y:50%;--background-x:50%;--background-y:50%;--pointer-from-center:0;--ensb-rx:0deg;--ensb-ry:0deg;--ensb-scale:1;--ensb-light:.18;position:relative;margin:0;width:100%;max-width:360px;min-width:0;perspective:800px;touch-action:pan-y}
.ensb-holo-card.is-active{--ensb-light:1;--ensb-scale:var(--ensb-hover-scale);z-index:2}
.ensb-holo-gallery .ensb-holo-surface{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;text-decoration:none;color:inherit;outline:0;transform:rotateX(var(--ensb-rx)) rotateY(var(--ensb-ry)) scale(var(--ensb-scale));transform-origin:center;transition:transform .45s cubic-bezier(.2,.8,.2,1);border-radius:var(--ensb-radius);box-shadow:0 12px 30px #0004}
.ensb-holo-card.is-active .ensb-holo-surface{transition:transform 90ms linear;will-change:transform;box-shadow:0 14px 35px #0007,0 0 20px -9px var(--ensb-glow)}
.ensb-holo-gallery .ensb-holo-surface:focus-visible{outline:2px solid var(--ensb-glow);outline-offset:5px}
.ensb-holo-gallery .ensb-holo-face{position:relative;display:block;aspect-ratio:var(--ensb-ratio,63 / 88);border-radius:inherit;overflow:hidden;isolation:isolate;background:var(--ensb-background)}
.ensb-holo-gallery .ensb-holo-image{position:relative;z-index:0;display:block;width:100%;height:100%;max-width:100%;margin:0;border:0;border-radius:0;object-fit:contain;pointer-events:none}
.ensb-holo-gallery .ensb-holo-natural{aspect-ratio:auto}
.ensb-holo-gallery .ensb-holo-natural .ensb-holo-image{height:auto}
.ensb-holo-fx,.ensb-holo-shine,.ensb-holo-glare{position:absolute;inset:0;display:block;pointer-events:none;border-radius:inherit}
.ensb-holo-shine,.ensb-holo-glare{-webkit-mask-image:var(--ensb-mask,none);mask-image:var(--ensb-mask,none);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;mask-mode:luminance}
.ensb-holo-shine{--space:5%;background-image:repeating-linear-gradient(-22deg,hsla(283,49%,60%,.75) calc(var(--space)*1),hsla(2,74%,59%,.75) calc(var(--space)*2),hsla(53,67%,53%,.75) calc(var(--space)*3),hsla(93,56%,52%,.75) calc(var(--space)*4),hsla(176,38%,50%,.75) calc(var(--space)*5),hsla(228,100%,77%,.75) calc(var(--space)*6),hsla(283,49%,61%,.75) calc(var(--space)*7));background-size:300% 400%;background-position:var(--background-x) var(--background-y);mix-blend-mode:color-dodge;filter:brightness(calc(var(--pointer-from-center)*.3 + .5)) contrast(2.3) saturate(1);opacity:calc(var(--ensb-light)*var(--ensb-intensity));transition:opacity .3s ease}
.ensb-holo-shine:after{content:"";position:absolute;inset:0;background-image:radial-gradient(farthest-corner ellipse at calc(var(--pointer-x)*.5 + 25%) calc(var(--pointer-y)*.5 + 25%),#fff 5%,hsla(300,100%,11%,.6) 40%,#383838 120%);background-position:center;background-size:400% 500%;filter:brightness(calc(var(--pointer-from-center)*.2 + .4)) contrast(.85) saturate(1.1);mix-blend-mode:hard-light}
.ensb-holo-glare{background-image:radial-gradient(farthest-corner circle at var(--pointer-x) var(--pointer-y),#fff 10%,#fff9 35%,hsl(180,11%,35%) 60%);mix-blend-mode:soft-light;opacity:calc(var(--ensb-light)*var(--ensb-glare));transition:opacity .3s ease}
.ensb-holo-gallery .ensb-holo-caption{margin:16px 0 0;font:inherit;line-height:1.5;text-align:center;color:#f1f2ed}
.ensb-holo-gallery[data-idle="yes"] .ensb-holo-card.is-inview:not(.is-active) .ensb-holo-shine{animation:ensb-holo-sweep 7s ease-in-out infinite;opacity:calc(var(--ensb-intensity)*.45)}
@keyframes ensb-holo-sweep{0%,100%{background-position:20% 25%}50%{background-position:80% 75%}}
@media(max-width:1024px){.ensb-holo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.ensb-holo-gallery{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ensb-holo-gallery .ensb-holo-surface{transform:none!important;transition:none}.ensb-holo-gallery .ensb-holo-shine{animation:none!important}}


/* 1.1.0: mobile fan, animated inspection dialog and touch interaction. */
.ensb-holo-gallery .ensb-holo-card{--ensb-fan-angle:0deg}
.ensb-holo-gallery button.ensb-holo-surface{font:inherit;text-align:inherit;cursor:zoom-in;appearance:none}
.ensb-holo-gallery .ensb-holo-surface img{user-select:none;-webkit-user-drag:none}
.ensb-holo-gallery .is-expanded-source{visibility:hidden}
@media(max-width:767px){
 .ensb-holo-gallery[data-mobile-layout="fan"]{grid-template-columns:minmax(0,1fr)!important;gap:54px 0!important;padding:18px 0}
 .ensb-holo-gallery[data-mobile-layout="fan"]>.ensb-holo-card{grid-column:1;grid-row:var(--ensb-row,1);align-self:center;justify-self:center;width:66%;max-width:360px;transform:translateX(var(--ensb-fan-x,0%)) rotate(var(--ensb-fan-angle));transform-origin:50% 65%;z-index:var(--ensb-fan-z,1)}
 .ensb-holo-gallery[data-mobile-layout="fan"]>.ensb-holo-card:nth-child(3n+1){--ensb-fan-x:-22%;--ensb-fan-angle:-6deg;--ensb-fan-z:3}
 .ensb-holo-gallery[data-mobile-layout="fan"]>.ensb-holo-card:nth-child(3n+2){--ensb-fan-x:0%;--ensb-fan-angle:0deg;--ensb-fan-z:2;translate:0 -8px}
 .ensb-holo-gallery[data-mobile-layout="fan"]>.ensb-holo-card:nth-child(3n){--ensb-fan-x:22%;--ensb-fan-angle:6deg;--ensb-fan-z:1}
 .ensb-holo-gallery[data-mobile-layout="fan"]>.ensb-holo-card:focus-within{z-index:5}
 .ensb-holo-gallery[data-mobile-layout="fan"] .ensb-holo-caption{display:none}
}
.ensb-holo-dialog:not([open]){display:none}
.ensb-holo-dialog[open]{display:block}
.ensb-holo-dialog{position:fixed;inset:0;box-sizing:border-box;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#f4f5ed;overflow:hidden;overscroll-behavior:contain;font:14px/1.5 system-ui,sans-serif}
.ensb-holo-dialog::backdrop{background:#050608d9;backdrop-filter:blur(5px);animation:ensb-holo-backdrop-in .22s ease both}
.ensb-holo-dialog.is-closing::backdrop{animation:ensb-holo-backdrop-out .4s ease both}
@keyframes ensb-holo-backdrop-in{from{background:#05060800;backdrop-filter:blur(0)}}
@keyframes ensb-holo-backdrop-out{to{background:#05060800;backdrop-filter:blur(0)}}
.ensb-holo-dialog .ensb-holo-pop{position:absolute;transform-origin:center;will-change:transform}
.ensb-holo-dialog .ensb-holo-modal-gallery{display:block;width:100%;height:100%;padding:0;isolation:isolate}
.ensb-holo-dialog .ensb-holo-card{max-width:none;width:100%;height:100%;touch-action:none;--ensb-scale:1}
.ensb-holo-dialog .ensb-holo-surface{cursor:grab;touch-action:none}
.ensb-holo-dialog .ensb-holo-surface:active{cursor:grabbing}
.ensb-holo-dialog .ensb-holo-face{max-width:100%}
.ensb-holo-dialog .ensb-holo-close{position:absolute;z-index:5;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #ffffff38;border-radius:50%;background:#191b19;color:#fff;font:30px/1 system-ui;cursor:pointer}
.ensb-holo-dialog .ensb-holo-modal-title{position:absolute;top:max(27px,env(safe-area-inset-top));left:24px;right:78px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:#d9ded2;pointer-events:none}
.ensb-holo-dialog .ensb-holo-tools{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:16px;right:16px;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}
.ensb-holo-dialog .ensb-holo-hint{font-size:12px;color:#b3baaa;text-align:center}
.ensb-holo-dialog .ensb-holo-action{display:inline-block;padding:9px 16px;border:1px solid #ffffff40;border-radius:30px;background:#171a15;color:#e0f0c5;text-decoration:none;font-size:12px;pointer-events:auto}
.ensb-holo-dialog .ensb-holo-action[hidden]{display:none}
.ensb-holo-dialog button:focus-visible,.ensb-holo-dialog a:focus-visible{outline:2px solid #c1f746;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.ensb-holo-dialog::backdrop,.ensb-holo-dialog.is-closing::backdrop{animation:none}.ensb-holo-dialog .ensb-holo-pop{will-change:auto}}


