/* Combat direction: obsidian glass, team-coloured telemetry, sharp impact typography. */
.battle-spectator{--combat-ink:#080c17;--combat-paper:#f6f3e9;--combat-line:#a6b5d432}
.combat-top-hud.battle-hud{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:0 0 12px;position:sticky;top:72px;z-index:25;padding:10px;background:#080c17f5;border:1px solid #b3c4e024;border-radius:4px;box-shadow:0 12px 36px #0006;backdrop-filter:blur(14px)}
.combat-team{--team:#70e9cd;min-width:0}.combat-team.team-1{--team:#ffac83}.combat-team>header{display:flex;justify-content:space-between;align-items:center;padding:2px 6px 8px;border-bottom:1px solid color-mix(in srgb,var(--team) 30%,transparent);color:var(--team);font:700 .7rem/1.3 ui-monospace,monospace;letter-spacing:.14em}.combat-team>header b{font-size:.9rem}.combat-team>header small{font-size:.55rem;color:#b3bfd2;letter-spacing:.06em}
.combat-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:182px;overflow:auto;scrollbar-width:thin;scrollbar-color:#526077 transparent;padding-top:8px}.combat-roster.solo{grid-template-columns:1fr}
.combat-card{padding:9px 11px 7px;background:linear-gradient(120deg,#172335,#0e1422);border:1px solid #7389a125;border-left:2px solid var(--team);min-width:0;position:relative;transition:background .25s}.combat-card.on-turn{background:linear-gradient(120deg,color-mix(in srgb,var(--team) 18%,#101625),#0e1422);box-shadow:inset 0 1px var(--team)}.combat-card.under-pressure{border-right:2px solid #ff646e}.combat-card.out{opacity:.48;filter:saturate(.3)}.combat-card-title{display:flex;gap:8px;align-items:center;justify-content:space-between}.combat-card-title strong{font:700 .92rem/1.2 system-ui,sans-serif;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combat-card-title>span{font:600 .51rem/1.2 ui-monospace,monospace;letter-spacing:.09em;color:var(--team)}
.combat-hp{display:flex;gap:6px;align-items:baseline;position:relative;padding-bottom:11px;margin:5px 0 7px}.combat-hp>b{font:750 1.35rem/1 system-ui,sans-serif;letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums}.combat-hp>small{font:.62rem ui-monospace,monospace;color:#a4b2c6}.combat-hp-track{position:absolute;bottom:0;left:0;width:100%;height:5px;background:#02050c;transform:skewX(-14deg);overflow:hidden}.combat-hp-track>i{height:100%;display:block;background:linear-gradient(90deg,color-mix(in srgb,var(--team) 50%,#12192c),var(--team));box-shadow:0 0 12px var(--team);transition:width .4s ease}
.combat-resources{display:flex;gap:14px}.combat-resources>span{position:relative;flex:1;padding-bottom:5px;font:600 .59rem/1.4 ui-monospace,monospace;color:#c5cfe1}.combat-resources b{float:right;color:#e3eaff;font-variant-numeric:tabular-nums}.combat-resources i{position:absolute;bottom:0;left:0;height:2px;width:100%;background:linear-gradient(90deg,#a38dff var(--fill),#32384e var(--fill))}.combat-resources .resource-stamina i{background:linear-gradient(90deg,#f0d898 var(--fill),#32384e var(--fill))}.combat-resources .fluxless-seal{color:#f2b2a4;font-size:.5rem}.fluxless-seal b{font-size:.46rem;color:#f2b2a4}
.combat-readiness{display:flex;justify-content:space-between;gap:7px;margin-top:7px;font:500 .49rem/1.4 ui-monospace,monospace;color:#a9b8ca}.combat-readiness>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combat-readiness>b{color:var(--team);white-space:nowrap;font-weight:500}.combat-status-list{display:flex;gap:4px;overflow:auto;scrollbar-width:none;min-height:20px;padding-top:5px}.combat-status-list>span{font:500 .56rem/1.5 system-ui,sans-serif;padding:0 5px;white-space:nowrap;border:1px solid #e3838755;color:#f6b7be;background:#351e2b}.combat-status-list .positive{color:#afe9d8;background:#153329;border-color:#88dabb44}.combat-status-list .neutral{background:none;border-color:transparent;color:#8292aa}
.cinematic-mode .combat-top-hud{top:8px}.minimal-hud .combat-roster{max-height:158px}.minimal-hud .combat-readiness{display:none}.minimal-hud .combat-top-hud{display:grid!important}.battle-spectator-top{padding-bottom:18px}.battle-spectator-top h2{font-family:system-ui,sans-serif;font-weight:800;letter-spacing:-.04em}.battle-stage{border:1px solid #879cc248;border-radius:3px;background-color:#090e18;isolation:isolate}.battle-stage:after{pointer-events:none}.battle-stage-top{font-family:ui-monospace,monospace;letter-spacing:.1em}.battle-stage-bottom{font-family:ui-monospace,monospace}.battle-token>span{border-radius:5px!important;transform:skewY(-3deg);border:1px solid hsl(var(--fighter-hue) 60% 75% / .8);box-shadow:0 4px 0 #03060b,0 8px 20px #000b}.battle-token>span img{border-radius:3px;object-position:center 18%}.battle-token>small{font-family:system-ui,sans-serif;font-weight:750;letter-spacing:.02em;background:#060c16e8;color:#edf2fc}.battle-token.acting>span{outline:2px solid #f4d796;outline-offset:4px}.battle-token.targeted>span{box-shadow:0 0 0 3px #e54c693d,0 0 26px #ff476d44}.battle-token[data-conditions*="bleeding"]>span:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 45%,#c4445877 46%,transparent 48%,transparent 56%,#c4445877 57%,transparent 59%);pointer-events:none}.battle-token[data-conditions*="frozen"]>span{filter:sepia(.4) hue-rotate(145deg);outline:2px solid #a8e9ff}.battle-token[data-conditions*="burning"]>span{box-shadow:0 0 20px #ee682b88}.battle-token[data-conditions*="fractured"]>span{transform:rotate(-9deg)}.battle-token.taking-hit>span{animation:physical-reaction .52s .12s both}.battle-token[data-conditions*="regenerating"]:after{content:'+';position:absolute;left:-14px;top:0;color:#a1f7c3;text-shadow:0 0 10px #8ceab5;font-weight:bold}
/* No 180-degree aim rotation; mirror the ready weapon instead. */
.equipped-weapon{transition:left .55s cubic-bezier(.18,.8,.2,1),top .55s cubic-bezier(.18,.8,.2,1)}.equipped-weapon .weapon-arm{transform:translateY(-50%) scaleX(var(--weapon-facing,1)) rotate(var(--weapon-angle,-18deg));left:30%;transform-origin:18% 50%}.equipped-weapon .weapon-sprite{opacity:1!important;backface-visibility:visible;mix-blend-mode:screen}.equipped-weapon .weapon-out .weapon-sprite{opacity:.4!important}.weapon-active .weapon-sprite{animation-fill-mode:none!important}.scene-active .battle-equipment-plane{visibility:hidden}
.battle-moment h3{font-family:system-ui,sans-serif;font-weight:800;letter-spacing:-.035em}.battle-moment p{max-width:720px;margin-inline:auto}.battle-stage[data-type="time-stop"] .battle-token-field,.battle-stage[data-type="time-stop"] .battle-equipment-plane,.battle-stage[data-type="time-stop"] .battle-ground{filter:grayscale(1) contrast(1.4);animation-play-state:paused!important}.battle-stage[data-pact="true"]{animation:pact-camera .75s .15s both}.battle-stage[data-critical="true"] .battle-token-field{animation:critical-hitstop .5s steps(1) both}.battle-stage[data-type="time-resume"]{animation:pact-camera .48s both}
.cinema-fx,.cinema-fx>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.cinema-fx{color:hsl(var(--combat-hue) 90% 78%)}.cinema-fx svg *{vector-effect:non-scaling-stroke}.pressure-line{fill:none;stroke:#e0d7be45;stroke-width:1;stroke-dasharray:4 8}.target-brackets{fill:none;stroke:#ff899a;stroke-width:1.5}.movement-ribbon{fill:none;stroke:#98dff8;stroke-width:3;stroke-dasharray:100;animation:movement-route .6s ease both;filter:drop-shadow(0 0 5px #87cdff)}.arrival-footing{fill:none;stroke:#bdeafa;stroke-width:1;stroke-dasharray:5 5;animation:impact-ring 1s both;transform-origin:center;transform-box:fill-box}.impact-shard{fill:none;stroke:#ffe7b4;stroke-width:2;stroke-linecap:round;animation:spark-spray .7s calc(.12s + var(--spark-delay)) both}.impact-dust{fill:#bfb394;filter:blur(2px);animation:dust-spread 1.4s .15s both;transform-origin:center;transform-box:fill-box}.impact-shock{stroke:#fff2d0;stroke-width:2;fill:none;transform-origin:center;transform-box:fill-box;animation:impact-ring .65s .13s both}.ballistic-tracer{fill:none;stroke:#ffe7a2;stroke-width:2;stroke-dasharray:180;animation:ballistic-shot .3s var(--spark-delay) both;filter:drop-shadow(0 0 4px #ffc656)}.tracer-railgun{stroke:#b6f5ff;stroke-width:6;filter:drop-shadow(0 0 8px #69c9ff)}.tracer-railgun:nth-of-type(odd){stroke:white;stroke-width:2}.guillotine-segment{fill:#d4c4f9;stroke:#fbf1ff;stroke-width:1;transform-box:fill-box;transform-origin:center;animation:guillotine-descend 1s calc(var(--segment)*.05s) both;filter:drop-shadow(0 0 6px #a871fc)}.throw-trajectory{fill:none;stroke:#f6c6a2;stroke-width:3;stroke-dasharray:3 2;animation:movement-route .7s both}.pact-shockwave{fill:none;stroke:#ffad92;stroke-width:5;animation:impact-ring 1.8s var(--spark-delay) both;transform-origin:center;transform-box:fill-box;filter:drop-shadow(0 0 8px #ff805a)}.flux-transfer{fill:none;stroke:#b4ffdb;stroke-width:3;stroke-dasharray:180;animation:ballistic-shot 1.3s var(--spark-delay) both}
.combat-pop{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-65%);font:900 clamp(25px,3.1vw,48px)/1 system-ui,sans-serif;font-style:italic;letter-spacing:-.07em;color:#fff4e1;text-shadow:3px 3px 0 #251522,-1px -1px 0 #251522,0 0 16px #000;animation:combat-number 1.7s .12s both;z-index:8;white-space:nowrap}.combat-pop small{font:800 .53rem/1.4 ui-monospace,monospace;letter-spacing:.12em;background:#0b0e1deb;padding:4px 8px;margin-bottom:3px;color:#f3d5b4;border-left:2px solid currentColor}.combat-pop.critical{color:#ffdc77;font-size:clamp(36px,4.5vw,64px);text-shadow:3px 3px #651c2e,0 0 16px #ed504760}.combat-pop.critical small{background:#ac2342;color:white;transform:skewX(-12deg)}.combat-pop.healing{color:#99ffce}.combat-pop.dot{font-size:24px;color:#fa99b1}.combat-pop em{font:900 .9rem system-ui,sans-serif;letter-spacing:.17em;color:white;background:#af2443;padding:5px 12px;margin-top:8px;transform:skew(-8deg)}.combat-pop.delayed-burst{animation-delay:.4s}.tactical-label,.block-pop,.status-pop{position:absolute;transform:translateX(-50%);font:700 .6rem/1.4 ui-monospace,monospace;letter-spacing:.06em;background:#081121ed;padding:5px 8px;color:#bedffb;white-space:nowrap;border:1px solid #8dbbd44d}.status-pop{color:#ffb1be;border-color:#a45f7266;animation:condition-appear 2s both}.block-pop{color:#b3c5ff}.choreography-call{position:absolute;left:50%;top:6%;transform:translateX(-50%) skew(-9deg);background:#efe3ce;color:#171321;font:900 clamp(14px,2vw,25px)/1.1 system-ui,sans-serif;text-transform:uppercase;padding:9px 18px;box-shadow:6px 6px #b12a49;animation:condition-appear 2s both}
/* Character-specific awakening framing and the frozen-time cutscene. */
.awakening-sequence{background:linear-gradient(115deg,#080b18f0 5%,#080b1880 55%,#080b18e0);border-top:3px solid hsl(var(--awake-hue) 70% 65%);box-shadow:inset 0 32px #02050be8,inset 0 -32px #02050be8}.awakening-caption h3{font-family:system-ui,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.045em;transform:skewX(-5deg)}.awakening-caption q{display:block;font-size:clamp(1.1rem,2.2vw,1.8rem);text-shadow:0 0 24px hsl(var(--awake-hue) 80% 70% / .4)}.awakening-portrait{position:absolute;right:-2%;top:0;height:100%;width:48%;object-fit:cover;object-position:center top;opacity:.23;mask-image:linear-gradient(90deg,transparent,#000 35%,#000 80%,transparent);filter:grayscale(1) contrast(1.3)}.awakening-buffs{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:18px 0}.awakening-buffs b{font:700 .7rem/1.3 ui-monospace,monospace;letter-spacing:.03em;background:#070e1bd9;border:1px solid hsl(var(--awake-hue) 70% 75% / .55);color:hsl(var(--awake-hue) 85% 85%);padding:7px 10px;animation:buff-arrive .5s 1.2s both}.awakening-caption{z-index:2}.awakening-interpretation{opacity:.65}
.battle-chrono-host{position:absolute;inset:0;z-index:15;pointer-events:none;overflow:hidden}.chrono-sequence{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 65% 45%,#31304b88,transparent 50%),linear-gradient(120deg,#030712f5,#070b16bf);color:#fff2cd;border-top:32px solid #02040a;border-bottom:36px solid #02040a;animation:chrono-enter .5s both}.chrono-sequence:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,#bcc3ea0a 5px);pointer-events:none}.chrono-caption{position:absolute;left:7%;top:12%;z-index:4}.chrono-caption>span{font:600 .65rem/1.5 ui-monospace,monospace;letter-spacing:.18em;color:#ceb7ef}.chrono-caption h3{font:950 clamp(36px,6vw,86px)/.95 system-ui,sans-serif;letter-spacing:-.075em;margin:20px 0;transform:skewX(-8deg);text-shadow:4px 4px 0 #3f225a}.chrono-caption q{font:italic 1.5rem Georgia,serif;display:block;animation:buff-arrive .2s 1.4s both}.chrono-dial{position:absolute;width:380px;height:380px;border:1px solid #e9d4a366;border-radius:50%;right:2%;top:8%;box-shadow:0 0 0 14px #ede0b309,0 0 0 16px #ede0b325,inset 0 0 80px #eecafa15}.chrono-dial:before{content:'';position:absolute;inset:18px;border-radius:50%;border:7px dotted #f2d9a942}.chrono-dial span{position:absolute;left:50%;top:6%;font:italic 1.5rem Georgia;color:#d0c2a9}.chrono-dial span:nth-child(2){left:87%;top:47%}.chrono-dial span:nth-child(3){left:49%;top:86%}.chrono-dial span:nth-child(4){left:6%;top:47%}.chrono-dial i,.chrono-dial b{position:absolute;left:50%;top:18%;height:32%;width:2px;background:#f6e6b2;transform-origin:50% 100%;transform:rotate(35deg);box-shadow:0 0 20px #f3d587}.chrono-dial b{height:24%;top:26%;transform:rotate(120deg)}.chrono-runner{position:absolute;left:12%;top:30%;width:180px;height:180px;z-index:5;animation:chrono-burst 5.6s ease-in-out both;filter:drop-shadow(-30px 0 10px #ad8bfa88)}.hundred-cuts{position:absolute;inset:0;width:100%;height:100%;z-index:3}.hundred-cuts path{fill:none;stroke:#f3e2ff;stroke-width:2;vector-effect:non-scaling-stroke;opacity:0;animation:instant-cut .3s calc(1.15s + var(--cut)*.022s) both;filter:drop-shadow(0 0 3px #a38bff)}.chrono-count{position:absolute;right:7%;bottom:15%;text-align:right;z-index:6}.chrono-count b{display:block;font:950 clamp(60px,10vw,140px)/.9 system-ui,sans-serif;font-style:italic;letter-spacing:-.08em;color:#f8e3a6}.chrono-count>span{font:700 .7rem ui-monospace,monospace;letter-spacing:.15em}.chrono-sequence-steps{position:absolute;bottom:4%;left:7%;right:7%;display:flex;justify-content:space-between;gap:8px;font:500 .57rem ui-monospace,monospace;color:#a89bba;letter-spacing:.1em}.chrono-resume{background:radial-gradient(ellipse at center,#49354390,#050916e8);animation:chrono-resolve .6s both}.chrono-resume .chrono-caption h3{color:#ffcad7}.chrono-resume .chrono-dial{animation:clock-resume 2.4s ease-in both}.chrono-resume .chrono-count{color:#ffcdaf}
.combat-honours{margin-top:32px;padding:30px;background:linear-gradient(135deg,#132235,#0a101b 55%,#251b30);border:1px solid #b3becd4d;color:#e6eaf3}.honours-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #b3c4de33;padding-bottom:20px}.honours-heading h3{font:850 clamp(26px,4vw,48px)/1.1 system-ui,sans-serif;letter-spacing:-.045em;margin:10px 0 0}.honours-stamp{font:800 .8rem ui-monospace,monospace;letter-spacing:.08em;border:1px solid #f4d496;padding:12px;color:#f4d496;transform:rotate(-5deg)}.honours-hero{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:28px 0}.honours-hero article>span{font:.65rem ui-monospace,monospace;letter-spacing:.16em;color:#a6c5d8}.honours-hero h4{font:750 1.6rem/1.2 system-ui,sans-serif;color:#f6e4bb;margin:10px 0}.honours-hero p{font-size:.85rem;color:#b4c1d6;margin:8px 0}.honours-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #b3c4de33;margin-bottom:24px;padding:20px 0;gap:18px}.honours-metrics b{display:block;font:800 clamp(24px,3vw,40px)/1 system-ui,sans-serif;color:#fff;letter-spacing:-.045em}.honours-metrics span{display:block;margin-top:8px;font:.58rem ui-monospace,monospace;letter-spacing:.1em;color:#b4bace}.combat-ledger{overflow:auto;scrollbar-width:thin}.combat-ledger table{width:100%;border-collapse:collapse;font-size:.78rem;white-space:nowrap}.combat-ledger caption{text-align:left;color:#aabace;font:.66rem ui-monospace,monospace;margin-bottom:12px}.combat-ledger th,.combat-ledger td{padding:13px 12px;border-bottom:1px solid #9caec323;text-align:right;font-variant-numeric:tabular-nums}.combat-ledger thead th{font:.6rem ui-monospace,monospace;color:#92a9be;text-transform:uppercase}.combat-ledger th:first-child{text-align:left;position:sticky;left:0;background:#101c2b;z-index:1}.combat-ledger td:last-child{text-align:left;max-width:280px;white-space:normal;line-height:1.5;color:#cbb5e8}.combat-ledger th small{display:block;font-size:.6rem;font-weight:400;color:#869db2;margin-top:4px}.injury-ledger{margin-top:22px;font-size:.8rem;color:#b4c2d4}.injury-ledger summary{cursor:pointer;color:#e1c5d0}.injury-ledger p{font-size:.8rem;margin:10px 0}
@keyframes physical-reaction{0%,22%{transform:translateX(0)}25%{transform:translate(7px,2px) rotate(8deg);filter:brightness(1.9)}48%{transform:translate(7px,2px) rotate(8deg)}100%{transform:translate(0) rotate(0)}}
@keyframes critical-hitstop{0%,20%{filter:contrast(1)}21%,38%{filter:contrast(1.6) saturate(.15)}39%,100%{filter:none}}
@keyframes pact-camera{0%,100%{transform:translate(0)}15%{transform:translate(-5px,3px)}30%{transform:translate(5px,-3px)}50%{transform:translate(-3px,-2px)}75%{transform:translate(2px,1px)}}
@keyframes movement-route{from{stroke-dashoffset:100;opacity:.1}to{stroke-dashoffset:0;opacity:.7}}
@keyframes spark-spray{0%{opacity:0;stroke-dasharray:0 30}25%{opacity:1;stroke-dasharray:20 30}100%{opacity:0;stroke-dasharray:0 30;stroke-dashoffset:-25}}
@keyframes dust-spread{0%{opacity:0;transform:scale(.15)}20%{opacity:.3}100%{opacity:0;transform:scale(1.8)}}
@keyframes impact-ring{0%{opacity:0;transform:scale(.1)}15%{opacity:.9}100%{opacity:0;transform:scale(1.6)}}
@keyframes ballistic-shot{0%{stroke-dashoffset:180;opacity:0}20%{opacity:1}65%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-180;opacity:0}}
@keyframes guillotine-descend{0%{opacity:0;transform:scale(.3) rotate(-30deg)}30%{opacity:1;transform:scale(1) rotate(0)}65%{opacity:1;transform:translate(var(--blade-x),var(--blade-y)) scale(.9)}100%{opacity:0;transform:translate(var(--blade-x),var(--blade-y)) scale(.2)}}
@keyframes combat-number{0%{opacity:0;transform:translate(-50%,-20%) scale(1.6)}12%{opacity:1;transform:translate(-50%,-90%) scale(1)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-170%) scale(.9)}}
@keyframes condition-appear{0%{opacity:0}12%,80%{opacity:1}100%{opacity:0}}
@keyframes buff-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes chrono-enter{from{opacity:0;clip-path:inset(48% 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes chrono-burst{0%,17%{transform:translate(0,0) scale(1);opacity:.9}23%{transform:translate(280px,-25px) scale(1.2);opacity:1}28%,62%{transform:translate(330px,20px) scale(.85);opacity:.5}71%,100%{transform:translate(0,0) scale(1);opacity:1}}
@keyframes instant-cut{0%{opacity:0;stroke-dasharray:0 25}30%{opacity:1;stroke-dasharray:25 0}100%{opacity:0;stroke-dashoffset:-25}}
@keyframes chrono-resolve{0%{filter:brightness(2);transform:scale(1.025)}100%{filter:brightness(1);transform:scale(1)}}
@keyframes clock-resume{to{transform:rotate(240deg);opacity:0}}
@media(max-width:750px){.combat-top-hud.battle-hud{top:62px;gap:7px;padding:7px;margin-bottom:8px}.combat-roster{grid-template-columns:1fr;max-height:160px}.combat-card{padding:7px}.combat-card-title strong{font-size:.82rem}.combat-card-title>span{font-size:.43rem}.combat-hp>b{font-size:1.2rem}.combat-hp>small{font-size:.5rem}.combat-resources{gap:8px}.combat-resources>span{font-size:.52rem}.combat-resources .fluxless-seal b{display:none}.combat-readiness{font-size:.43rem;gap:4px}.combat-status-list>span{font-size:.52rem}.combat-team>header{font-size:.58rem;letter-spacing:.08em}.combat-team>header small{font-size:.45rem}.battle-stage,.cinematic-mode .battle-stage{height:620px;min-height:570px}.battle-moment h3{font-size:1.2rem}.battle-moment p{font-size:.75rem}.combat-pop{font-size:30px}.combat-pop small{font-size:.44rem}.chrono-caption{left:6%;top:12%}.chrono-caption h3{font-size:42px}.chrono-caption>span{font-size:.53rem}.chrono-dial{width:260px;height:260px;right:-80px;top:17%}.chrono-caption q{font-size:1.2rem}.chrono-count{bottom:15%;right:8%}.chrono-count b{font-size:90px}.chrono-sequence-steps{font-size:.42rem;letter-spacing:0}.chrono-runner{width:120px;height:120px;top:42%;animation-name:chrono-burst-mobile}.awakening-buffs{gap:4px;margin:12px 0}.awakening-buffs b{font-size:.58rem;padding:6px}.awakening-caption q{font-size:1.05rem}.awakening-portrait{width:75%}.combat-honours{padding:18px}.honours-hero{grid-template-columns:1fr;gap:18px}.honours-hero h4{font-size:1.3rem}.honours-metrics{grid-template-columns:1fr 1fr}.honours-stamp{font-size:.6rem;padding:8px}.tactical-label,.status-pop,.block-pop{font-size:.5rem}}
@keyframes chrono-burst-mobile{0%,17%{transform:translate(0,0);opacity:.9}23%,62%{transform:translate(150px,-10px) scale(.9);opacity:.7}71%,100%{transform:translate(0,0);opacity:1}}
.is-paused .cinema-fx *,.is-paused .chrono-sequence *,.is-paused .chrono-sequence,.is-paused .awakening-sequence *{animation-play-state:paused!important}
.fx-still *{animation:none!important}.fx-still .impact-shard,.fx-still .impact-dust,.fx-still .impact-shock,.fx-still .pact-shockwave{display:none}.fx-still .combat-pop{font-size:25px;opacity:1}.fx-still .ballistic-tracer{stroke-dasharray:3 5;opacity:.45}
html[data-motion="quiet"] .battle-stage *,html[data-motion="quiet"] .battle-stage{animation:none!important;transition:none!important}html[data-motion="quiet"] .hundred-cuts,html[data-motion="quiet"] .chrono-runner{display:none}
@media(prefers-reduced-motion:reduce){.battle-stage,.battle-stage *{animation:none!important;transition:none!important}.hundred-cuts,.chrono-runner,.impact-shard,.impact-dust,.pact-shockwave{display:none}.chrono-sequence{clip-path:none}.combat-pop{opacity:1}.awakening-buffs b{opacity:1}}

/* Final readability pass: resource and condition text stays legible on phones. */
.combat-card-title>span,.combat-hp>small,.combat-resources>span,.combat-readiness,.combat-status-list>span,.combat-team>header,.combat-team>header small,.combat-resources .fluxless-seal,.fluxless-seal b{font-size:12px;letter-spacing:0;line-height:1.45}
.combat-card-title strong{font-size:14px}.combat-card-title{flex-wrap:wrap;gap:3px 8px}.combat-readiness{flex-wrap:wrap;gap:2px}.combat-readiness>span{max-width:100%}.combat-status-list{min-height:24px}.combat-roster{max-height:230px}.combat-hp{flex-wrap:wrap;gap:4px}.combat-pop small,.tactical-label,.status-pop,.block-pop,.chrono-caption>span,.chrono-count>span,.chrono-sequence-steps{font-size:12px;letter-spacing:.02em}
.chrono-sequence .chrono-runner{left:var(--origin-x);top:var(--origin-y);transform:translate(-50%,-50%);animation:chrono-target-path var(--beat-duration,6200ms) ease-in-out both}
.hundred-cuts path{animation-delay:calc(var(--beat-duration,6200ms) * (.185 + var(--cut)*.00355));animation-duration:calc(var(--beat-duration,6200ms)*.049)}
@keyframes chrono-target-path{0%,17%{left:var(--origin-x);top:var(--origin-y);opacity:.8}23%,62%{left:var(--target-x);top:var(--target-y);opacity:1}71%,100%{left:var(--origin-x);top:var(--origin-y);opacity:.8}}
.chrono-sequence:not(.chrono-resume) .chrono-caption{animation:chrono-caption-window var(--beat-duration,9000ms) both}
.chrono-caption p{font-size:.875rem;color:#ffe4a5;letter-spacing:.02em;max-width:420px}
.chrono-sequence .chrono-runner{width:58px;height:58px;display:grid;place-items:center;background:#33223f;border:2px solid #ffe099;color:#fff0b9;border-radius:3px;box-shadow:0 0 28px #e8b75988;animation:chrono-hundred-path var(--beat-duration,9000ms) both}
.chrono-runner>b{font:800 24px/1 system-ui,sans-serif}.chrono-runner>small{position:absolute;top:100%;font-size:14px;background:#0b0d1bd9;padding:2px 6px}
.chrono-runner .chrono-runner-weapon{position:absolute;left:45px;top:-16px;width:105px;height:105px;transform-origin:15% 80%;animation:chrono-hundred-sword calc(var(--beat-duration,9000ms)*.0054) linear calc(var(--beat-duration,9000ms)*.26) 100 both}
.chrono-runner .chrono-runner-weapon svg{width:100%;height:100%;filter:drop-shadow(0 0 9px #ffcf77);animation:none}
.chrono-frozen-target{position:absolute;transform:translate(-50%,-50%);width:58px;height:58px;display:grid;place-items:center;border:2px solid #96bdd0;background:#233344;color:#ddebf7;box-shadow:0 0 24px #80b3d044}
.chrono-frozen-target b{font:800 23px/1 system-ui,sans-serif}.chrono-frozen-target span{position:absolute;top:100%;font-size:12px;white-space:nowrap;background:#0a1222d9;padding:3px 6px}
.chrono-sequence .hundred-cuts .chrono-cut-beat{opacity:0;animation:chrono-individual-cut calc(var(--beat-duration,9000ms)*.0054) linear calc(var(--beat-duration,9000ms)*(.26 + var(--cut)*.0054)) both}
.chrono-sequence .hundred-cuts .chrono-sword-cut{animation:none;opacity:1;stroke:#ffe49b;stroke-width:.55;fill:none;filter:drop-shadow(0 0 1px #ffd064)}
.chrono-cut-readout{font:700 2.2px system-ui,sans-serif;fill:#fff2c9;paint-order:stroke;stroke:#070c19;stroke-width:.25px;letter-spacing:.03px}
.chrono-cut-damage{font:800 2.2px system-ui,sans-serif;fill:#ffe188;paint-order:stroke;stroke:#070c19;stroke-width:.25px}
.chrono-count small{display:block;font-size:.75rem;letter-spacing:0;color:#d9c7ed;margin-top:8px}
.battle-stage[data-temporal-state=frozen] .battle-token{transition:none}
@keyframes chrono-hundred-path{0%,16%{left:var(--origin-x);top:var(--origin-y);opacity:.8}24%,80%{left:var(--target-x);top:var(--target-y);opacity:1}88%,100%{left:var(--origin-x);top:var(--origin-y);opacity:.8}}
@keyframes chrono-hundred-sword{0%,100%{rotate:-90deg}52%{rotate:65deg}}
@keyframes chrono-individual-cut{0%,100%{opacity:0}12%,94%{opacity:1}}
@keyframes chrono-caption-window{0%,17%{opacity:1}26%,84%{opacity:0}94%,100%{opacity:1}}
@media(max-width:750px){.combat-top-hud.battle-hud{padding:6px;gap:6px}.combat-card{padding:7px 6px}.combat-roster{max-height:208px}.combat-resources{gap:6px}.combat-card-title>span{font-size:12px}.combat-readiness>b{font-size:12px}.chrono-sequence-steps{display:grid;grid-template-columns:1fr 1fr;row-gap:5px}.tactical-label,.status-pop,.block-pop{max-width:160px;white-space:normal}.chrono-caption>span{max-width:260px;display:block}.combat-pop small{font-size:12px}}
