/* Tiny translucent fairies follow curved routes throughout the content area. */
.edge-fairies{position:fixed;left:50%;top:82px;bottom:95px;transform:translateX(-50%);width:min(480px,100%);pointer-events:none;z-index:9;overflow:hidden;contain:layout paint}
.edge-fairy{position:absolute;left:0;top:0;width:17px;height:21px;opacity:.48;offset-rotate:0deg;offset-anchor:50% 50%;animation:fairy-roam 37s linear infinite;filter:drop-shadow(0 0 4px var(--theme-1));will-change:offset-distance;transform:scale(.85)}
.edge-fairy:nth-child(2){animation-duration:43s;animation-delay:-17s;opacity:.4;transform:scale(.7)}
.edge-fairy:nth-child(3){animation-duration:49s;animation-delay:-31s;opacity:.34;transform:scale(.65)}
.fairy-body{position:absolute;width:3px;height:8px;border-radius:50%;background:var(--theme-2);left:7px;top:7px;box-shadow:0 0 5px var(--theme-1)}
.fairy-body:before{content:'';position:absolute;top:-4px;left:0;width:3px;height:3px;border-radius:50%;background:#fff5ff}
.fairy-wing{position:absolute;width:8px;height:13px;top:2px;border:1px solid color-mix(in srgb,var(--theme-2) 68%,transparent);background:linear-gradient(145deg,#fff6,var(--theme-1));border-radius:85% 10% 70% 25%;transform-origin:100% 80%;animation:fairy-wingbeat .28s ease-in-out infinite alternate}
.fairy-wing.right{left:9px;transform-origin:0 80%;border-radius:10% 85% 25% 70%;animation-name:fairy-wingbeat-right}
.fairy-dust{position:absolute;width:2px;height:2px;border-radius:50%;background:var(--theme-2);left:8px;top:24px;box-shadow:-3px 8px 2px var(--theme-1),2px 18px 3px var(--theme-1);opacity:.55}
@keyframes fairy-wingbeat{from{transform:rotate(-26deg) scaleX(.5)}to{transform:rotate(-15deg) scaleX(1)}}
@keyframes fairy-wingbeat-right{from{transform:rotate(26deg) scaleX(.5)}to{transform:rotate(15deg) scaleX(1)}}
@keyframes fairy-roam{from{offset-distance:0%}to{offset-distance:100%}}

.subscription-card{position:relative;isolation:isolate;overflow:hidden;border-color:color-mix(in srgb,var(--theme-1) 60%,#74637d);background:radial-gradient(ellipse at 10% 60%,color-mix(in srgb,#51cbef 19%,transparent),transparent 44%),linear-gradient(125deg,color-mix(in srgb,var(--theme-0) 32%,#181728) 0%,color-mix(in srgb,var(--hud-surface) 94%,transparent) 50%,#141320ed 100%);box-shadow:inset 0 1px 0 #f2dfff38,inset 0 -3px 8px #05041070,0 5px 13px #08051255}
.subscription-card:nth-child(even){background:radial-gradient(ellipse at 12% 60%,color-mix(in srgb,var(--theme-1) 27%,transparent),transparent 48%),linear-gradient(125deg,color-mix(in srgb,var(--theme-0) 38%,#1d1729),#161322ed 80%)}
.subscription-card:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,#ffffff0b 0%,transparent 32%,transparent 70%,color-mix(in srgb,var(--theme-1) 12%,transparent));border-radius:inherit}
.subscription-card:after{content:'';position:absolute;left:0;top:20%;bottom:20%;width:2px;border-radius:3px;background:#71d8f3;box-shadow:0 0 12px #49c7ec80;opacity:.75;pointer-events:none}
.subscription-card:nth-child(even):after{background:var(--theme-1);box-shadow:0 0 12px var(--theme-1)}
.subscription-card>.tab-art{filter:drop-shadow(0 4px 5px #0006) drop-shadow(0 0 8px #6bd7f233)}
.subscription-card:nth-child(even)>.tab-art{filter:drop-shadow(0 4px 5px #0006) drop-shadow(0 0 8px color-mix(in srgb,var(--theme-1) 33%,transparent))}
.subscription-reward{padding:6px 5px;border-radius:10px;background:linear-gradient(145deg,#fff1c014,#d5a02b08);box-shadow:inset 0 1px 0 #fff1cc15;text-shadow:0 1px 3px #0007}
.subscription-card:active{transform:translateY(1px);box-shadow:inset 0 2px 6px #0006}
@media(prefers-reduced-motion:reduce){.edge-fairies{display:none}}
