.ff-reveal{animation:.3s cubic-bezier(.16,1,.3,1) both ff-reveal-bloom}@keyframes ff-reveal-bloom{0%{opacity:0;filter:blur(8px);transform:scale(.98)}to{opacity:1;filter:blur();transform:scale(1)}}.ff-hold{background:radial-gradient(ellipse at 30% 20%, color-mix(in srgb, var(--color-accent-primary) 26%, transparent), transparent 60%), radial-gradient(ellipse at 75% 85%, color-mix(in srgb, var(--color-accent-secondary) 24%, transparent), transparent 60%), var(--color-bg-elevated)}.ff-tile-scrim{background:linear-gradient(to top, color-mix(in srgb, var(--color-bg-base) 88%, transparent) 0%, color-mix(in srgb, var(--color-bg-base) 40%, transparent) 38%, transparent 62%)}.ff-stage-backdrop{filter:blur(28px)saturate(1.15);animation:2.4s cubic-bezier(.4,0,.6,1) infinite ff-stage-breathe;transform:scale(1.15)}@keyframes ff-stage-breathe{0%,to{opacity:.5}50%{opacity:.8}}.ff-stage-veil{background:radial-gradient(ellipse at 50% 40%, color-mix(in srgb, var(--color-bg-base) 20%, transparent), color-mix(in srgb, var(--color-bg-base) 70%, transparent) 75%)}.ff-ring-spin{transform-origin:50%;animation:1.4s linear infinite ff-ring-turn}@keyframes ff-ring-turn{to{transform:rotate(360deg)}}.ff-viewer-top{background:linear-gradient(to bottom, color-mix(in srgb, var(--color-bg-base) 75%, transparent), transparent)}.ff-viewer-bottom{background:linear-gradient(to top, color-mix(in srgb, var(--color-bg-base) 92%, transparent) 0%, color-mix(in srgb, var(--color-bg-base) 70%, transparent) 55%, transparent)}.ff-glint{pointer-events:none;background:linear-gradient(105deg, transparent 32%, color-mix(in srgb, var(--color-accent-primary) 14%, white 24%) 50%, transparent 68%);mix-blend-mode:screen;animation:1s cubic-bezier(.22,1,.36,1) .14s both ff-glint-sweep;position:absolute;inset:0;transform:translate(-70%)}@keyframes ff-glint-sweep{0%{opacity:0;transform:translate(-70%)}25%{opacity:1}to{opacity:0;transform:translate(70%)}}.ff-rise{animation:.26s cubic-bezier(.16,1,.3,1) both ff-rise-in}@keyframes ff-rise-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.ff-reveal,.ff-rise,.ff-glint,.ff-ring-spin{animation:none}.ff-glint{display:none}.ff-stage-backdrop{opacity:.65;animation:none}}