/* Viewport-sized layers keep the animated area independent of document length. */
.smm-background{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:var(--smm-bg-1,#f3f6ff)}
.smm-background>.smm-bg-gradient,.smm-background>.smm-bg-pattern{position:absolute;inset:-12%;pointer-events:none}
.smm-background>.smm-bg-gradient{background:linear-gradient(var(--smm-bg-angle,135deg),var(--smm-bg-1),var(--smm-bg-2),var(--smm-bg-3));transform-origin:center}
.smm-bg-mesh>.smm-bg-gradient{background:radial-gradient(ellipse at 15% 20%,var(--smm-bg-2),transparent 60%),radial-gradient(ellipse at 85% 70%,var(--smm-bg-3),transparent 60%),linear-gradient(var(--smm-bg-angle),var(--smm-bg-1),var(--smm-bg-2))}
.smm-bg-radial>.smm-bg-gradient{background:radial-gradient(ellipse at 30% 25%,var(--smm-bg-1),var(--smm-bg-2) 52%,var(--smm-bg-3))}
.smm-background>.smm-bg-pattern{opacity:var(--smm-bg-opacity,.12);background-size:var(--smm-bg-size,32px) var(--smm-bg-size,32px);color:var(--smm-bg-ink,#264b78)}
.smm-bg-pattern-none>.smm-bg-pattern{display:none}
.smm-bg-pattern-dots>.smm-bg-pattern{background-image:radial-gradient(circle at 2px 2px,currentColor 1.2px,transparent 1.5px)}
.smm-bg-pattern-grid>.smm-bg-pattern{background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px)}
.smm-bg-pattern-diagonal>.smm-bg-pattern{background-image:linear-gradient(135deg,transparent 48.8%,currentColor 49%,currentColor 51%,transparent 51.2%)}
.smm-bg-pattern-waves>.smm-bg-pattern{background-image:radial-gradient(ellipse at 50% 0%,transparent 64%,currentColor 65%,currentColor 67%,transparent 68%),radial-gradient(ellipse at 50% 100%,transparent 64%,currentColor 65%,currentColor 67%,transparent 68%)}
.smm-bg-pattern-rings>.smm-bg-pattern{background-image:radial-gradient(circle at center,transparent 30%,currentColor 31%,currentColor 32%,transparent 33%,transparent 45%,currentColor 46%,currentColor 47%,transparent 48%)}
.smm-bg-pattern-diamonds>.smm-bg-pattern{background-image:linear-gradient(45deg,transparent 48.8%,currentColor 49%,currentColor 51%,transparent 51.2%),linear-gradient(135deg,transparent 48.8%,currentColor 49%,currentColor 51%,transparent 51.2%)}
.smm-bg-motion-drift>.smm-bg-gradient{animation:smm-bg-drift var(--smm-bg-speed,24s) ease-in-out infinite alternate}
.smm-bg-motion-breathe>.smm-bg-gradient{animation:smm-bg-breathe var(--smm-bg-speed,24s) ease-in-out infinite alternate}
.smm-bg-motion-aurora>.smm-bg-gradient{animation:smm-bg-aurora var(--smm-bg-speed,24s) ease-in-out infinite alternate}
.smm-bg-pattern-moving:not(.smm-bg-motion-none)>.smm-bg-pattern{animation:smm-bg-texture calc(var(--smm-bg-speed,24s) * 1.4) ease-in-out infinite alternate}
body.smm-global-background{isolation:isolate;background:#f3f6ff!important}
body.smm-global-background #smm-site-background{position:fixed;inset:0;z-index:-1}
body.smm-global-background .smm-background-through{background-color:transparent!important;background-image:none!important}
@keyframes smm-bg-drift{from{transform:translate(-3%,-2%) scale(1.02)}to{transform:translate(3%,2%) scale(1.08)}}
@keyframes smm-bg-breathe{from{transform:scale(1);opacity:.75}to{transform:scale(1.13);opacity:1}}
@keyframes smm-bg-aurora{0%{transform:translate(-2%,2%) rotate(-3deg) scale(1.05)}50%{transform:translate(2%,-2%) rotate(0deg) scale(1.12)}100%{transform:translate(1%,2%) rotate(3deg) scale(1.05)}}
@keyframes smm-bg-texture{from{transform:translate(-1%,-1%)}to{transform:translate(1%,1%)}}
@media(max-width:782px){.smm-background:not(.smm-bg-mobile-motion)>*{animation:none!important}}
@media(prefers-reduced-motion:reduce){.smm-background>*{animation:none!important;transform:none!important}}
@media print{#smm-site-background{display:none!important}body.smm-global-background{background:white!important}}
/* 1.4.3 — Opaque content sits above the independent exterior pattern. */
body.smm-enabled .smm-content-surface{background-color:var(--smm-content-bg,#ffffff)!important;background-image:none!important}
