/* cardfx.css — 2026-10-17 light + foil sheen layers for cardfx.js. Opacity/transform only; never blocks input. */
.fx-glare{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:9;opacity:0;transition:opacity .45s ease}
.fx-glare>i{position:absolute;left:-50%;top:-50%;width:200%;height:200%;
  background:radial-gradient(closest-side,rgba(255,248,232,.10),rgba(255,248,232,.035) 45%,transparent 72%)}
.fx-on .fx-glare{opacity:1}
.fx-on .fx-glare>i,.fx-on .fx-edge>i{will-change:transform}
/* foil sheen: a ring exactly over the face edge, kept 0.6px off the face plane (no z-fight) and hidden when flipped */
.fx-edge{position:absolute;inset:0;border-radius:var(--card-r,18px);padding:var(--edge-w,4px);pointer-events:none;z-index:20;overflow:hidden;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  transform:translateZ(.6px);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.fx-edge>i{position:absolute;left:-50%;top:-50%;width:200%;height:200%;opacity:.35;transition:opacity .45s ease;
  background:linear-gradient(118deg,transparent 40%,rgba(255,253,244,.0) 44%,rgba(255,253,244,.9) 50%,rgba(255,253,244,0) 56%,transparent 60%)}
.fx-on .fx-edge>i{opacity:.75}
/* tiles: the glare sits under score/plate text */
.dc-card .fx-glare{z-index:2}
@media (prefers-reduced-motion:reduce){.fx-glare,.fx-edge>i{display:none}}
/* cardfx-B-20261017 safety net: never show a score badge/column even if a page builds one at runtime */
.dc-score,.score-col,.sales-col,.growth-col{display:none!important}
