/* Card illustration stage: 50 unique local vector backdrops, with subtle, isolated environmental light.
 * Static for locked cards and reduced-motion users; no animation on character art. */
.ggx-tcg-v3 .ggx-tcg-card .ggx-tcg-art,
.ggx-tcg-shade .ggx-tcg-detail-art {
 background-image:var(--ggx-scene);
 background-position:center;
 background-size:cover;
 background-repeat:no-repeat;
}
.ggx-tcg-v3 .ggx-tcg-art::before {z-index:2}
.ggx-tcg-v3 .ggx-tcg-art>img,.ggx-tcg-shade .ggx-tcg-detail-art>img {position:relative;z-index:1}
.ggx-tcg-v3 .ggx-tcg-art::after,.ggx-tcg-shade .ggx-tcg-detail-art::after {
 content:"";position:absolute;inset:-10%;z-index:0;pointer-events:none;
 background:radial-gradient(ellipse at 44% 42%,#fff0b543,transparent 46%),
  radial-gradient(circle at 74% 18%,#d0e9ff32,transparent 32%),
  radial-gradient(ellipse at 18% 76%,#d8f6db20,transparent 40%);
 mix-blend-mode:screen;opacity:.33;transform:translate3d(0,0,0);
}
.ggx-tcg-v3 .ggx-tcg-card:not(.locked) .ggx-tcg-art::after {
 animation:ggxAmbientGlow 8s ease-in-out infinite alternate;
}
.ggx-tcg-shade:not([hidden]) .ggx-tcg-detail-art:not(:has(.hidden-picture))::after {
 animation:ggxAmbientGlow 9s ease-in-out infinite alternate;
}
.ggx-tcg-v3 .ggx-tcg-card.locked .ggx-tcg-art{filter:grayscale(.72) brightness(.69)}
.ggx-tcg-v3 .ggx-tcg-card.locked .ggx-tcg-art::after{display:none}
@keyframes ggxAmbientGlow{
 0%{opacity:.18;transform:translate3d(-2%,1%,0) scale(1)}
 50%{opacity:.37;transform:translate3d(2%,-1.5%,0) scale(1.035)}
 100%{opacity:.24;transform:translate3d(-1%,1.5%,0) scale(1.015)}
}
@media(prefers-reduced-motion:reduce){
 .ggx-tcg-v3 .ggx-tcg-card .ggx-tcg-art::after,
 .ggx-tcg-shade .ggx-tcg-detail-art::after{animation:none!important;opacity:.22;transform:none}
}
/* Small custom vectors replace the house glyph and single music-note glyph only. */
.gg-balanced-nav-link .gg-balanced-nav-icon.gg8-custom-icon{
 display:flex;align-items:center;justify-content:center;width:26px;height:26px;
 color:#b8ecf2;filter:drop-shadow(0 0 3px #75cbd55a)
}
.gg-balanced-nav-link[aria-current=page] .gg-balanced-nav-icon.gg8-custom-icon{color:#ffe3a3}
.gg-balanced-nav-link .gg-balanced-nav-icon.gg8-custom-icon svg{width:23px;height:23px;display:block;overflow:visible}
.gg-balanced-nav-link .gg-balanced-nav-icon.gg8-custom-icon svg *{vector-effect:non-scaling-stroke}
@media(prefers-reduced-motion:reduce){.gg-balanced-nav-link .gg-balanced-nav-icon.gg8-custom-icon{filter:none}}
