/* Background layer stays below .fta-page-content; menus can remain above it. */
.fta-page-content{position:relative;z-index:1}.fta-page-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;border-radius:inherit;opacity:var(--fta-intensity,.45)}.fta-page-art{position:absolute;inset:0;pointer-events:none}.fta-page-canvas{position:absolute;top:0;left:0;width:100%;pointer-events:none}.fta-page-layer[data-paused="true"] .fta-page-art{animation-play-state:paused!important}
.fta-page-layer[data-effect="gradient"] .fta-page-art,.fta-page-layer[data-effect="drift-gradient"] .fta-page-art{background:linear-gradient(135deg,color-mix(in srgb,var(--fta-accent) 35%,transparent),transparent 45%,color-mix(in srgb,var(--fta-accent-secondary) 25%,transparent));background-size:160% 100%}
.fta-page-layer[data-effect="drift-gradient"] .fta-page-art{animation:fta-atmosphere calc(24s / var(--fta-speed)) ease-in-out infinite alternate}
.fta-page-layer[data-effect="edge-glow"] .fta-page-art{background:linear-gradient(90deg,color-mix(in srgb,var(--fta-accent) 25%,transparent),transparent 20% 80%,color-mix(in srgb,var(--fta-accent-secondary) 25%,transparent))}
.fta-page-layer[data-effect="vignette"] .fta-page-art{background:radial-gradient(ellipse,transparent 20%,var(--fta-page-bg) 95%)}
.fta-page-layer[data-effect="grain"] .fta-page-art{background:repeating-radial-gradient(circle at 37% 61%,color-mix(in srgb,var(--fta-text) 14%,transparent) 0 .6px,transparent 1px 5px);background-size:29px 31px}
.fta-page-layer[data-effect="parchment"] .fta-page-art{background:repeating-linear-gradient(92deg,transparent 0 4px,color-mix(in srgb,var(--fta-accent) 10%,transparent) 5px 6px),repeating-linear-gradient(2deg,transparent 0 12px,color-mix(in srgb,var(--fta-text) 7%,transparent) 13px 14px)}
.fta-page-layer[data-effect="stone"] .fta-page-art{background:repeating-linear-gradient(112deg,transparent 0 65px,color-mix(in srgb,var(--fta-accent) 12%,transparent) 66px 68px,transparent 69px 170px),repeating-linear-gradient(25deg,transparent 0 35px,color-mix(in srgb,var(--fta-border) 20%,transparent) 36px 37px,transparent 38px 120px)}
.fta-page-layer[data-effect="metal"] .fta-page-art{background:repeating-linear-gradient(0deg,color-mix(in srgb,var(--fta-text) 10%,transparent) 0 1px,transparent 1px 4px),linear-gradient(110deg,transparent,var(--fta-surface-alt),transparent)}
.fta-page-layer[data-effect="aurora"] .fta-page-art{background:linear-gradient(115deg,transparent 10%,color-mix(in srgb,var(--fta-accent) 30%,transparent) 25%,transparent 38%,color-mix(in srgb,var(--fta-accent-secondary) 35%,transparent) 55%,transparent 70%);background-size:180% 100%;animation:fta-atmosphere calc(30s / var(--fta-speed)) ease-in-out infinite alternate}
.fta-page-layer[data-effect="nebula"] .fta-page-art{background:radial-gradient(ellipse at 15% 10%,color-mix(in srgb,var(--fta-accent) 38%,transparent),transparent 48%),radial-gradient(ellipse at 85% 60%,color-mix(in srgb,var(--fta-accent-secondary) 35%,transparent),transparent 50%)}
.fta-page-layer[data-effect="holo-grid"] .fta-page-art{background:linear-gradient(color-mix(in srgb,var(--fta-accent) 20%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--fta-accent) 20%,transparent) 1px,transparent 1px);background-size:42px 42px}
.fta-page-layer[data-effect="scanlines"] .fta-page-art{background:repeating-linear-gradient(0deg,color-mix(in srgb,var(--fta-accent) 16%,transparent) 0 1px,transparent 1px 5px)}
.fta-page-layer[data-effect="light-rays"] .fta-page-art{background:repeating-linear-gradient(115deg,transparent 0 90px,color-mix(in srgb,var(--fta-accent) 12%,transparent) 120px,transparent 150px 250px)}
.fta-page-layer[data-effect="shimmer"] .fta-page-art{background:linear-gradient(110deg,transparent 40%,color-mix(in srgb,var(--fta-accent) 18%,transparent) 50%,transparent 60%);background-size:300% 100%;animation:fta-page-shimmer calc(20s / var(--fta-speed)) ease-in-out infinite}
@keyframes fta-atmosphere{from{background-position:0% 0}to{background-position:100% 0}}@keyframes fta-page-shimmer{0%,70%{background-position:100% 0}100%{background-position:-100% 0}}
.fta-page-layer[data-static="true"] .fta-page-art{animation:none!important}@media(prefers-reduced-motion:reduce){.fta-page-art{animation:none!important}}
@supports(mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22160%22%20height%3D%22160%22%20viewBox%3D%220%200%20160%20160%22%3E%3Cfilter%20id%3D%22noise%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22100%25%22%20height%3D%22100%25%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.8%22%20numOctaves%3D%223%22%20stitchTiles%3D%22stitch%22%20result%3D%22n%22%2F%3E%3CfeColorMatrix%20in%3D%22n%22%20type%3D%22matrix%22%20values%3D%220%200%200%200%201%20%200%200%200%200%201%20%200%200%200%200%201%20%201%200%200%200%200%22%2F%3E%3CfeComponentTransfer%3E%3CfeFuncA%20type%3D%22discrete%22%20tableValues%3D%220%200%20.15%20.5%22%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%22160%22%20height%3D%22160%22%20filter%3D%22url%28%23noise%29%22%2F%3E%3C%2Fsvg%3E%0A")){.fta-page-layer[data-effect="grain"] .fta-page-art{background:var(--fta-text);mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22160%22%20height%3D%22160%22%20viewBox%3D%220%200%20160%20160%22%3E%3Cfilter%20id%3D%22noise%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22100%25%22%20height%3D%22100%25%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.8%22%20numOctaves%3D%223%22%20stitchTiles%3D%22stitch%22%20result%3D%22n%22%2F%3E%3CfeColorMatrix%20in%3D%22n%22%20type%3D%22matrix%22%20values%3D%220%200%200%200%201%20%200%200%200%200%201%20%200%200%200%200%201%20%201%200%200%200%200%22%2F%3E%3CfeComponentTransfer%3E%3CfeFuncA%20type%3D%22discrete%22%20tableValues%3D%220%200%20.15%20.5%22%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%22160%22%20height%3D%22160%22%20filter%3D%22url%28%23noise%29%22%2F%3E%3C%2Fsvg%3E%0A");mask-size:160px 160px;opacity:.22}}
