/* Effects use their own child layer. No base-art pseudo-elements are reused. */
.fta-theme .fta-fx{position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:inherit;overflow:hidden;opacity:var(--fta-opacity,1)}
.fta-theme .fta-fx::before,.fta-theme .fta-fx::after{content:"";position:absolute;pointer-events:none}
.fta-theme [data-fta-effects~="soft-shadow"]{--fta-fx-shadow:0 6px 16px color-mix(in srgb,var(--fta-border) 28%,transparent)}
.fta-theme [data-fta-effects~="inset-depth"]{--fta-fx-inset:inset 0 3px 6px color-mix(in srgb,var(--fta-border) 35%,transparent)}
.fta-theme [data-fta-effects~="edge-light"]>.fta-fx{box-shadow:inset 0 0 0 1px var(--fta-key);opacity:var(--fta-intensity)}
.fta-theme [data-fta-effects~="light-catch"]>.fta-fx::before{inset:0;background:linear-gradient(110deg,transparent 15%,var(--fta-accent-secondary) 18%,transparent 22%);opacity:0;transition:opacity .3s}
.fta-theme [data-fta-effects~="light-catch"]:is(:hover,:focus-within,[data-preview-state="hover"])>.fta-fx::before{opacity:calc(var(--fta-intensity) * .25)}
.fta-theme [data-fta-effects~="enchant"]>.fta-fx::before{inset:3px;border:1px solid var(--fta-key);border-radius:inherit;opacity:calc(var(--fta-intensity) * .65);animation:fta-enchantment calc(7s / var(--fta-speed)) ease-in-out infinite alternate}
.fta-theme [data-fta-effects~="ember"]>.fta-fx::after{inset:auto 8px 5px;height:4px;background:radial-gradient(circle at 12% 50%,var(--fta-key) 0 1px,transparent 2px),radial-gradient(circle at 65% 50%,var(--fta-key) 0 1px,transparent 2px),radial-gradient(circle at 92% 50%,var(--fta-key) 0 1px,transparent 2px);opacity:var(--fta-intensity);animation:fta-embers calc(6s / var(--fta-speed)) ease-in-out infinite alternate}
.fta-theme [data-fta-effects~="frost"]>.fta-fx::before{left:12%;right:12%;height:1px;top:4px;background:linear-gradient(90deg,transparent,var(--fta-accent-secondary),transparent);opacity:var(--fta-intensity);animation:fta-enchantment calc(9s / var(--fta-speed)) ease-in-out infinite alternate}
.fta-theme [data-fta-effects~="orbit"]>.fta-fx::after{width:4px;height:4px;background:var(--fta-key);border-radius:50%;bottom:4px;left:20%;opacity:var(--fta-intensity);animation:fta-satellite calc(14s / var(--fta-speed)) ease-in-out infinite alternate}
.fta-theme [data-fta-effects~="hover-lift"]:not(:disabled):is(:hover,:focus-visible,[data-preview-state="hover"]){translate:0 -1px}
.fta-theme [data-fta-effects~="hover-press"]:not(:disabled):is(:hover,:focus-visible,[data-preview-state="hover"]){translate:0 1px}
.fta-theme .fta-effects-paused .fta-fx::before,.fta-theme .fta-effects-paused .fta-fx::after,.fta-theme.fta-effects-paused .fta-fx::before,.fta-theme.fta-effects-paused .fta-fx::after{animation-play-state:paused!important}
@keyframes fta-enchantment{to{opacity:calc(var(--fta-intensity) * .2)}}@keyframes fta-embers{to{translate:0 -2px;opacity:calc(var(--fta-intensity) * .4)}}@keyframes fta-satellite{to{left:80%}}
@media(prefers-reduced-motion:reduce){.fta-theme .fta-fx::before,.fta-theme .fta-fx::after{animation:none!important;transition:none!important}.fta-theme [data-fta-effects~="light-catch"]>.fta-fx::before{opacity:calc(var(--fta-intensity) * .1)}}

.fta-theme [data-fta-effects~="soft-shadow"]>.fta-art{filter:drop-shadow(0 4px 4px color-mix(in srgb,var(--fta-border) 45%,transparent))}

.fta-theme [data-fta-effects~="soft-shadow"]>.fta-art{filter:drop-shadow(0 4px 4px color-mix(in srgb,var(--fta-border) 45%,transparent))}

.fta-theme [data-fta-effects~="inset-depth"]>.fta-fx{box-shadow:var(--fta-fx-inset)}
.fta-theme [data-fta-effects~="edge-light"]>.fta-accent-art{filter:drop-shadow(0 0 calc(var(--fta-glow) * .2) var(--fta-key))}
