/* Two decorative layers, no interaction or layout cost. */
body .premium-look{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,var(--premium-base),var(--premium-end))!important}
body .premium-look> :not(.close){position:relative;z-index:1}
body .premium-look::before,body .premium-look::after{content:"";position:absolute;inset:0;width:auto;height:auto;border:0;border-radius:inherit;pointer-events:none;z-index:0;box-shadow:none}
body .premium-look::before{background:radial-gradient(ellipse at 85% 10%,var(--glow),transparent 55%),radial-gradient(ellipse at 10% 95%,var(--glow),transparent 45%);opacity:.5;animation:premium-glow 12s ease-in-out infinite alternate}
body .premium-look::after{background-image:radial-gradient(circle at 9% 18%,var(--spark) 0 1px,transparent 2px),radial-gradient(circle at 84% 24%,var(--spark) 0 1.5px,transparent 3px),radial-gradient(circle at 72% 78%,var(--spark) 0 1px,transparent 2px),radial-gradient(circle at 94% 62%,var(--spark) 0 1px,transparent 2px),radial-gradient(circle at 29% 89%,var(--spark) 0 1.5px,transparent 3px),radial-gradient(circle at 58% 9%,var(--spark) 0 1px,transparent 2px);opacity:.5;animation:premium-spark 8s ease-in-out infinite alternate}
body .premium-look[data-premium-color=forest]{--glow:#6a963e;--spark:#c8d38c}
body .premium-look[data-premium-color=midnight]{--glow:#58699b;--spark:#b5c6d7}
body .premium-look[data-premium-color=sunset]{--glow:#b36a42;--spark:#dfb17e}
body .premium-look[data-premium-color=midnight]::after{background-image:radial-gradient(ellipse 1px 5px at 86% 20%,#b5c6d7 65%,transparent),radial-gradient(ellipse 5px 1px at 86% 20%,#b5c6d7 65%,transparent),radial-gradient(ellipse 1px 4px at 17% 81%,#b5c6d7 65%,transparent),radial-gradient(ellipse 4px 1px at 17% 81%,#b5c6d7 65%,transparent),radial-gradient(circle at 12% 16%,#b5c6d7 1px,transparent 2px),radial-gradient(circle at 68% 85%,#b5c6d7 1px,transparent 2px),radial-gradient(circle at 93% 64%,#b5c6d7 1px,transparent 2px),radial-gradient(circle at 52% 8%,#b5c6d7 1px,transparent 2px)}
body .premium-look[data-premium-set="15"]::before{animation-duration:16s;background:radial-gradient(ellipse at 85% 10%,var(--glow),transparent 55%),linear-gradient(125deg,transparent 20%,var(--glow) 48%,transparent 70%);opacity:.3}
@keyframes premium-glow{from{opacity:.24;transform:scale(1)}to{opacity:.48;transform:scale(1.08)}}
@keyframes premium-spark{from{opacity:.3;transform:translateY(3px)}to{opacity:.7;transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){body .premium-look::before,body .premium-look::after{animation:none;transform:none;opacity:.35}}


/* Repeated 240px tile: a full tile translation has identical endpoints. */
body .premium-look::after{
 inset:-240px 0;opacity:.85;border-radius:0;
 background-image:
 radial-gradient(circle at 28px 36px,var(--spark) 0 2px,transparent 3px),
 radial-gradient(circle at 157px 92px,var(--spark) 0 1.5px,transparent 3px),
 radial-gradient(circle at 85px 181px,var(--spark) 0 2px,transparent 4px),
 radial-gradient(circle at 212px 222px,var(--spark) 0 1px,transparent 3px),
 radial-gradient(circle at 28px 36px,var(--glow),transparent 11px),
 radial-gradient(circle at 85px 181px,var(--glow),transparent 14px);
 background-size:240px 240px;background-repeat:repeat;
 animation:premium-flow 12s linear infinite;will-change:transform;
}
body .premium-look[data-premium-color=midnight]::after{
 background-image:
 radial-gradient(ellipse 1.5px 7px at 45px 55px,var(--spark) 55%,transparent),
 radial-gradient(ellipse 7px 1.5px at 45px 55px,var(--spark) 55%,transparent),
 radial-gradient(ellipse 1px 5px at 180px 165px,var(--spark) 55%,transparent),
 radial-gradient(ellipse 5px 1px at 180px 165px,var(--spark) 55%,transparent),
 radial-gradient(circle at 110px 28px,var(--spark) 1.5px,transparent 3px),
 radial-gradient(circle at 220px 105px,var(--spark) 1px,transparent 2px),
 radial-gradient(circle at 70px 210px,var(--spark) 1.5px,transparent 3px);
 animation-duration:18s;
}
body .premium-look[data-premium-color=sunset]::after{animation-duration:10s}
body .premium-look::before,body .premium-look[data-premium-set="15"]::before{
 inset:-25%;opacity:.6;
 background:radial-gradient(ellipse at 75% 25%,var(--glow),transparent 48%),radial-gradient(ellipse at 20% 70%,var(--glow),transparent 40%);
 animation:premium-orbit 14s linear infinite;will-change:transform;
}
@keyframes premium-flow{from{transform:translateY(0)}to{transform:translateY(-240px)}}
@keyframes premium-orbit{0%,100%{transform:translate(3%,0)}25%{transform:translate(0,6%)}50%{transform:translate(-3%,0)}75%{transform:translate(0,-6%)}}
@media(prefers-reduced-motion:reduce){body .premium-look::after,body .premium-look::before,body .premium-look[data-premium-set="15"]::before{animation:none;transform:none;will-change:auto}}


/* Denser, faster loops; explicit in-app playback takes precedence. */
body .premium-look::after,body .premium-look[data-premium-color]::after{background-size:120px 120px;opacity:.95;animation:premium-dense-flow 5s linear infinite!important;will-change:transform}
body .premium-look::before,body .premium-look[data-premium-set="15"]::before{animation:premium-orbit 8s linear infinite!important;opacity:.65}
@keyframes premium-dense-flow{from{transform:translateY(0)}to{transform:translateY(-120px)}}
body.premium-motion-paused .premium-look::before,body.premium-motion-paused .premium-look::after{animation-play-state:paused!important}
.premium-motion-toggle{display:block;margin:12px 0;padding:10px 16px;border:1px solid #8c9677;border-radius:999px;background:#203b2b;color:#ded8bd;font:14px "DM Sans",sans-serif}

body .premium-look::after{background-image:radial-gradient(circle at 10px 12px,var(--spark) 0 2px,transparent 4px),radial-gradient(circle at 60px 24px,var(--spark) 0 2px,transparent 4px),radial-gradient(circle at 104px 70px,var(--spark) 0 2px,transparent 4px),radial-gradient(circle at 38px 80px,var(--spark) 0 2.5px,transparent 4.5px),radial-gradient(circle at 83px 112px,var(--spark) 0 1.5px,transparent 3.5px),radial-gradient(circle at 115px 10px,var(--spark) 0 1.5px,transparent 3.5px)}
