/* Soft, bounded interaction. Ambient effects retain their v6 continuous loops. */
.mw-card[data-tier],.mw-card[data-tier]:hover{--relief-lift:calc(var(--pointer-strength,0)*-2px)}
.mw-card[data-tier] .mw-senior,.mw-card[data-tier]:hover .mw-senior{--senior-lift:calc(var(--pointer-strength,0)*-2px)}
.mw-cursor-light{background:radial-gradient(circle clamp(120px,14vw,220px) at var(--mx,50%) var(--my,30%),color-mix(in srgb,var(--mw-light) 11%,transparent),transparent 100%)}
.mw-card .mw-cursor-light,.mw-card:hover .mw-cursor-light,.mw-dialog-art .mw-cursor-light,.mw-dialog-art:hover .mw-cursor-light{opacity:var(--pointer-strength,0)}
.mw-edge-reflection{background:radial-gradient(ellipse 180px 210px at var(--mx,50%) var(--my,30%),var(--mw-light),transparent 100%)}
.mw-card .mw-edge-reflection,.mw-card:is(:hover,:focus-within) .mw-edge-reflection{opacity:calc(.15 + var(--pointer-strength,0)*.55)}
.mw-card .mw-polish-reflection,.mw-card:hover .mw-polish-reflection,.mw-card .mw-regal-reflection,.mw-card:hover .mw-regal-reflection{opacity:calc(var(--pointer-strength,0)*.6)}
.mw-dialog-art .mw-polish-reflection,.mw-dialog-art:hover .mw-polish-reflection,.mw-dialog-art .mw-regal-reflection,.mw-dialog-art:hover .mw-regal-reflection{opacity:calc(var(--pointer-strength,0)*.6)}
.mw-polish-reflection,.mw-regal-reflection{background:radial-gradient(ellipse 180px 210px at var(--mx,50%) var(--my,30%),var(--mw-light),transparent 100%) border-box}

/* Demigod stays below God: one local lens, one faint wave, four small motes. */
.mw-eclipse-anchor{width:196px;max-width:88%;transform:translate(-50%,-50%)}
.mw-card .mw-eclipse-anchor,.mw-card:hover .mw-eclipse-anchor{transform:translate(-50%,-50%) translateY(calc(var(--pointer-strength,0)*-2px))}
.mw-dialog-emblem .mw-eclipse-anchor{width:230px}
.mw-permanent-eclipse{z-index:2;box-shadow:0 0 23px #bf18354d;animation:mw-eclipse-heartbeat 5.2s ease-in-out infinite}
.mw-eclipse-filter{position:absolute;width:0;height:0;overflow:hidden}
.mw-eclipse-lens{position:absolute;inset:-18%;border-radius:50%;z-index:0;mask-image:radial-gradient(circle,transparent 39%,#0009 47%,#000 55%,#0009 64%,transparent 71%);backdrop-filter:blur(.4px) contrast(1.04);animation:mw-lens-breathe 5.2s ease-in-out infinite}
.mw-eclipse-wave{position:absolute;inset:3%;border:1px solid #ff526b;border-radius:50%;z-index:1;opacity:0;animation:mw-eclipse-wave 5.2s ease-out infinite}
.mw-eclipse-dust{position:absolute;inset:-10%;z-index:1}
.mw-eclipse-dust i{position:absolute;width:2px;height:2px;left:var(--x);top:var(--y);border-radius:50%;background:#ff92a1;box-shadow:0 0 5px #ff354f66;opacity:0;animation:mw-eclipse-dust 5.2s calc(var(--i)*.07s) linear infinite}
@keyframes mw-eclipse-heartbeat{0%,100%{opacity:.83;transform:scale(.94);filter:brightness(.88)}46%{opacity:1;transform:scale(1.08);filter:brightness(1.2)}72%{opacity:.92;transform:scale(1)}}
@keyframes mw-lens-breathe{0%,100%{transform:scale(.96);opacity:.7}46%{transform:scale(1.09);opacity:.92}72%{transform:scale(1);opacity:.8}}
@keyframes mw-eclipse-wave{0%,35%{opacity:0;transform:scale(.94)}46%{opacity:.22}83%,100%{opacity:0;transform:scale(1.35)}}
@keyframes mw-eclipse-dust{0%,36%{opacity:0;transform:translate(0,0) scale(.6)}46%{opacity:.43}80%,100%{opacity:0;transform:translate(var(--vx),var(--vy)) scale(.25)}}
@media(max-width:760px){.mw-dialog-emblem .mw-eclipse-anchor{width:192px}}
html[data-mw-motion="off"] .mw-eclipse-lens{backdrop-filter:none!important;opacity:0}
html[data-mw-motion="off"] .mw-eclipse-wave,html[data-mw-motion="off"] .mw-eclipse-dust{display:none}
@media(prefers-reduced-motion:reduce){html:not([data-mw-motion="on"]) .mw-eclipse-lens{backdrop-filter:none!important;opacity:0}html:not([data-mw-motion="on"]) .mw-eclipse-wave,html:not([data-mw-motion="on"]) .mw-eclipse-dust{display:none}}
