/* WiccanLore LIVING VEIL — v6 optimized review build. One controller, original raven left intact.
   Effects are paint-only and always pointer-events:none. */
:root { --wlm-intensity:.82; --wlm-wisps:.93; --wlm-magic:#a6c8bb; --wlm-mist-visibility:1; }
body.wlm-active .wl-hero { isolation:isolate; }
.wlm-field { position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;pointer-events:none!important;mix-blend-mode:screen;opacity:var(--wlm-mist-visibility);contain:strict; }
.wlm-aurora { position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(ellipse 21% 50% at 27% 76%,rgba(54,141,117,.13),transparent 85%),radial-gradient(ellipse 19% 32% at 79% 59%,rgba(160,109,169,.075),transparent 80%);opacity:calc(var(--wlm-intensity)*.7); }
.wlm-lens {position:absolute;z-index:2;left:-175px;top:-175px;width:350px;height:350px;border-radius:50%;pointer-events:none!important;opacity:0;mix-blend-mode:screen;background:radial-gradient(ellipse at 47% 54%,rgba(182,243,214,.21) 0%,rgba(81,190,147,.13) 23%,rgba(108,94,166,.11) 38%,rgba(137,119,151,.045) 53%,transparent 73%);filter:blur(14px);transition:transform .19s cubic-bezier(.2,.55,.2,1), opacity .35s ease;will-change:transform;contain:paint;}
.wlm-lens.wlm-lens-active{opacity:calc(.9 * var(--wlm-intensity));}
.wlm-lens::before{content:"";position:absolute;inset:80px;border-radius:50%;background:conic-gradient(from 40deg,transparent 0deg,rgba(181,239,206,.15) 45deg,transparent 120deg,rgba(168,146,198,.16) 210deg,transparent 300deg);filter:blur(30px)}
.wlm-wisps { position:absolute;inset:0;z-index:6;pointer-events:none!important;overflow:hidden;contain:layout style; }
.wlm-wisp-anchor{position:absolute;left:var(--wx);top:var(--wy);width:0;height:0;pointer-events:none!important;transition:transform .24s cubic-bezier(.16,.71,.22,1);}
.wlm-wisp { position:absolute;left:0;top:0;width:72px;height:102px;transform:translate(-50%,-50%) rotate(var(--wr));transform-origin:center;opacity:0;animation:wlmRise var(--wd) cubic-bezier(.34,.15,.65,.84) var(--wait) infinite;filter:drop-shadow(0 0 6px rgba(209,233,191,.38));will-change:transform,opacity; }
.wlm-wisp::before {content:"";position:absolute;inset:0;transform:rotate(-15deg);background:radial-gradient(ellipse 34% 44% at 46% 59%,rgba(204,250,222,.78) 0%,rgba(91,191,157,.29) 38%,transparent 100%),radial-gradient(ellipse 24% 38% at 54% 35%,rgba(184,166,205,.31),transparent 90%);filter:blur(8px);border-radius:50% 50% 60% 35% / 60% 40% 65% 50%; }
.wlm-wisp::after {content:"";position:absolute;left:48%;top:60%;width:4px;height:4px;border-radius:100%;background:#d4f8db;box-shadow:0 0 9px 3px rgba(182,241,193,.7),0 0 23px 7px rgba(99,193,167,.23); }
.wlm-wisp-anchor:nth-child(3n) .wlm-wisp::before {background:radial-gradient(ellipse 34% 44% at 46% 59%,rgba(231,201,235,.82) 0%,rgba(157,120,181,.24) 36%,transparent 100%),radial-gradient(ellipse 22% 38% at 54% 32%,rgba(224,214,242,.27),transparent 90%)}
.wlm-wisp-anchor:nth-child(3n) .wlm-wisp::after {background:#eee0ff;box-shadow:0 0 10px 3px #ccb8ef8c,0 0 25px 8px #a08ec74a}
.wlm-wisp-anchor:nth-child(5n) .wlm-wisp::before {background:radial-gradient(ellipse 40% 43% at 48% 55%,rgba(255,229,161,.63),rgba(194,154,82,.24) 36%,transparent 100%);}
.wlm-wisp-anchor:nth-child(5n) .wlm-wisp::after {background:#fff0c4;box-shadow:0 0 10px 3px #f5d9989e,0 0 25px 8px #d2a86142}
@keyframes wlmRise {0%{opacity:0;transform:translate(-50%,5px) scale(.42) rotate(var(--wr))}15%{opacity:calc(.80 * var(--wlm-wisps) * var(--wlm-intensity))}50%{opacity:calc(.9 * var(--wlm-wisps) * var(--wlm-intensity));transform:translate(calc(-50% + var(--drift)), -33px) scale(1) rotate(calc(var(--wr) + 14deg))}84%{opacity:calc(.43 * var(--wlm-wisps) * var(--wlm-intensity))}100%{opacity:0;transform:translate(calc(-50% + var(--drift2)),-110px) scale(1.18) rotate(calc(var(--wr) - 14deg))}}
body.wlm-active .wl-wear-visual::after,body.wlm-active .wl-place-visual::after {content:"";position:absolute;inset:0;z-index:10;pointer-events:none;background:radial-gradient(ellipse 50% 53% at var(--spotx,50%) var(--spoty,50%),rgba(239,219,155,.20),rgba(169,194,152,.07) 44%,transparent 78%);opacity:0;transition:opacity .26s ease;mix-blend-mode:screen;}
body.wlm-active .wl-wear-visual:is(:hover,:focus-visible)::after,body.wlm-active .wl-place-visual:is(:hover,:focus-visible)::after{opacity:calc(.75 * var(--wlm-intensity));}
body.wlm-active .wl-wear-spot,body.wlm-active .wl-place-spot {transition:filter .33s ease;}
body.wlm-active .wl-wear-spot:hover,body.wlm-active .wl-wear-spot:focus-within,body.wlm-active .wl-place-spot:hover,body.wlm-active .wl-place-spot:focus-within{filter:drop-shadow(0 0 12px rgba(232,207,145,.24));}
body.wlm-active .wl-art-stage a:is(:hover,:focus-visible),body.wlm-active .wl-articles-stage a:is(:hover,:focus-visible){filter:drop-shadow(0 0 11px rgba(226,196,151,.27));transition:filter .22s ease}
body.wlm-active .wl-sign {filter:drop-shadow(0 0 5px rgba(255,215,151,.13));}
body.wlm-paused .wlm-wisp, body.wlm-offscreen .wlm-wisp {animation-play-state:paused!important}
body.wlm-disabled .wlm-field,body.wlm-disabled .wlm-wisps,body.wlm-disabled .wlm-aurora,body.wlm-disabled .wlm-lens {visibility:hidden}
body.wlm-disabled .wl-wear-visual::after,body.wlm-disabled .wl-place-visual::after {display:none!important}
/* Preview-only control panel — never ship this UI. */
.wlm-lab {position:fixed;z-index:999;bottom:16px;right:18px;width:min(319px,calc(100vw - 26px));background:#0c1519f2;color:#eee5d6;border:1px solid rgba(205,169,107,.55);border-radius:10px;box-shadow:0 12px 45px #000b;backdrop-filter:blur(16px);font:12px/1.45 system-ui,-apple-system,sans-serif}
.wlm-lab button,.wlm-lab input {font:inherit;cursor:pointer}.wlm-lab button:focus-visible,.wlm-lab input:focus-visible {outline:2px solid #f1ce87;outline-offset:2px}
.wlm-lab-head{display:flex;align-items:center;gap:11px;border:0;background:none;color:#e9d6b4;width:100%;padding:13px 14px;text-align:left}
.wlm-lab-head strong{flex:1;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.wlm-lab-head span{font-size:10px;color:#a6b4ac}
.wlm-lab-body{padding:2px 16px 15px;display:grid;gap:12px}
.wlm-lab[aria-expanded="false"] .wlm-lab-body{display:none}
.wlm-lab p{color:#acb7ac;margin:0;font-size:10px;line-height:1.6}
.wlm-lab label{display:grid;gap:6px;font-size:11px;color:#bfc8bb}
.wlm-lab input[type=range]{width:100%;accent-color:#c7a46a}
.wlm-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}
.wlm-row output{font-size:10px;color:#dfc68e}
.wlm-presets {display:flex;gap:7px}.wlm-presets button,.wlm-action{border:1px solid rgba(193,163,108,.5);border-radius:4px;color:#dac9ab;background:#1a2425;padding:8px 10px}
.wlm-presets button{flex:1;font-size:10px}.wlm-presets button[aria-pressed=true]{background:#3b493e;border-color:#c9b988;color:#fff3db}
.wlm-options{display:flex;gap:13px;flex-wrap:wrap}.wlm-options label{display:flex;align-items:center;gap:5px;font-size:10px}
.wlm-note{color:#a8b5ac;letter-spacing:.04em;font-size:10px}
@media(max-width:960px){.wlm-field{display:none!important}.wlm-lens{filter:blur(12px)}.wlm-wisps .wlm-wisp-anchor:nth-child(n+7){display:none}.wlm-wisp{filter:none}}
@media(max-width:680px){.wlm-wisps .wlm-wisp-anchor:nth-child(n+5){display:none}.wlm-wisp{width:40px;height:65px}.wlm-lab{bottom:6px;right:6px;width:230px}.wlm-lab-head{padding:10px}.wlm-lab-body{padding:0 10px 11px;gap:8px}}
@media(prefers-reduced-motion:reduce){.wlm-field,.wlm-lens,.wlm-wisp{display:none!important}.wlm-aurora{opacity:.15}.wlm-lab *{transition:none!important}}
body.wlm-glows-off .wl-wear-spot,body.wlm-glows-off .wl-place-spot{filter:none!important}
body.wlm-glows-off .wl-wear-visual::after,body.wlm-glows-off .wl-place-visual::after{display:none!important}
@media(max-width:680px){#wlm-private-banner{display:none!important}}

.wl-demo-note{position:relative;isolation:isolate;}
/* V2: cursor-bound ghost lights, across the entire page, including beyond the hero. */
.wlm-trail{position:fixed;inset:0;z-index:180;pointer-events:none!important;overflow:hidden;opacity:0;transition:opacity .58s ease;contain:strict;isolation:isolate;}
.wlm-trail.is-following{opacity:calc(.86 * var(--wlm-wisps) * var(--wlm-intensity));}
.wlm-trail-wisp{position:absolute;left:0;top:0;display:block;width:65px;height:110px;pointer-events:none!important;opacity:var(--w-alpha);will-change:transform;transform-origin:50% 50%;}
.wlm-trail-wisp::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 28% 32% at 48% 49%,rgba(211,255,223,.99),rgba(99,208,164,.69) 22%,rgba(77,163,132,.28) 45%,transparent 82%);filter:blur(7px);border-radius:45% 55% 51% 49%;}
.wlm-trail-wisp::after{content:"";position:absolute;width:3px;height:4px;left:46%;top:46%;border-radius:50%;background:#f2fce7;box-shadow:0 0 7px 2px rgba(200,241,204,.87),0 0 17px 5px rgba(97,187,147,.38);}
.wlm-trail-wisp[style*="amethyst"]::before{background:radial-gradient(ellipse 30% 35% at 49% 52%,rgba(237,218,250,.8),rgba(171,116,195,.38) 28%,rgba(115,87,157,.1) 59%,transparent 84%);}
.wlm-trail-wisp[style*="amethyst"]::after{background:#f5e9ff;box-shadow:0 0 9px 3px #c7acec88,0 0 23px 6px #ab8dcb47;}
.wlm-trail-wisp[style*="gold"]::before{background:radial-gradient(ellipse 31% 32% at 49% 50%,rgba(255,233,190,.75),rgba(208,160,100,.35) 32%,transparent 80%);}
.wlm-trail-wisp[style*="gold"]::after{background:#fff1d1;box-shadow:0 0 8px 3px #efdcaa99,0 0 23px 5px #d4a16e44;}
/* A moving atmospheric signature around the pointer: subtle, organic, not a spotlight. */
.wlm-trail-halo{position:absolute;left:0;top:0;width:252px;height:258px;pointer-events:none!important;border-radius:50%;background:radial-gradient(ellipse 46% 31% at 45% 47%,rgba(105,222,173,.17),rgba(74,151,142,.09) 41%,transparent 87%),radial-gradient(ellipse 36% 35% at 63% 55%,rgba(161,118,206,.13),transparent 90%);filter:blur(22px);will-change:transform;}
/* Background 'breathing' glows inside existing scenes. Backgrounds, not another particle engine. */
.wlm-magic-pocket{position:absolute;inset:0;z-index:1;pointer-events:none!important;overflow:hidden;opacity:0;transition:opacity 1.2s ease;mix-blend-mode:screen;isolation:isolate;}
.wlm-inview .wlm-magic-pocket{opacity:calc(.54 * var(--wlm-intensity));}
.wlm-magic-pocket::before,.wlm-magic-pocket::after{content:"";display:block;position:absolute;pointer-events:none;border-radius:50%;}
.wlm-magic-pocket::before{left:-7%;top:0;width:51%;height:110%;background:radial-gradient(ellipse at 45% 50%,rgba(71,156,122,.23),rgba(40,103,105,.14) 29%,rgba(38,63,73,.075) 53%,transparent 75%);animation:wlmBreathe 15s ease-in-out infinite alternate;}
.wlm-magic-pocket::after{right:-15%;top:-15%;width:51%;height:115%;background:radial-gradient(ellipse at 52% 40%,rgba(142,101,169,.21),rgba(85,100,156,.14) 36%,transparent 71%);animation:wlmBreathe 19s ease-in-out -4s infinite alternate-reverse;}
.wlm-ember{position:absolute;left:var(--ex);top:var(--ey);width:4px;height:4px;border-radius:50%;background:#f3e9c2;opacity:0;box-shadow:0 0 7px 2px #e4cda770,0 0 27px 8px #7ccba027;animation:wlmEmber var(--ed) ease-in-out var(--ee) infinite;}
.wlm-ember:nth-child(3n){background:#c8e8d8;box-shadow:0 0 7px 2px #9dddbb88,0 0 23px 7px #66aa9e33}
.wlm-ember:nth-child(3n+1){background:#e4d1e7;box-shadow:0 0 9px 3px #cda4de88,0 0 20px 5px #a48db833}
@keyframes wlmEmber{0%,100%{opacity:0;transform:translate3d(-7px,9px,0) scale(.4)}22%{opacity:.27}53%{opacity:.93;transform:translate3d(10px,-12px,0) scale(1.08)}79%{opacity:.23}}
@keyframes wlmBreathe{0%{transform:translate3d(-5%,-4%,0) scale(.91);opacity:.55}100%{transform:translate3d(7%,5%,0) scale(1.06);opacity:1}}
/* On product regions it is only a dim ambient glow, far below product imagery. */
.wl-wear-wide>.wlm-magic-pocket,.wl-place-wide>.wlm-magic-pocket{z-index:1;opacity:calc(.26 * var(--wlm-intensity));}
.wl-wear-wide>.wlm-magic-pocket::before,.wl-place-wide>.wlm-magic-pocket::before{width:30%;left:-13%;}
.wl-wear-wide>.wlm-magic-pocket::after,.wl-place-wide>.wlm-magic-pocket::after{width:30%;right:-13%;}

.wlm-magic-pocket .wlm-ember{pointer-events:none}
body.wlm-background-off .wlm-magic-pocket,body.wlm-disabled .wlm-magic-pocket{display:none!important}
body.wlm-paused .wlm-magic-pocket::before,body.wlm-paused .wlm-magic-pocket::after,body.wlm-paused .wlm-ember,
.wlm-magic-pocket:not(.wlm-inview) .wlm-ember{animation-play-state:paused!important}
body.wlm-paused .wlm-trail,body.wlm-disabled .wlm-trail{display:none!important}
@media(max-width:960px){.wlm-trail{display:none!important}.wlm-magic-pocket::before,.wlm-magic-pocket::after{animation:none;filter:blur(15px)}.wlm-ember{animation:none;opacity:.25}}
@media(prefers-reduced-motion:reduce){.wlm-trail{display:none!important}.wlm-magic-pocket::before,.wlm-magic-pocket::after,.wlm-ember{animation:none!important}.wlm-magic-pocket{opacity:.18!important}}

.wlm-magic-pocket .wlm-ember,.wlm-magic-pocket::before,.wlm-magic-pocket::after{animation-play-state:paused}
.wlm-inview .wlm-magic-pocket .wlm-ember,.wlm-inview .wlm-magic-pocket::before,.wlm-inview .wlm-magic-pocket::after{animation-play-state:running}

.wlm-pocket-glow{position:absolute;top:0;left:0;display:block;width:320px;height:320px;
  pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at center,rgba(167,226,185,.24),rgba(112,148,176,.12) 42%,transparent 90%);
  transform:translate3d(0,0,0);will-change:transform}
.wlm-magic-pocket:not(:hover) .wlm-pocket-glow{opacity:.85}

/* Pause takes precedence over section visibility, even if an observer fires. */
body.wlm-paused .wlm-magic-pocket::before,body.wlm-paused .wlm-magic-pocket::after,
body.wlm-paused .wlm-magic-pocket .wlm-ember{animation-play-state:paused!important}
@media(max-width:960px){.wlm-pocket-glow{display:none!important}}
@media(prefers-reduced-motion:reduce){.wlm-pocket-glow{display:none!important}}


/* Production-visible narrow layouts replace hidden original wide visual layers. */
.wl-wear-narrow>.wlm-magic-pocket,.wl-place-narrow>.wlm-magic-pocket{opacity:calc(.28 * var(--wlm-intensity));}
.wl-wear-narrow>.wlm-magic-pocket::before,.wl-place-narrow>.wlm-magic-pocket::before{width:30%;left:-13%;}
.wl-wear-narrow>.wlm-magic-pocket::after,.wl-place-narrow>.wlm-magic-pocket::after{width:30%;right:-13%;}

/* V8.3: existing single Living Veil engine also treats desktop gallery as a dark section. */
#wl-full-home-shell .wl-wear-wide>.wlm-magic-pocket, #wl-full-home-shell .wl-place-wide>.wlm-magic-pocket{z-index:1;opacity:calc(.25 * var(--wlm-intensity, 1));pointer-events:none;}
