/*
 * Holo family bw-ex-ace: Black & White Pokémon-EX and ACE SPEC.
 *
 * Scope: every `bw-ex` and `bw-ace` print.
 * Cards: the faces js/fam/bw-ex-ace.js claims; it adds `fam-bw-ex-ace` to them, and every rule below is scoped to it.
 * Specificity: body.fx-holo.fx-holo.fx-holo .tcg.era-bw.(x5).fam-bw-ex-ace.(x4) beats the era sheets
 * (this sheet loads after them); keep the era's :not(.lit):not(.settling) when overriding a rest-state rule.
 * Part of the older-era holo remaster (2026-10-01): the research, photos and review for this family are in
 * /mnt/project-files/holo-remaster/bw-ex-ace/ (refs/SOURCES.md, NOTES.md); the family note is
 * .claude/skills/card-textures/reference/fam-bw-ex-ace.md.
 *
 * Every layer this sheet paints resets what the era sheet (css/holo/bw-ex.css) and the older shared
 * recipes (rarities.css, finishes.css, realism.css, maps.css, windows.css) put on it.
 */

/* ---- Shared --------------------------------------------------------------------------------------- */
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace {
  /* the line grain of each foil, card-sized tiles (no repeat): scripts/fam/bw-ex-ace/make_*.py */
  --bxa-vlines: url("/assets/foil/fam/bw-ex-ace/ex-vlines.webp");
  --bxa-tinsel: url("/assets/foil/fam/bw-ex-ace/ace-tinsel.webp");
  --bxa-glitter: url("/assets/foil/glitter-fine.webp");
  /* a card-specific offset for the light, so a binder page of EX does not show one pillar in one place */
  --bxa-seed: calc(var(--seed-x, 0.5) - 0.5);
}
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace .foil {
  background-color: transparent;
  background-attachment: scroll;
  background-origin: padding-box;
  background-clip: border-box;
  border-radius: 0;
  clip-path: none;
}
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace .foil::before,
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace .foil::after,
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace .glare::after {
  background-image: none;
  background-color: transparent;
  background-size: auto;
  background-position: center;
  background-repeat: repeat;
  background-attachment: scroll;
  background-origin: padding-box;
  background-clip: border-box;
  background-blend-mode: normal;
  mix-blend-mode: normal;
  filter: none;
  -webkit-mask-image: none;
  mask-image: none;
  -webkit-mask-composite: source-over;
  mask-composite: add;
  -webkit-mask-size: auto;
  mask-size: auto;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: repeat;
  mask-repeat: repeat;
  mask-mode: match-source;
  clip-path: none;
  border-radius: 0;
  transform: none;
  opacity: 1;
}
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace .glare {
  background-color: transparent;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-origin: padding-box;
  background-clip: border-box;
  border-radius: 0;
  clip-path: none;
  filter: none;
  -webkit-mask-image: var(--art);
  mask-image: var(--art);
  -webkit-mask-composite: source-over;
  mask-composite: add;
  mask-mode: alpha;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/* ---- Pokémon-EX: vertical glossy holofoil ----------------------------------------------------------
   The real card (refs/SOURCES.md: Darkrai-EX 63/108 and 88/113 tilt clips, Lugia-EX BW83, Black Kyurem-EX,
   Mewtwo-EX, Keldeo-EX; Elite Fourum and Collexy name it the "vertical" / glossy holo): foil on the border,
   the art's ground, the rule box and the EX logo; the Pokémon, the text box and the attack text matte
   (TCG Live's map draws exactly that). Under a lamp the foil lights as a tall VERTICAL rainbow pillar: a
   white-hot core with colour either side, its hue running down the pillar (blue at the top through green
   and yellow to orange at the foot), the whole pillar sliding sideways with the tilt, fainter pillars of
   other colours beside it (the row of colour blocks along Lugia-EX's foot). The pillar is made of fine
   vertical lines of unequal brightness (ex-vlines.webp, in .foil's mask with a floor, so every light on
   the foil breaks into them). At rest a soft striped column of colour stays on the foil.
   The light is hard-light over a neutral 50% grey: where the scan of a foil card is dark the foil is bare
   (the scanner sees a mirror as black), and on the real card the pillar's colour there is pure and
   bright, not the ink's colour lightened; on a pale ground the same blend still shows the hue. */
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.bw-ex {
  /* where the main pillar stands, as a share of the card's width: under the pointer, offset per card */
  --bxa-x: calc(var(--pointer-from-left) + var(--bxa-seed) * 0.3);
  --bxa-y: var(--pointer-from-top);
  /* the pillar images are three cards wide: at position p their middle stands at 1.5 - 2p of the card's
     width, so p = 0.75 - x / 2 puts it at x (x runs -0.15..1.15, p 17.5..82.5%) */
  --bxa-px: calc(75% - var(--bxa-x) * 50%);
  /* gold-on-silver EX logo: the name band keeps a share of the foil (bw-ex.md, review rv-g2) */
  --bxa-namefade: linear-gradient(180deg, #000 0%, #000 2%, rgba(0, 0, 0, 0.3) 4.5%, rgba(0, 0, 0, 0.3) 8.5%, #000 11%, #000 100%);
  /* The band comb: a vertical band of light every fifth of the card's width or so (irregular, no fixed
     period), each a small spectrum of its own (blue-cyan-green, yellow-orange-magenta, ...), strongest at
     the main pillar and fading outwards, so the card always shows a few coloured blocks (Lugia-EX's foot)
     and the most near the light. Printed by scripts/fam/bw-ex-ace/ex_bands.py. */
  --bxa-bands: linear-gradient(90deg,
    transparent 0%, transparent 5.17%, hsla(185, 100%, 60%, 0.41) 5.99%, hsla(160, 100%, 60%, 0.43) 6.67%, hsla(95, 100%, 60%, 0.41) 7.34%,
    transparent 8.17%, transparent 12.33%, hsla(140, 100%, 60%, 0.41) 13.25%, hsla(75, 100%, 60%, 0.43) 14.00%, hsla(45, 100%, 60%, 0.41) 14.75%,
    transparent 15.67%, transparent 19.50%, hsla(330, 100%, 60%, 0.41) 20.51%, hsla(290, 100%, 60%, 0.45) 21.33%, hsla(250, 100%, 60%, 0.41) 22.16%,
    transparent 23.17%, transparent 26.67%, hsla(220, 100%, 60%, 0.46) 27.58%, hsla(190, 100%, 60%, 0.52) 28.33%, hsla(150, 100%, 60%, 0.46) 29.08%,
    transparent 30.00%, transparent 34.33%, hsla(55, 100%, 60%, 0.54) 35.43%, hsla(30, 100%, 60%, 0.62) 36.33%, hsla(330, 100%, 60%, 0.54) 37.23%,
    transparent 38.33%, transparent 40.67%, hsla(275, 100%, 60%, 0.62) 41.58%, hsla(230, 100%, 60%, 0.73) 42.33%, hsla(195, 100%, 60%, 0.62) 43.08%,
    transparent 44.00%, transparent 47.50%, hsla(220, 100%, 60%, 0.78) 48.88%, hsla(190, 100%, 60%, 0.94) 50.00%, hsla(150, 100%, 60%, 0.78) 51.12%,
    transparent 52.50%, transparent 54.50%, hsla(55, 100%, 60%, 0.65) 55.51%, hsla(30, 100%, 60%, 0.76) 56.33%, hsla(330, 100%, 60%, 0.65) 57.16%,
    transparent 58.17%, transparent 61.83%, hsla(330, 100%, 60%, 0.54) 63.02%, hsla(290, 100%, 60%, 0.61) 64.00%, hsla(250, 100%, 60%, 0.54) 64.97%,
    transparent 66.17%, transparent 68.50%, hsla(140, 100%, 60%, 0.47) 69.33%, hsla(75, 100%, 60%, 0.53) 70.00%, hsla(45, 100%, 60%, 0.47) 70.67%,
    transparent 71.50%, transparent 75.67%, hsla(275, 100%, 60%, 0.42) 76.77%, hsla(230, 100%, 60%, 0.46) 77.67%, hsla(195, 100%, 60%, 0.42) 78.57%,
    transparent 79.67%, transparent 83.00%, hsla(185, 100%, 60%, 0.41) 83.92%, hsla(160, 100%, 60%, 0.43) 84.67%, hsla(95, 100%, 60%, 0.41) 85.42%,
    transparent 86.33%, transparent 90.50%, hsla(55, 100%, 60%, 0.41) 91.51%, hsla(30, 100%, 60%, 0.43) 92.33%, hsla(330, 100%, 60%, 0.41) 93.16%,
    transparent 94.17%, transparent 100%);
  /* The main pillar's shape (an alpha mask) and its colour: bright saturated hues (blue, cyan, green,
     yellow, orange, magenta, violet) in bands about 0.4 of the card wide, nearly upright (10 degrees off),
     travelling with the pillar, so across it the spectrum fans out and down it the hue drifts. */
  --bxa-pillar: linear-gradient(90deg, transparent 0%, transparent 45.3%, rgba(0, 0, 0, 0.35) 47%,
    rgba(0, 0, 0, 0.75) 48.3%, #000 49.3%, #000 50.7%, rgba(0, 0, 0, 0.75) 51.7%, rgba(0, 0, 0, 0.35) 53%,
    transparent 54.7%, transparent 100%);
  --bxa-hue: repeating-linear-gradient(100deg,
    hsl(220, 100%, 64%) 0%, hsl(188, 100%, 58%) 1.64%, hsl(140, 90%, 56%) 3.29%, hsl(58, 100%, 56%) 4.93%,
    hsl(30, 100%, 60%) 6.57%, hsl(325, 100%, 66%) 8.21%, hsl(272, 100%, 68%) 9.86%, hsl(220, 100%, 64%) 11.5%);
}
/* The group is hard-light over 50% grey: between the bands it leaves the print alone, in a band it lays the
   band's colour on. Where the scan of a foil card is dark the foil is bare (a scanner sees a mirror as
   black), and on the real card the colour there is pure and bright, not the ink's colour lightened; on a
   pale ground the same blend still shows the hue. The mask is the art, the name band, the vertical line
   grain (ex-vlines.webp, its floor baked in) and the map added to itself (2a - a^2: the half-alpha inked
   ground reads 0.75, the matte zero stays zero). */
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.bw-ex .foil {
  /* between the bands a grey a shade over neutral: a faint sheen that the line grain breaks into lines */
  background-image: var(--bxa-bands), linear-gradient(#8c8c8c, #8c8c8c);
  background-size: 300% 100%, 100% 100%;
  background-position: var(--bxa-px) 0, center;
  background-repeat: no-repeat;
  background-blend-mode: normal, normal;
  -webkit-mask-image: var(--art), var(--bxa-namefade), var(--bxa-vlines), var(--foil-map), var(--foil-map);
  mask-image: var(--art), var(--bxa-namefade), var(--bxa-vlines), var(--foil-map), var(--foil-map);
  -webkit-mask-composite: source-in, source-in, source-in, source-over, source-over;
  mask-composite: intersect, intersect, intersect, add, add;
  mask-mode: alpha;
  -webkit-mask-size: contain, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
  mask-size: contain, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  /* contrast pivots on 50% grey, so it strengthens the colour without touching the neutral */
  filter: contrast(calc(1.1 + var(--pointer-from-center) * 0.25)) saturate(1.3);
  mix-blend-mode: hard-light;
  opacity: calc((0.3 + var(--card-opacity) * (0.45 + var(--pointer-from-center) * 0.25)) * var(--foil-strength, 1));
}
/* At rest: the bands faint and the grey lifted, so the vertical line grain reads as a soft sheen. */
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.bw-ex:not(.lit):not(.settling) .foil {
  background-image: var(--bxa-bands), linear-gradient(#a6a6a6, #a6a6a6);
  opacity: calc(0.35 * var(--foil-strength, 1));
}
/* The main pillar, while held: a white-hot core in its fan of colour, under the light. */
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.bw-ex .foil::before {
  background-image:
    linear-gradient(90deg, #000 0%, #000 48.9%, #fff 49.6%, #fff 50.4%, #000 51.1%, #000 100%),
    var(--bxa-hue);
  background-size: 300% 100%, 300% 200%;
  background-position: var(--bxa-px) 0, var(--bxa-px) calc(var(--bxa-y) * 100%);
  background-repeat: no-repeat;
  background-blend-mode: screen, normal;
  -webkit-mask-image: var(--bxa-pillar);
  mask-image: var(--bxa-pillar);
  -webkit-mask-size: 300% 100%;
  mask-size: 300% 100%;
  -webkit-mask-position: var(--bxa-px) 0;
  mask-position: var(--bxa-px) 0;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  opacity: min(1, calc((0.75 + var(--pointer-from-center) * 0.25) * max(1, var(--foil-strength, 1))));
}
/* The lamp on the foil and the printed sparkle dust (foil specks, white in the map) catching it: a soft
   white pool at the pointer and a sparse glitter tile, screened onto the group's grey, so they only ever
   lighten the print. */
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.bw-ex .foil::after {
  background-image:
    var(--bxa-glitter),
    radial-gradient(farthest-corner circle at var(--pointer-x) var(--pointer-y),
      hsla(0, 0%, 100%, 0.4) 0%, hsla(0, 0%, 100%, 0.18) 20%, hsla(0, 0%, 100%, 0) 45%);
  background-size: 62% auto, 100% 100%;
  background-position: calc(var(--seed-x, 0.5) * 100%) calc(var(--seed-y, 0.5) * 100%), center;
  background-repeat: repeat, no-repeat;
  mix-blend-mode: screen;
  filter: brightness(1.15) contrast(1.3);
  opacity: min(1, calc((0.35 + var(--pointer-from-center) * 0.35) * max(1, var(--foil-strength, 1))));
}
/* The gloss over the whole print: a soft lamp highlight, light at the far end (never shading the ink). */
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.bw-ex .glare {
  background-image: radial-gradient(farthest-corner circle at var(--pointer-x) var(--pointer-y),
    hsla(0, 0%, 100%, 0.5) 0%, hsla(0, 0%, 100%, 0.2) 22%, hsla(0, 0%, 100%, 0) 55%);
  mix-blend-mode: soft-light;
  opacity: calc(var(--card-opacity) * 0.4);
}

/* ---- ACE SPEC: brushed tinsel -----------------------------------------------------------------------
   The real card (refs/SOURCES.md: Pokemon Holo's tilt clips of Victory Piece, Life Dew, Rock Guard, Crystal
   Edge, Computer Search, Master Ball, G Booster; RegiPacks' Rock Guard close-up): foil on the border all
   round, the name strip, the ACE SPEC lettering and the art's ground; the object, the brushed-grey text box
   and the TRAINER bar matte (the map). The foil is ruled with fine HORIZONTAL lines, visible even in
   diffuse light, each line catching its own colour (green, magenta, cyan, violet) as the colour bands slide
   up and down with the tilt, brightest near the lamp. ace-tinsel.webp is in .foil's mask with a low floor,
   so the light IS the lines. The group is hard-light, like the EX's: a colour-dodge returned white or a
   pastel on the pale silver border and could not lift the saturated art ground (phone-compare sheet,
   16:45), hard-light keeps the hue. */
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.bw-ace {
  /* colour bands down the card, about a sixth of its height each, two cards' worth in an image three
     cards tall; bright (lightness 60%) saturated hues, so the hard-light group lays a pure colour on the
     print (low channels multiply, high channels screen) on a silver border and a red art ground alike */
  --bxa-ramp: linear-gradient(180deg,
    hsl(212, 100%, 60%) 0%, hsl(262, 100%, 60%) 2.8%, hsl(318, 100%, 60%) 5.6%, hsl(42, 100%, 60%) 8.3%,
    hsl(150, 100%, 55%) 11.1%, hsl(190, 100%, 60%) 13.9%, hsl(212, 100%, 60%) 16.7%,
    hsl(262, 100%, 60%) 19.4%, hsl(318, 100%, 60%) 22.2%, hsl(42, 100%, 60%) 25%, hsl(150, 100%, 55%) 27.8%,
    hsl(190, 100%, 60%) 30.6%, hsl(212, 100%, 60%) 33.3%, hsl(262, 100%, 60%) 36.1%, hsl(318, 100%, 60%) 38.9%,
    hsl(42, 100%, 60%) 41.7%, hsl(150, 100%, 55%) 44.4%, hsl(190, 100%, 60%) 47.2%, hsl(212, 100%, 60%) 50%,
    hsl(262, 100%, 60%) 52.8%, hsl(318, 100%, 60%) 55.6%, hsl(42, 100%, 60%) 58.3%, hsl(150, 100%, 55%) 61.1%,
    hsl(190, 100%, 60%) 63.9%, hsl(212, 100%, 60%) 66.7%, hsl(262, 100%, 60%) 69.4%, hsl(318, 100%, 60%) 72.2%,
    hsl(42, 100%, 60%) 75%, hsl(150, 100%, 55%) 77.8%, hsl(190, 100%, 60%) 80.6%, hsl(212, 100%, 60%) 83.3%,
    hsl(262, 100%, 60%) 86.1%, hsl(318, 100%, 60%) 88.9%, hsl(42, 100%, 60%) 91.7%, hsl(150, 100%, 55%) 94.4%,
    hsl(190, 100%, 60%) 97.2%, hsl(212, 100%, 60%) 100%);
}
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.bw-ace .foil {
  background-image:
    radial-gradient(farthest-corner circle at var(--pointer-x) var(--pointer-y),
      hsla(0, 0%, 100%, 0.85) 0%, hsla(0, 0%, 100%, 0.35) 22%, hsla(0, 0%, 100%, 0) 48%),
    var(--bxa-ramp);
  background-size: 100% 100%, 100% 300%;
  background-position: center, 0 calc(37.5% + var(--pointer-from-top) * 25%);
  background-repeat: no-repeat;
  background-blend-mode: normal, normal;
  -webkit-mask-image: var(--art), var(--bxa-tinsel), var(--foil-map), var(--foil-map);
  mask-image: var(--art), var(--bxa-tinsel), var(--foil-map), var(--foil-map);
  -webkit-mask-composite: source-in, source-in, source-over, source-over;
  mask-composite: intersect, intersect, add, add;
  mask-mode: alpha;
  -webkit-mask-size: contain, 100% 100%, 100% 100%, 100% 100%;
  mask-size: contain, 100% 100%, 100% 100%, 100% 100%;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  filter: contrast(calc(1.1 + var(--pointer-from-center) * 0.25)) saturate(1.3);
  mix-blend-mode: hard-light;
  opacity: calc((0.35 + var(--card-opacity) * 0.65) * var(--foil-strength, 1));
}
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.bw-ace:not(.lit):not(.settling) .foil {
  opacity: calc(0.35 * var(--foil-strength, 1));
}
/* Glints: the lines nearest the lamp go white-hot. */
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.bw-ace .foil::before {
  background-image: radial-gradient(farthest-corner circle at var(--pointer-x) var(--pointer-y),
    hsla(0, 0%, 100%, 0.9) 0%, hsla(200, 60%, 90%, 0.45) 18%, hsla(0, 0%, 100%, 0) 42%);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  mix-blend-mode: screen;
  opacity: min(1, calc((0.6 + var(--pointer-from-center) * 0.4) * max(1, var(--foil-strength, 1))));
}
/* A second set of colour bands sliding the other way, so neighbouring lines disagree in colour. */
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.bw-ace .foil::after {
  background-image: var(--bxa-ramp);
  background-size: 100% 300%;
  background-position: 0 calc(62.5% - var(--pointer-from-top) * 25%);
  background-repeat: no-repeat;
  -webkit-mask-image: var(--bxa-tinsel);
  mask-image: var(--bxa-tinsel);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mix-blend-mode: lighten;
  opacity: min(1, calc(0.55 * max(1, var(--foil-strength, 1))));
}
body.fx-holo.fx-holo.fx-holo .tcg.era-bw.era-bw.era-bw.era-bw.era-bw.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.fam-bw-ex-ace.bw-ace .glare {
  background-image: radial-gradient(farthest-corner circle at var(--pointer-x) var(--pointer-y),
    hsla(0, 0%, 100%, 0.5) 0%, hsla(0, 0%, 100%, 0.2) 22%, hsla(0, 0%, 100%, 0) 55%);
  mix-blend-mode: soft-light;
  opacity: calc(var(--card-opacity) * 0.4);
}
