/* Kira V3: skin-coloured combat scenes with requested return speech trails.
   Numeric damage remains on its own higher overlay. */
.ki-scene { position: fixed; inset: 0; z-index: 9000; pointer-events: none; overflow: hidden; isolation: isolate; }
.ki-fx { position: absolute; display: block; transform: translate(-50%, -50%); pointer-events: none; }
.ki-fx img { width: 100%; height: 100%; object-fit: contain; }
.ki-fx svg, .ki-state svg { width: 100%; height: 100%; overflow: visible; fill: none; stroke: var(--ki-2); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.ki-motif { color: var(--ki-2); filter: drop-shadow(0 0 5px var(--ki-4)) drop-shadow(0 0 12px var(--ki-1)); }
.ki-motif:nth-child(3n) svg { stroke: var(--ki-4); }
.ki-motif:nth-child(3n + 1) svg { stroke: var(--ki-5); }
.ki-scene[data-ki-theme="ur"] .ki-motif svg { fill: color-mix(in srgb, var(--ki-2) 25%, transparent); stroke-width: 3.5; }
.ki-scene[data-ki-theme="mh"] .ki-motif { background: repeating-linear-gradient(0deg, transparent 0 5px, #00ffff30 6px 7px); border: 1px solid #00ffff80; box-shadow: 0 0 20px #e63eff60; }
.ki-scene[data-ki-theme="fmh"] .ki-motif { background: conic-gradient(from 45deg, #ff3edb30, #00ffff50, #fff2, #5327db60, #ff3edb30); filter: drop-shadow(-3px 0 3px #e63eff) drop-shadow(3px 0 3px #0ff) drop-shadow(0 0 14px #fff); }
.ki-scene[data-ki-theme="fmh"] .ki-motif svg { stroke: #fff; stroke-width: 2; }
.ki-burst { border-radius: 50%; background: radial-gradient(circle, #fff9 0 3%, color-mix(in srgb, var(--ki-4) 55%, transparent) 10%, color-mix(in srgb, var(--ki-1) 35%, transparent) 35%, transparent 65%); }
.ki-burst i { position: absolute; inset: 12%; border: 3px solid var(--ki-2); border-radius: 50%; box-shadow: 0 0 18px var(--ki-1), inset 0 0 18px var(--ki-4); }
.ki-burst i:nth-child(2) { inset: 0; border-width: 1px; border-color: var(--ki-4); transform: rotateX(60deg) rotate(-25deg); }
.ki-burst i:nth-child(3) { inset: 20%; border-style: dashed; border-color: var(--ki-5); transform: rotateX(60deg) rotate(40deg); }
.ki-lightning { transform-origin: 0 50%; }
.ki-lightning svg, .ki-hit-frame svg, .ki-state-charge svg { filter: drop-shadow(0 0 4px var(--ki-4)) drop-shadow(0 0 10px var(--ki-1)); }
.ki-lightning path { stroke: #fff; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.ki-hit-frame { border: 2px solid var(--ki-1); border-radius: 14px; box-shadow: 0 0 22px var(--ki-1), inset 0 0 26px var(--ki-2); background: linear-gradient(115deg, transparent 35%, color-mix(in srgb, var(--ki-4) 28%, transparent) 50%, transparent 65%); }
.ki-hit-frame svg { position: absolute; inset: 0; stroke: var(--ki-5); stroke-width: 2; }
.ki-hit-frame.is-electric svg:nth-child(2) { transform: rotate(180deg); stroke: #fff; animation: kiNewArc 450ms ease-in-out infinite alternate; }
.ki-portrait { border-radius: 15px; overflow: hidden; background: linear-gradient(135deg, var(--ki-3), var(--ki-1)); border: 2px solid var(--ki-4); box-shadow: 0 0 30px var(--ki-1), 0 0 8px var(--ki-4); }
.ki-portrait img { object-fit: cover; }
.ki-clone { filter: saturate(.7) drop-shadow(0 0 8px var(--ki-4)); }
.ki-clone::after, .ki-runner::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 6px, color-mix(in srgb, var(--ki-4) 35%, transparent) 7px 8px); }
.ki-scene[data-ki-theme="fmh"] .ki-clone { filter: drop-shadow(-5px 0 4px #e63eff) drop-shadow(5px 0 4px #0ff); }
.ki-fragment { border: 0; border-radius: 0; }
.ki-zolan { filter: drop-shadow(0 0 8px var(--ki-4)) drop-shadow(0 0 25px var(--ki-1)); }
.ki-zolan-bite img { opacity: .85; }
.ki-life { border-radius: 50% 0 50% 50%; background: #fff; box-shadow: 0 0 6px var(--ki-2), 0 0 18px var(--ki-4), 0 0 30px var(--ki-1); }
.ki-eyes { z-index: 6; filter: drop-shadow(0 0 5px #ffea00) drop-shadow(0 0 16px #ffc800); }
.ki-eyes svg { overflow: visible; }
.ki-eye-veil { z-index: 5; border-radius: 50%; background: radial-gradient(ellipse, #060409f5 8%, #090513b0 45%, transparent 72%); }
.ki-speech-trail { z-index: 4; max-width: calc(100vw - 24px); color: var(--ki-2); font: 900 clamp(15px, 2vw, 24px)/1.15 system-ui, sans-serif; white-space: nowrap; text-shadow: -1px -1px 0 #120a22, 1px -1px 0 #120a22, -1px 1px 0 #120a22, 1px 1px 0 #120a22, 0 2px 4px #000, 0 0 9px var(--ki-4); }
.ki-speech-trail:nth-child(even) { color: var(--ki-4); }
.ki-return-core { border-radius: 50%; background: radial-gradient(circle, #fff 10%, var(--ki-4) 35%, transparent 70%); box-shadow: 0 0 16px var(--ki-4), 0 0 28px var(--ki-2); }
.ki-vanished { opacity: 0 !important; }
.ki-vanished + .kira-card-fx, .ki-vanished ~ .kira-card-fx { opacity: 0 !important; }
.ki-zolan-away .kira-zolan-meter__icon { opacity: 0 !important; }
.kira-zolan-meter__sleep i:empty { display: block; width: 5px; height: 5px; border: 1px solid var(--ki-4); border-radius: 50%; box-shadow: 0 0 5px var(--ki-1); }
/* Smoke and electricity live only at the edges: every real UI control stays readable. */
.ki-state { position: absolute; inset: -4px; z-index: 12; pointer-events: none; border-radius: 14px; }
.ki-state-charge { box-shadow: 0 0 13px var(--ki-4), inset 0 0 12px var(--ki-1); }
.ki-state-charge > svg { position: absolute; inset: 0; stroke: var(--ki-4); stroke-width: 1.2; animation: kiNewCharge 1800ms ease-in-out infinite; }
.ki-state-charge > svg:nth-child(2) { rotate: 180deg; stroke: var(--ki-2); animation-delay: -900ms; }
.ki-state-charge i { position: absolute; inset: -3px; border: 2px solid var(--ki-1); border-radius: inherit; box-shadow: 0 0 12px var(--ki-2); }
.ki-state-smoke { inset: -14px; overflow: hidden; mask-image: radial-gradient(ellipse at center, transparent 42%, #000 72%); }
.ki-state-smoke i { position: absolute; width: 85%; height: 72%; left: -30%; top: -25%; border-radius: 45%; background: radial-gradient(ellipse, #090613 12%, color-mix(in srgb, var(--ki-3) 85%, #05040a) 36%, color-mix(in srgb, var(--ki-1) 65%, transparent) 53%, transparent 72%); filter: blur(8px); animation: kiNewSmoke 4800ms ease-in-out infinite alternate; }
.ki-state-smoke i:nth-child(2) { left: 40%; top: 0; animation-delay: -800ms; }
.ki-state-smoke i:nth-child(3) { left: -20%; top: 45%; animation-delay: -1800ms; }
.ki-state-smoke i:nth-child(4) { left: 35%; top: 55%; animation-delay: -2800ms; }
.ki-state-smoke i:nth-child(5) { left: 5%; top: -40%; animation-delay: -3800ms; }
.ki-state-smoke i:nth-child(6) { left: 55%; top: 30%; animation-delay: -4200ms; }
.ki-smoke-released > .ki-state-smoke { display: none; }
.ki-state-motif { position: absolute; display: block; width: 31px; height: 31px; transform: translate(-50%,-50%); filter: drop-shadow(0 0 6px var(--ki-4)); animation: kiNewStateMotif 3200ms ease-in-out infinite alternate; }
.ki-state[data-ki-theme="fmh"] .ki-state-motif { filter: drop-shadow(-2px 0 3px #e63eff) drop-shadow(2px 0 3px #0ff); }
.ki-state[data-ki-theme="mh"] .ki-state-motif { background: repeating-linear-gradient(0deg, transparent 0 4px, #00ffff40 5px 6px); }
@keyframes kiNewStateMotif { from { opacity: .35; rotate: -12deg; scale: .8; } to { opacity: .9; rotate: 12deg; scale: 1.1; } }
@keyframes kiNewSmoke { from { transform: translate(-10%, -8%) rotate(-20deg) scale(.85); opacity: .75; } to { transform: translate(12%, 12%) rotate(40deg) scale(1.2); opacity: 1; } }
@keyframes kiNewCharge { 0%,100% { opacity: .5; stroke-dasharray: 35 5 8 4; stroke-dashoffset: 0; } 50% { opacity: 1; stroke-dashoffset: 70; } }
@keyframes kiNewArc { from { opacity: .45; scale: .9; } to { opacity: 1; scale: 1.08; } }
body.v3-vfx-disabled .ki-scene, body.v3-vfx-disabled .ki-state { display: none; }
body.v3-ultimate-vfx-disabled .ki-state-smoke { display: none; }
@media (prefers-reduced-motion: reduce) { .ki-scene { display: none; } .ki-state * { animation: none !important; } .ki-state-smoke { opacity: .5; } }

/* Blade pivots at its tip. All four supplied assets point down-left (135deg). */
.ki-blade { transform-origin: 50% 50%; filter: drop-shadow(0 0 5px var(--ki-4)); }
.ki-blade .ki-blade-art, .ki-blade-projection img { position: absolute; inset: 0; transform: translateX(-60%) rotate(-135deg); object-fit: contain; }
.ki-blade > i { display: none; position: absolute; width: 145%; height: 140%; left: -110%; top: -20%; filter: drop-shadow(0 0 6px var(--ki-4)); }
.ki-blade.is-upgraded > i { display: block; animation: kiNewArc 650ms ease-in-out infinite alternate; }
.ki-blade > i svg { stroke: #fff; stroke-width: 2; }
.ki-blade-projection { position: absolute; inset: 0; transform: translate(calc(var(--echo) * -12px), calc(var(--echo) * 5px)) scale(calc(1 + var(--echo) * .08)); opacity: calc(.48 / var(--echo)); filter: brightness(1.7) drop-shadow(0 0 9px var(--ki-2)); }
.ki-blade em { position: absolute; left: -155%; top: 39%; width: 145%; height: 22%; z-index: -1; background: linear-gradient(90deg, transparent, var(--ki-3), var(--ki-4), #fff); clip-path: polygon(0 50%, 85% 0, 100% 50%, 85% 100%); opacity: .7; }
.ki-scene[data-ki-theme="ur"] .ki-blade em { height: 40%; top: 30%; background: linear-gradient(90deg, transparent, var(--ki-5), var(--ki-2), #fff); filter: drop-shadow(0 0 9px var(--ki-2)); animation: kiRocketExhaust 420ms ease-in-out infinite alternate; }
.ki-scene[data-ki-theme="fmh"] .ki-blade-projection { filter: drop-shadow(-4px 0 3px #e63eff) drop-shadow(4px 0 4px #0ff) brightness(1.8); }
.ki-ribbon { transform: none; }
.ki-ribbon path { stroke: var(--ki-4); stroke-width: 2; stroke-dasharray: 1000; stroke-linecap: round; fill: none; filter: drop-shadow(0 0 5px var(--ki-1)); }
.ki-ribbon path.ki-ribbon-halo { stroke: var(--ki-1); stroke-width: 10; opacity: .25; }
.ki-ribbon.is-life path { stroke: var(--ki-2); stroke-width: 3; }
.ki-ribbon.is-life path.ki-ribbon-halo { stroke: var(--ki-4); stroke-width: 15; opacity: .18; }
.ki-scene[data-ki-theme="ur"] .ki-ribbon path { stroke: var(--ki-2); }
.ki-scene[data-ki-theme="fmh"] .ki-ribbon path { filter: drop-shadow(-3px 0 3px #e63eff) drop-shadow(3px 0 3px #0ff); }
.ki-skin-field { z-index: -1; perspective: 500px; }
.ki-orbit { position: absolute; inset: -10%; border: 2px solid var(--ki-4); border-radius: 50%; transform: rotateX(62deg) rotateZ(-28deg); box-shadow: 0 0 15px var(--ki-2); animation: kiOrbitTravel 6500ms linear infinite; }
.ki-orbit::before { content: ""; position: absolute; left: 5%; top: 17%; width: 19px; height: 19px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, #fff, var(--ki-2) 40%, var(--ki-5)); box-shadow: 0 0 16px var(--ki-2); }
.ki-orbit.is-cross { inset: 0 -20%; transform: rotateX(-58deg) rotateZ(38deg); border-color: var(--ki-2); }
.ki-orbit.is-cross::before { left: 85%; top: 60%; width: 13px; height: 13px; }
.ki-spotlight { position: absolute; bottom: 0; left: -18%; width: 68%; height: 145%; transform-origin: 50% 100%; background: linear-gradient(0deg, var(--ki-4), color-mix(in srgb, var(--ki-2) 28%, transparent), transparent); clip-path: polygon(44% 100%,0 0,100% 0,56% 100%); opacity: .6; animation: kiSpotlightSweep 2600ms ease-in-out infinite alternate; }
.ki-spotlight.is-right { left: 50%; animation-direction: alternate-reverse; background: linear-gradient(0deg, var(--ki-2), color-mix(in srgb, var(--ki-4) 30%, transparent), transparent); }
.ki-holo-floor { position: absolute; inset: 45% -15% -15%; border: 2px solid var(--ki-4); background: repeating-linear-gradient(0deg, transparent 0 18px, #00ffff50 19px 20px), repeating-linear-gradient(90deg, transparent 0 18px, #e63eff50 19px 20px); transform: rotateX(66deg); box-shadow: 0 0 16px var(--ki-2); }
.ki-skin-field.is-mh > b, .ki-skin-field.is-fmh > b { position: absolute; inset: 5%; border: 3px solid var(--ki-4); clip-path: polygon(0 0,25% 0,25% 4%,4% 4%,4% 25%,0 25%,0 0,100% 0,100% 25%,96% 25%,96% 4%,75% 4%,75% 0,100% 0,100% 100%,75% 100%,75% 96%,96% 96%,96% 75%,100% 75%,100% 100%,0 100%,0 75%,4% 75%,4% 96%,25% 96%,25% 100%,0 100%); }
.ki-prism-plane { clip-path: polygon(50% 0,100% 82%,0 82%); background: conic-gradient(from 45deg, #ff3ee833, #00ffff66, #fff9, #5327db55, #ff3ee833); mix-blend-mode: screen; }
.ki-charge-ground { height: 38px !important; border-radius: 50%; background: radial-gradient(ellipse, #fff9, var(--ki-4), transparent 70%); filter: drop-shadow(0 0 18px var(--ki-1)); }
.ki-charge-ground i { position: absolute; inset: -10%; border: 2px solid var(--ki-2); border-radius: 50%; }
.ki-charge-ground i:nth-child(2) { inset: -40%; border-color: var(--ki-4); opacity: .7; }
.ki-charge-thread { transform-origin: 50% 100%; }
.ki-charge-thread svg { fill: none; stroke: var(--ki-spark-color); stroke-width: 1.35; filter: drop-shadow(0 0 2px var(--ki-spark-color)); }
.ki-charge-thread path { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
.ki-drop-shadow { height: 48px !important; border-radius: 50%; background: radial-gradient(ellipse, #050411 0 25%, color-mix(in srgb, var(--ki-3) 90%, #000) 38%, var(--ki-4) 48%, transparent 65%); filter: blur(3px); }
.ki-fracture { filter: drop-shadow(0 0 3px var(--ki-4)) drop-shadow(0 0 10px var(--ki-1)); }
.ki-fracture svg { stroke: #fff; stroke-width: 2.5; }
.ki-fracture.is-bite svg { stroke: var(--ki-2); stroke-width: 3; }
.ki-runner { border: 0; border-radius: 42%; background: transparent; box-shadow: none; mask-image: radial-gradient(ellipse, #000 20%, #000 50%, transparent 72%); filter: drop-shadow(0 0 15px var(--ki-4)); }
.ki-runner img { filter: saturate(.8) brightness(.8); }
.ki-ambush-runner { mask-image: radial-gradient(ellipse, #000 35%, #000 62%, transparent 75%); }
.ki-ambush-runner img { filter: saturate(1.1) brightness(1.05); }
.ki-zolan-bite { overflow: visible; }
.ki-zolan-upper, .ki-zolan-lower { position: absolute; inset: 0; }
.ki-zolan-upper { clip-path: polygon(0 0,100% 0,100% 68%,85% 63%,72% 68%,60% 63%,47% 67%,34% 61%,20% 67%,0 70%); }
.ki-zolan-lower { clip-path: polygon(0 70%,20% 67%,34% 61%,47% 67%,60% 63%,72% 68%,85% 63%,100% 68%,100% 100%,0 100%); }
.ki-zolan-bite img { opacity: 1; }
.ki-life-arrival { height: 70px !important; border-radius: 50%; border: 3px solid var(--ki-2); background: radial-gradient(ellipse, color-mix(in srgb, var(--ki-2) 30%, transparent), transparent 70%); box-shadow: 0 0 20px var(--ki-4); }
.ki-smoke-plume { border-radius: 42%; background: radial-gradient(ellipse at 40% 60%, #06030ce0, color-mix(in srgb, var(--ki-3) 75%, #000) 22%, color-mix(in srgb, var(--ki-1) 55%, transparent) 48%, transparent 72%); filter: blur(9px); }
/* Additional slow smoke layers; the middle remains transparent for card controls. */
.ki-state-smoke { mask-image: radial-gradient(ellipse at center, transparent 48%, #0009 73%, #000 94%); }
.ki-state-smoke i:nth-child(7) { left: -45%; top: 12%; filter: blur(14px); animation-duration: 6300ms; animation-delay: -1300ms; }
.ki-state-smoke i:nth-child(8) { left: 40%; top: 2%; filter: blur(13px); animation-duration: 5700ms; animation-delay: -2100ms; }
.ki-state-smoke i:nth-child(9) { left: 0; top: 60%; animation-duration: 6800ms; animation-delay: -3700ms; }
@keyframes kiRocketExhaust { from { opacity: .6; scale: .85 1; } to { opacity: 1; scale: 1.15 1.25; } }
@keyframes kiOrbitTravel { from { rotate: 0deg; } to { rotate: 360deg; } }
@keyframes kiSpotlightSweep { from { rotate: -28deg; } to { rotate: 28deg; } }

/* Halloween Kira: cursed kunai seals, candlelit webs and mischievous ninja souls. */
.ki-scene[data-ki-theme="halloween"] .ki-motif,
.ki-state[data-ki-theme="halloween"] .ki-state-motif { filter: drop-shadow(0 0 3px #2E1338) drop-shadow(0 0 7px #22E5BB80); }
.ki-state[data-ki-theme="halloween"] .ki-state-motif { width: 38px; height: 38px; }
.ki-kunai-charm { position: absolute; left: -110%; top: 35%; width: 65%; height: 65%; transform-origin: 50% 10%; rotate: 70deg; filter: drop-shadow(0 0 4px #22E5BB); }
.ki-scene[data-ki-theme="halloween"] .ki-blade em { background: linear-gradient(90deg, transparent, #6B188580, #22E5BB, #F97425); clip-path: polygon(0 50%, 20% 28%, 37% 47%, 55% 5%, 70% 35%, 92% 20%, 100% 50%, 82% 80%, 62% 62%, 46% 95%, 25% 68%); }
.ki-haunt-web { position: absolute; inset: 30% -6% -18%; transform: rotateX(62deg) rotateZ(-15deg); filter: drop-shadow(0 0 6px #22E5BB); opacity: .75; }
.ki-haunt-fog { position: absolute; inset: 38% -10% -12%; background: radial-gradient(ellipse, #093D3260, #6B188550 40%, transparent 70%); filter: blur(8px); }
.ki-haunt-candle { position: absolute; width: 42px; height: 58px; left: 3%; bottom: 3%; filter: drop-shadow(0 0 8px #22E5BB); }
.ki-haunt-candle.is-right { left: auto; right: 3%; bottom: 14%; }
.ki-scene[data-ki-theme="halloween"] .ki-eyes { filter: drop-shadow(0 0 5px #F97425) drop-shadow(0 0 16px #6B1885); }
.ki-scene[data-ki-theme="halloween"] .ki-clone,
.ki-scene[data-ki-theme="halloween"] .ki-runner { border-color: #22E5BB; filter: drop-shadow(0 0 9px #22E5BB) drop-shadow(0 0 20px #6B1885); }
.ki-scene[data-ki-theme="halloween"] .ki-clone::after,
.ki-scene[data-ki-theme="halloween"] .ki-runner::after { background: radial-gradient(ellipse at 15% 90%, #22E5BB80, transparent 50%), radial-gradient(ellipse at 90% 20%, #6B188580, transparent 55%), linear-gradient(0deg, #093D32a0, transparent 60%); }
.ki-scene[data-ki-theme="halloween"] .ki-smoke-plume { background: radial-gradient(ellipse, #2E1338e0 12%, #6B188599 32%, #093D3280 48%, #22E5BB30 58%, transparent 72%); }
.ki-scene[data-ki-theme="halloween"] .ki-smoke-ghost { z-index: 2; }
.ki-state-smoke[data-ki-theme="halloween"] i { background: radial-gradient(ellipse, #2E1338 12%, #6B1885b0 35%, #093D3290 48%, #22E5BB66 55%, transparent 72%); }
.ki-scene[data-ki-theme="halloween"] .ki-charge-ground { background: radial-gradient(ellipse, #22E5BB99, #093D32b0 30%, #6B188580 50%, transparent 70%); }
.ki-scene[data-ki-theme="halloween"] .ki-life { background: #22E5BB; box-shadow: 0 0 6px #22E5BB, 0 0 15px #6B1885; }
.ki-scene[data-ki-theme="halloween"] .ki-burst { background: radial-gradient(circle, #F97425b0 0 8%, #6B188560 30%, #093D3240 48%, transparent 68%); }

/* Academy Kira: bound lesson books, enamel rabbit pins and anime blade light. */
.ki-scene[data-ki-theme="akademia"] svg, .ki-state[data-ki-theme="akademia"] svg { stroke: var(--ki-2); fill: #24231990; stroke-width: 2.7; }
.ki-scene[data-ki-theme="akademia"] .ki-motif,
.ki-academy-page, .ki-academy-charge-seal, .ki-academy-impact-pin { filter: drop-shadow(0 0 3px #A08B34) drop-shadow(0 0 9px #FDFD7B70); }
.ki-academy-book { position: absolute; width: 65%; height: 53%; left: 18%; bottom: -17%; transform: rotateX(30deg) rotate(-6deg); filter: drop-shadow(0 0 10px #D6C03E); }
.ki-academy-book svg { fill: #302b14d9 !important; stroke-width: 2.3 !important; }
.ki-academy-seal { position: absolute; width: 43%; height: 49%; left: 30%; top: -13%; opacity: .8; filter: drop-shadow(0 0 11px #FDFD7B); }
.ki-academy-lesson { position: absolute; width: 35%; height: 47%; left: -16%; top: 18%; rotate: -15deg; transform: perspective(380px) rotateY(24deg); animation: kiAcademyLessonFloat 2.8s ease-in-out infinite alternate; }
.ki-academy-lesson.is-right { left: auto; right: -16%; top: 37%; rotate: 14deg; animation-delay: -1.4s; }
.ki-academy-lesson svg { fill: #A08B3426 !important; stroke: #FDFDB4 !important; stroke-width: 1.8 !important; }
.ki-academy-laser { position: absolute; height: 3px; width: 120%; left: -10%; top: 64%; rotate: -26deg; background: linear-gradient(90deg, transparent, #D6C03E, #FDFDB4, #FDFD7B, transparent); box-shadow: 0 0 10px #FDFD7B; }
.ki-academy-laser.is-cross { top: 71%; rotate: 23deg; opacity: .7; }
.ki-academy-ray { transform-origin: 0 50%; background: linear-gradient(90deg, transparent, #A08B34 12%, #D6C03E 28%, #FDFDB4 52%, #FDFD7B 85%, transparent); clip-path: polygon(0 50%, 20% 34%, 72% 0, 100% 50%, 72% 100%, 20% 66%); filter: drop-shadow(0 0 6px #FDFD7B); }
.ki-academy-impact-pin { z-index: 4; }
.ki-scene[data-ki-theme="akademia"] .ki-academy-charm { width: 54%; height: 54%; filter: drop-shadow(0 0 5px #FDFD7B); }
.ki-scene[data-ki-theme="akademia"] .ki-blade > i { display: none; }
.ki-scene[data-ki-theme="akademia"] .ki-blade em { height: 31%; top: 35%; background: linear-gradient(90deg, transparent, #A08B3460, #D6C03E, #FDFDB4); clip-path: polygon(0 50%, 62% 35%, 84% 0, 100% 50%, 84% 100%, 62% 65%); }
.ki-scene[data-ki-theme="akademia"] .ki-clone::after,
.ki-scene[data-ki-theme="akademia"] .ki-runner::after { background: linear-gradient(125deg, #FDFDB422, transparent 30%, transparent 55%, #D6C03E55 58%, transparent 62%), linear-gradient(0deg, #A08B3480, transparent 65%); }
.ki-scene[data-ki-theme="akademia"] .ki-clone { border-radius: 4px 16px 16px 4px; border-left: 6px double #FDFDB4; filter: drop-shadow(0 0 10px #D6C03E); }
.ki-scene[data-ki-theme="akademia"] .ki-ribbon path { stroke: #FDFD7B; fill: none; }
.ki-scene[data-ki-theme="akademia"] .ki-ribbon path.ki-ribbon-halo { stroke: #D6C03E; }
.ki-state[data-ki-theme="akademia"] .ki-state-motif { width: 39px; height: 39px; filter: drop-shadow(0 0 5px #D6C03E); }
.ki-state-smoke[data-ki-theme="akademia"] { mask-image: none; overflow: visible; }
.ki-state-smoke[data-ki-theme="akademia"] > i { display: none; }
.ki-state-charge[data-ki-theme="akademia"] > svg { stroke-dasharray: 9 5; fill: none; opacity: .55; }
.ki-state-charge[data-ki-theme="akademia"] > i { border-style: double; border-width: 3px; box-shadow: 0 0 12px #D6C03E60; }
@keyframes kiAcademyLessonFloat { from { translate: 0 5px; opacity: .55; } to { translate: 0 -9px; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .ki-academy-lesson { animation: none; } }
