/* Registered alpha masks reuse original PNGs. The moving light is procedural. */
.card[data-foil]{--light-x:50%;--light-y:50%;--tilt-energy:0;--foil-sweep:calc(var(--light-x) * .65 + var(--light-y) * .35);--foil-energy:calc(.66 + var(--tilt-energy) * .34)}
.atelier-foil-layer{position:absolute;inset:0;pointer-events:none;mask-mode:alpha;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mix-blend-mode:screen;opacity:calc(var(--foil-strength,.7) * var(--foil-energy) * var(--source-opacity,1));
 background-image:linear-gradient(116deg,transparent 25%,#b1dbd910 37%,#b7ddec8c 44%,#f9f2d9d9 49%,#ffffffed 50%,#dbbae1a0 52%,#b9e6dc55 58%,transparent 68%),radial-gradient(ellipse at var(--light-x) var(--light-y),#fff4d94a,transparent 55%);
 background-size:330% 280%,100% 100%;background-position:var(--foil-sweep) var(--foil-sweep),center}
.atelier-foil-art-clip{clip-path:inset(2.5% 3.5% 2.6% round 10% / 6.67%)}
.atelier-foil-frame{--foil-strength:.92}
.atelier-foil-art{--foil-strength:.25}
.card[data-foil=r] .atelier-foil-frame{--foil-strength:.8;background-image:linear-gradient(116deg,transparent 28%,#a9c6d81c 40%,#daeaeaa3 47%,#fffde4ee 50%,#a6c7df83 53%,transparent 66%),radial-gradient(ellipse at var(--light-x) var(--light-y),#ffffe348,transparent 55%)}
.card[data-foil=ur] .atelier-foil-layer{
 background-image:linear-gradient(116deg,transparent 25%,#dab5e935 37%,#c4d3f5bd 43%,#aeeadcce 46%,#fff5c9ed 49.5%,#fffffffa 50%,#e7c1ead4 52.5%,#badce980 58%,transparent 69%),radial-gradient(ellipse at var(--light-x) var(--light-y),#fff3ce8c 0%,#cbeade16 30%,transparent 56%);
 background-size:330% 280%,100% 100%;background-position:var(--foil-sweep) var(--foil-sweep),center}
.card[data-foil=ur] .atelier-foil-frame{--foil-strength:1.08}
.card[data-foil=ur] .atelier-foil-art{--foil-strength:.35}
.atelier-foil-gem{--foil-strength:1.05}
.card[data-foil=ur] .atelier-foil-gem{--foil-strength:.62;background-image:linear-gradient(116deg,transparent 29%,#ffe18f55 43%,#fff6ce90 49%,#ffffe2cf 50%,#f5d36b66 54%,transparent 67%),radial-gradient(ellipse at var(--light-x) var(--light-y),#ffe89d55,transparent 50%)}
.atelier-foil-class,.atelier-foil-might,.atelier-foil-cost{--foil-strength:.78}
.atelier-foil-nameplate{--foil-strength:.52}
.atelier-foil-dimming{--foil-strength:.035}
/* Opaque cream base keeps glyphs readable in every light pose. */
.atelier-foil-text{background-image:linear-gradient(116deg,#fff1d8 27%,#c9e2e4 44%,#fffcef 50%,#e6c5e4 56%,#fff1d8 69%);background-size:330% 280%;background-position:var(--foil-sweep) var(--foil-sweep);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:#fff1d8;text-shadow:none;filter:drop-shadow(0 .15cqw .3cqw #160f0cd9)}
.ability.atelier-foil-text{background-image:linear-gradient(116deg,#f7f0df 30%,#dcebea 45%,#fffaf0 50%,#ecdeee 55%,#f7f0df 66%)}
.ability.atelier-foil-text strong{background-image:linear-gradient(116deg,#f0d9a7 30%,#e4ecd2 45%,#fff6d8 50%,#efcfde 55%,#f0d9a7 66%);background-size:330% 280%;background-position:var(--foil-sweep) var(--foil-sweep);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:#f0d9a7}
.foil-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;align-items:center;padding:0 24px 12px;color:#b7bdaf;font-size:10px}
.foil-controls p{margin:0}.foil-controls label{display:flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap}.foil-controls input{accent-color:var(--accent);margin:0}.foil-controls strong{color:#ddcca3;font-weight:500}
@media(max-width:600px){.foil-controls{padding:0 14px 11px;font-size:10px}.stage{padding-left:22px;padding-right:22px}}
