/* Body-mounted V3 / Codex effects: card clipping never cuts off the aura. */
.xam-cinema {
    --xam-c1:#f8d36a; --xam-c2:#44e5cf; --xam-c3:#51f36b;
    --xam-c4:#43225f; --xam-c5:#fff4bc;
    --xam-impact:0ms; --xam-unit:1; --xam-power:1;
    --xam-tone:var(--xam-c1);
    position:fixed; z-index:9400; overflow:visible; pointer-events:none;
    perspective:700px; isolation:isolate;
}
.xam-cinema.is-surged { --xam-power:1.22; --xam-tone:var(--xam-c2); }
.xam-cinema.is-surged::after {
    content:""; position:absolute; z-index:-1; inset:-42% -65%; border-radius:50%;
    background:radial-gradient(ellipse,transparent 28%,color-mix(in srgb,var(--xam-c2) 60%,transparent) 41%,transparent 65%);
    filter:blur(8px); mix-blend-mode:screen;
    animation:xamCinemaNile 1.15s ease-out var(--xam-impact) both;
}
.xam-cinema :is(i,b,u,span,svg,img) { position:absolute; box-sizing:border-box; text-decoration:none; }
.xam-cinema-aura {
    left:-58%; top:-30%; width:216%; height:160%; border-radius:50%;
    background:radial-gradient(ellipse,transparent 12%,color-mix(in srgb,var(--xam-tone) 56%,transparent) 28%,color-mix(in srgb,var(--xam-c2) 26%,transparent) 45%,transparent 70%);
    filter:blur(11px); mix-blend-mode:screen;
    animation:xamCinemaAura 1.1s cubic-bezier(.12,.8,.22,1) var(--xam-impact) both;
}
.xam-cinema-core {
    left:50%; top:50%; width:110%; aspect-ratio:1; border-radius:50%;
    background:radial-gradient(circle,#fff 0 4%,var(--xam-c5) 9%,var(--xam-tone) 22%,transparent 66%);
    mix-blend-mode:screen; filter:drop-shadow(0 0 20px var(--xam-tone));
    animation:xamCinemaCore .46s ease-out var(--xam-impact) both;
}
.xam-cinema-wave {
    left:50%; top:50%; width:110%; aspect-ratio:1; border:4px solid var(--xam-c5);
    border-radius:50%; box-shadow:0 0 16px var(--xam-tone),inset 0 0 12px var(--xam-tone);
    animation:xamCinemaWave .76s cubic-bezier(.12,.8,.22,1) var(--xam-impact) both;
}
.xam-cinema-wave.is-second {
    width:94%; border-width:2px; border-color:var(--xam-c2);
    animation-delay:calc(var(--xam-impact) + 60ms); animation-duration:.94s;
}
.xam-cinema-wave.is-ground {
    width:148%; top:60%; height:30%; aspect-ratio:auto; border-width:5px;
    animation-name:xamCinemaGround; animation-duration:.88s;
}
.xam-cinema-column {
    left:24%; top:-42%; width:52%; height:100%; transform-origin:50% 100%;
    background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--xam-tone) 60%,transparent),var(--xam-c5),color-mix(in srgb,var(--xam-c2) 55%,transparent),transparent);
    clip-path:polygon(42% 0,58% 0,100% 100%,0 100%); mix-blend-mode:screen;
    filter:drop-shadow(0 0 18px var(--xam-tone));
    animation:xamCinemaColumn .8s cubic-bezier(.1,.8,.25,1) var(--xam-impact) both;
}
.xam-cinema-particle {
    left:50%; top:52%; width:calc(var(--xam-particle-size)*var(--xam-unit));
    height:calc(var(--xam-particle-size)*var(--xam-unit));
    background:linear-gradient(135deg,var(--xam-c5),var(--xam-c1) 42%,var(--xam-c4));
    clip-path:polygon(14% 4%,81% 0,100% 55%,68% 100%,0 70%);
    filter:drop-shadow(0 0 5px var(--xam-tone));
    animation:xamCinemaDebris .88s ease-out calc(var(--xam-impact) + var(--xam-stagger)) both;
}
.xam-cinema-particle.is-front { z-index:6; scale:1.6; animation-duration:1.04s; }
.xam-cinema-particle.is-venom {
    clip-path:none; border-radius:58% 42% 70% 30%;
    background:radial-gradient(circle at 30% 22%,var(--xam-c5),var(--xam-c3) 28%,var(--xam-c4));
    box-shadow:inset -3px -4px 5px var(--xam-c4),0 0 12px var(--xam-c3);
}
.xam-cinema-particle.is-gold { border-radius:20%; box-shadow:0 0 10px var(--xam-c1); }
.xam-cinema-seal {
    left:-23%; top:12%; width:146%; aspect-ratio:1; border:3px solid var(--xam-c1);
    border-radius:50%; box-shadow:0 0 24px var(--xam-c1),inset 0 0 22px var(--xam-c2);
    background:repeating-conic-gradient(from 0deg,transparent 0deg 27deg,var(--xam-c1) 28deg 29deg,transparent 30deg);
    mask-image:radial-gradient(circle,transparent 62%,#000 63%);
    animation:xamCinemaSeal 1.2s ease-out both;
}
.xam-cinema-seal.is-inner { left:-7%; top:20%; width:114%; border-color:var(--xam-c2); animation-direction:reverse; }
.xam-cinema-orbit { inset:0; animation:xamCinemaOrbit 1.15s ease-out both; }
.xam-cinema-orbit-icon {
    left:50%; top:45%; width:42px; height:42px; object-fit:contain;
    transform:translate(-50%,-50%) rotate(var(--xam-orbit-angle)) translateY(-108px) rotate(var(--xam-orbit-counter));
    filter:drop-shadow(0 0 12px var(--xam-c1));
}
.xam-cinema.is-cast .xam-cinema-aura { opacity:.55; animation-duration:.85s; }
.xam-cinema-basic-spear {
    left:50%; top:50%; width:calc(170px*var(--xam-unit)); height:calc(34px*var(--xam-unit));
    transform-origin:100% 50%; filter:drop-shadow(0 0 12px var(--xam-c2));
    animation:xamCinemaBasicFlight .26s linear both;
}
.xam-cinema-basic-spear svg { inset:0; width:100%; height:100%; overflow:visible; }
.xam-cinema-basic-trail {
    left:-90%; top:-45%; width:185%; height:190%; border-radius:50%;
    background:linear-gradient(90deg,transparent,var(--xam-c2) 60%,var(--xam-c5));
    filter:blur(9px); opacity:.8;
}
.xam-cinema.is-basic-impact { --xam-tone:var(--xam-c3); }
.xam-cinema.is-basic-impact .xam-cinema-aura { left:-38%; top:-18%; width:176%; height:136%; animation-duration:.85s; }
.xam-cinema.is-basic-impact .xam-cinema-wave { width:82%; animation-duration:.65s; }
.xam-cinema.is-basic-impact .xam-cinema-wave.is-ground { height:20%; }
.xam-cinema.is-basic-impact .xam-cinema-particle { animation-duration:.7s; }
.xam-cinema.is-basic-impact .xam-cinema-eye { animation-duration:.85s; }
.xam-cinema-basic-cut {
    --xam-cut-angle:-42deg; left:-24%; top:50%; width:148%; height:7px; border-radius:50%;
    background:linear-gradient(90deg,transparent,var(--xam-c1) 15%,var(--xam-c5) 48%,var(--xam-c3) 85%,transparent);
    box-shadow:0 0 10px var(--xam-c5),0 0 24px var(--xam-c3);
    animation:xamCinemaBasicCut .52s ease-out var(--xam-impact) both;
}
.xam-cinema-basic-cut.is-cross { --xam-cut-angle:34deg; height:4px; animation-delay:calc(var(--xam-impact) + 35ms); }
.xam-cinema-telegraph {
    left:2%; top:45%; width:96%; height:16%; border:3px solid var(--xam-tone);
    border-radius:50%; box-shadow:0 0 16px var(--xam-tone),inset 0 0 20px var(--xam-tone);
    animation:xamCinemaTelegraph .34s ease-in both;
}
.xam-cinema-lance {
    left:50%; top:50%; width:calc(64px*var(--xam-unit)); height:calc(340px*var(--xam-unit));
    transform-origin:50% 100%; filter:drop-shadow(0 0 12px var(--xam-c2));
    animation:xamCinemaLance .72s linear both;
}
.xam-cinema-lance svg { inset:0; width:100%; height:100%; overflow:visible; }
.xam-spear-shaft { fill:var(--xam-c1); stroke:var(--xam-c5); stroke-width:2; }
.xam-spear-blade { fill:var(--xam-c5); stroke:var(--xam-c2); stroke-width:3; }
.xam-spear-trim { fill:var(--xam-c1); stroke:var(--xam-c5); stroke-width:3; }
.xam-cinema.is-space .xam-spear-blade { fill:var(--xam-c2); }
.xam-cinema.is-stone .xam-spear-blade { fill:var(--xam-c1); stroke:var(--xam-c5); }
.xam-cinema-lance>i {
    left:17%; bottom:20%; width:66%; height:170%; border-radius:50%;
    background:linear-gradient(0deg,var(--xam-c5),var(--xam-c2) 30%,transparent 90%);
    filter:blur(8px); opacity:.7;
}
.xam-cinema-cracks { inset:0; animation:xamCinemaCracks .85s ease-out var(--xam-impact) both; }
.xam-cinema-cracks :is(i,b,u) {
    left:-15%; top:50%; width:130%; height:5px; background:var(--xam-c5);
    clip-path:polygon(0 50%,20% 0,42% 67%,64% 0,100% 50%,63% 100%,42% 90%,20% 90%);
    filter:drop-shadow(0 0 9px var(--xam-c1)); transform:rotate(-24deg);
}
.xam-cinema-cracks b { transform:rotate(33deg); }
.xam-cinema-cracks u { transform:rotate(86deg); height:3px; }
.xam-cinema-shield {
    left:-12%; top:-8%; width:124%; height:116%; border:5px solid var(--xam-c1);
    background:linear-gradient(135deg,color-mix(in srgb,var(--xam-c2) 34%,transparent),transparent 48%,color-mix(in srgb,var(--xam-c1) 26%,transparent));
    clip-path:polygon(50% 0,94% 15%,100% 63%,50% 100%,0 63%,6% 15%);
    filter:drop-shadow(0 0 14px var(--xam-c2)); animation:xamCinemaShield 1.1s ease-out both;
}
.xam-cinema-shield.is-inner { inset:3% 0; width:100%; height:94%; border-width:2px; border-color:var(--xam-c2); animation-delay:50ms; }
.xam-cinema-ankh {
    left:30%; top:22%; width:40%; height:49%; fill:none; stroke:var(--xam-c5); stroke-width:6;
    filter:drop-shadow(0 0 12px var(--xam-c1)); animation:xamCinemaAnkh 1.12s ease-out var(--xam-impact) both;
}
.xam-cinema-venom-orb {
    left:50%; top:50%; width:calc(32px*var(--xam-unit)); height:calc(26px*var(--xam-unit));
    border-radius:60% 40% 65% 35%;
    background:radial-gradient(circle at 30% 20%,var(--xam-c5),var(--xam-c3) 28%,var(--xam-c4));
    box-shadow:0 0 18px var(--xam-c3),0 0 38px var(--xam-c3),inset -4px -6px 9px var(--xam-c4);
    animation:xamCinemaVenomFlight .42s cubic-bezier(.22,.45,.45,1) var(--xam-stagger) both;
}
.xam-cinema-venom-stream {
    left:50%; top:50%; width:var(--xam-travel-length); height:38px; transform-origin:0 50%;
    border-radius:50%; background:linear-gradient(90deg,transparent,var(--xam-c3),var(--xam-c5));
    filter:blur(9px); animation:xamCinemaStream .46s ease-out both;
}
.xam-cinema.is-venom { --xam-tone:var(--xam-c3); }
.xam-cinema.is-venom.is-surged { --xam-power:1.3; }
.xam-cinema-plume { left:-12%; top:2%; width:124%; height:80%; transform-origin:50% 70%; animation:xamCinemaPlume .95s ease-out var(--xam-impact) both; }
.xam-cinema-plume :is(i,b,u) {
    inset:10% 9% 0; border-radius:60% 40% 35% 40%;
    background:radial-gradient(ellipse at 38% 20%,var(--xam-c5),var(--xam-c3) 25%,color-mix(in srgb,var(--xam-c4) 78%,var(--xam-c3)) 61%,transparent 76%);
    filter:drop-shadow(0 0 16px var(--xam-c3)); clip-path:polygon(0 100%,7% 49%,20% 63%,25% 19%,38% 46%,50% 0,62% 46%,77% 17%,83% 63%,95% 42%,100% 100%);
}
.xam-cinema-plume b { inset:27% -12% -9%; opacity:.5; filter:blur(12px); transform:scaleX(1.2); }
.xam-cinema-plume u { inset:42% 5% -10%; opacity:.7; transform:rotateY(24deg); }
.xam-cinema-viper {
    left:20%; top:35%; width:60%; height:22%; border:9px solid var(--xam-c3); border-top-color:transparent;
    border-radius:50%; box-shadow:0 6px 12px var(--xam-c4); filter:drop-shadow(0 0 9px var(--xam-c3));
    animation:xamCinemaViper .9s ease-out calc(var(--xam-impact) + 40ms) both;
}
.xam-cinema.is-curse { --xam-tone:var(--xam-c4); }
.xam-cinema.is-curse .xam-cinema-aura { background:radial-gradient(ellipse,var(--xam-c4) 10%,color-mix(in srgb,var(--xam-c4) 68%,transparent) 40%,color-mix(in srgb,var(--xam-c1) 36%,transparent) 52%,transparent 71%); mix-blend-mode:normal; }
.xam-cinema-vortex {
    left:-35%; top:0; width:170%; aspect-ratio:1; border-radius:50%;
    background:repeating-conic-gradient(from 0deg,transparent 0 20deg,var(--xam-c4) 26deg 34deg,var(--xam-c1) 35deg,transparent 38deg 60deg);
    mask-image:radial-gradient(circle,transparent 18%,#000 40%,transparent 70%);
    animation:xamCinemaVortex 1.35s ease-out both;
}
.xam-cinema-gate {
    left:1%; top:-6%; width:98%; height:108%; border:8px solid var(--xam-c1); border-bottom-width:20px;
    border-radius:48% 48% 8% 8%; background:radial-gradient(ellipse at 50% 36%,var(--xam-c4),#080611 70%);
    box-shadow:inset 12px 0 12px #000,inset -10px 0 18px var(--xam-c2),0 0 20px var(--xam-c1),0 0 52px var(--xam-c4);
    transform-origin:50% 70%; animation:xamCinemaGate 1.32s ease-out var(--xam-impact) both;
}
.xam-cinema-eye {
    left:12%; top:22%; width:76%; height:36%; fill:none; stroke:var(--xam-c1); stroke-width:5;
    filter:drop-shadow(0 0 8px var(--xam-c1)) drop-shadow(0 0 24px var(--xam-c2));
    animation:xamCinemaEye 1.16s ease-out calc(var(--xam-impact) + 40ms) both;
}
.xam-cinema-eye ellipse { fill:var(--xam-c2); stroke:var(--xam-c5); }
.xam-cinema-eye circle { fill:var(--xam-c5); stroke:none; }
.xam-cinema-wrap { inset:-4% -24%; z-index:5; }
.xam-cinema-wrap>i {
    left:0; top:calc(14% + var(--xam-band)*9%); width:100%; height:5%;
    border-top:2px solid var(--xam-c5); border-bottom:2px solid var(--xam-c1);
    background:linear-gradient(180deg,var(--xam-c5),var(--xam-c1) 45%,var(--xam-c4));
    box-shadow:0 5px 10px #0008,0 0 9px var(--xam-c1); transform-origin:50% 50%;
    animation:xamCinemaBand 1.18s cubic-bezier(.12,.8,.25,1) calc(var(--xam-impact) + var(--xam-stagger)) both;
}
.xam-cinema-wrap>i:nth-child(even) { animation-name:xamCinemaBandReverse; }
.xam-cinema.is-treasure { --xam-tone:var(--xam-c1); }
.xam-cinema.is-treasure .xam-cinema-aura { left:-75%; width:250%; height:180%; top:-42%; animation-duration:1.55s; }
.xam-cinema.is-treasure .xam-cinema-column { left:5%; width:90%; top:-60%; height:130%; animation-duration:1.2s; }
.xam-cinema.is-treasure .xam-cinema-seal { animation-duration:1.7s; }
.xam-cinema.is-treasure .xam-cinema-orbit { animation-duration:1.7s; }
.xam-cinema.is-treasure .xam-cinema-ankh { top:-14%; animation-duration:1.48s; }
.xam-cinema-chest {
    left:12%; top:45%; width:76%; height:45%; overflow:visible;
    filter:drop-shadow(0 0 10px var(--xam-c1)); animation:xamCinemaChest 1.65s ease-out both;
}
.xam-chest-base,.xam-chest-lid { fill:var(--xam-c4); stroke:var(--xam-c1); stroke-width:4; stroke-linejoin:round; }
.xam-chest-front { fill:color-mix(in srgb,var(--xam-c4) 60%,#000); }
.xam-chest-trim { fill:none; stroke:var(--xam-c5); stroke-width:5; }
.xam-chest-gem { fill:var(--xam-c2); stroke:var(--xam-c5); stroke-width:2; }
.xam-chest-shadow { fill:#000; opacity:.7; }
.xam-cinema-chest .xam-chest-lid { position:static; transform-box:view-box; transform-origin:50% 46%; animation:xamCinemaLid .36s ease-out 220ms both; }
.xam-cinema-treasure-icon {
    left:50%; top:50%; width:calc(52px*var(--xam-unit)); height:calc(52px*var(--xam-unit));
    object-fit:contain; filter:drop-shadow(0 0 10px var(--xam-c1));
    animation:xamCinemaRelic 1.3s cubic-bezier(.12,.8,.22,1) calc(var(--xam-impact) + var(--xam-stagger)) both;
}
.xam-cinema-treasure-icon.is-new { width:calc(70px*var(--xam-unit)); height:calc(70px*var(--xam-unit)); filter:drop-shadow(0 0 8px var(--xam-c5)) drop-shadow(0 0 26px var(--xam-c2)); }

@keyframes xamCinemaAura { 0%{opacity:0;transform:scale(.35)} 9%{opacity:1;transform:scale(calc(1.06*var(--xam-power)))} 45%{opacity:.7} 100%{opacity:0;transform:scale(calc(1.2*var(--xam-power)))} }
@keyframes xamCinemaBasicFlight { 0%{opacity:0;transform:translate(-100%,-50%) rotate(var(--xam-travel-angle))} 8%,90%{opacity:1} 100%{opacity:0;transform:translate(calc(var(--xam-travel-x) - 100%),calc(var(--xam-travel-y) - 50%)) rotate(var(--xam-travel-angle))} }
@keyframes xamCinemaBasicCut { 0%{opacity:0;transform:rotate(var(--xam-cut-angle)) scaleX(.05)} 15%{opacity:1;transform:rotate(var(--xam-cut-angle)) scaleX(1.05)} 100%{opacity:0;transform:rotate(var(--xam-cut-angle)) scaleX(1.15)} }
@keyframes xamCinemaNile { 0%{opacity:0;transform:translateY(18%) scale(.3)} 12%{opacity:1;transform:translateY(0) scale(1)} 100%{opacity:0;transform:translateY(-25%) scale(1.4)} }
@keyframes xamCinemaCore { 0%{opacity:0;transform:translate(-50%,-50%) scale(.08)} 12%{opacity:1;transform:translate(-50%,-50%) scale(.85)} 100%{opacity:0;transform:translate(-50%,-50%) scale(1.5)} }
@keyframes xamCinemaWave { 0%{opacity:0;transform:translate(-50%,-50%) scale(.1) rotateX(32deg)} 12%{opacity:1} 100%{opacity:0;transform:translate(-50%,-50%) scale(calc(1.9*var(--xam-power))) rotateX(12deg)} }
@keyframes xamCinemaGround { 0%{opacity:0;transform:translate(-50%,-50%) scale(.15)} 10%{opacity:1} 100%{opacity:0;transform:translate(-50%,-50%) scale(calc(1.8*var(--xam-power)))} }
@keyframes xamCinemaColumn { 0%{opacity:0;transform:scaleX(.1) scaleY(.15)} 10%{opacity:1;transform:scale(1)} 100%{opacity:0;transform:scaleX(1.5) scaleY(1.1)} }
@keyframes xamCinemaDebris { 0%{opacity:0;transform:translate(0,0) rotate(0) scale(.25)} 10%{opacity:1} 45%{opacity:.95;transform:translate(calc(var(--xam-dx)*.62*var(--xam-unit)),calc(var(--xam-lift)*var(--xam-unit))) rotate(var(--xam-turn)) scale(1)} 100%{opacity:0;transform:translate(calc(var(--xam-dx)*var(--xam-unit)*var(--xam-power)),calc(var(--xam-dy)*var(--xam-unit) + 70px)) rotate(calc(var(--xam-turn) + 130deg)) scale(.7)} }
@keyframes xamCinemaSeal { 0%{opacity:0;transform:scale(.4) rotate(-65deg) rotateX(35deg)} 14%{opacity:.85} 70%{opacity:.5} 100%{opacity:0;transform:scale(1.2) rotate(90deg) rotateX(15deg)} }
@keyframes xamCinemaOrbit { 0%{opacity:0;transform:scale(.3) rotate(-40deg)} 15%{opacity:1} 65%{opacity:.8} 100%{opacity:0;transform:scale(1.2) rotate(45deg)} }
@keyframes xamCinemaTelegraph { 0%{opacity:0;transform:scale(1.5)} 50%{opacity:.85} 100%{opacity:0;transform:scale(.3)} }
@keyframes xamCinemaLance { 0%{opacity:0;transform:translate(-50%,calc(-100% - 280px)) scaleY(1.25)} 8%{opacity:1} 47%{opacity:1;transform:translate(-50%,-100%) scaleY(1)} 52%{opacity:1;transform:translate(-50%,-100%) scaleY(.94)} 70%{opacity:1;transform:translate(-50%,-100%) scaleY(1)} 100%{opacity:0;transform:translate(-50%,-100%) scaleY(1)} }
@keyframes xamCinemaCracks { 0%{opacity:0;transform:scale(.15)} 10%{opacity:1;transform:scale(1)} 100%{opacity:0;transform:scale(1.1)} }
@keyframes xamCinemaShield { 0%{opacity:0;transform:scale(.4) rotateY(-35deg)} 16%{opacity:1;transform:scale(1.03) rotateY(12deg)} 70%{opacity:.65} 100%{opacity:0;transform:scale(1.12) rotateY(0)} }
@keyframes xamCinemaAnkh { 0%{opacity:0;transform:translateY(30%) scale(.25)} 18%{opacity:1;transform:translateY(0) scale(1.1)} 70%{opacity:.85} 100%{opacity:0;transform:translateY(-10%) scale(1.15)} }
@keyframes xamCinemaVenomFlight { 0%{opacity:0;transform:translate(-50%,-50%) scale(.3)} 10%{opacity:1} 50%{opacity:1;transform:translate(calc(var(--xam-travel-x)*.5),calc(var(--xam-travel-y)*.5 + var(--xam-curve))) scale(1.2) rotate(150deg)} 100%{opacity:0;transform:translate(var(--xam-travel-x),var(--xam-travel-y)) scale(.7) rotate(290deg)} }
@keyframes xamCinemaStream { 0%{opacity:0;transform:rotate(var(--xam-travel-angle)) scaleX(.03)} 50%{opacity:.7;transform:rotate(var(--xam-travel-angle)) scaleX(.8)} 100%{opacity:0;transform:rotate(var(--xam-travel-angle)) scaleX(1)} }
@keyframes xamCinemaPlume { 0%{opacity:0;transform:scaleX(.2) scaleY(.1) rotateX(40deg)} 14%{opacity:1;transform:scaleX(1.15) scaleY(1.06) rotateX(-10deg)} 60%{opacity:.75;transform:scale(1.1) translateY(-6%)} 100%{opacity:0;transform:scale(1.35) translateY(-18%)} }
@keyframes xamCinemaViper { 0%{opacity:0;transform:scale(.1) rotateY(-55deg)} 20%{opacity:1;transform:scale(1.2) rotateY(20deg)} 100%{opacity:0;transform:scale(1.6) rotateY(0)} }
@keyframes xamCinemaVortex { 0%{opacity:0;transform:scale(1.6) rotate(-90deg)} 16%{opacity:.85;transform:scale(1) rotate(0)} 100%{opacity:0;transform:scale(1.25) rotate(150deg)} }
@keyframes xamCinemaGate { 0%{opacity:0;transform:scaleX(.08) scaleY(.7) rotateY(-40deg)} 14%{opacity:1;transform:scaleX(1.08) scaleY(1.04) rotateY(16deg)} 65%{opacity:.95;transform:scale(1) rotateY(-8deg)} 100%{opacity:0;transform:scale(1.18) rotateY(0)} }
@keyframes xamCinemaEye { 0%{opacity:0;transform:scale(.15) translateY(20%)} 17%{opacity:1;transform:scale(1.12)} 70%{opacity:.9;transform:scale(1)} 100%{opacity:0;transform:scale(1.45)} }
@keyframes xamCinemaBand { 0%{opacity:0;transform:translateX(-55%) rotate(-12deg) scaleX(.1) rotateY(-45deg)} 18%{opacity:1;transform:translateX(0) rotate(-12deg) scaleX(1.04) rotateY(15deg)} 72%{opacity:.9;transform:rotate(-12deg) scaleX(1)} 100%{opacity:0;transform:translateX(12%) rotate(-8deg) scaleX(1.08)} }
@keyframes xamCinemaBandReverse { 0%{opacity:0;transform:translateX(55%) rotate(10deg) scaleX(.1) rotateY(45deg)} 18%{opacity:1;transform:translateX(0) rotate(10deg) scaleX(1.04) rotateY(-15deg)} 72%{opacity:.9;transform:rotate(10deg) scaleX(1)} 100%{opacity:0;transform:translateX(-12%) rotate(8deg) scaleX(1.08)} }
@keyframes xamCinemaChest { 0%{opacity:0;transform:translateY(35%) scale(.6)} 13%{opacity:1;transform:translateY(0) scale(1.08)} 25%,72%{opacity:1;transform:scale(1)} 100%{opacity:0;transform:translateY(12%) scale(.9)} }
@keyframes xamCinemaLid { 0%{transform:rotateX(0)} 55%{transform:rotateX(115deg)} 100%{transform:rotateX(100deg)} }
@keyframes xamCinemaRelic { 0%{opacity:0;transform:translate(-50%,60px) scale(.1)} 25%{opacity:1;transform:translate(calc(-50% + var(--xam-relic-x)*var(--xam-unit)),-105px) scale(1.15)} 65%{opacity:1;transform:translate(calc(-50% + var(--xam-relic-x)*var(--xam-unit)),-90px) scale(1)} 100%{opacity:0;transform:translate(-50%,-25px) scale(.35)} }

/* Csillag Xamandra: cobalt constellations, aqua prism faces and comet dust. */
.xam-cinema.is-star { --xam-tone:var(--xam-c4); }
.xam-cinema.is-star .xam-cinema-core {
    background:radial-gradient(circle,#fff 0 3%,var(--xam-c2) 8%,var(--xam-c4) 17%,color-mix(in srgb,var(--xam-c1) 48%,transparent) 34%,transparent 63%);
}
.xam-cinema.is-star .xam-cinema-wave { border-color:var(--xam-c2); border-width:2px; box-shadow:0 0 13px var(--xam-c4),inset 0 0 9px var(--xam-c1); }
.xam-cinema.is-star .xam-cinema-wave.is-second { border-color:var(--xam-c1); border-style:dashed; }
.xam-cinema.is-star .xam-cinema-seal { border-color:var(--xam-c4); background:repeating-conic-gradient(transparent 0deg 28deg,var(--xam-c2) 29deg 30deg,transparent 31deg 60deg); }
.xam-cinema.is-star .xam-cinema-column {
    background:linear-gradient(90deg,transparent,var(--xam-c1),var(--xam-c4) 36%,var(--xam-c2) 49%,var(--xam-c4) 54%,var(--xam-c1),transparent);
    clip-path:polygon(49% 0,51% 0,100% 100%,65% 82%,50% 100%,35% 82%,0 100%);
}
.xam-cinema.is-star .xam-spear-shaft { fill:var(--xam-c1); stroke:var(--xam-c4); }
.xam-cinema.is-star .xam-spear-blade { fill:var(--xam-c4); stroke:var(--xam-c2); stroke-width:2; }
.xam-cinema.is-star .xam-star-facet { fill:var(--xam-c1); fill-opacity:.7; stroke:var(--xam-c4); stroke-width:2; }
.xam-cinema.is-star .xam-star-facet.is-light { fill:var(--xam-c4); fill-opacity:.66; stroke:none; }
.xam-cinema.is-star .xam-star-wire { fill:none; stroke:var(--xam-c2); stroke-width:1.2; stroke-linejoin:round; }
.xam-cinema.is-star .xam-star-spark { fill:var(--xam-c2); stroke:none; }
.xam-cinema.is-star .xam-star-orbit-line { fill:none; stroke:var(--xam-c4); stroke-width:1.5; }
.xam-cinema.is-star .xam-cinema-particle {
    border-radius:0; background:linear-gradient(135deg,var(--xam-c2),var(--xam-c4) 35%,var(--xam-c1) 66%,var(--xam-c5));
    clip-path:polygon(50% 0,61% 35%,100% 50%,61% 65%,50% 100%,39% 65%,0 50%,39% 35%);
    filter:drop-shadow(0 0 5px var(--xam-c4));
}
.xam-cinema.is-star .xam-cinema-particle:nth-child(3n) { clip-path:polygon(50% 0,90% 27%,76% 80%,50% 100%,24% 80%,10% 27%); }
.xam-cinema.is-star .xam-cinema-particle.is-venom { border-radius:0; box-shadow:none; }
.xam-cinema.is-star .xam-cinema-basic-trail {
    top:7%; height:86%; left:-170%; width:265%; filter:blur(3px);
    background:linear-gradient(90deg,transparent,var(--xam-c1) 30%,var(--xam-c4) 68%,var(--xam-c2));
    clip-path:polygon(0 45%,54% 0,100% 39%,100% 62%,56% 100%);
}
.xam-cinema.is-star .xam-cinema-basic-trail::after {
    content:""; position:absolute; inset:41% 0;
    background:linear-gradient(90deg,transparent,var(--xam-c2)); box-shadow:0 -9px 8px var(--xam-c1),0 9px 8px var(--xam-c4);
}
.xam-cinema.is-star .xam-cinema-basic-cut { background:linear-gradient(90deg,transparent,var(--xam-c1),var(--xam-c2),var(--xam-c4),transparent); box-shadow:0 0 12px var(--xam-c4); }
.xam-cinema.is-star .xam-cinema-lance>i { background:linear-gradient(0deg,var(--xam-c2),var(--xam-c4) 24%,var(--xam-c1) 58%,transparent); filter:blur(5px); }
.xam-cinema.is-star .xam-cinema-cracks :is(i,b,u) { background:var(--xam-c2); filter:drop-shadow(0 0 9px var(--xam-c4)); }
.xam-cinema.is-star .xam-cinema-shield {
    border-color:var(--xam-c4); clip-path:polygon(50% 0,92% 23%,94% 70%,50% 100%,6% 70%,8% 23%);
    background:conic-gradient(from 30deg at 50% 45%,#c8fdfe35,transparent 18%,#5670e950 28%,transparent 43%,#77f8ed45 62%,transparent 83%,#c8fdfe35);
}
.xam-cinema.is-star .xam-star-prism { left:28%; top:13%; width:44%; height:62%; stroke-width:2; filter:drop-shadow(0 0 9px var(--xam-c2)) drop-shadow(0 0 21px var(--xam-c1)); }
.xam-cinema.is-star .xam-cinema-venom-orb {
    border-radius:0; clip-path:polygon(50% 0,61% 31%,100% 50%,61% 69%,50% 100%,39% 69%,0 50%,39% 31%);
    background:conic-gradient(from 45deg,var(--xam-c2),var(--xam-c4),var(--xam-c1),var(--xam-c2));
    box-shadow:none; filter:drop-shadow(0 0 9px var(--xam-c4));
}
.xam-cinema.is-star .xam-cinema-venom-stream { height:24px; background:linear-gradient(90deg,transparent,var(--xam-c1) 30%,var(--xam-c4) 73%,var(--xam-c2)); filter:blur(5px); }
.xam-cinema.is-star .xam-cinema-plume :is(i,b,u) {
    clip-path:none; border-radius:50%;
    background:radial-gradient(ellipse at 38% 20%,#c8fdfe90,transparent 19%),conic-gradient(from 35deg,var(--xam-c5),var(--xam-c1),var(--xam-c4),var(--xam-c3),var(--xam-c1),var(--xam-c5));
    mask-image:radial-gradient(ellipse,#000 18%,#000b 40%,transparent 72%); filter:blur(7px); opacity:.8;
}
.xam-cinema.is-star .xam-cinema-viper { border-color:var(--xam-c4); border-top-color:transparent; border-width:4px; box-shadow:0 0 14px var(--xam-c1); filter:drop-shadow(0 0 8px var(--xam-c2)); }
.xam-cinema.is-star.is-curse { --xam-tone:var(--xam-c1); }
.xam-cinema.is-star.is-curse .xam-cinema-aura { background:radial-gradient(ellipse,var(--xam-c5) 10%,#013f6e88 33%,#5670e972 48%,transparent 71%); }
.xam-cinema.is-star .xam-cinema-vortex { background:repeating-conic-gradient(from 10deg,transparent 0deg 34deg,var(--xam-c1) 38deg,var(--xam-c4) 42deg,transparent 47deg 60deg); }
.xam-cinema.is-star .xam-cinema-gate {
    border:2px solid var(--xam-c4); border-radius:50%;
    background:radial-gradient(circle at 25% 21%,var(--xam-c2) 0 1px,transparent 2px),radial-gradient(circle at 71% 32%,var(--xam-c4) 0 1px,transparent 2px),radial-gradient(ellipse,var(--xam-c5),#013f6ef0 62%,var(--xam-c1));
    background-size:43px 47px,67px 61px,100% 100%;
    box-shadow:inset 0 0 28px var(--xam-c1),0 0 17px var(--xam-c4),0 0 42px var(--xam-c5);
}
.xam-cinema.is-star .xam-star-eye { top:22%; stroke-width:2; filter:drop-shadow(0 0 9px var(--xam-c4)); }
.xam-cinema.is-star .xam-star-eye circle { fill:var(--xam-c2); }
.xam-cinema.is-star .xam-cinema-wrap>i {
    height:1.5%; border-top:1px solid var(--xam-c2); border-bottom:0;
    background:linear-gradient(90deg,transparent,var(--xam-c1),var(--xam-c4),var(--xam-c2),transparent);
    box-shadow:0 0 11px var(--xam-c4); clip-path:polygon(0 50%,38% 30%,50% 0,62% 30%,100% 50%,62% 70%,50% 100%,38% 70%);
}
.xam-cinema.is-star .xam-star-chest { filter:drop-shadow(0 0 12px var(--xam-c4)); }
.xam-cinema.is-star .xam-chest-base,.xam-cinema.is-star .xam-chest-lid { fill:var(--xam-c3); stroke:var(--xam-c4); stroke-width:2; }
.xam-cinema.is-star .xam-chest-front { fill:var(--xam-c5); }
.xam-cinema.is-star .xam-chest-trim { stroke:var(--xam-c2); stroke-width:1.5; }
.xam-cinema.is-star .xam-chest-gem { fill:var(--xam-c2); stroke:var(--xam-c4); }
.xam-cinema.is-star.is-treasure .xam-star-prism { top:-30%; }
.xam-cinema.is-star .xam-cinema-treasure-icon { filter:drop-shadow(0 0 10px var(--xam-c4)); }
.xam-cinema.is-star .xam-cinema-treasure-icon.is-new { filter:drop-shadow(0 0 9px var(--xam-c2)) drop-shadow(0 0 26px var(--xam-c4)); }
.xam-star-nebula {
    z-index:-2; inset:-26% -46%; border-radius:50%; mix-blend-mode:screen;
    background:radial-gradient(ellipse at 31% 52%,#77f8ed38,transparent 40%),radial-gradient(ellipse at 70% 34%,#5670e961,transparent 46%),radial-gradient(ellipse,#2c2d6670,transparent 70%);
    filter:blur(9px); animation:xamStarNebula 1.25s ease-out var(--xam-impact) both;
}
.xam-star-constellation {
    left:-24%; top:2%; width:148%; aspect-ratio:1; overflow:visible;
    fill:none; stroke:var(--xam-c4); stroke-width:.8;
    filter:drop-shadow(0 0 4px var(--xam-c1));
    animation:xamStarConstellation 1.25s cubic-bezier(.16,.8,.24,1) var(--xam-impact) both;
}
.xam-star-constellation path { stroke-dasharray:1500; animation:xamStarTrace .7s ease-out var(--xam-impact) both; }
.xam-star-constellation circle { fill:var(--xam-c2); stroke-width:1.5; }
.xam-cinema.is-basic-impact .xam-star-constellation { left:-5%; width:110%; top:13%; animation-duration:.7s; }
.xam-cinema.is-curse .xam-star-constellation { z-index:6; stroke-width:1.4; animation-duration:1.35s; }
.xam-cinema.is-treasure .xam-star-constellation { left:-49%; top:-12%; width:198%; animation-duration:1.55s; }
.xam-cinema.is-cast .xam-star-constellation { opacity:.65; }
.xam-star-firmament { z-index:7; inset:-22% -25%; }
.xam-star-glint {
    left:var(--xam-star-x); top:var(--xam-star-y); width:calc(var(--xam-star-size)*var(--xam-unit)); aspect-ratio:1;
    background:var(--xam-c2); clip-path:polygon(50% 0,60% 38%,100% 50%,60% 62%,50% 100%,40% 62%,0 50%,40% 38%);
    filter:drop-shadow(0 0 6px var(--xam-c4));
    animation:xamStarGlint .95s ease-out calc(var(--xam-impact) + var(--xam-stagger)) both;
}
.xam-star-glint:nth-child(2n) { background:var(--xam-c4); }
.xam-star-meteor {
    z-index:5; left:-9%; top:10%; width:5px; height:180px; transform-origin:50% 100%; border-radius:100% 100% 3px 3px;
    background:linear-gradient(0deg,var(--xam-c2),var(--xam-c4) 15%,#5670e98f 45%,transparent);
    filter:drop-shadow(0 0 6px var(--xam-c4));
    animation:xamStarMeteor .58s cubic-bezier(.3,0,.8,.6) calc(var(--xam-impact) - 180ms) both;
}
.xam-star-meteor.is-second { left:62%; top:-18%; height:240px; animation-delay:calc(var(--xam-impact) - 100ms); }
.xam-star-meteor.is-third { left:113%; top:21%; width:3px; height:130px; animation-delay:calc(var(--xam-impact) - 20ms); }
.xam-cinema.is-treasure .xam-star-meteor { animation-delay:calc(var(--xam-impact) + 70ms); }
.xam-cinema.is-treasure .xam-star-meteor.is-second { animation-delay:calc(var(--xam-impact) + 170ms); }
.xam-cinema.is-treasure .xam-star-meteor.is-third { animation-delay:calc(var(--xam-impact) + 270ms); }
@keyframes xamStarNebula { 0%{opacity:0;transform:scale(.3) rotate(-25deg)} 25%{opacity:.8} 100%{opacity:0;transform:scale(1.25) rotate(30deg)} }
@keyframes xamStarConstellation { 0%{opacity:0;transform:scale(.5) rotate(-35deg) rotateX(32deg)} 20%{opacity:.9;transform:scale(1) rotate(-12deg) rotateX(12deg)} 65%{opacity:.72} 100%{opacity:0;transform:scale(1.14) rotate(24deg) rotateX(0)} }
@keyframes xamStarTrace { from{stroke-dashoffset:1500} to{stroke-dashoffset:0} }
@keyframes xamStarGlint { 0%{opacity:0;transform:translateY(15px) rotate(var(--xam-star-turn)) scale(0)} 23%{opacity:1;transform:translateY(0) rotate(var(--xam-star-turn)) scale(1.25)} 65%{opacity:.85;transform:translateY(-13px) rotate(calc(var(--xam-star-turn) + 28deg)) scale(.8)} 100%{opacity:0;transform:translateY(-29px) rotate(calc(var(--xam-star-turn) + 60deg)) scale(0)} }
@keyframes xamStarMeteor { 0%{opacity:0;transform:translate(-95px,-170px) rotate(-31deg) scaleY(.4)} 20%{opacity:.95} 70%{opacity:1} 100%{opacity:0;transform:translate(50px,75px) rotate(-31deg) scaleY(.1)} }

/* Persistent relic sockets also follow the equipped constellation skin. */
.xamandra-relic-slots[data-xamandra-theme="star"] .xamandra-relic-slot {
    border-color:#5670e9; border-radius:9px 3px 9px 3px;
    background:radial-gradient(circle at 28% 20%,#77f8ed38,transparent 45%),linear-gradient(135deg,#2c2d66,#013f6e 60%,#0a152d);
    box-shadow:inset 0 0 0 2px #013f6e,inset 0 0 0 3px #c8fdfe44,0 4px 10px #0009,0 0 10px #5670e966;
}
.xamandra-relic-slots[data-xamandra-theme="star"] .xamandra-relic-slot::before { border-color:#77f8ed65; background:linear-gradient(120deg,transparent 25%,#c8fdfe26 48%,transparent 65%); box-shadow:inset 0 0 12px #5670e933; }
.xamandra-relic-slots[data-xamandra-theme="star"] .xamandra-relic-slot:focus-visible { outline-color:#c8fdfe; }
.xamandra-relic-slots[data-xamandra-theme="star"] .xamandra-relic-slot.is-owned { border-color:#77f8ed; box-shadow:inset 0 0 0 2px #013f6e,inset 0 0 0 3px #c8fdfe77,0 0 10px #77f8ed80,0 0 22px #5670e95c; }
.xamandra-relic-slots[data-xamandra-theme="star"] .xamandra-relic-slot.is-owned .xamandra-relic-icon { filter:drop-shadow(0 2px 3px #000b) drop-shadow(0 0 7px #77f8ed80); }
.xamandra-relic-slots[data-xamandra-theme="star"] .xamandra-relic-glyph { font-size:0; color:#77f8ed; filter:none; text-shadow:0 0 8px #5670e9; }
.xamandra-relic-slots[data-xamandra-theme="star"] .xamandra-relic-glyph::after { content:"✦"; font-size:1.7rem; }
.xamandra-relic-slots[data-xamandra-theme="star"] .xamandra-relic-slot[data-relic-key="nilus_kulcsa"].is-owned::after { color:#c8fdfe; border-color:#77f8edcc; background:#013f6e; }
.xamandra-relic-slots[data-xamandra-theme="star"] .xamandra-relic-slot.is-new { animation-name:xamStarRelicGrant; }
.xamandra-relic-slots[data-xamandra-theme="star"] .xamandra-relic-slot.is-new::before { animation-name:xamStarRelicSweep; }
.xamandra-relic-slots[data-xamandra-theme="star"] .xamandra-relic-slot.is-surge-ready { animation-name:xamStarRelicPulse; }
.xamandra-relic-slots[data-xamandra-theme="star"] .xamandra-relic-arc::before,
.xamandra-relic-slots[data-xamandra-theme="star"] .xamandra-relic-arc::after { border-color:#c8fdfe; background:radial-gradient(ellipse at 100% 50%,#77f8ed73,transparent 65%); filter:drop-shadow(0 0 4px #77f8ed) drop-shadow(0 0 11px #5670e9); }
@keyframes xamStarRelicGrant { 0%{transform:scale(.72) rotate(-7deg);filter:brightness(2);box-shadow:0 0 22px #c8fdfe,0 0 48px #77f8ed,0 0 70px #5670e9} 38%{transform:scale(1.2) rotate(2deg);filter:brightness(1.4)} 100%{transform:scale(1);filter:brightness(1)} }
@keyframes xamStarRelicSweep { 0%,14%{background:#c8fdfef0;box-shadow:0 0 24px #77f8ed} 100%{background:#5670e915;box-shadow:inset 0 0 12px #5670e930} }
@keyframes xamStarRelicPulse { 0%,100%{box-shadow:inset 0 0 0 1px #c8fdfeb3,0 0 9px #77f8edbf,0 0 18px #5670e980} 50%{box-shadow:inset 0 0 0 1px #c8fdfee6,0 0 15px #77f8edf2,0 0 30px #5670e9bf} }

/* The floating relic tooltip receives the same theme as its owning hero. */
body.v3-body > .item-tooltip-floating.v3-tooltip-tone-xamandra[data-xamandra-theme="star"] {
    --v3-tooltip-accent:#77F8ED; --v3-tooltip-accent-rgb:119,248,237; --v3-tooltip-value:#C8FDFE;
    color:#c8fdfe; border-color:#77f8edbc;
    background:radial-gradient(circle at 12% 15%,#c8fdfe 0 1px,transparent 2px),radial-gradient(circle at 86% 26%,#77f8ed 0 1px,transparent 2px),radial-gradient(ellipse at 96% 0,#5670e94d,transparent 57%),linear-gradient(140deg,#2c2d66fa,#013f6ef7 60%,#091329fa);
    box-shadow:0 16px 42px #000b,0 0 0 1px #c8fdfe26,0 0 28px #5670e94d;
}
body.v3-body > .item-tooltip-floating.v3-tooltip-tone-xamandra[data-xamandra-theme="star"]::before,
body.v3-body > .item-tooltip-floating.v3-tooltip-tone-xamandra[data-xamandra-theme="star"]::after { border-color:#77f8edbc; background:#013f6e; box-shadow:0 0 9px #5670e975; }
body.v3-body > .item-tooltip-floating.v3-tooltip-tone-xamandra[data-xamandra-theme="star"] .v3-tooltip-kicker { color:#77f8ed; }
body.v3-body > .item-tooltip-floating.v3-tooltip-tone-xamandra[data-xamandra-theme="star"] .v3-tooltip-heading > strong { color:#c8fdfe; text-shadow:0 0 12px #5670e980; }
body.v3-body > .item-tooltip-floating.v3-tooltip-tone-xamandra[data-xamandra-theme="star"] :is(.item-tooltip-stat,.item-tooltip-stat strong,.item-tooltip-desc,.item-tooltip-desc strong) { color:#c8fdfe; }
body.v3-body > .item-tooltip-floating.v3-tooltip-tone-xamandra[data-xamandra-theme="star"] .item-tooltip-stat { background:#5670e925; border-color:#77f8ed45; }
body.v3-body > .item-tooltip-floating.v3-tooltip-tone-xamandra[data-xamandra-theme="star"] .v3-tooltip-icon { border-color:#77f8ed99; background:#2c2d66; box-shadow:0 0 16px #5670e95c; }

@media (prefers-reduced-motion:reduce) {
    .xam-cinema::after { display:none; }
    .xam-cinema *, .xam-cinema *::before, .xam-cinema *::after { animation:none!important; }
    .xam-cinema :is(.xam-cinema-basic-spear,.xam-cinema-lance,.xam-cinema-particle,.xam-cinema-venom-orb,.xam-cinema-venom-stream,.xam-cinema-orbit,.xam-cinema-vortex,.xam-cinema-core,.xam-cinema-wave,.xam-cinema-column,.xam-cinema-wrap,.xam-cinema-treasure-icon) { display:none; }
    .xam-cinema-aura { opacity:.45; }
    .xam-cinema :is(.xam-star-meteor,.xam-star-firmament,.xam-star-nebula,.xam-star-constellation) { display:none; }
    .xamandra-relic-slots[data-xamandra-theme="star"] *, .xamandra-relic-slots[data-xamandra-theme="star"] *::before, .xamandra-relic-slots[data-xamandra-theme="star"] *::after { animation:none!important; }
}
