/* Kaelen: slow, layered card choreography, shared with the Hero Codex. */
/* Cyber: target acquisition, overclock traces, firewall plates and a wireframe predator. */
[data-kaelen-skin=cyber] .kc-claw{color:var(--kc5);filter:drop-shadow(0 0 3px var(--kc5)) drop-shadow(0 0 13px var(--kc2))}
[data-kaelen-skin=cyber] .kc-claw svg{fill:color-mix(in srgb,var(--kc5) 25%,transparent);stroke:var(--kc5);stroke-width:2.2;stroke-dasharray:16 3 4 3}
[data-kaelen-skin=cyber] .kc-claw--1{color:var(--kc2)}
[data-kaelen-skin=cyber] .kc-sand i{border-radius:0;background:var(--kc5);box-shadow:0 0 7px var(--kc2),8px 14px 0 var(--kc3);animation-name:kc-cyber-data}
[data-kaelen-skin=cyber] .kc-bolt{border-radius:0;height:2px;background:repeating-linear-gradient(90deg,var(--kc5) 0 15px,transparent 15px 19px,var(--kc2) 19px 25px);box-shadow:0 0 8px var(--kc5)}
[data-kaelen-skin=cyber] .kc-impact{border-radius:2px;border-style:dashed;border-color:var(--kc5);background:repeating-linear-gradient(0deg,transparent 0 9px,#DF5A161c 9px 10px);box-shadow:inset 0 0 28px var(--kc3),0 0 24px var(--kc2)}
.kc-cyber-hud{position:absolute;inset:0;z-index:9;pointer-events:none;overflow:visible;color:var(--kc5)}
.kc-cyber-grid{position:absolute;inset:3%;border:1px solid #FD762E77;background:linear-gradient(90deg,#DF5A1633 1px,transparent 1px),linear-gradient(#DF5A1633 1px,transparent 1px);background-size:24px 24px;opacity:.5;mask-image:linear-gradient(90deg,#000,transparent 35% 65%,#000)}
.kc-cyber-scan{position:absolute;inset:3%;overflow:hidden;pointer-events:none}
.kc-cyber-scan:after{content:"";position:absolute;left:0;top:-15%;width:100%;height:12%;border-bottom:2px solid var(--kc5);background:linear-gradient(transparent,#DF5A1644);box-shadow:0 5px 15px #FD762E66;animation:kc-cyber-scan 2.6s linear infinite}
.kc-cyber-lock{position:absolute;inset:4%;filter:drop-shadow(0 0 6px var(--kc5))}
.kc-cyber-lock i{position:absolute;width:18%;height:12%;border:0 solid var(--kc5);opacity:.85}
.kc-cyber-lock i:nth-child(1){left:0;top:0;border-top-width:3px;border-left-width:3px}
.kc-cyber-lock i:nth-child(2){right:0;top:0;border-top-width:3px;border-right-width:3px}
.kc-cyber-lock i:nth-child(3){left:0;bottom:0;border-bottom-width:3px;border-left-width:3px}
.kc-cyber-lock i:nth-child(4){right:0;bottom:0;border-bottom-width:3px;border-right-width:3px}
.kc-cyber-reticle{position:absolute;left:14%;top:25%;width:72%;aspect-ratio:1;border:2px dashed var(--kc5);border-radius:50%;box-shadow:0 0 10px #DF5A1666,inset 0 0 15px #942D0B66}
.kc-cyber-reticle:before,.kc-cyber-reticle:after{content:"";position:absolute;inset:12%;border:1px solid var(--kc2);transform:rotate(45deg)}
.kc-cyber-reticle:after{inset:25%;border-color:var(--kc5);transform:rotate(0deg)}
.kc-cyber-predator{position:absolute;inset:17% 8%;color:var(--kc5);filter:drop-shadow(0 0 4px var(--kc5)) drop-shadow(0 0 13px var(--kc3));background:repeating-linear-gradient(0deg,transparent 0 4px,#DF5A161a 4px 5px)}
.kc-cyber-predator svg{fill:none!important}
.kc-cyber-packet{position:absolute;width:7px;height:7px;border:1px solid var(--kc5);background:#DF5A1655;box-shadow:0 0 8px var(--kc2);color:var(--kc5);font:700 10px/1 monospace}
.kc-cyber-packet:nth-child(3n){width:17px;height:10px;border:0;background:none}
.kc-cyber-hud--claws .kc-cyber-grid{opacity:.9;background-size:13px 18px}
.kc-cyber-hud--overclock .kc-cyber-reticle{border-radius:6%;border-width:4px;border-style:double;box-shadow:0 0 25px var(--kc2)}
.kc-cyber-hud--overclock .kc-cyber-grid{opacity:.85;transform:skewY(-12deg);background-size:14px 28px}
.kc-cyber-hud--firewall .kc-cyber-reticle{left:5%;top:5%;width:90%;height:90%;aspect-ratio:auto;border-radius:8%;border:4px double var(--kc5);background:repeating-linear-gradient(60deg,transparent 0 22px,#D45F0B33 22px 24px)}
.kc-cyber-hud--firewall .kc-cyber-grid{mask-image:none;background-size:26px 32px;opacity:.65}
.kc-cyber-hud--beast .kc-cyber-reticle{border-width:4px;box-shadow:0 0 30px var(--kc2)}
[data-kaelen-skin=cyber] .kc-shell-cast-plume{border-radius:0;filter:none;background:repeating-linear-gradient(90deg,transparent 0 16px,#DF5A1644 16px 18px);clip-path:polygon(0 100%,0 25%,25% 25%,25% 0,55% 0,55% 40%,100% 40%,100% 100%)}
[data-kaelen-skin=cyber] .kc-shell-cast-grain{border-radius:0;background:var(--kc5);border:1px solid var(--kc2)}
[data-kaelen-skin=cyber] .kc-shell-cast-crest,[data-kaelen-skin=cyber] .kc-shell-edge{border-radius:5px;border-color:var(--kc5);border-style:double}
[data-kaelen-skin=cyber] .kc-shell-edge:after{border-radius:2px;border-style:dashed}
[data-kaelen-skin=cyber] .kc-shell-veil{background:linear-gradient(90deg,#DF5A1655,transparent 15% 85%,#DF5A1655),repeating-linear-gradient(0deg,transparent 0 12px,#D45F0B11 12px 13px)}
[data-kaelen-skin=cyber] .kc-speed-lines i{height:3px;background:repeating-linear-gradient(90deg,transparent 0 8px,var(--kc5) 8px 20px,transparent 20px 26px,var(--kc3) 26px 42px);animation-timing-function:steps(8,end)}
[data-kaelen-skin=cyber] .kc-darkness{background:radial-gradient(ellipse,#070505e8 20%,#942D0B99);box-shadow:inset 0 0 60px #070505,0 0 25px var(--kc3)}
[data-kaelen-skin=cyber] .kc-smoke i,[data-kaelen-skin=cyber] .kc-frame-smoke i{border-radius:0;filter:none;background:repeating-linear-gradient(90deg,transparent 0 12px,#DF5A1633 12px 14px);animation-timing-function:steps(10,end)}
[data-kaelen-skin=cyber] .kc-eyes{color:var(--kc5);filter:drop-shadow(0 0 5px var(--kc5)) drop-shadow(0 0 18px var(--kc2))}
[data-kaelen-skin=cyber] .kc-beast-frame{border-radius:4px;border-style:dashed;border-color:var(--kc5)}
[data-kaelen-skin=cyber] .kc-beast-frame:before,[data-kaelen-skin=cyber] .kc-beast-frame:after{border-left-color:var(--kc2);border-right-color:var(--kc5)}
.kc-cyber-predator.is-persistent{inset:auto 5% 5% auto;width:38%;height:31%;opacity:.65;animation:kc-cyber-ghost 3s ease-in-out infinite}
[data-kaelen-skin=cyber] .kc-frame-motif{right:auto;left:-5%;width:30%}
[data-kaelen-skin=cyber] .kc-tempo-ring{border-radius:8%;border-color:var(--kc5);border-style:dashed}
@keyframes kc-cyber-scan{to{transform:translateY(1000%)}}
@keyframes kc-cyber-data{0%{opacity:0;transform:translate(0,30px)}20%,70%{opacity:.85}50%{transform:translate(15px,-10px)}100%{opacity:0;transform:translate(15px,-65px)}}
@keyframes kc-cyber-ghost{0%,100%{opacity:.45;filter:drop-shadow(0 0 4px var(--kc5))}50%{opacity:.85;filter:drop-shadow(0 0 11px var(--kc2))}}
@media(prefers-reduced-motion:reduce){[data-kaelen-skin=cyber] .kc-cyber-scan:after{animation:none;top:45%}}
.kc-scene,.kc-persistent{position:absolute;inset:0;border-radius:inherit;pointer-events:none!important;z-index:35;isolation:isolate;color:var(--kc4)}
.kc-scene *,.kc-persistent *{box-sizing:border-box;pointer-events:none!important}
.kc-scene svg,.kc-persistent svg{width:100%;height:100%;fill:currentColor;overflow:visible}
.kc-scene img,.kc-persistent img{width:100%;height:100%;object-fit:contain}
.kc-sand{position:absolute;inset:-8%;overflow:hidden;border-radius:20%;z-index:3}
.kc-sand i{position:absolute;left:var(--x);top:var(--y);width:4px;height:4px;border-radius:50%;background:var(--kc4);box-shadow:0 0 8px var(--kc5),8px 14px 0 var(--kc1),-12px 25px 1px var(--kc3);animation:kc-sand-dance 3.6s var(--delay) linear infinite}
.kc-sand i:nth-child(3n){width:7px;height:3px;background:var(--kc3)}
.kc-claw{position:absolute;inset:-4% 8%;z-index:6;color:var(--kc3);filter:drop-shadow(0 0 5px var(--kc5)) drop-shadow(0 0 13px var(--kc4));transform:rotate(-15deg)}
.kc-claw svg{stroke:var(--kc2);stroke-width:1.6}
.kc-claw--1{transform:scaleX(-1) rotate(-12deg);inset:3% 4% -3% 14%;color:var(--kc4)}
.kc-hit{background:transparent}
.kc-hit.is-feral .kc-claw{inset:-15% -5%;filter:drop-shadow(0 0 8px var(--kc3)) drop-shadow(0 0 22px var(--kc5));}
.kc-hit.is-electric .kc-claw{filter:drop-shadow(0 0 7px var(--kc3)) drop-shadow(0 0 21px var(--kc5))}
.kc-hit.is-beast .kc-claw{inset:-22% -15%;filter:drop-shadow(0 0 9px var(--kc3)) drop-shadow(0 0 32px var(--kc4)) drop-shadow(0 0 45px var(--kc5))}
.kc-hit.is-beast .kc-impact{border-width:6px;box-shadow:inset 0 0 60px var(--kc1),0 0 55px var(--kc4)}
.kc-impact{position:absolute;inset:0;border:3px solid var(--kc4);border-radius:inherit;background:radial-gradient(ellipse,transparent 20%,color-mix(in srgb,var(--kc5) 40%,transparent));box-shadow:inset 0 0 30px var(--kc1),0 0 28px var(--kc4)}
.kc-bolt{position:absolute;width:48%;height:3px;z-index:8;transform-origin:center;background:var(--kc3);box-shadow:0 0 5px var(--kc3),0 0 15px var(--kc4),0 0 30px var(--kc5);border-radius:50%}
.kc-summon-motif{position:absolute;left:50%;top:46%;width:83%;height:62%;z-index:4;color:var(--kc1);filter:drop-shadow(0 0 9px var(--kc4))}
[data-kaelen-skin=ko] .kc-summon-motif{width:115%;color:var(--kc1);filter:drop-shadow(0 0 3px var(--kc5)) drop-shadow(0 0 15px var(--kc4))}
.kc-fossil{fill:none!important;stroke:var(--kc3);stroke-width:4;stroke-linejoin:round}
.kc-orbit{position:absolute;inset:-6%;z-index:5;animation:kc-orbit-turn 9s linear infinite}
.kc-orbit-motif{position:absolute;left:50%;top:50%;width:29%;height:20%;color:var(--kc3);transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-135%) rotate(35deg);filter:drop-shadow(0 0 6px var(--kc4))}
.kc-orbit-motif:nth-child(3n){color:var(--kc1);width:35%;height:26%}
.kc-persistent--shell{z-index:36}
.kc-shell-body{position:absolute;inset:0}
.kc-shell-veil{position:absolute;inset:2px;border-radius:22px;background:linear-gradient(90deg,color-mix(in srgb,var(--kc4) 65%,transparent),transparent 19% 81%,color-mix(in srgb,var(--kc4) 65%,transparent)),linear-gradient(color-mix(in srgb,var(--kc1) 65%,transparent),transparent 14% 86%,color-mix(in srgb,var(--kc4) 70%,transparent));box-shadow:inset 0 0 35px color-mix(in srgb,var(--kc4) 65%,transparent);animation:kc-shell-breathe 5.8s ease-in-out infinite}
.kc-shell-edge{position:absolute;inset:8px;border:3px solid var(--kc3);border-radius:18px;box-shadow:0 0 12px var(--kc4),0 0 26px var(--kc4),inset 0 0 18px var(--kc1);animation:kc-shell-breathe 5.8s -1.5s ease-in-out infinite}
.kc-shell-edge:after{content:"";position:absolute;inset:7px;border:2px solid var(--kc4);border-radius:12px;opacity:.7}
.kc-shell-dust.kc-sand{inset:-2%;border-radius:22px;overflow:visible}
.kc-shell-dust.kc-sand i{width:5px;height:5px;background:var(--kc3);box-shadow:0 0 7px var(--kc4),6px 9px 1px var(--kc4),-5px -8px 1px var(--kc1);animation:kc-shell-sand 4.8s var(--delay) ease-in-out infinite}
.kc-shell-fossil{position:absolute;width:23%;height:14%;color:var(--kc3);opacity:.65;filter:drop-shadow(0 0 5px var(--kc4))}
.kc-shell-fossil.is-top{top:0;right:0}.kc-shell-fossil.is-bottom{bottom:0;left:0}
.kc-speed-lines{position:absolute;inset:0;overflow:hidden;border-radius:inherit}
.kc-speed-lines i{position:absolute;left:var(--x);top:var(--y);height:2px;width:65%;background:linear-gradient(90deg,transparent,var(--kc3),var(--kc4),transparent);box-shadow:0 0 8px var(--kc4);animation:kc-speed 1.9s var(--delay) ease-in-out infinite}
.kc-persistent--speed{box-shadow:inset 0 0 18px color-mix(in srgb,var(--kc4) 50%,transparent);z-index:23}
.kc-cast--442{background:radial-gradient(ellipse,color-mix(in srgb,var(--kc4) 25%,transparent),transparent 70%)}
.kc-cast--443{z-index:40}
.kc-shell-cast-plume{position:absolute;bottom:0;width:80%;height:62%;border-radius:45%;background:radial-gradient(ellipse at 50% 70%,color-mix(in srgb,var(--kc3) 70%,transparent),color-mix(in srgb,var(--kc4) 65%,transparent) 25%,color-mix(in srgb,var(--kc1) 50%,transparent) 48%,transparent 72%);filter:blur(9px)}
.kc-shell-cast-grain{position:absolute;bottom:4%;border-radius:50%;background:var(--kc3);box-shadow:0 0 9px var(--kc4),0 0 18px var(--kc5)}
.kc-shell-cast-grain:nth-child(3n){background:var(--kc1);box-shadow:0 0 10px var(--kc4)}
.kc-shell-cast-crest{position:absolute;inset:2%;border:4px solid var(--kc3);border-radius:22px;box-shadow:0 0 22px var(--kc4),inset 0 0 28px var(--kc4);transform-origin:50% 90%}
.kc-shell-cast-fossil{position:absolute;left:50%;top:45%;width:80%;height:48%;color:var(--kc1);filter:drop-shadow(0 0 9px var(--kc4))}
.kc-darkness{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse,#050405 25%,var(--kc2));box-shadow:inset 0 0 60px #000,0 0 30px var(--kc2);z-index:4}
.kc-smoke,.kc-frame-smoke{position:absolute;inset:-6%;z-index:5;overflow:hidden;border-radius:inherit}
.kc-smoke i,.kc-frame-smoke i{position:absolute;left:var(--x);top:var(--y);width:70%;height:45%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--kc2) 85%,#000),transparent 70%);filter:blur(7px);animation:kc-smoke-rise 4s var(--delay) ease-in-out infinite}
.kc-eyes{position:absolute;left:10%;top:27%;width:80%;height:23%;color:#FFE145;z-index:10;filter:drop-shadow(0 0 5px #FEF4BF) drop-shadow(0 0 18px #FFE145)}
.kc-pupils{fill:none!important;stroke:#151005;stroke-width:5}
.kc-beast-frame{position:absolute;inset:-4px;border-radius:inherit;border:3px solid var(--kc4);box-shadow:0 0 18px var(--kc5),inset 0 0 22px var(--kc2);animation:kc-frame-breathe 3.4s ease-in-out infinite}
.kc-beast-frame:before,.kc-beast-frame:after{content:"";position:absolute;inset:-3px;border-radius:inherit;border:4px solid transparent;border-left-color:var(--kc1);border-right-color:var(--kc3);animation:kc-frame-breathe 3.4s -1.7s ease-in-out infinite}
.kc-frame-smoke{inset:-15px;mask-image:linear-gradient(90deg,#000,transparent 20% 80%,#000)}
.kc-frame-motif{position:absolute;bottom:-6%;right:-8%;width:38%;height:31%;color:var(--kc1);filter:drop-shadow(0 0 5px var(--kc4))}
.kc-tempo-ring{position:absolute;inset:-9%;border:5px double var(--kc4);border-radius:40%;box-shadow:0 0 35px var(--kc5),inset 0 0 22px var(--kc1);animation:kc-tempo-expand 2.6s ease-out both}
.kc-tempo-gain{z-index:39}
@keyframes kc-sand-dance{0%{opacity:0;transform:translate(-25px,40px) rotate(0)}25%,70%{opacity:.9}100%{opacity:0;transform:translate(35px,-65px) rotate(170deg)}}
@keyframes kc-orbit-turn{to{transform:rotate(360deg)}}
@keyframes kc-shell-breathe{0%,100%{opacity:.75}50%{opacity:1}}
@keyframes kc-shell-sand{0%,100%{opacity:.55;transform:translate(-3px,7px)}50%{opacity:1;transform:translate(4px,-9px)}}
@keyframes kc-speed{0%{opacity:0;transform:translateX(95%) rotate(-18deg)}30%,60%{opacity:.85}100%{opacity:0;transform:translateX(-150%) rotate(-18deg)}}
@keyframes kc-smoke-rise{0%{opacity:0;transform:translate(-20%,45%) scale(.7)}35%,65%{opacity:.95}100%{opacity:0;transform:translate(15%,-65%) scale(1.5)}}
@keyframes kc-frame-breathe{0%,100%{opacity:.6;filter:brightness(.9)}50%{opacity:1;filter:brightness(1.6)}}
@keyframes kc-tempo-expand{0%{opacity:0;transform:scale(.75) rotate(-12deg)}30%{opacity:1}100%{opacity:0;transform:scale(1.22) rotate(16deg)}}
@media(prefers-reduced-motion:reduce){.kc-scene *,.kc-persistent *{animation:none!important}.kc-sand i:nth-child(n+9),.kc-smoke i:nth-child(n+4){display:none}}
