/* LOCAL C ONLY. Last stylesheet; reload document when changing variants. */
@property --finish-x {syntax:'<percentage>';inherits:false;initial-value:50%}
@property --finish-y {syntax:'<percentage>';inherits:false;initial-value:50%}
@property --finish-parallax-x {syntax:'<number>';inherits:false;initial-value:0}
@property --finish-parallax-y {syntax:'<number>';inherits:false;initial-value:0}
@property --finish-light-strength {syntax:'<number>';inherits:false;initial-value:.45}
@property --finish-rotate-axis-x {syntax:'<number>';inherits:false;initial-value:1}
@property --finish-rotate-axis-y {syntax:'<number>';inherits:false;initial-value:0}
@property --finish-rotate-angle {syntax:'<angle>';inherits:false;initial-value:0deg}
@property --finish-tilt-x {syntax:'<angle>';inherits:false;initial-value:0deg}
@property --finish-tilt-y {syntax:'<angle>';inherits:false;initial-value:0deg}
@property --finish-motion-strength {syntax:'<number>';inherits:false;initial-value:1}
/* Native reset detection compares the authored token .5s, not numeric time. */
@property --finish-motion-duration {syntax:'*';inherits:false;initial-value:.14s}
@property --surface-hover {syntax:'<number>';inherits:false;initial-value:0}
/* Preserve cqw evaluation at the actual consumer, never resolve to face px. */
@property --surface-shadow-x {syntax:'*';inherits:false;initial-value:0cqw}
@property --surface-shadow-y {syntax:'*';inherits:false;initial-value:0cqw}

/* Pseudos consume face pose only while the original fallback is visible. */
:is(.collection-face,.inspection-portrait):not([data-card-surface-gpu="ready"])::before,
:is(.collection-face,.inspection-portrait):not([data-card-surface-gpu="ready"])::after,
html:not([data-card-surface-renderer="webgpu"]) :is(.collection-face,.inspection-portrait) > .card-finish__effect,
html:not([data-card-surface-renderer="webgpu"]) :is(.collection-face,.inspection-portrait) > .card-finish__effect > i,
html:not([data-card-surface-renderer="webgpu"]) :is(.collection-face,.inspection-portrait) > .card-finish__effect > i::before,
html:not([data-card-surface-renderer="webgpu"]) :is(.collection-face,.inspection-portrait) > .card-finish__effect > i::after {
 --finish-x:inherit;--finish-y:inherit;
 --finish-parallax-x:inherit;--finish-parallax-y:inherit;
 --finish-light-strength:inherit;--finish-motion-duration:inherit;
}

/* Printed labels remain live before compositor readiness, and in node-debug.
   Explicit chains avoid leaking the changing calc into img/b/span descendants. */
.collection-face:is(:not([data-card-layer-ready="true"]),.node-debug) > :is(.collection-face__mana,.card-front__type,.card-front__stat,.collection-face__caption),
.collection-face:is(:not([data-card-layer-ready="true"]),.node-debug) > .collection-face__caption > .card-front__name,
.inspection-portrait:not(.collection-face) > .inspection-cost,
:is(.collection-face,.inspection-portrait):not([data-card-surface-gpu="ready"]) > .card-surface__frame-shadows,
:is(.collection-face,.inspection-portrait):not([data-card-surface-gpu="ready"]) > .card-surface__frame-shadows > i {
 --surface-shadow-x:inherit;--surface-shadow-y:inherit;
}
