*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#050a19;color:#f5f7ff;font-family:"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif}button{font:inherit}.vfx-lab{height:100dvh;min-height:390px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;position:relative;isolation:isolate;background:radial-gradient(circle at 50% 35%,#163878 0,#081731 38%,#040817 85%)}
.lab-header{height:76px;padding:13px clamp(18px,3.2vw,52px) 10px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;border-bottom:1px solid rgba(146,190,255,.14);background:linear-gradient(180deg,rgba(3,9,26,.95),rgba(5,14,35,.62));box-shadow:0 12px 30px rgba(0,0,0,.22)}.eyebrow{margin:0 0 2px;color:#6cdcff;font-size:10px;letter-spacing:.24em;font-weight:800}.lab-header h1{margin:0;font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(20px,2.2vw,30px);font-weight:800;letter-spacing:.08em;text-shadow:0 0 18px rgba(71,170,255,.35)}.tech-legend{display:flex;gap:18px;color:#9eb4d8;font-size:11px}.tech-legend span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:50%;box-shadow:0 0 10px currentColor}.dot-svg{color:#ffe48c;background:currentColor}.dot-canvas{color:#ff695d;background:currentColor}.dot-dom{color:#5de4ff;background:currentColor}
.arena{position:relative;min-height:0;overflow:hidden;perspective:1000px}.arena::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 80%,rgba(51,101,183,.25),transparent 47%),linear-gradient(90deg,rgba(20,79,151,.16),transparent 28% 72%,rgba(160,39,55,.15));z-index:1}.arena-backdrop{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,58,.16),rgba(4,11,28,.42)),repeating-linear-gradient(115deg,transparent 0 78px,rgba(91,166,255,.035) 79px 80px);overflow:hidden}.arena-backdrop::before{content:"";position:absolute;left:-10%;right:-10%;bottom:-54%;height:96%;transform:rotateX(60deg);transform-origin:center top;background:radial-gradient(circle at 50% 15%,rgba(74,147,255,.16),transparent 46%),repeating-radial-gradient(ellipse at 50% 18%,rgba(93,166,255,.16) 0 1px,transparent 2px 56px);border-top:1px solid rgba(115,179,255,.22);box-shadow:0 -18px 50px rgba(43,106,201,.1)}.arena-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,7,20,.82),transparent 14% 86%,rgba(1,7,20,.82)),radial-gradient(circle at 12% 16%,rgba(53,142,255,.16),transparent 15%),radial-gradient(circle at 86% 22%,rgba(255,77,73,.12),transparent 18%)}
#particleCanvas,.fx-svg,.domain-layer,.flash-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.domain-layer{z-index:3}.fx-svg{z-index:9;overflow:visible}.flash-layer{z-index:12;mix-blend-mode:screen}.combat-banner{position:absolute;z-index:16;top:20px;left:50%;transform:translateX(-50%);min-width:min(430px,70vw);text-align:center;opacity:.92}.banner-kicker{display:block;font-size:9px;letter-spacing:.4em;color:#87cfff;margin-bottom:3px}.combat-banner strong{display:block;font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(18px,2.3vw,28px);letter-spacing:.15em;background:linear-gradient(#fff9dc,#ffb849 68%,#ff643d);-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 2px 8px rgba(255,74,32,.45))}.combat-banner small{display:block;margin-top:3px;color:#9cabc6;font-size:10px}
.fighter{position:absolute;z-index:7;top:52%;width:clamp(126px,17vw,228px);transform:translateY(-38%);will-change:transform,filter}.fighter-ally{left:clamp(30px,12vw,170px);--accent:#ff623c;--accent2:#ffd264}.fighter-enemy{right:clamp(30px,12vw,170px);--accent:#66c8ff;--accent2:#b9ecff}.fighter-shadow{position:absolute;left:12%;right:12%;height:22%;bottom:12%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.72),transparent 68%);filter:blur(5px);transform:translateY(45%)}.piece-aura{position:absolute;inset:12% 7% 11%;border-radius:50%;background:radial-gradient(circle,transparent 48%,color-mix(in srgb,var(--accent) 32%,transparent) 61%,transparent 72%);filter:blur(4px);animation:aura-breathe 2.4s ease-in-out infinite}.piece-token{position:relative;width:100%;aspect-ratio:1;filter:drop-shadow(0 15px 14px rgba(0,0,0,.5))}.token-inner{position:absolute;inset:5%;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 34%,rgba(255,255,255,.2),rgba(8,20,47,.9) 72%);border:2px solid color-mix(in srgb,var(--accent2) 75%,white);box-shadow:0 0 0 5px rgba(7,19,44,.9),0 0 0 7px color-mix(in srgb,var(--accent) 76%,#ffd36b),inset 0 0 30px rgba(0,0,0,.45),0 0 24px color-mix(in srgb,var(--accent) 35%,transparent)}.token-inner::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 32% 68%,rgba(0,0,0,.2));pointer-events:none}.token-inner img{width:112%;height:112%;object-fit:contain;transform:translate(-6%,-4%);filter:saturate(1.08) contrast(1.04)}.fighter-enemy .token-inner img{width:100%;height:100%;object-fit:cover;transform:none}.token-gem{position:absolute;left:50%;bottom:0;width:19%;aspect-ratio:1;transform:translate(-50%,20%) rotate(45deg);background:linear-gradient(135deg,var(--accent2),var(--accent) 55%,#2b0e18);border:2px solid #ffe9a5;box-shadow:0 0 12px var(--accent);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.unit-card{width:88%;margin:-2px auto 0;padding:8px 12px 7px;border:1px solid color-mix(in srgb,var(--accent) 58%,#8aa6d5);border-radius:8px;background:linear-gradient(180deg,rgba(9,28,62,.94),rgba(3,10,29,.96));box-shadow:0 8px 20px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.07)}.unit-heading,.hp-numbers{display:flex;align-items:center;justify-content:space-between}.unit-heading strong{font-family:Georgia,"Noto Serif SC",serif;font-size:12px}.unit-heading span{font-size:9px;color:var(--accent2)}.hp-track{height:7px;margin:6px 0 3px;padding:1px;border-radius:10px;background:#020817;border:1px solid rgba(174,197,237,.18);overflow:hidden}.hp-track i{display:block;width:var(--hp);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 8px var(--accent);transition:width .35s ease}.hp-numbers{color:#7384a5;font-size:8px}.hp-numbers b{color:#bdc9dd}.status-rail{position:absolute;z-index:8;top:4%;left:50%;transform:translate(-50%,-100%);display:flex;gap:5px;min-height:26px}.arena-caption{position:absolute;z-index:13;bottom:10px;left:50%;transform:translateX(-50%);width:max-content;max-width:82%;color:#6f83a8;font-size:10px;text-align:center}.arena.is-shaking{animation:arena-shake .26s linear}.fighter.is-hit{animation:piece-hit .38s ease}.fighter.is-attacking .piece-token{filter:drop-shadow(0 12px 12px rgba(0,0,0,.35)) drop-shadow(0 0 18px rgba(255,87,49,.85))}
.damage-number{position:absolute;z-index:18;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(30px,4vw,56px);font-style:italic;color:#fff5c6;text-shadow:0 2px 0 #b92119,0 0 12px #ff4335,0 5px 12px rgba(0,0,0,.6);pointer-events:none;animation:damage-pop .8s ease-out forwards}.fx-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.slash-core{stroke:#fffbd5;stroke-width:7;filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 12px #ff5a32);stroke-dasharray:1;stroke-dashoffset:1;animation:draw-slash .32s ease-out forwards}.slash-edge{stroke:#ff4d28;stroke-width:18;opacity:.74;filter:blur(3px);stroke-dasharray:1;stroke-dashoffset:1;animation:draw-slash .32s ease-out forwards}.impact-ring{fill:none;stroke:#ffd37a;stroke-width:3;transform-origin:center;animation:ring-pop .48s ease-out forwards;filter:drop-shadow(0 0 7px #ff5131)}
.control-deck{position:relative;z-index:20;min-height:126px;padding:12px clamp(14px,2.6vw,38px) max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1.1fr) auto;gap:14px;align-items:center;background:linear-gradient(180deg,rgba(10,24,54,.95),rgba(3,8,22,.99));border-top:1px solid rgba(124,174,255,.24);box-shadow:0 -18px 50px rgba(0,0,0,.35)}.effect-readout{display:flex;align-items:center;gap:14px;min-width:0}.readout-number{font:italic 800 clamp(36px,4.3vw,58px)/1 Georgia,serif;color:transparent;-webkit-text-stroke:1px rgba(111,185,255,.48);opacity:.8}.effect-readout>div:last-child{min-width:0}.effect-readout span{display:block;color:#6d83aa;font-size:9px;letter-spacing:.18em}.effect-readout strong{display:block;margin:2px 0;font-family:Georgia,"Noto Serif SC",serif;font-size:15px;color:#f5dfac}.effect-readout p{margin:0;color:#8494b2;font-size:10px;line-height:1.45;max-width:510px}.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(138px,1fr));gap:7px}.skill-button{min-height:50px;display:flex;gap:9px;align-items:center;text-align:left;color:#aab7d1;border:1px solid rgba(112,146,199,.2);border-radius:8px;background:linear-gradient(135deg,rgba(18,45,90,.62),rgba(8,19,45,.72));padding:6px 10px;cursor:pointer;transition:.2s ease}.skill-button:hover,.skill-button:focus-visible{border-color:rgba(113,205,255,.7);transform:translateY(-1px);outline:none}.skill-button.is-active{color:#fff1c4;border-color:#da7a42;background:linear-gradient(135deg,rgba(120,43,35,.74),rgba(34,21,46,.86));box-shadow:inset 0 0 18px rgba(255,82,37,.12),0 0 15px rgba(255,77,35,.09)}.skill-icon{flex:none;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;font-family:Georgia,"Noto Serif SC",serif;font-weight:900;color:#ffe099;background:radial-gradient(circle at 35% 28%,#9e473c,#331225 72%);border:1px solid #e89c5d;box-shadow:inset 0 0 8px rgba(255,229,140,.2)}.skill-button b{display:block;font-size:11px}.skill-button small{display:block;margin-top:2px;color:#788baa;font-size:8px}.replay-button{height:58px;min-width:82px;border-radius:9px;border:1px solid #5876a7;color:#bad7ff;background:linear-gradient(#173566,#091731);cursor:pointer;font-size:11px;box-shadow:inset 0 1px rgba(255,255,255,.08)}.replay-button span{display:block;font-size:20px;line-height:18px}.replay-button:hover,.replay-button:focus-visible{outline:none;border-color:#80d8ff;box-shadow:0 0 16px rgba(72,184,255,.18)}
@keyframes aura-breathe{50%{transform:scale(1.08);opacity:.65}}@keyframes arena-shake{0%,100%{transform:none}20%{transform:translate(-7px,2px)}40%{transform:translate(6px,-2px)}60%{transform:translate(-3px,1px)}80%{transform:translate(2px,-1px)}}@keyframes piece-hit{0%,100%{filter:none}18%{filter:brightness(2.2) saturate(.3);transform:translateY(-38%) translateX(10px)}35%{transform:translateY(-38%) translateX(-5px)}}@keyframes damage-pop{0%{opacity:0;transform:translate(-50%,10px) scale(.45)}25%{opacity:1;transform:translate(-50%,-10px) scale(1.22)}100%{opacity:0;transform:translate(-50%,-62px) scale(.92)}}@keyframes draw-slash{0%{stroke-dashoffset:1;opacity:0}25%{opacity:1}75%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:0}}@keyframes ring-pop{0%{r:8;opacity:1;stroke-width:8}100%{r:70;opacity:0;stroke-width:1}}
@media(max-width:900px){.lab-header{height:50px;padding:7px 15px}.eyebrow{font-size:7px}.lab-header h1{font-size:17px}.tech-legend{gap:9px;font-size:8px}.combat-banner{top:8px}.combat-banner small{display:none}.fighter{top:49%;width:clamp(105px,18vw,150px)}.fighter-ally{left:6%}.fighter-enemy{right:6%}.unit-card{padding:4px 7px}.unit-heading strong{font-size:9px}.unit-heading span,.hp-numbers{font-size:7px}.hp-track{height:5px;margin:3px 0 1px}.arena-caption{bottom:4px;font-size:7px}.control-deck{min-height:104px;padding:7px 10px;grid-template-columns:minmax(175px,.8fr) minmax(260px,1.25fr) 64px;gap:8px}.readout-number{font-size:33px}.effect-readout{gap:8px}.effect-readout span{font-size:7px}.effect-readout strong{font-size:11px}.effect-readout p{font-size:7px}.skill-button{min-height:41px;padding:4px 6px;gap:6px}.skill-icon{width:28px;height:28px;font-size:12px}.skill-button b{font-size:9px}.skill-button small{font-size:7px}.replay-button{height:46px;min-width:60px;font-size:8px}}@media(max-width:620px){.tech-legend{display:none}.control-deck{grid-template-columns:1fr auto}.effect-readout{display:none}.skill-grid{grid-column:1}.replay-button{grid-column:2}.fighter-ally{left:3%}.fighter-enemy{right:3%}.combat-banner strong{font-size:15px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Extended, code-native skill system */
#particleCanvas{z-index:8}.control-deck{grid-template-columns:minmax(220px,.72fr) minmax(620px,1.8fr) auto;gap:12px}.skill-grid{grid-template-columns:repeat(4,minmax(104px,1fr));gap:6px}.skill-button{min-width:0;min-height:43px;padding:5px 8px}.skill-button>span:last-child{min-width:0}.skill-button b,.skill-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-button:disabled,.replay-button:disabled{cursor:wait;opacity:.58;transform:none}.skill-button[data-effect="combo"] .skill-icon{color:#ffd0ef;background:radial-gradient(circle at 35% 28%,#a83779,#251535 72%);border-color:#ec77c8}.skill-button[data-effect="wave"] .skill-icon{color:#c9fbff;background:radial-gradient(circle at 35% 28%,#328ab5,#10294f 72%);border-color:#66e9ff}.skill-button[data-effect="beam"] .skill-icon{color:#fffbd0;background:radial-gradient(circle at 35% 28%,#9a7b2c,#2c2551 72%);border-color:#fff08f}.skill-button[data-effect="domain"] .skill-icon{color:#e4d7ff;background:radial-gradient(circle at 35% 28%,#6848ba,#191332 72%);border-color:#b796ff}.skill-button[data-effect="buff"] .skill-icon{color:#fff0a4;background:radial-gradient(circle at 35% 28%,#d76a22,#41172a 72%);border-color:#ffc255}.skill-button[data-effect="heal"] .skill-icon{color:#d9ffcf;background:radial-gradient(circle at 35% 28%,#38a46b,#153341 72%);border-color:#77f2a1}.skill-button[data-effect="debuff"] .skill-icon{color:#d8e6ff;background:radial-gradient(circle at 35% 28%,#524d9b,#17142d 72%);border-color:#8da4ff}.skill-button.is-active .skill-icon{box-shadow:inset 0 0 10px rgba(255,255,255,.25),0 0 13px currentColor}
.status-rail{top:2%;gap:6px;min-width:0}.status-icon{position:relative;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#fff7cf;font:800 14px/1 Georgia,"Noto Serif SC",serif;background:linear-gradient(145deg,rgba(255,155,51,.92),rgba(91,22,42,.94));border:1px solid #ffd56e;box-shadow:0 0 14px rgba(255,142,53,.55),inset 0 0 9px rgba(255,255,255,.16);animation:status-arrive .36s cubic-bezier(.2,.9,.3,1.25)}.status-icon small{position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);font:700 7px/1 system-ui,sans-serif;letter-spacing:.1em;white-space:nowrap;color:#ffd77b;text-shadow:0 1px 3px #020613}.status-icon::after{content:"";position:absolute;inset:-4px;border:1px solid currentColor;border-radius:10px;opacity:.4;animation:status-pulse 1.4s ease-in-out infinite}.status-icon.status-debuff{color:#c3d2ff;background:linear-gradient(145deg,rgba(91,76,184,.96),rgba(26,20,55,.96));border-color:#9db3ff;box-shadow:0 0 16px rgba(104,103,255,.58),inset 0 0 9px rgba(255,255,255,.13)}.status-icon.status-debuff small{color:#becaff}.fighter.has-ally-buff .piece-aura{inset:2% -3% 2%;background:conic-gradient(from 0deg,transparent,#ffcc62,transparent 25%,#ff673c,transparent 55%,#ffe9a1,transparent 82%);filter:blur(2px);opacity:.74;animation:buff-aura-spin 3.8s linear infinite}.fighter.has-ally-buff .piece-token{filter:drop-shadow(0 15px 14px rgba(0,0,0,.5)) drop-shadow(0 0 18px rgba(255,181,67,.7))}.fighter.has-debuff .piece-aura{inset:5% 0 4%;background:conic-gradient(from 180deg,transparent,#7568ff,transparent 24%,#344db1,transparent 57%,#9e7fff,transparent 82%);filter:blur(3px);opacity:.8;animation:debuff-aura-spin 5.2s linear infinite reverse}.fighter.has-debuff .token-inner::before{content:"";position:absolute;z-index:2;inset:0;border-radius:inherit;background:repeating-linear-gradient(118deg,transparent 0 18%,rgba(82,74,214,.22) 20%,transparent 23%);mix-blend-mode:screen;animation:debuff-scan 1.7s linear infinite}
.fx-path.claw-edge{stroke:#e83eb1;stroke-width:22;opacity:.65;filter:blur(4px);stroke-dasharray:1;stroke-dashoffset:1;animation:draw-claw .34s ease-out forwards}.fx-path.claw-core{stroke:#fff1fb;stroke-width:5;filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 14px #ff45c2);stroke-dasharray:1;stroke-dashoffset:1;animation:draw-claw .34s ease-out forwards}.crescent-shell{fill:rgba(64,229,255,.2);stroke:#8cf9ff;stroke-width:4;filter:drop-shadow(0 0 8px #64ecff) drop-shadow(0 0 18px #4486ff)}.crescent-core{fill:none;stroke:#fffde5;stroke-width:3;filter:drop-shadow(0 0 5px #fff);stroke-linecap:round}.crescent-trail{fill:none;stroke:#4d8fff;stroke-width:12;opacity:.42;filter:blur(4px);stroke-linecap:round}.charge-ring,.sigil-ring{fill:none;stroke:#ffdf72;stroke-width:3;filter:drop-shadow(0 0 7px #ffd655);transform-box:fill-box;transform-origin:center}.charge-ring{stroke-dasharray:8 6;animation:charge-spin .7s linear infinite}.charge-core{fill:#fffbd1;stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 7px #fff) drop-shadow(0 0 20px #ffd43b)}.beam-haze{stroke:#597eff;stroke-width:34;opacity:.35;filter:blur(7px);stroke-linecap:round}.beam-shell{stroke:#ffd86c;stroke-width:15;opacity:.9;filter:drop-shadow(0 0 9px #ffcc44);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:beam-draw .22s ease-out forwards}.beam-core{stroke:#fffef0;stroke-width:5;filter:drop-shadow(0 0 5px white);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:beam-draw .16s ease-out forwards}.beam-lance{fill:#fffbe4;stroke:#ffd85a;stroke-width:2;filter:drop-shadow(0 0 9px #ffca35)}.healing-ring{fill:none;stroke:#9bffad;stroke-width:4;filter:drop-shadow(0 0 8px #43e985);transform-box:fill-box;transform-origin:center}.debuff-ring{fill:none;stroke:#8790ff;stroke-width:4;stroke-dasharray:7 6;filter:drop-shadow(0 0 8px #695cff);transform-box:fill-box;transform-origin:center}.debuff-mark{fill:rgba(77,56,186,.28);stroke:#b1a5ff;stroke-width:3;filter:drop-shadow(0 0 9px #725dff)}.energy-orb{fill:#fffbcf;stroke:#ffd75a;stroke-width:2;filter:drop-shadow(0 0 10px #fff06a)}
.damage-number.damage-small{font-size:clamp(22px,3vw,38px);color:#ffd7f5;text-shadow:0 2px 0 #73175b,0 0 12px #f542b0,0 4px 10px rgba(0,0,0,.6)}.damage-number.damage-dot{font-size:clamp(20px,2.6vw,34px);color:#ccd7ff;text-shadow:0 2px 0 #37227e,0 0 12px #715eff,0 4px 10px rgba(0,0,0,.7)}.heal-number{position:absolute;z-index:18;pointer-events:none;font:900 clamp(27px,3.8vw,52px)/1 Georgia,"Noto Serif SC",serif;color:#dfffd2;text-shadow:0 0 8px #fff,0 0 18px #3dea7f,0 4px 12px rgba(0,0,0,.55);animation:heal-rise 1.15s ease-out forwards}.skill-callout{position:absolute;z-index:17;left:50%;top:22%;transform:translate(-50%,-50%);font:800 clamp(14px,1.5vw,20px)/1.2 Georgia,"Noto Serif SC",serif;letter-spacing:.28em;color:#f7e9ff;text-shadow:0 0 10px #9a6fff,0 2px 8px #050515;animation:callout-fade 1.3s ease-out forwards}
.domain-layer{overflow:hidden;opacity:0;transition:opacity .3s ease}.domain-layer.is-active{opacity:1;background:radial-gradient(circle at 50% 54%,rgba(67,48,147,.22),rgba(13,7,42,.88) 72%),linear-gradient(135deg,rgba(24,19,79,.62),rgba(4,9,32,.84))}.domain-bloom{position:absolute;inset:-20%;background:conic-gradient(from 0deg at 50% 55%,transparent,rgba(112,76,255,.18),transparent 20%,rgba(34,178,255,.13),transparent 43%,rgba(255,188,75,.12),transparent 64%);animation:domain-drift 8s linear infinite}.domain-circle{position:absolute;left:50%;bottom:-30%;width:min(72vw,860px);aspect-ratio:1;transform:translateX(-50%) rotateX(64deg);border:2px solid rgba(171,151,255,.7);border-radius:50%;box-shadow:0 0 18px #745aff,inset 0 0 22px rgba(76,62,201,.55);animation:domain-circle-spin 8s linear infinite}.domain-circle::before,.domain-circle::after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(179,216,255,.75);inset:8%;box-shadow:0 0 12px rgba(102,126,255,.6)}.domain-circle::after{inset:27%;border-style:solid;border-color:rgba(255,213,112,.68)}.domain-cross{position:absolute;inset:18%;background:linear-gradient(90deg,transparent 49.7%,rgba(159,145,255,.7) 50%,transparent 50.3%),linear-gradient(0deg,transparent 49.7%,rgba(159,145,255,.7) 50%,transparent 50.3%);border-radius:50%}.domain-runes{position:absolute;inset:0;animation:domain-runes-spin 13s linear infinite reverse}.domain-runes span{position:absolute;left:50%;top:50%;color:#d8d4ff;font:700 clamp(12px,1.7vw,20px)/1 Georgia,serif;text-shadow:0 0 8px #8e77ff;transform:rotate(calc(var(--i)*30deg)) translateY(calc(-1 * min(30vw,350px))) rotate(calc(var(--i)*-30deg))}.domain-sun{position:absolute;left:50%;top:46%;width:min(18vw,180px);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid rgba(255,228,144,.76);border-radius:50%;background:radial-gradient(circle,rgba(255,244,192,.18),rgba(91,62,205,.1) 45%,transparent 68%);box-shadow:0 0 50px rgba(116,82,255,.48),inset 0 0 25px rgba(255,221,124,.18);animation:domain-sun 2.2s ease-in-out infinite}.arena.domain-active .arena-backdrop{filter:hue-rotate(28deg) saturate(1.35) brightness(.7)}.arena.domain-active::after{content:"";position:absolute;z-index:11;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(84,48,176,.23),transparent 38%,rgba(31,17,88,.27));box-shadow:inset 0 0 110px rgba(74,35,165,.68);mix-blend-mode:screen}.arena.domain-active .fighter{filter:saturate(1.18) drop-shadow(0 0 13px rgba(129,95,255,.36))}
@keyframes status-arrive{from{opacity:0;transform:translateY(8px) scale(.5)}}@keyframes status-pulse{50%{opacity:.1;transform:scale(1.15)}}@keyframes buff-aura-spin{to{transform:rotate(360deg)}}@keyframes debuff-aura-spin{to{transform:rotate(360deg)}}@keyframes debuff-scan{to{background-position:80px 0}}@keyframes draw-claw{0%{stroke-dashoffset:1;opacity:0}20%{opacity:1}72%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:0}}@keyframes charge-spin{to{transform:rotate(360deg)}}@keyframes beam-draw{0%{stroke-dashoffset:1;opacity:0}100%{stroke-dashoffset:0;opacity:1}}@keyframes heal-rise{0%{opacity:0;transform:translate(-50%,12px) scale(.55)}20%{opacity:1;transform:translate(-50%,-6px) scale(1.12)}100%{opacity:0;transform:translate(-50%,-72px) scale(.94)}}@keyframes callout-fade{0%{opacity:0;transform:translate(-50%,-20%) scale(.82)}20%,62%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-85%) scale(1.04)}}@keyframes domain-drift{to{transform:rotate(360deg) scale(1.04)}}@keyframes domain-circle-spin{to{transform:translateX(-50%) rotateX(64deg) rotateZ(360deg)}}@keyframes domain-runes-spin{to{transform:rotate(360deg)}}@keyframes domain-sun{50%{transform:translate(-50%,-50%) scale(1.12);opacity:.7}}
@media(max-width:1100px){.control-deck{grid-template-columns:minmax(185px,.62fr) minmax(520px,2fr) 66px}.effect-readout p{font-size:8px}.skill-button{padding-inline:6px}.skill-icon{width:29px;height:29px}.skill-button b{font-size:9px}}
@media(max-width:900px){.control-deck{min-height:104px;grid-template-columns:minmax(155px,.58fr) minmax(500px,2fr) 58px;gap:7px}.effect-readout p{display:none}.skill-grid{gap:5px}.skill-button{min-height:44px;padding:3px 5px}.skill-icon{width:25px;height:25px}.status-icon{width:24px;height:24px;font-size:11px}.domain-runes span{transform:rotate(calc(var(--i)*30deg)) translateY(calc(-1 * min(29vw,235px))) rotate(calc(var(--i)*-30deg))}}
@media(max-width:700px){.control-deck{grid-template-columns:minmax(0,1fr) 54px}.effect-readout{display:none}.skill-grid{grid-column:1;grid-template-columns:repeat(4,minmax(72px,1fr))}.replay-button{grid-column:2}.skill-button small{display:none}.skill-button b{font-size:8px}.skill-icon{width:23px;height:23px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.domain-layer{transition:none}.fighter.has-ally-buff .piece-aura,.fighter.has-debuff .piece-aura,.status-icon::after,.domain-bloom,.domain-circle,.domain-runes,.domain-sun,.charge-ring{animation:none!important}}

/* Full pedestal chess pieces: character, elemental silhouette and base remain intact. */
.fighter{top:50%;width:clamp(190px,20.5vw,272px)}
.fighter-enemy{--accent:#38d27d;--accent2:#d6ff91}
.piece-token.piece-pedestal{aspect-ratio:1;filter:drop-shadow(0 18px 13px rgba(0,0,0,.56));isolation:isolate}
.piece-pedestal .token-inner{inset:0;border:0;border-radius:0;overflow:visible;background:none;box-shadow:none}
.piece-pedestal .token-inner::after{content:none}
.piece-pedestal .token-inner img,.fighter-enemy .piece-pedestal .token-inner img{width:100%;height:100%;object-fit:contain;transform:none;filter:saturate(1.02) contrast(1.04) drop-shadow(0 0 1px rgba(255,255,255,.38))}
.piece-pedestal .token-gem{display:none}
.fighter-shadow{left:18%;right:18%;height:10%;bottom:8%;background:radial-gradient(ellipse,rgba(0,0,0,.82) 0,rgba(0,0,0,.42) 42%,transparent 72%);filter:blur(5px);transform:translateY(52%) scaleX(1.08)}
.piece-aura{inset:auto 13% 5%;height:18%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 24%,transparent),transparent 68%);filter:blur(7px);opacity:.75}
.unit-card{width:74%;margin:-7px auto 0;padding:7px 11px 6px;border-radius:5px;border-color:color-mix(in srgb,var(--accent) 44%,#778caf);background:repeating-linear-gradient(118deg,rgba(255,255,255,.018) 0 1px,transparent 1px 6px),linear-gradient(180deg,rgba(11,25,51,.94),rgba(3,9,24,.97));box-shadow:0 8px 18px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.06),inset 0 0 18px rgba(0,0,0,.24)}
.status-rail{top:5%}
@media(max-width:900px){.fighter{top:49%;width:clamp(122px,18vw,150px)}.unit-card{width:84%;margin:-5px auto 0;padding:4px 7px}.status-rail{top:3%}}

/* Premium material and environmental pass: restrained light, engraved depth, grounded VFX. */
html,body{background:#03070d;color:#e8edf3}
.vfx-lab{--panel:#080f1b;--panel-deep:#03070d;--line:rgba(167,184,188,.16);background:radial-gradient(ellipse at 48% 42%,rgba(34,58,83,.42) 0,rgba(8,19,34,.72) 42%,rgba(3,7,13,.98) 88%)}
.vfx-lab::before{content:"";position:absolute;z-index:30;inset:0;pointer-events:none;opacity:.16;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px),repeating-linear-gradient(93deg,transparent 0 17px,rgba(205,219,212,.018) 18px 19px);mix-blend-mode:soft-light}
.lab-header{border-bottom-color:rgba(175,190,191,.14);background:repeating-linear-gradient(115deg,rgba(255,255,255,.012) 0 1px,transparent 1px 7px),linear-gradient(180deg,rgba(5,12,22,.99),rgba(7,15,27,.96));box-shadow:0 12px 32px rgba(0,0,0,.34),inset 0 -1px rgba(196,169,112,.035)}
.lab-header::after{content:"";position:absolute;left:clamp(18px,3.2vw,52px);right:clamp(18px,3.2vw,52px);bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(174,139,80,.42) 12%,rgba(154,174,177,.14) 50%,rgba(174,139,80,.28) 88%,transparent)}
.eyebrow{color:#79b9c8;text-shadow:none}.lab-header h1{color:#e7ecf1;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.62)}.tech-legend{color:#87959f}.dot{box-shadow:0 0 5px color-mix(in srgb,currentColor 48%,transparent);filter:saturate(.72)}
.arena{background:#07101c;box-shadow:inset 0 20px 45px rgba(0,0,0,.18),inset 0 -24px 48px rgba(0,0,0,.34)}
.arena::before{background:radial-gradient(ellipse at 50% 85%,rgba(88,112,119,.15),transparent 47%),radial-gradient(ellipse at 20% 56%,rgba(113,55,32,.12),transparent 32%),radial-gradient(ellipse at 82% 58%,rgba(41,92,63,.11),transparent 34%),linear-gradient(90deg,rgba(1,6,13,.5),transparent 22% 78%,rgba(1,5,11,.56));opacity:.9}
.arena::after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;opacity:.18;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(213,222,211,.025) 4px),repeating-linear-gradient(103deg,transparent 0 61px,rgba(192,202,188,.028) 62px 63px);mix-blend-mode:soft-light}
.arena-backdrop{background:radial-gradient(ellipse at 50% 10%,rgba(49,70,91,.22),transparent 48%),linear-gradient(180deg,rgba(9,22,39,.86),rgba(5,13,24,.94) 58%,rgba(3,9,16,.99)),repeating-linear-gradient(116deg,transparent 0 88px,rgba(147,169,174,.025) 89px 90px)}
.arena-backdrop::before{left:-12%;right:-12%;bottom:-58%;height:106%;background:radial-gradient(ellipse at 50% 13%,rgba(122,137,133,.12),transparent 48%),repeating-radial-gradient(ellipse at 50% 16%,transparent 0 47px,rgba(149,157,145,.105) 48px 49px,transparent 50px 61px),repeating-linear-gradient(90deg,transparent 0 91px,rgba(139,151,148,.045) 92px 93px);border-top-color:rgba(164,169,154,.16);box-shadow:0 -14px 42px rgba(0,0,0,.18),inset 0 18px 34px rgba(23,41,50,.12)}
.arena-backdrop::after{background:linear-gradient(90deg,rgba(1,5,10,.83),transparent 15% 85%,rgba(1,5,10,.83)),linear-gradient(180deg,rgba(0,0,0,.08),transparent 48%,rgba(0,0,0,.26)),radial-gradient(ellipse at 18% 52%,rgba(121,54,30,.11),transparent 31%),radial-gradient(ellipse at 82% 52%,rgba(42,102,68,.1),transparent 31%)}
.combat-banner{opacity:.94}.banner-kicker{color:#7e9ba6;text-shadow:none}.combat-banner strong{background:linear-gradient(180deg,#f0e6c9,#cda568 62%,#a95e3d);-webkit-background-clip:text;filter:drop-shadow(0 2px 3px rgba(0,0,0,.66))}.combat-banner small{color:#77848e}
.fighter-shadow{left:16%;right:16%;height:9%;bottom:7%;background:radial-gradient(ellipse,rgba(0,0,0,.86) 0,rgba(0,0,0,.54) 36%,rgba(0,0,0,.18) 62%,transparent 75%);filter:blur(6px);transform:translateY(55%) scaleX(1.13);opacity:.92}
.fighter-shadow::after{content:"";position:absolute;left:24%;right:24%;top:30%;height:22%;border-radius:50%;background:rgba(0,0,0,.72);filter:blur(3px)}
.piece-aura{inset:auto 17% 4%;height:15%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 15%,transparent) 0,color-mix(in srgb,var(--accent) 8%,transparent) 38%,transparent 72%);filter:blur(8px);opacity:.58}
.piece-token.piece-pedestal{filter:drop-shadow(0 17px 11px rgba(0,0,0,.48)) drop-shadow(0 3px 2px rgba(0,0,0,.24))}
.piece-pedestal .token-inner img,.fighter-enemy .piece-pedestal .token-inner img{width:100%;height:100%;object-fit:contain;transform:none;filter:saturate(.88) contrast(1.045) brightness(.98) drop-shadow(0 2px 1px rgba(0,0,0,.22))}
.fighter-ally .piece-pedestal .token-inner img{filter:saturate(.88) contrast(1.045) brightness(.98) drop-shadow(0 2px 1px rgba(0,0,0,.22)) drop-shadow(0 0 7px rgba(164,66,38,.12))}.fighter-enemy .piece-pedestal .token-inner img{filter:saturate(.86) contrast(1.045) brightness(.98) drop-shadow(0 2px 1px rgba(0,0,0,.22)) drop-shadow(0 0 7px rgba(50,113,75,.12))}
.unit-card{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--accent) 25%,#738087);background:repeating-linear-gradient(120deg,rgba(255,255,255,.014) 0 1px,transparent 1px 7px),linear-gradient(180deg,rgba(13,22,32,.96),rgba(4,9,15,.98));box-shadow:0 10px 18px rgba(0,0,0,.42),inset 0 1px rgba(216,221,211,.045),inset 0 0 18px rgba(0,0,0,.2)}
.unit-card::after{content:"";position:absolute;left:8px;right:8px;top:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 32%,#b29b6b),transparent);opacity:.7}.unit-heading strong{color:#d9dedf;font-weight:700}.unit-heading span{color:color-mix(in srgb,var(--accent2) 55%,#aab2ad)}
.hp-track{background:#020509;border-color:rgba(164,176,174,.14);box-shadow:inset 0 1px 3px rgba(0,0,0,.84)}.hp-track i{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 74%,#3f4745),color-mix(in srgb,var(--accent2) 55%,#a6a88f));box-shadow:0 0 4px color-mix(in srgb,var(--accent) 28%,transparent);filter:saturate(.72)}.hp-numbers{color:#707c82}.hp-numbers b{color:#aeb7b8}
.arena-caption{color:#637078;text-shadow:0 1px 2px #000}
.control-deck{background:repeating-linear-gradient(116deg,rgba(255,255,255,.012) 0 1px,transparent 1px 8px),linear-gradient(180deg,rgba(10,18,29,.985),rgba(3,7,12,.998));border-top-color:rgba(164,170,160,.18);box-shadow:0 -18px 42px rgba(0,0,0,.46),inset 0 1px rgba(198,174,125,.035)}
.control-deck::before{content:"";position:absolute;inset:7px 10px;pointer-events:none;border-top:1px solid rgba(196,169,111,.045);border-bottom:1px solid rgba(109,129,132,.055);background:linear-gradient(90deg,transparent 0 22%,rgba(151,165,161,.035) 22% 22.1%,transparent 22.1% 78%,rgba(151,165,161,.025) 78% 78.1%,transparent 78.1%)}
.readout-number{color:rgba(113,131,139,.055);-webkit-text-stroke:1px rgba(119,151,158,.4);opacity:.68;text-shadow:0 2px 8px rgba(0,0,0,.6)}.effect-readout span{color:#728087}.effect-readout strong{color:#d6c5a3;font-weight:700}.effect-readout p{color:#7e8a8f}
.skill-button{min-height:46px;border-radius:5px;color:#9da8ac;border-color:rgba(126,143,145,.2);background:repeating-linear-gradient(122deg,rgba(255,255,255,.012) 0 1px,transparent 1px 7px),linear-gradient(150deg,rgba(23,34,47,.88),rgba(6,12,20,.94));box-shadow:inset 0 1px rgba(221,225,215,.035),inset 0 -8px 16px rgba(0,0,0,.12);transition:border-color .18s ease,background-color .18s ease,transform .18s ease,color .18s ease}
.skill-button:hover,.skill-button:focus-visible{border-color:rgba(177,158,113,.58);background-color:rgba(177,158,113,.055);box-shadow:inset 0 1px rgba(226,219,190,.06);transform:translateY(-1px)}.skill-button.is-active{color:#e4d8bd;border-color:rgba(178,112,73,.72);background:repeating-linear-gradient(122deg,rgba(255,255,255,.012) 0 1px,transparent 1px 7px),linear-gradient(145deg,rgba(75,37,29,.86),rgba(16,17,23,.96) 72%);box-shadow:inset 3px 0 rgba(185,105,61,.64),inset 0 1px rgba(231,200,158,.055),0 5px 14px rgba(0,0,0,.18)}
.skill-button[data-effect="melee"]{--skill-tone:#bd714a}.skill-button[data-effect="combo"]{--skill-tone:#a7658b}.skill-button[data-effect="wave"]{--skill-tone:#5793a7}.skill-button[data-effect="beam"]{--skill-tone:#b69b58}.skill-button[data-effect="domain"]{--skill-tone:#796da5}.skill-button[data-effect="buff"]{--skill-tone:#b87443}.skill-button[data-effect="heal"]{--skill-tone:#659673}.skill-button[data-effect="debuff"]{--skill-tone:#657494}
.skill-grid .skill-button .skill-icon{border-radius:4px;color:color-mix(in srgb,var(--skill-tone,#bd714a) 72%,#f1ead7);border-color:color-mix(in srgb,var(--skill-tone,#bd714a) 55%,#6f7470);background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 5px),linear-gradient(145deg,color-mix(in srgb,var(--skill-tone,#bd714a) 28%,#17212b),#090e16 76%);box-shadow:inset 0 1px rgba(242,235,213,.08),inset 0 -5px 10px rgba(0,0,0,.28);text-shadow:0 1px 2px #000}.skill-button.is-active .skill-icon{box-shadow:inset 0 1px rgba(242,235,213,.09),inset 0 -5px 10px rgba(0,0,0,.3),0 0 7px color-mix(in srgb,var(--skill-tone) 26%,transparent)}
.skill-button small{color:#727f84}.replay-button{border-radius:5px;border-color:rgba(124,149,158,.46);color:#b4c0c2;background:repeating-linear-gradient(120deg,rgba(255,255,255,.018) 0 1px,transparent 1px 6px),linear-gradient(150deg,#152335,#08101b);box-shadow:inset 0 1px rgba(224,231,219,.055),0 8px 18px rgba(0,0,0,.24)}.replay-button:hover,.replay-button:focus-visible{border-color:rgba(176,157,111,.68);box-shadow:inset 0 1px rgba(224,211,174,.08),0 8px 18px rgba(0,0,0,.28)}
.status-icon{border-radius:4px;color:#e5d6ae;background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 5px),linear-gradient(145deg,rgba(111,62,39,.96),rgba(28,18,21,.98));border-color:rgba(204,155,87,.72);box-shadow:0 5px 10px rgba(0,0,0,.34),inset 0 1px rgba(255,238,198,.08)}.status-icon::after{inset:-3px;border-radius:6px;opacity:.22}.status-icon.status-debuff{color:#c6c9dd;background:repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 1px,transparent 1px 5px),linear-gradient(145deg,rgba(58,54,93,.98),rgba(19,17,31,.98));border-color:rgba(126,132,178,.7);box-shadow:0 5px 10px rgba(0,0,0,.36),inset 0 1px rgba(232,230,255,.06)}
.fighter.has-ally-buff .piece-aura{inset:auto 8% 2%;height:25%;background:radial-gradient(ellipse,rgba(205,142,64,.12),transparent 58%),conic-gradient(from 0deg,transparent,rgba(225,177,92,.62),transparent 22%,rgba(173,69,42,.48),transparent 55%,rgba(229,202,137,.42),transparent 82%);filter:blur(1.5px);opacity:.55}.fighter.has-ally-buff .piece-token{filter:drop-shadow(0 17px 11px rgba(0,0,0,.48)) drop-shadow(0 0 8px rgba(184,116,53,.28))}.fighter.has-debuff .piece-aura{inset:auto 8% 2%;height:25%;background:radial-gradient(ellipse,rgba(72,70,134,.12),transparent 58%),conic-gradient(from 180deg,transparent,rgba(113,105,180,.56),transparent 24%,rgba(54,66,125,.45),transparent 57%,rgba(139,120,184,.45),transparent 82%);filter:blur(1.5px);opacity:.52}.fighter.has-debuff .token-inner::before{opacity:.26;mix-blend-mode:color}
#particleCanvas{opacity:.86;filter:saturate(.82) contrast(1.04)}.fx-svg{filter:saturate(.84) contrast(1.06)}.flash-layer{filter:saturate(.72);opacity:.82}
.slash-edge{stroke-width:13;opacity:.42;filter:blur(1.5px)}.slash-core{stroke:#fff7db;stroke-width:4;filter:drop-shadow(0 0 3px rgba(255,255,240,.9)) drop-shadow(0 0 7px rgba(205,66,38,.72))}.impact-ring{stroke:#e6bd72;stroke-width:2;filter:drop-shadow(0 0 4px rgba(195,73,43,.68))}
.fx-path.claw-edge{stroke:#c55a9e;stroke-width:14;opacity:.43;filter:blur(1.5px)}.fx-path.claw-core{stroke:#f6e7ef;stroke-width:3.5;filter:drop-shadow(0 0 3px rgba(255,255,255,.8)) drop-shadow(0 0 7px rgba(183,62,140,.7))}.crescent-shell{fill:rgba(84,166,178,.12);stroke:#b5d9d7;stroke-width:2.5;filter:drop-shadow(0 0 4px rgba(75,172,181,.72)) drop-shadow(0 0 9px rgba(67,98,155,.48))}.crescent-core{stroke:#f0eedc;stroke-width:2;filter:drop-shadow(0 0 3px rgba(255,255,255,.76))}.crescent-trail{stroke:#6386b8;stroke-width:8;opacity:.28;filter:blur(2.5px)}
.charge-ring,.sigil-ring{stroke:#d9c27f;stroke-width:2;filter:drop-shadow(0 0 4px rgba(197,160,70,.62))}.charge-core{fill:#efe6bb;stroke:#f7f1d9;stroke-width:1.5;filter:drop-shadow(0 0 4px rgba(255,247,211,.74)) drop-shadow(0 0 9px rgba(194,154,54,.52))}.beam-haze{stroke:#65719a;stroke-width:23;opacity:.24;filter:blur(5px)}.beam-shell{stroke:#ddc06a;stroke-width:9;opacity:.78;filter:drop-shadow(0 0 5px rgba(210,166,61,.72))}.beam-core{stroke:#f6f1d8;stroke-width:3;filter:drop-shadow(0 0 3px rgba(255,255,255,.76))}.beam-lance{fill:#eee6c8;stroke:#cfad55;stroke-width:1.5;filter:drop-shadow(0 0 5px rgba(196,150,42,.62))}
.healing-ring{stroke:#92c99b;stroke-width:2.5;filter:drop-shadow(0 0 4px rgba(63,166,99,.64))}.debuff-ring{stroke:#8991bd;stroke-width:2.5;filter:drop-shadow(0 0 4px rgba(89,80,166,.62))}.debuff-mark{fill:rgba(67,58,116,.22);stroke:#aaa4c4;stroke-width:2;filter:drop-shadow(0 0 5px rgba(95,77,160,.62))}.energy-orb{fill:#eee4b7;stroke:#cfac58;stroke-width:1.5;filter:drop-shadow(0 0 5px rgba(197,156,58,.64))}
.damage-number{color:#f2e5bc;text-shadow:0 2px 0 #7f3028,0 0 5px rgba(205,62,49,.8),0 5px 10px rgba(0,0,0,.72)}.damage-number.damage-small{color:#e7cadd;text-shadow:0 2px 0 #5d294f,0 0 5px rgba(177,62,135,.72),0 4px 9px rgba(0,0,0,.72)}.damage-number.damage-dot{color:#cbd0df;text-shadow:0 2px 0 #34325d,0 0 5px rgba(91,83,164,.72),0 4px 9px rgba(0,0,0,.76)}.heal-number{color:#d6e5cb;text-shadow:0 1px 0 #53775c,0 0 5px rgba(62,161,93,.72),0 5px 10px rgba(0,0,0,.68)}.skill-callout{color:#ddd7e2;text-shadow:0 0 5px rgba(111,91,172,.68),0 3px 8px #030409}
.domain-layer.is-active{background:repeating-linear-gradient(112deg,rgba(255,255,255,.012) 0 1px,transparent 1px 9px),radial-gradient(ellipse at 50% 58%,rgba(68,61,109,.18),rgba(12,12,27,.9) 70%),linear-gradient(135deg,rgba(21,24,46,.76),rgba(4,8,18,.92))}.domain-bloom{opacity:.58;filter:saturate(.62)}.domain-circle{border-width:1px;border-color:rgba(166,159,190,.54);box-shadow:0 0 7px rgba(104,87,174,.56),inset 0 0 10px rgba(70,66,124,.3)}.domain-circle::before,.domain-circle::after{border-color:rgba(168,178,193,.5);box-shadow:0 0 5px rgba(94,101,160,.46)}.domain-circle::after{border-color:rgba(193,171,111,.5)}.domain-cross{opacity:.56}.domain-runes span{color:#c4c1cf;text-shadow:0 0 4px rgba(103,88,163,.68)}.domain-sun{border-color:rgba(199,183,137,.54);background:radial-gradient(circle,rgba(212,199,153,.1),rgba(83,72,129,.07) 45%,transparent 68%);box-shadow:0 0 18px rgba(99,82,158,.38),inset 0 0 12px rgba(194,172,111,.12)}.arena.domain-active .arena-backdrop{filter:hue-rotate(18deg) saturate(.9) brightness(.72) contrast(1.04)}.arena.domain-active::after{opacity:.28;filter:saturate(.68);mix-blend-mode:soft-light}.arena.domain-active .fighter{filter:saturate(.96) drop-shadow(0 0 8px rgba(105,88,154,.2))}
@media(max-width:900px){.vfx-lab::before{opacity:.12}.arena::after{opacity:.14}.lab-header::after{left:15px;right:15px}.piece-token.piece-pedestal{filter:drop-shadow(0 10px 7px rgba(0,0,0,.48))}.fighter-shadow{filter:blur(4px)}.skill-button{min-height:44px}.replay-button{height:44px;min-height:44px}.skill-grid .skill-button .skill-icon{border-radius:3px}}
@media(max-width:700px){.skill-button{min-height:44px}.replay-button{height:44px;min-height:44px}.control-deck::before{inset:5px 8px}}
@media(prefers-reduced-motion:reduce){.skill-button,.replay-button,.hp-track i,.domain-layer{transition:none!important}}
