/* Interface v27: one field, one selected fighter, one deliberate preparation sequence. */
:root{--panel:#10232a;--gold:#d9be86;--soft:#92b6b2}
.arena-wrap .pixi-arena{pointer-events:auto;touch-action:none;cursor:grab}.arena-wrap .pixi-arena.dragging{cursor:grabbing}
.topbar{background:#0b1c22;border-bottom:1px solid #cfb47733;min-height:62px}
.brand strong{font-size:19px;letter-spacing:4px}.brand small{color:#b3a27b}.match-state{border:1px solid #acc7b51f;border-radius:30px;padding:10px 15px;background:#152b2c}.players .ghost-button{border-radius:20px}
.game-shell{background:radial-gradient(ellipse at center,#183236,#08161c)}
.arena-wrap{border-bottom:1px solid #b3c5b02b}.arena-wrap:after{box-shadow:inset 0 0 40px #091e2270}
.side-panel{background:linear-gradient(155deg,#173033,#0d1b24);padding:16px;border-left:1px solid #dcc69920}
.squad{display:flex;justify-content:center;gap:10px;border-bottom:1px solid #d6c39624;padding-bottom:14px}.squad-slot{width:45px}.squad-card{border-radius:50%;border:1px solid #6b8f8a;background:#132b2d;width:45px;height:57px;overflow:hidden}.squad-card.selected{border-color:#dfc58f;box-shadow:0 0 0 3px #d4bf8620}.squad-card span{font-size:8px}.side-head{color:#a6c8c0}
.native-portrait{position:relative;overflow:hidden;flex-shrink:0;max-width:100%;margin:auto;pointer-events:none}.native-portrait img{position:absolute;max-width:none;image-rendering:pixelated}.squad-card .native-portrait{transform:scale(.45);transform-origin:top left;margin:0}.hero-stage .native-portrait{transform:scale(.72);transform-origin:top center}.hero-stage{height:140px!important;min-height:140px!important}
.hero-head h2{font:24px Georgia;margin:8px 0}.hero-head .kicker{color:#a8cfbe;font-size:9px;letter-spacing:2px}.hero-head p{font-size:11px;color:#87aaa6}.hero-head{text-align:center}
.attribute-menu{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #a7bea138;border-radius:8px;background:#243d3e;color:#e1d3ae;margin:16px 0 8px;padding:13px 14px;font-size:11px;cursor:pointer;letter-spacing:1px}.attribute-menu:hover{background:#35504b;border-color:#dec790}.attribute-menu b{font:20px Georgia;color:#9bcdb6}
.skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 10px}.skill{width:100%;height:76px;border-radius:13px;position:relative;background:radial-gradient(ellipse at 50% 15%,#3b5a5166,#15272d);border:1px solid #93baaa44;padding:8px 4px;display:flex;flex-direction:column;gap:7px;color:#c7ddd1}.skill svg{width:29px;height:29px}.skill-label{font-size:9px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill b{position:absolute;top:4px;right:6px;font-size:9px;color:#e1c481}.skill.locked{opacity:.66;background:linear-gradient(#262b2f,#16272a)!important;border-color:#70877c55!important;color:#aabbb0!important}.skill.armed{border-color:#e1c381;box-shadow:0 0 0 3px #d3c48c25,0 0 22px #d3c48c22}.skill.spent{opacity:.38}.skill-name{font:16px Georgia;color:#e2d6b7;min-height:20px}.skill-desc{font-size:9px;line-height:1.5;color:#9cbbb1}
.economy{background:#0b2028;border:1px solid #709c9228;border-radius:10px;margin-top:18px;padding:15px 0}.economy b{color:#dcc58f}.economy span{font-size:8px;letter-spacing:1.2px}
.planning{background:linear-gradient(125deg,#1e3838,#0a1b24);padding:18px 26px;border-top:1px solid #b9c7ab33}.planning h1{font:21px Georgia;margin:6px 0 0}.planning-head .kicker{font-size:8px;letter-spacing:2px;color:#c5b17c}.plan-tab{border-radius:18px;padding:7px 13px}.plan-tab.active{background:#2c4d47;color:#e4d6b1;border:1px solid #c2b77955}.lane:before{height:3px;box-shadow:0 0 9px #b5cba933}.chapter-label{color:#a3c1b2;font-size:8px;letter-spacing:2px}.timeline-event{background:radial-gradient(#416754,#102d34);border:2px solid #d9c58d;box-shadow:0 0 0 5px #d5c38c0a,0 4px 14px #06101aa0}.duration-trail{height:7px;border-radius:9px;background:linear-gradient(90deg,#d7c68a99,#7bb49d66)}
.footer{background:#091a22;border-top:1px solid #7ba29226}.primary-button{background:linear-gradient(120deg,#e3d2a4,#bca06a);color:#152323;border-radius:10px;min-height:46px;box-shadow:0 4px 18px #07101744}.primary-button:disabled{opacity:.4;cursor:default}.toast{bottom:76px}
.draft-dialog{background:radial-gradient(ellipse at 50% 0,#31494a,#102129);border-radius:18px}.draft-pick{border-radius:14px;background:linear-gradient(#314b4166,#15272f);border-color:#96b69e44}.draft-pick strong{font:13px Georgia}.draft-pick .native-portrait{height:164px!important}.training-dialog{border-radius:20px;background:linear-gradient(130deg,#23403a,#0d1b24)}.native-stage{position:relative;overflow:hidden}.dojo-stage{aspect-ratio:640/270;height:auto;max-height:none;width:100%;background:#173138;border:1px solid #9bb49633;border-radius:12px;margin:22px 0}.training-progress{font-size:10px;color:#9fb9aa;margin-top:18px}.vision-stage{width:100%;height:100%;position:absolute;inset:0}.vision-caption{z-index:2}.vision-overlay:after{z-index:1}.vision-overlay .skip-presentation{z-index:3}
.attributes-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;background:#06141be8;backdrop-filter:blur(12px);padding:24px;overflow:auto}.attributes-sheet{width:min(960px,100%);max-height:92dvh;overflow:auto;background:linear-gradient(140deg,#244139,#101f2a);border:1px solid #bca67777;border-radius:20px;box-shadow:0 30px 110px #0008;padding:28px}.attributes-sheet header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #c8bc932b;padding-bottom:18px}.attributes-sheet h2{font:30px Georgia;margin:8px 0 0}.close-modal{width:42px;height:42px;background:#132a2b;border:1px solid #95b39d55;border-radius:50%;font:28px Georgia;cursor:pointer}.attributes-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;margin-top:24px}.attributes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.attribute-card{background:linear-gradient(#36524977,#182e34);border:1px solid #95b39d33;border-radius:12px;padding:16px 10px;text-align:center;cursor:pointer;min-height:136px}.attribute-card.selected{background:#3d5a48;border-color:#dfc78b;box-shadow:0 0 0 3px #c9b88418}.attribute-glyph{display:block;font:28px Georgia;color:#b5c6a5}.attribute-card strong{display:block;font-size:11px;margin:8px 0}.attribute-pips{display:flex;justify-content:center;gap:4px;margin:14px 0 10px}.attribute-pips i{width:7px;height:7px;border-radius:50%;background:#537367}.attribute-pips i.on{background:#e0c98b;box-shadow:0 0 8px #d7c18c22}.attribute-card small{font-size:9px;color:#b8cdbb}.attribute-detail{background:#11252b;border:1px solid #95b39d2a;border-radius:12px;padding:22px}.attribute-detail h3{font:25px Georgia;margin:14px 0}.rating-preview{font:46px Georgia;color:#e0ca91;display:flex;align-items:center;gap:18px;margin:22px 0}.rating-preview span,.rating-preview small{font:15px 'Segoe UI';color:#98b8a8}.attribute-detail p{font-size:13px;color:#b9d1c1;line-height:1.7;min-height:76px}.attribute-detail dl{font-size:11px;margin:24px 0}.attribute-detail dl div{display:flex;justify-content:space-between;border-bottom:1px solid #879f8e22;padding:12px 0}.attribute-detail dd{margin:0;color:#d5c18f}.attribute-detail .primary-button{width:100%;font-size:10px;padding:12px}.upgrade-feedback{display:block;margin-top:12px;color:#98d9b4;font-size:11px}.attributes-sheet footer{border-top:1px solid #c8bc932b;padding-top:18px;margin-top:24px;color:#91b0a3;font-size:11px}
.squad-card .native-portrait{max-width:none!important;width:100px!important;height:100px!important}.attribute-menu small{display:block;font-size:10px;color:#ddc68b;margin-top:5px;letter-spacing:.5px}
@media(min-width:1001px){.hero-stage{height:100px!important;min-height:100px!important}.hero-stage .native-portrait{transform:scale(.55)}.side-panel .inspector{margin-top:6px}}
@media(max-width:1000px){.side-panel{display:block}.side-head{display:none}.inspector{display:block}.hero-stage{display:none!important}.hero-head h2{font-size:22px}.hero-head p{display:none}.hero-head .attribute-menu{max-width:380px;margin:12px auto}.skills{max-width:580px;margin:14px auto;grid-template-columns:repeat(6,minmax(0,1fr))}.economy{max-width:580px;margin:14px auto}.side-panel .squad{justify-content:flex-start;border:0;padding-bottom:0}.attribute-detail{padding:16px}.attributes-layout{grid-template-columns:minmax(0,1fr) 240px;gap:14px}}
@media(max-width:600px){.attributes-modal{padding:12px;align-items:start}.attributes-sheet{padding:18px;margin:10px 0;max-height:calc(100dvh - 44px)}.attributes-sheet h2{font-size:22px}.attributes-layout{grid-template-columns:1fr}.attribute-card{padding:10px 5px;min-height:108px}.attribute-glyph{font-size:22px}.attribute-card strong{font-size:10px}.attribute-pips{gap:3px;margin:10px 0}.attribute-pips i{width:5px;height:5px}.attribute-detail p{min-height:0}.attribute-detail h3{font-size:22px}.rating-preview{font-size:34px;margin:12px 0}.attribute-detail dl{margin:12px 0}.skills{gap:6px}.skill{height:67px;padding:7px 2px}.skill-label{font-size:7px}.skill svg{width:24px;height:24px}.planning h1{font-size:18px}.hero-head{display:block}.squad-card .native-portrait{transform:scale(.45)}.draft-pick .native-portrait{width:170px!important;transform:scale(.8);transform-origin:center center}.training-dialog{padding:18px}}
/* Original reference art in squad slots, with explicit head framing. */
.squad-slot{width:56px;flex:0 0 56px}.squad-card{width:56px;height:76px;border-radius:12px;aspect-ratio:auto;filter:none}.squad-reference{width:56px;height:58px;position:relative;overflow:hidden;background:#12252a}.squad-reference img{position:absolute;max-width:none;object-fit:fill;image-rendering:auto}.squad-card span{position:static;display:block;height:16px;padding:2px 0;background:#0c1d22;font-size:8px;text-overflow:ellipsis;overflow:hidden}.squad{gap:8px}
.squad-slot{width:52px;flex-basis:52px}.squad-card{width:52px;height:72px}.squad-reference{transform:scale(.928571);transform-origin:top left;margin-bottom:-4px}.squad{gap:6px}
/* Training is a short reward beat, not a statistics report. */
.training-minimal{min-height:400px;display:flex;flex-direction:column;justify-content:center;align-items:center}.training-minimal h1{font-size:25px;margin:0 0 20px}.training-minimal .dojo-stage{margin:0}.training-minimal .training-dice{display:grid;grid-template-columns:repeat(var(--dice-cols),44px);gap:10px;justify-content:center;perspective:700px;margin:20px 0}.training-minimal [hidden]{display:none!important}.training-minimal .d10{position:relative;width:44px;height:50px;background:linear-gradient(135deg,#7e9993,#3d5c58 45%,#233e3c 46%,#45635a 78%,#99ada0);font:700 19px Georgia;isolation:isolate;transition:filter .25s,background .25s,color .25s}.training-minimal .d10:before{content:'';position:absolute;inset:5px;clip-path:polygon(50% 0,90% 30%,77% 79%,50% 100%,23% 79%,10% 30%);background:linear-gradient(125deg,#ffffff18,#00000025);z-index:-1}.d10 i{font-style:normal;text-shadow:0 1px 2px #0008}.training-minimal .d10.success{background:linear-gradient(135deg,#b6d6b1,#597958 50%,#344f3b)}.training-minimal .d10.miss{background:linear-gradient(140deg,#3a4a50,#172a2e);color:#77918d}.training-minimal .d10.critical{background:linear-gradient(135deg,#fff0b3,#cb994a 55%,#826237);color:#342813;filter:drop-shadow(0 0 6px #eccc8770)}.training-minimal .training-award{padding:40px 0;animation:training-reward .4s ease-out}.training-minimal .training-award b{font:90px Georgia;color:#ecd49b;text-shadow:0 0 36px #d6b26933}.training-minimal .training-award span{font-size:12px;letter-spacing:4px;margin:8px 0;color:#adbfaf}@keyframes training-reward{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}@media(max-width:600px){.training-minimal{min-height:320px}.training-minimal .training-dice{grid-template-columns:repeat(var(--dice-cols),34px);gap:6px}.training-minimal .d10{width:34px;height:40px;font-size:16px}.training-minimal .training-award b{font-size:76px}}@media(prefers-reduced-motion:reduce){.training-minimal .training-award{animation:none}}
/* Compact fighter controls: wallet first, visual ratings, no sidebar scroll. */
.side-panel{height:auto;max-height:none!important;overflow:visible!important;padding:12px;align-self:start}.side-panel .economy,.squad-hint,.side-panel .hero-stage,.side-panel .hero-head p,.side-panel .stat-strip{display:none!important}.side-head{margin-bottom:6px}.squad{padding-bottom:8px;margin:0 0 8px}.squad-card{height:66px}.squad-reference{transform:scale(.82);margin-bottom:-10px}.side-panel .hero-head{display:block;text-align:left}.side-panel .hero-head h2{font:20px Georgia;margin:4px 0 8px}.side-panel .hero-head .kicker{font-size:8px}.training-wallet{display:flex;align-items:center;gap:9px;border:1px solid #e7c27470;border-radius:10px;background:linear-gradient(100deg,#88703435,#c5a25514);padding:7px 12px;color:#ffdf96;box-shadow:0 0 22px #d6b46a12}.training-wallet b{font:700 34px Georgia;line-height:1}.training-wallet span{font-size:10px;letter-spacing:1px;color:#f0d390}.training-wallet i{margin-left:auto;font-size:17px;font-style:normal;color:#d2b274}.attribute-menu.compact-stats{padding:8px 9px;margin:8px 0;gap:9px;letter-spacing:0}.mini-stat-grid{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:7px 10px}.mini-stat{display:flex;align-items:center;justify-content:space-between;gap:3px}.compact-stats .mini-stat small{font-size:7px;letter-spacing:0;color:#b4c9bd;margin:0}.mini-pips{display:flex;gap:2px}.mini-pips i{width:4px;height:4px;border-radius:50%;background:#446159}.mini-pips i.on{background:#e3cc92}.compact-stats>b{font-size:20px}.side-panel .skills{margin:9px 0 0;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.side-panel .skill{height:56px;padding:6px 3px;gap:4px;border-radius:9px}.side-panel .skill svg{width:23px;height:23px}.side-panel .skill-label{font-size:8px}.side-panel .skill-name{margin:4px 0 0;font-size:11px;min-height:0}.side-panel .skill-name:empty{display:none}
/* The upgrade sheet is a small character scene with one clear purchase action. */
.compact-sheet{width:min(650px,100%);padding:20px;max-height:94dvh}.compact-sheet header{padding-bottom:12px;gap:12px}.compact-sheet h2{font:22px Georgia;margin:0;flex:1}.compact-sheet header .training-wallet{padding:7px 10px;gap:7px}.compact-sheet header .training-wallet b{font-size:30px}.compact-sheet header .training-wallet i{display:none}.compact-sheet .close-modal{width:30px;height:30px;font-size:22px;flex-shrink:0}.compact-sheet .attributes-layout{grid-template-columns:160px minmax(0,1fr);gap:14px;margin-top:14px;align-items:center}.attribute-idle{height:245px;position:relative;background:radial-gradient(ellipse at 50% 75%,#7b977a30,transparent 65%);text-align:center}.attribute-idle:after{content:'';position:absolute;bottom:30px;left:35px;right:35px;height:9px;border-radius:50%;background:#0005;z-index:0}.attribute-idle .native-portrait{z-index:1}.attribute-idle>span{display:block;font-size:8px;letter-spacing:2px;color:#90b5a4;position:absolute;bottom:6px;left:0;right:0}.compact-sheet .attributes-grid{gap:7px}.compact-sheet .attribute-card{min-height:75px;padding:9px 4px;border-radius:9px}.compact-sheet .attribute-card strong{font-size:9px;margin:0;display:flex;align-items:center;justify-content:center;gap:5px}.compact-sheet .attribute-glyph{font-size:16px;display:inline}.compact-sheet .attribute-pips{margin:9px 0 5px;gap:3px}.compact-sheet .attribute-pips i{width:5px;height:5px}.compact-sheet .attribute-card small{font-size:8px}.compact-sheet .attribute-detail{margin-top:12px;padding:12px;display:flex;align-items:center;gap:12px;position:relative}.compact-sheet .attribute-detail>div{flex:1}.compact-sheet .attribute-detail h3{font:16px Georgia;margin:0 0 5px}.compact-sheet .attribute-detail h3 span{font:12px 'Segoe UI';margin-left:6px;color:#e4cb94}.compact-sheet .attribute-detail p{font-size:10px;min-height:0;line-height:1.3;margin:0;color:#b2c5b6}.compact-sheet .attribute-detail .primary-button{width:auto;min-width:105px;padding:12px;white-space:nowrap}.compact-sheet .upgrade-feedback{position:absolute;bottom:2px;right:12px;margin:0;font-size:8px}.compact-sheet .upgrade-feedback:empty{display:none}
@media(max-width:1000px){.side-panel{padding:12px 16px}.side-panel .squad{float:left;margin:0 16px 8px 0}.side-panel .hero-head h2{font-size:18px}.side-panel .training-wallet{max-width:240px}.side-panel .compact-stats{clear:both;margin:8px 0;max-width:none}.side-panel .skills{grid-template-columns:repeat(6,minmax(0,1fr));max-width:none}.side-panel .mini-stat-grid{grid-template-columns:repeat(9,1fr);gap:6px}.mini-stat{flex-direction:column}.mini-pips{gap:2px}.side-panel .compact-stats>b{font-size:17px}}
@media(max-width:600px){.side-panel .squad{float:none;margin:0 0 8px}.side-panel .hero-head{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:0 10px;align-items:center}.side-panel .hero-head>.kicker{grid-column:1;grid-row:1}.side-panel .hero-head h2{grid-column:1;grid-row:2;font-size:18px}.side-panel .training-wallet{grid-column:2;grid-row:1/span 2;padding:7px}.side-panel .compact-stats{grid-column:1/-1}.side-panel .mini-stat-grid{grid-template-columns:repeat(3,1fr);gap:6px 12px}.side-panel .mini-stat{flex-direction:row}.compact-sheet{padding:14px}.compact-sheet h2{font-size:17px}.compact-sheet .attributes-layout{grid-template-columns:90px minmax(0,1fr);gap:8px}.attribute-idle{width:90px;height:235px;overflow:hidden}.attribute-idle .native-portrait{transform:scale(.75);transform-origin:top left;left:-15px;max-width:none}.compact-sheet .attribute-card{min-height:69px;padding:8px 2px}.compact-sheet .attribute-card strong{font-size:8px;gap:2px}.compact-sheet .attribute-glyph{font-size:12px}.compact-sheet .attribute-pips{gap:2px}.compact-sheet .attribute-pips i{width:4px;height:4px}.compact-sheet .attribute-detail{padding:10px;gap:8px}.compact-sheet .attribute-detail h3{font-size:14px}.compact-sheet .attribute-detail p{font-size:9px}.compact-sheet .attribute-detail .primary-button{min-width:85px;padding:10px 6px}}
@media(min-width:1001px) and (max-height:700px){.side-panel{padding:8px 12px}.side-head{display:none}.squad{padding-bottom:5px;margin-bottom:5px}.side-panel .hero-head h2{font-size:17px;margin:3px 0 5px}.side-panel .training-wallet{padding:5px 10px}.training-wallet b{font-size:29px}.attribute-menu.compact-stats{padding:6px 8px;margin:6px 0}.side-panel .skill{height:48px}.side-panel .skill svg{width:20px;height:20px}.side-panel .skills{margin-top:6px}.side-panel .skill-name{display:none}}
.compact-stats .mini-stat small{font-size:8px}.compact-sheet .attribute-detail .primary-button{min-width:120px}@media(max-width:600px){.attribute-idle .native-portrait{top:40px}.compact-sheet .attribute-detail .primary-button{min-width:105px;font-size:9px}}
.skill-unlock-overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;border-radius:inherit;background:linear-gradient(135deg,#203d35f5,#10292af5);color:#ffe1a0;font:600 12px 'Segoe UI',sans-serif;letter-spacing:.3px;opacity:0;transition:opacity .15s;pointer-events:none;border:1px solid #dbc18366}.skill.locked:hover .skill-unlock-overlay,.skill.locked:focus-visible .skill-unlock-overlay{opacity:1}.skill.locked:hover{opacity:1;border-color:#dbc183!important}

/* Dice transforms must not create a temporary scrolling container. */
.training-minimal{overflow:clip}.training-minimal .training-dice{max-height:none;overflow:visible}


/* Keep the unlock price above its hover label. */
.skill.locked b{z-index:3;background:#112b2b;color:#ffdf96;border:1px solid #dbc18355;border-radius:5px;padding:2px 4px}.skill-tooltip{width:300px;max-width:calc(100vw - 16px);padding:16px;border-radius:12px;background:linear-gradient(140deg,#244139,#11242b);border:1px solid #c8b58066;box-shadow:0 12px 35px #0007}.skill-tooltip header{display:grid;gap:5px}.skill-tooltip header b{display:flex;align-items:center;gap:8px;font:16px Georgia}.skill-tooltip header svg{width:24px;height:24px;flex-shrink:0}.skill-tooltip header small{font-size:10px;color:#e4ca8f}.skill-tooltip ul{padding:0;margin:12px 0;list-style:none;display:grid;gap:7px}.skill-tooltip li{font-size:12px;line-height:1.45;color:#d1dfd5}.skill-tip-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:11px;border-top:1px solid #a8b89c30}.skill-tip-facts small{display:block;font-size:9px;color:#a5c0ad}.skill-tip-facts strong{display:block;font-size:13px;color:#eed3a0;margin-top:4px}.training-wallet span{font-size:9px;letter-spacing:0}.compact-sheet .attribute-card small{font-size:8px}


#matchOverlay[data-training-step]{cursor:pointer}#matchOverlay[data-training-step]:focus{outline:none}


/* Persistent commander health, independent of fighter health bars. */
.players .player-life{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;min-width:110px;padding:8px 12px;background:#133638;border:1px solid #64cbb377;border-radius:12px;overflow:visible}
.players .player-life.enemy{background:#381f2a;border-color:#ea809377}
.players .player-life b{font-size:29px;line-height:1;font-variant-numeric:tabular-nums;color:#eefff8}
.players .player-life span{font-size:9px;letter-spacing:1px}
.life-track{display:block;grid-column:1/-1;height:5px;border-radius:4px;background:#090f17;overflow:hidden}
.life-track>i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#28ab91,#b0fbe1);border-radius:4px}
.enemy .life-track>i{background:linear-gradient(90deg,#bd4567,#ffb5a5)}
.life-loss{position:absolute;right:12px;top:4px;font-size:30px;font-style:normal;color:#ffbdac;text-shadow:0 2px 8px #000;pointer-events:none;animation:life-loss 1.5s ease-out both;z-index:10}
.life-hit{animation:life-impact .6s ease-out}
@keyframes life-loss{0%{transform:translateY(0);opacity:1}65%{opacity:1}100%{transform:translateY(45px);opacity:0}}
@keyframes life-impact{0%,25%{box-shadow:0 0 22px #ff606099;transform:translateX(-3px)}50%{transform:translateX(3px)}100%{transform:none;box-shadow:none}}
@media(max-width:900px){.players .player-life{min-width:84px;padding:6px 8px}.players .player-life b{font-size:24px}}
@media(prefers-reduced-motion:reduce){.life-hit,.life-loss{animation:none}}

/* Aiko has an additional magnetic technique: retain two compact rows. */
.skills:has([data-skill="blueAuraPull"]){grid-template-columns:repeat(4,minmax(0,1fr));}
