:root{color-scheme:dark;--bg:#0a0c10;--panel:#10141b;--line:#282d35;--muted:#8a929e;--cyan:#92e8ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#edf2f4;font:16px/1.5 Inter,"PingFang SC","Microsoft YaHei",sans-serif}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #97e7ff;outline-offset:4px}header{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:13px;font-weight:700;letter-spacing:3px}.brand-symbol{font-size:44px;color:var(--cyan);line-height:1}.brand small{display:block;font-size:9px;letter-spacing:2.3px;color:var(--muted)}.chapter{font-size:14px;letter-spacing:3px;color:#a6aab4}.chapter span{margin-left:25px;color:#6c747e;letter-spacing:1px;font:12px monospace}.plain{background:none;border:1px solid var(--line);border-radius:5px;padding:8px 13px;font-size:13px;color:#bec5cd}header .plain{border:none}header .plain span{border:1px solid #515b68;border-radius:50%;padding:0 5px;margin-left:8px}main{max-width:1440px;margin:auto;padding:30px 5% 20px}.title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.eyebrow{font:11px/1.8 monospace;letter-spacing:3px;color:#8795a4}h1{font-size:30px;letter-spacing:3px;margin:5px 0 0;font-weight:750}h1 span{font-size:15px;font-weight:400;letter-spacing:5px;border-left:1px solid #454953;margin-left:22px;padding-left:22px;color:#b4bcc9}.toolbar{display:flex;gap:8px}.game{border:1px solid #343a43;border-radius:9px;overflow:hidden;background:var(--panel)}.arena{height:min(49vw,510px);min-height:340px;position:relative;overflow:hidden;background:#171f2c}.scenery{position:absolute;inset:0;background:url('arena.webp') center 58%/cover}.vignette{position:absolute;inset:0;background:linear-gradient(#050a14b0,transparent 40%,#07111b66 80%,#071018e6)}.hud{position:absolute;z-index:5;top:25px;left:28px;right:28px;display:flex;align-items:start;gap:30px}.fighter-hud{flex:1}.fighter-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.fighter-label strong{font-size:21px;letter-spacing:2px}.fighter-label span{font:10px monospace;letter-spacing:2px;color:#c3d1da}.health{height:7px;background:#ffffff20;transform:skew(-14deg);overflow:hidden}.health i{display:block;height:100%;width:100%;background:#a2e7fa;box-shadow:0 0 16px #4fd5ff;transition:width .18s}.enemy .health i{background:#eb747f;box-shadow:0 0 16px #f3546b;float:right}.substat{display:flex;justify-content:space-between;font-size:11px;color:#a7b9c7;margin-top:7px}.round{text-align:center;min-width:82px}.round>span{font:25px monospace;letter-spacing:2px}.round small{display:block;color:#b0b3bd;font-size:10px;letter-spacing:2px;margin-top:6px}.fighter{position:absolute;bottom:15%;width:130px;height:200px;z-index:3;transform:translateX(-50%);pointer-events:none;will-change:left}.sprite{height:100%;width:100%;background-image:url('fighters.png');background-repeat:no-repeat;background-size:200% 100%;filter:drop-shadow(0 0 11px #5fddff50);transform-origin:center bottom}.sukuna .sprite{background-position:right;filter:drop-shadow(0 0 11px #fa496750)}.aura{position:absolute;bottom:2px;left:15%;width:70%;height:15px;border-radius:50%;background:#48ccff30;box-shadow:0 0 22px 5px #48ccff35}.sukuna .aura{background:#e6587530;box-shadow:0 0 22px 5px #f44e6225}.marker{position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);font:10px monospace;letter-spacing:2px;color:#b2eafa}.gojo{left:25%}.sukuna{left:75%}.fighter.attacking .sprite{transform:rotate(9deg) translateX(10px)}.fighter.hit .sprite{filter:brightness(3);transform:rotate(-7deg)}.fighter.dashing{opacity:.4}.fighter.protected .aura{box-shadow:0 0 24px 10px #91e6ff77}#fx{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}.arena-caption{position:absolute;bottom:15px;left:25px;right:25px;display:flex;justify-content:space-between;color:#a8b4c5;font:11px monospace;letter-spacing:2px;z-index:5}#warning{position:absolute;top:115px;left:50%;transform:translateX(-50%);color:#ffbec3;background:#5e0f23dd;padding:7px 20px;z-index:6;font-size:14px;white-space:nowrap;display:none;border:1px solid #e7778066}#technique{position:absolute;top:44%;width:100%;text-align:center;font-size:36px;font-weight:900;letter-spacing:10px;color:#cff7ff;text-shadow:0 0 25px #73c5ff;z-index:6;pointer-events:none}#banner{position:absolute;top:32%;right:8%;font-size:15px;color:#ffabb8;z-index:5}.overlay{position:absolute;inset:0;display:grid;place-items:center;z-index:7;background:linear-gradient(90deg,#0b101baa,#0a0e1466,#0b101baa);backdrop-filter:blur(2px)}.overlay.hidden{display:none}.intro{text-align:center}.intro .eyebrow{color:#b9ccdd}.intro h2{font-size:46px;line-height:1.2;letter-spacing:7px;margin:19px 0;font-weight:900}.intro h2 span{display:block;color:#a8e7fb}.intro p{font-size:14px;color:#c0cad7}.primary{background:#b5eeff;color:#071621;border:0;border-radius:3px;font-weight:700;min-width:210px;padding:14px 24px;margin:7px 0}.primary span{margin-left:38px}.intro .intro-note{font-size:11px;color:#9baebf;margin-top:15px}.energy-row{display:flex;align-items:center;gap:14px;padding:14px 22px 0;font-size:12px;color:#9aa7b7}.energy-row b{color:#dcefff;margin-left:10px;font:14px monospace}.energy-track{height:3px;max-width:260px;flex:1;background:#2c3847}.energy-track i{display:block;height:100%;width:100%;background:#80c6ff}.infinity{margin-left:auto;font-size:12px;color:#89c6e2}.controls{display:flex;gap:22px;padding:20px 22px 24px}.group-label{font-size:10px;color:#798594;letter-spacing:2px;margin-bottom:8px}.move-buttons{display:flex;gap:6px}.move-buttons button{height:65px;width:44px;border:1px solid #38424e;background:#1a202a;border-radius:5px;font-size:24px;touch-action:none}.move-buttons .dash{font-size:13px;width:62px}kbd{font:10px monospace;display:block;color:#8893a2;margin-top:6px}.skills{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;flex:1}.skill{position:relative;background:#171e29;border:1px solid #303b4a;border-radius:5px;overflow:hidden;min-height:87px;padding:9px 4px;text-align:left;transition:border-color .2s;touch-action:manipulation}.skill:hover{border-color:var(--accent)}.skill .top{display:flex;align-items:center;justify-content:space-between;padding:0 9px;color:var(--accent);font-size:23px;font-weight:700;line-height:1.2}.skill kbd{border:1px solid #495260;border-radius:3px;padding:2px 4px;margin:0;font-size:10px}.skill .name{display:block;padding:6px 9px 0;font-size:12px;color:#c9d1dd}.skill .cost{padding:0 9px;font-size:10px;color:#79899b}.skill .cooldown{position:absolute;inset:0;background:#080d16cd;display:none;place-content:center;text-align:center;color:#b1bfd1;font:18px monospace}.skill.unavailable{opacity:.45}.below{display:flex;justify-content:space-between;padding:16px 0;color:#7a8798;font-size:11px}.below i{display:inline-block;width:5px;height:5px;background:#9cdef3;border-radius:50%;margin-right:6px}.below b{margin:0 7px;font-weight:normal}.codex{margin-top:9px;border-top:1px solid #252b33;border-bottom:1px solid #252b33}.codex summary{list-style:none;cursor:pointer;padding:17px 0;font-size:14px;display:flex;justify-content:space-between}.codex summary span{font-size:12px;color:#7e8999}.codex-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-bottom:20px}.codex p{font-size:13px;color:#96a3b4}.codex b{display:block;color:#d0dbe7;margin-bottom:7px;font-weight:500}footer{font-size:11px;color:#586575;display:flex;justify-content:space-between;margin-top:23px}dialog{background:#111923;color:#c1d0df;max-width:480px;border:1px solid #415269;border-radius:10px;padding:35px;line-height:1.8}dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}dialog h2{color:#eff6ff;font-size:24px}dialog p{font-size:14px}#closeHelp{position:absolute;right:15px;top:10px;background:none;border:0;font-size:25px}body.domain .arena{box-shadow:inset 0 0 150px #226aff}body.domain .scenery{filter:hue-rotate(35deg) brightness(.45)}
@media(min-width:1500px){main{padding-left:30px;padding-right:30px}}@media(max-width:900px){header{height:68px;padding:0 4%}.chapter{display:none}main{padding:22px 3%}.controls{gap:12px;padding:16px 12px}.skill .top{padding:0 6px}.skill .name,.skill .cost{padding-left:6px;padding-right:0}.movement{align-self:end}.move-buttons button{width:35px}.move-buttons .dash{width:45px}.skills{gap:5px}.fighter{width:104px;height:162px}.codex-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){header{height:62px}.brand{font-size:14px}.brand-symbol{font-size:36px}.brand small{font-size:8px}.title-row{margin-bottom:16px}h1{font-size:25px}h1 span{font-size:12px;margin-left:12px;padding-left:12px}.eyebrow{font-size:9px;letter-spacing:2px}.toolbar{gap:4px}.toolbar .plain{font-size:11px;padding:6px}.arena{height:365px;min-height:0}.hud{left:13px;right:13px;top:18px;gap:10px}.fighter-label strong{font-size:16px}.fighter-label span{display:none}.enemy .fighter-label{justify-content:end}.substat{font-size:8px}.substat>span:first-child:not(#enemyHpText){display:none}.round{min-width:60px}.round>span{font-size:19px}.round small{font-size:8px}.intro h2{font-size:37px}.intro-note{max-width:260px}.intro p{font-size:12px}.fighter{width:89px;height:144px;bottom:17%}.controls{display:flex;flex-direction:column-reverse;padding:14px 12px}.skills{grid-template-columns:repeat(3,1fr);gap:7px}.skill{min-height:70px}.skill .top{font-size:20px;padding:0 9px}.skill .name{font-size:12px;padding:3px 9px 0}.skill .cost{position:absolute;right:9px;bottom:9px;font-size:9px}.movement{width:100%;display:flex;justify-content:space-between;align-items:center}.group-label{margin:0;font-size:11px}.move-buttons button{height:45px;width:68px}.move-buttons .dash{width:96px;display:flex;align-items:center;justify-content:center;gap:9px}.move-buttons kbd{margin:0;font-size:9px}.energy-row{padding:12px 13px 0;gap:10px}.infinity{font-size:10px}.below{font-size:10px;justify-content:center}.below>span:last-child{display:none}.arena-caption{font-size:9px;left:15px;right:15px}.codex-grid{gap:12px}footer span{display:none}#technique{font-size:26px;letter-spacing:5px}#warning{top:92px;font-size:12px}dialog{margin:auto 18px;padding:28px}}@media(max-height:500px) and (orientation:landscape){header{height:48px}main{padding-top:12px}.title-row{margin-bottom:10px}.arena{height:300px;min-height:0}.controls{padding:10px}.fighter{height:140px;width:91px}.intro h2{font-size:30px}}
/* Combat presentation and touch refinement */
html{scroll-behavior:smooth}.scenery{inset:-12px;transition:filter .7s;will-change:transform}.arena{isolation:isolate}.game{box-shadow:0 20px 80px #0005}.title-row .eyebrow{color:#7eabbf}.fighter{width:156px;height:218px;transition:left 90ms linear}.sprite{animation:combat-step .28s ease-in-out infinite alternate;animation-play-state:var(--walk,paused);transition:filter .12s}.fighter:not(.attacking):not(.hit) .sprite:after{content:none}.active .aura{animation:aura-pulse 2.2s ease-in-out infinite}.fighter.attacking .sprite{animation:strike .28s ease-out both;animation-play-state:running}.fighter.hit .sprite{animation:recoil .24s ease-out both;animation-play-state:running}.fighter.dashing{filter:drop-shadow(-25px 0 0 #9cdfff35) drop-shadow(-14px 0 0 #9cdfff25);transition:left 90ms ease-out}.fighter-hud .health{height:9px;box-shadow:0 0 12px #0009}.health i{transition:width .22s cubic-bezier(.2,.8,.2,1)}.enemy .health i{background:linear-gradient(90deg,#ba4059,#ff9cac)}.fighter-hud:not(.enemy) .health i{background:linear-gradient(90deg,#57a6db,#bbf3ff)}
#technique{top:25%;font-size:23px;letter-spacing:5px;text-shadow:0 2px 12px #000,0 0 28px #54bfff;min-height:35px}#warning{top:104px;max-width:90%;text-align:center;border-radius:3px;box-shadow:0 0 30px #ed345820;backdrop-filter:blur(5px)}#attackTimer{position:absolute;top:144px;left:35%;width:30%;height:3px;background:#4c192977;z-index:6;opacity:0}#attackTimer i{display:block;height:100%;background:#ff6d8c;box-shadow:0 0 12px #f46b8a}#comboHud{position:absolute;left:27px;top:36%;z-index:6;opacity:0;transition:opacity .2s;color:#ddf6ff;line-height:1.1;transform:skew(-5deg);text-shadow:0 2px 8px #000}#comboHud b{font:italic 900 43px/1 sans-serif}#comboHud span{font-size:12px;margin-left:7px;letter-spacing:2px}#comboHud i{display:block;background:#a6edff;height:2px;margin-top:8px;max-width:90px;box-shadow:0 0 10px #86dfff}
#cutin{position:absolute;bottom:18%;left:0;width:100%;height:100px;z-index:6;background:linear-gradient(90deg,#07101900,#071019f2 20%,#071019f5 80%,#07101900);border-block:1px solid transparent;border-image:linear-gradient(90deg,transparent,var(--cutin),transparent) 1;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:translateX(-105%) skew(-7deg);opacity:0;transition:transform .22s ease-out,opacity .18s;pointer-events:none}#cutin.show{transform:translateX(0) skew(-7deg);opacity:1}#cutin span{font:10px monospace;letter-spacing:4px;color:var(--cutin)}#cutin strong{font-size:38px;letter-spacing:8px;color:#fff;text-shadow:0 0 24px var(--cutin)}#flash{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;box-shadow:inset 0 0 75px #dd234bb0;transition:opacity .15s}#flash.hurt{opacity:1}.overlay{background:linear-gradient(90deg,#0b101bba,#0a0e1433,#0b101bba);backdrop-filter:blur(1px)}.intro h2{text-shadow:0 3px 40px #000}.intro .primary{box-shadow:0 0 35px #83d8ff18;transition:background .15s,transform .15s}.primary:hover{background:#e0f8ff;transform:translateY(-2px)}#difficulty{display:flex;justify-content:center;gap:4px;margin:16px 0 4px}#difficulty button{border:1px solid #b9d8ed22;background:#09131ac9;color:#8296aa;padding:6px 20px;font-size:12px;min-height:34px}#difficulty button.selected{background:#9adffa17;color:#c8f3ff;border-color:#8adaff80}.skill{background:linear-gradient(150deg,#1e2935,#111821);border-color:#384554;min-height:96px;transition:transform .12s,box-shadow .12s,border-color .12s;user-select:none;-webkit-user-select:none}.skill:active{transform:translateY(2px) scale(.97);box-shadow:inset 0 0 25px #ffffff0d}.skill .top{font-size:27px}.skill .name{font-size:13px}.skill .cost{font-size:11px}.skill .cooldown{font-size:20px;color:#e6f4ff;text-shadow:0 2px 4px #000;pointer-events:none}.skill:before{content:'';position:absolute;inset:0 0 auto;height:2px;background:var(--accent);opacity:.6}.move-buttons button{height:72px;user-select:none;-webkit-user-select:none}.move-buttons button:active{background:#31495c;border-color:#a5daff}.controls{align-items:end}.group-label{font-size:11px}.arena-caption{letter-spacing:1px;color:#c0d2e1}.codex p{line-height:1.9}.focused header,.focused .codex,.focused footer,.focused .below,.focused .title-row>div:first-child{display:none}.focused main{max-width:none;padding:10px 15px}.focused .title-row{justify-content:end;margin:0 0 8px}.focused .arena{height:calc(100dvh - 245px);min-height:300px}.focused .game{max-width:1700px;margin:auto}.focused .toolbar{position:relative;z-index:9}
@keyframes combat-step{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-5px) rotate(2deg)}}@keyframes strike{0%{transform:translateX(-6px) rotate(-4deg)}35%{transform:translateX(22px) rotate(10deg) scale(1.05)}100%{transform:translateX(0) rotate(0)}}@keyframes recoil{0%{transform:translateX(-12px) rotate(-8deg);filter:brightness(3)}100%{transform:translateX(0) rotate(0);filter:brightness(1)}}@keyframes aura-pulse{50%{opacity:.6;transform:scaleX(.8)}}
@media(max-width:900px){.fighter{width:132px;height:185px}.toolbar .plain{padding:7px 9px}.skill .top{font-size:24px}.skill .name{font-size:12px}.move-buttons button{height:76px}}
@media(max-width:600px){main{padding:16px 10px}.title-row{gap:10px;flex-wrap:wrap}.title-row>div:first-child{flex:1}.toolbar{flex:0 0 100%;justify-content:end}.toolbar .plain{min-height:34px;padding:6px 12px;font-size:12px}.arena{height:350px}.fighter{width:110px;height:154px;bottom:17%}.intro h2{font-size:33px;margin:10px 0}.intro p{margin:8px 0}.intro .eyebrow{font-size:10px}#difficulty{margin:10px 0 4px}#difficulty button{padding:5px 17px}.primary{padding:11px 22px;margin:6px 0;min-height:44px}.intro .intro-note{margin:8px auto;font-size:11px}#technique{top:24%;font-size:18px;letter-spacing:3px}#warning{top:87px;font-size:11px;padding:6px 10px}#attackTimer{top:120px;left:25%;width:50%}#comboHud{left:15px;top:39%}#comboHud b{font-size:29px}#comboHud span{font-size:10px}#cutin{height:78px;bottom:19%}#cutin strong{font-size:29px;letter-spacing:5px}#cutin span{font-size:9px;letter-spacing:2px}.energy-row{padding-top:13px}.controls{padding:12px;gap:13px}.skill{min-height:78px;padding:9px 4px}.skill .top{font-size:25px}.skill .name{font-size:12px}.skill .cost{font-size:10px;bottom:7px}.move-buttons{gap:8px}.move-buttons button{height:51px;width:70px}.move-buttons .dash{width:100px}.movement .group-label{font-size:10px;max-width:60px}.focused main{padding:7px}.focused .arena{height:calc(100dvh - 327px);min-height:270px}.focused .title-row{flex-wrap:nowrap}.focused .toolbar{flex:auto}.focused .controls{padding:8px;gap:8px}.focused .skill{min-height:67px}.focused .skill .top{font-size:22px}.focused .skill .cost{font-size:9px}.focused .energy-row{padding-top:10px}.focused .move-buttons button{height:46px}}
@media(max-height:500px) and (orientation:landscape){.focused .arena{height:calc(100dvh - 173px);min-height:190px}.focused .controls{padding:8px;gap:12px}.focused .energy-row{padding-top:7px}.focused .skill{min-height:68px}.focused .move-buttons button{height:55px}.focused .fighter{height:116px;width:90px}.focused .hud{top:10px}.focused .substat{display:none}.focused #warning{top:60px}.focused #attackTimer{top:96px}.focused .intro h2{font-size:23px;margin:4px}.focused .intro p,.focused .intro-note{display:none}.focused .intro .eyebrow{font-size:9px}.focused #difficulty{margin:4px}.focused .primary{padding:8px;min-height:35px}.focused #cutin{height:60px}.focused #cutin strong{font-size:26px}.focused #technique{top:36%;font-size:19px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.sprite,.aura{animation:none!important}.fighter{transition:none}#cutin{transition:opacity .2s;transform:none}.primary:hover{transform:none}.scenery{transform:none!important}}

#technique{top:32%;font-size:21px}@media(max-width:600px){#technique{top:37%;font-size:16px;letter-spacing:2px}.skill .cost{position:static;display:block;padding:2px 9px 0;font-size:10px}.skill{min-height:90px}.focused .skill{min-height:79px}.focused .arena{height:calc(100dvh - 353px)}}
[hidden]{display:none!important}.enemy-ce{height:4px;background:#ffffff15;margin-top:9px}.enemy-ce i{display:block;height:100%;background:#be9af4;float:right;width:100%;transition:width .15s}.enemy-ce-label{display:flex;justify-content:space-between;font-size:11px;color:#c3b2de;margin-top:3px}.enemy-resource{display:flex;justify-content:space-between;gap:10px;padding:11px 22px 0;font-size:12px;color:#bfafcf}.enemy-resource #guardInfo{color:#e5c78e}#targetPanel{display:flex;align-items:center;gap:8px;padding:13px 22px 0}#targetPanel>span{font-size:13px;color:#cfbaa0;margin-right:auto}#targetPanel small{font-size:11px;color:#8a8c99;margin-left:10px}#targetPanel button{min-height:40px;border:1px solid #46404c;background:#191b23;padding:7px 15px;border-radius:4px;font-size:13px}#targetPanel button.selected{border-color:#f3cc82;background:#473b24;color:#ffe1a6}#targetPanel button:disabled{opacity:.35;cursor:default}.summon{position:absolute;bottom:15%;width:133px;height:192px;transform:translateX(-50%);z-index:2;pointer-events:none}.summonArt{height:100%;background:url('summons.png') no-repeat left / 200% 100%;filter:drop-shadow(0 0 10px #c2a36f55)}.agito .summonArt{background-position:right}.summonLabel{font-size:11px;white-space:nowrap;text-align:center;text-shadow:0 2px 5px #000;color:#f3d8a5}.summonTrack{height:4px;background:#302517;margin-top:4px}.summonHp{display:block;height:100%;width:100%;background:#dbb470;transition:width .15s}.summonIntent{font-size:12px;text-align:center;white-space:nowrap;color:#ffd77a;text-shadow:0 1px 4px #000}.summon.targeted .summonArt{filter:drop-shadow(0 0 9px #ffe1a0)}.summon.targeted .summonLabel:before{content:'▾ ';color:#fff}.summon.charging .summonArt{filter:drop-shadow(0 0 15px #ff9d29)}.skill.healing{border-color:#93dfb0;box-shadow:inset 0 0 25px #4eff9120}.skill.healing .top{color:#ccffda}.fighter.rct-active .aura{background:#8ef9b966;box-shadow:0 0 35px 8px #5ade9466}.arena-caption{bottom:8px}#warning{top:126px}#attackTimer{top:165px}.focused .arena{height:calc(100dvh - 305px)}
@media(max-width:600px){.summon{height:126px;width:94px;bottom:20%}.summonLabel{font-size:9px}.summonIntent{font-size:10px}.enemy-ce-label{font-size:9px}.enemy-ce{margin-top:5px}.enemy-resource{padding:10px 12px 0;flex-direction:column;gap:3px;font-size:11px}#targetPanel{padding:10px 12px 0;flex-wrap:wrap;gap:5px}#targetPanel>span{width:100%;font-size:11px}#targetPanel button{flex:1;padding:6px 4px;font-size:12px;min-height:40px}.summonTrack{height:3px}.energy-row b{font-size:12px}.energy-row{gap:7px}.energy-track{min-width:25px}#warning{top:108px}#attackTimer{top:140px}#technique{top:44%;font-size:15px}.focused .arena{height:calc(100dvh - 458px);min-height:280px}}
@media(max-height:500px) and (orientation:landscape){.focused .summon{height:105px;width:80px}.focused #warning{top:78px}.focused #attackTimer{top:111px}.focused .arena{min-height:230px}.focused .enemy-resource{font-size:11px}.focused #targetPanel{padding-top:8px}}
.skills{grid-template-columns:repeat(7,minmax(0,1fr))}#domainState{padding:12px 22px;background:linear-gradient(90deg,#1a2746,#322139);border-bottom:1px solid #665278;color:#d9e5ff;font-size:14px;font-variant-numeric:tabular-nums}.shrine .arena{box-shadow:inset 0 0 110px #c7134666}.shrine .scenery{filter:sepia(.45) hue-rotate(290deg) brightness(.7)}.clashing .scenery{filter:brightness(.55) saturate(1.3)}.clashing .vignette{background:linear-gradient(90deg,#267cff55,transparent 45%,#e42e5955)}.clashing #domainState{border-color:#b4b7ff;color:#fff;background:linear-gradient(90deg,#263c67,#592b42)}
@media(max-width:1100px) and (min-width:601px){.controls{flex-wrap:wrap}.skills{flex:1 1 100%;order:-1}.movement{width:100%;display:flex;align-items:center;justify-content:space-between}.move-buttons button{height:46px;width:60px}.move-buttons .dash{width:85px}}
@media(max-width:600px){.skills{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.skill .top{font-size:23px;padding:0 5px}.skill .name{font-size:11px;padding:3px 5px 0;white-space:normal}.skill .cost{font-size:9px;padding:3px 5px 0;white-space:normal}.skill{min-height:90px}.skill:last-child{grid-column:3 / 5}.skill:last-child .top{padding-inline:12px}.skill:last-child .name,.skill:last-child .cost{padding-inline:12px}#domainState{font-size:12px;line-height:1.7;padding:10px 12px}.focused .arena{min-height:280px}}
#adaptInfo{padding:10px 22px 0;font-size:12px;color:#e8cc94;font-variant-numeric:tabular-nums}.summon{transition:left .12s linear}.summon.evading{opacity:.55;filter:drop-shadow(-16px 0 0 #efd5a822)}.summon.sword-strike .summonArt{animation:sword-lunge .4s ease-out}.summon.charging.maho .summonArt{filter:drop-shadow(0 0 16px #fff4a0)}@keyframes sword-lunge{0%{transform:rotate(0)}35%{transform:translateX(-16px) rotate(-9deg)}100%{transform:translateX(0) rotate(0)}}@media(max-width:600px){#adaptInfo{padding:9px 12px 0;font-size:11px;line-height:1.6}}@media(prefers-reduced-motion:reduce){.summon{transition:none}.summon.sword-strike .summonArt{animation:none}}
.skills{grid-template-columns:repeat(8,minmax(0,1fr))}.skill.chant-ready{border-color:#9675b7;background:linear-gradient(145deg,#30253e,#151c28)}.skill.cast-locked{opacity:.38}.skill[data-action="chant"] .top{color:#efc5ff}.skill[data-action="chant"].healing{border-color:#e4abff;box-shadow:inset 0 0 26px #c884ff25}#chantSubtitle{position:absolute;left:50%;bottom:27%;width:min(82%,430px);transform:translateX(-50%);z-index:7;text-align:center;pointer-events:none;background:linear-gradient(90deg,#080d1800,#080d18ee 15%,#080d18ee 85%,#080d1800);padding:15px 24px;color:var(--chant-color);text-shadow:0 0 20px var(--chant-color)}#chantCaption{font:12px/1.5 monospace;letter-spacing:2px;color:#d3d1e2}#chantLine{display:block;font-size:38px;letter-spacing:9px;margin:7px 0 13px;line-height:1.2}.chantTrack{height:3px;background:#ffffff15;max-width:270px;margin:auto}.chantTrack i{display:block;height:100%;background:var(--chant-color);box-shadow:0 0 12px var(--chant-color)}#chantStatus{font-size:12px;line-height:1.7;padding:10px 22px;background:#201c30;border-bottom:1px solid #493a59;color:#dcc7ed}.chanting #technique{visibility:hidden}.chanting #gojo .aura{box-shadow:0 0 32px 13px #c099ff80}.codex a{color:#b1caed;font-size:12px;text-decoration:underline}
@media(max-width:1100px){.skills{grid-template-columns:repeat(4,minmax(0,1fr))}.skill .cost{font-size:10px}}
@media(max-width:600px){.skill:last-child{grid-column:auto}.skill:last-child .top{padding-inline:5px}.skill:last-child .name,.skill:last-child .cost{padding-inline:5px}#chantLine{font-size:29px;letter-spacing:6px}#chantCaption{font-size:10px;letter-spacing:1px}#chantSubtitle{padding:12px 14px;bottom:25%}#chantStatus{padding:9px 12px;font-size:11px}.skill .name{font-size:10px}.skill .cost{font-size:9px}}
.title-row{flex-wrap:wrap;gap:16px}.toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;max-width:100%}.music-picker{display:flex;align-items:center;gap:7px;color:#bec5cd;font-size:13px;min-width:0}.music-picker select{min-width:100px;max-width:190px;border:1px solid var(--line);border-radius:5px;background:#111822;color:#dbe5f2;padding:9px 26px 9px 9px;font:inherit;min-height:38px;text-overflow:ellipsis}.music-picker select:focus-visible{outline:2px solid #97e7ff;outline-offset:3px}#musicNotice{font-size:12px;line-height:1.6;color:#a2b8cf;margin:0 0 10px;overflow-wrap:anywhere}#musicToggle[aria-pressed="true"]{border-color:#6c9baa;color:#ace9ff;background:#14212c}.focused #musicNotice{max-width:1700px;margin:0 auto 8px}
@media(max-width:900px){.title-row>.toolbar{flex:0 0 100%}.music-picker select{max-width:200px}}
@media(max-width:600px){.toolbar{gap:6px;justify-content:flex-start}.toolbar .plain{padding:6px 9px;min-height:38px}.music-picker{flex:1;font-size:12px;gap:5px}.music-picker select{width:100%;max-width:170px;min-width:85px;padding:8px 20px 8px 7px}.toolbar #chooseMusic{flex:none}.toolbar #sound{margin-left:0}.focused .title-row{flex-wrap:wrap}.focused .toolbar{flex:0 0 100%}.focused .arena{min-height:280px}#musicNotice{font-size:11px}}
/* Refined battle console */
:root{--line:#283441;--muted:#a0aec0}body{background:radial-gradient(ellipse at 50% 0,#142031 0,#0a0e15 52%,#080b10 100%)}header{height:72px;background:#090e16b8;border-bottom-color:#26313d}.brand{letter-spacing:2px}.brand small{font-size:10px}main{max-width:1400px;padding-top:25px}.title-row{gap:18px;margin-bottom:18px}h1{font-size:32px;font-weight:800}.title-row .eyebrow{font-size:12px;letter-spacing:3px}.toolbar{padding:7px;border:1px solid #2c3846;background:#0c121bcc;border-radius:9px;gap:6px}.toolbar .plain,.music-picker select{min-height:40px;font-size:13px;background:#151f2b;border-color:#324254}.toolbar .plain:hover{background:#203145;border-color:#67839b}.toolbar #pause{border-color:#47667b;color:#d5f2ff}.toolbar #pause:disabled{opacity:.35;cursor:default}.music-picker select{max-width:175px}.game{border-color:#3b4c60;border-radius:12px;background:linear-gradient(145deg,#131d2a,#0d141e);box-shadow:0 26px 85px #0006}.arena{height:clamp(380px,40vw,530px);border-bottom:1px solid #385064}.hud{top:24px;left:26px;right:26px;gap:28px}.fighter-label strong{font-size:24px}.fighter-label span{font-size:11px}.health{height:10px;border-radius:2px}.substat,.enemy-ce-label{font-size:12px}.round>span{font-size:29px}.round small{font-size:11px}.arena-caption{bottom:12px;font-size:12px;color:#e0e9f3;text-shadow:0 2px 5px #000}.arena-caption #status{text-align:right;max-width:70%;overflow-wrap:anywhere}.overlay{background:linear-gradient(90deg,#07101bd6,#09131c33 50%,#10101bd6);backdrop-filter:blur(1.5px)}.intro h2{font-size:49px;letter-spacing:8px;margin:14px 0}.intro p{font-size:15px}.intro .eyebrow{font-size:12px;letter-spacing:3px}.intro .primary{min-height:48px;padding:13px 27px;font-size:16px;border-radius:6px;box-shadow:0 6px 30px #87d3ff22}.intro .intro-note{font-size:12px;color:#b5c4d5}#difficulty{gap:8px}#difficulty button{min-height:38px;border-radius:5px;min-width:74px;font-size:13px}#difficultyHelp{font-size:12px!important;color:#b0c3d5;margin:7px 0!important;min-height:20px}#warning{border-radius:6px;font-size:14px;max-width:85%;white-space:normal;top:132px;padding:8px 15px}#attackTimer{top:177px}.battleBrief{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;background:#101c29;border-bottom:1px solid #293a4d;color:#b3c9dd;font-size:13px}#battleTarget{color:#d4eaff;font-weight:600}#battleToggles{font-size:12px;color:#afc3d4}#battleDetails{border-bottom:1px solid #253344}#battleDetails summary{display:flex;justify-content:space-between;gap:12px;padding:10px 20px;cursor:pointer;font-size:12px;color:#90a9c0;list-style:none}#battleDetails summary:before{content:'＋';color:#c2d5e8;margin-right:2px}#battleDetails[open] summary:before{content:'−'}#battleDetails summary>span{margin-left:auto;color:#d6ba85}#battleDetails[open]{padding-bottom:12px;background:#0b131e}.enemy-resource{font-size:13px;padding-inline:20px;line-height:1.7;flex-wrap:wrap}#adaptInfo{font-size:13px;line-height:1.7;padding-inline:20px}#targetPanel{padding:12px 20px 0}#targetPanel button{min-height:42px;padding:8px 18px;transition:background .15s,border-color .15s}#targetPanel button.selected{box-shadow:inset 0 0 20px #d8ae451a}.energy-row{padding:15px 20px 0;font-size:14px;gap:14px}.energy-row b{font-size:16px}.energy-track{height:5px;max-width:none;border-radius:4px;overflow:hidden;background:#233448}.energy-track i{background:linear-gradient(90deg,#648ded,#a2e8ff);box-shadow:0 0 12px #8fe2ff50}.infinity{font-size:12px;white-space:nowrap}.controls{display:grid;grid-template-columns:185px minmax(0,1fr);gap:20px;padding:20px;align-items:center}.skills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;order:initial}.movement{display:block;width:auto;align-self:center}.moveHint{font-size:13px;line-height:1.9;color:#97aec6;margin:0 0 14px}.group-label{font-size:12px;color:#c1d3e4;margin-bottom:8px;letter-spacing:1px}.move-buttons{gap:6px}.move-buttons button{min-width:42px;width:48px;height:64px;background:#1b2a3b;border-color:#3b516b}.move-buttons .dash{width:72px;font-size:14px}.skill{min-height:118px;padding:12px 7px 10px;background:linear-gradient(140deg,#1b2b3e,#111d2b);border-color:#3a4c62;border-radius:8px}.skill:before{height:2px;opacity:.9}.skill .top{font-size:27px;padding-inline:9px}.skill .top kbd{font-size:11px;background:#0c1520;padding:3px 5px}.skill .name{font-size:14px;padding:7px 9px 0;color:#e2ebf7}.skill .cost{display:block;position:static;font-size:12px;padding:2px 9px 0;color:#9db4cc}.skill-state{display:block;font-size:11px;line-height:1.4;margin:6px 9px 0;color:#7f9ab6}.skill[data-readiness="就绪"] .skill-state{color:#bfd6e9}.skill[data-readiness="已开启"] .skill-state,.skill[data-readiness="吟唱强化"] .skill-state{color:#d5eebe}.skill[data-readiness="咒力不足"] .skill-state{color:#ffc5a3}.skill.cast-locked{opacity:.55}.skill.unavailable{opacity:.58}.skill .cooldown{inset:auto 0 0;height:100%;place-content:center;font-size:25px;backdrop-filter:blur(.3px);color:#e5f1ff}.skill.healing{border-color:#93dcae;background:linear-gradient(140deg,#203936,#17242b)}.skill.chant-ready{background:linear-gradient(140deg,#332842,#152332)}#domainPanel{border-block:1px solid #6d6790;background:linear-gradient(100deg,#162842,#352238)}#domainState{border:0;background:none;padding:12px 20px;font-size:13px;line-height:1.7}#clashViz{padding:0 20px 14px}.clashScores{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#a7ddff}.clashScores>span:last-child{color:#ffadbc}.clashScores b{font:700 21px monospace}.clashScores>span:nth-child(2){color:#e5d8ff}.clashPower{margin-top:8px;height:8px;background:#c5637d;overflow:hidden;border-radius:5px}.clashPower i{display:block;height:100%;width:50%;background:#80d5ff;transition:width .18s}.clashTime{margin-top:7px;height:2px;background:#ffffff18}.clashTime i{display:block;height:100%;background:#e0c5ff}#chantStatus{padding:12px 20px;font-size:13px;line-height:1.8}.codex{margin-top:12px;background:#0d152099;border:1px solid #27384a;border-radius:9px;padding:0 18px}.codex summary{font-size:15px;padding:17px 0}.codex summary span{font-size:12px}.codex-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}.codex p{font-size:14px;color:#adbed0;line-height:1.9;border-top:1px solid #223246;padding-top:15px;margin:0 0 18px}.codex b{font-size:15px;color:#e2ebf4}.below{font-size:12px}.plain:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #b3e8ff;outline-offset:3px}dialog{max-width:540px;border-color:#536b88;background:linear-gradient(150deg,#17283b,#0e1723)}dialog p{font-size:15px}.focused main{padding:10px max(10px,env(safe-area-inset-right)) 10px max(10px,env(safe-area-inset-left))}.focused .arena{height:clamp(320px,52dvh,610px);min-height:320px}.focused .title-row{margin-bottom:10px}.focused .controls{padding:14px 20px}.focused .skill{min-height:106px}footer{font-size:12px;color:#8493a6}
@media(max-width:1100px){.controls{grid-template-columns:150px minmax(0,1fr);gap:13px}.move-buttons{flex-wrap:wrap}.move-buttons .dash{width:102px;height:45px}.skill{min-height:116px}.title-row>.toolbar{flex:0 0 100%}.toolbar{justify-content:flex-start}.codex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){header{height:60px}.brand{font-size:14px}.brand small{font-size:9px}main{padding:18px 9px 16px}h1{font-size:28px}.title-row .eyebrow{font-size:10px;letter-spacing:2px}.title-row{gap:13px}.toolbar{padding:7px;gap:6px;border-radius:8px}.toolbar .plain,.music-picker select{font-size:12px;min-height:40px}.toolbar .plain{padding:7px 9px}.music-picker{flex:1;max-width:calc(100% - 87px)}.music-picker select{max-width:none}.game{border-radius:9px}.arena{height:390px;min-height:0}.hud{top:17px;left:13px;right:13px;gap:12px}.fighter-label strong{font-size:18px}.fighter-label span{display:none}.substat,.enemy-ce-label{font-size:10px}.round{min-width:60px}.round>span{font-size:22px}.round small{font-size:9px}.fighter{width:112px;height:157px;bottom:17%}.summon{width:92px;height:125px;bottom:20%}.summonLabel{font-size:10px}.arena-caption{font-size:10px;left:12px;right:12px}.intro h2{font-size:35px;letter-spacing:6px}.intro .eyebrow{font-size:11px}.intro p{font-size:13px}.intro .intro-note{font-size:11px}.intro .primary{min-height:44px;padding:10px 24px}.intro #difficultyHelp{font-size:11px!important;max-width:300px}#difficulty button{min-height:36px;font-size:12px}#warning{font-size:12px;top:111px;padding:7px 12px;max-width:92%}#attackTimer{top:160px}#technique{top:44%;font-size:17px}#cutin{height:74px;bottom:20%}#cutin strong{font-size:27px}#chantSubtitle{bottom:26%;padding:12px}#chantLine{font-size:30px}.battleBrief{padding:10px 12px;font-size:12px;gap:6px;flex-wrap:wrap}#battleToggles{font-size:11px}#battleDetails summary{padding:9px 12px;font-size:12px;gap:5px}#battleSummary{font-size:11px}.enemy-resource,#adaptInfo{font-size:12px;padding-inline:12px}#targetPanel{padding:10px 12px 0}#targetPanel>span{font-size:12px}#targetPanel button{font-size:12px;padding:6px;min-height:42px}.energy-row{padding:13px 12px 0;font-size:12px;gap:8px}.energy-row b{font-size:13px}.infinity{font-size:10px}.controls,.focused .controls{display:flex;flex-direction:column-reverse;padding:13px 10px;gap:13px}.skills{width:100%;gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.skill,.focused .skill{min-height:114px;padding:9px 3px;border-radius:6px}.skill .top,.skill:last-child .top{font-size:25px;padding-inline:5px}.skill .name,.skill:last-child .name{font-size:12px;padding:6px 5px 0;line-height:1.4;min-height:24px}.skill .cost,.skill:last-child .cost{font-size:10px;padding:3px 5px 0;line-height:1.35}.skill-state{font-size:10px;margin:6px 5px 0}.skill .top kbd{font-size:10px;padding:2px 4px}.movement{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px}.moveHint{display:none}.group-label{font-size:11px;margin:0;max-width:54px}.move-buttons{flex-wrap:nowrap;gap:7px}.move-buttons button{height:48px;width:65px}.move-buttons .dash{width:91px;height:48px}.move-buttons .dash kbd{font-size:9px}#domainState{padding:10px 12px;font-size:12px}#clashViz{padding:0 12px 12px}.clashScores{font-size:12px}.clashScores b{font-size:19px}#chantStatus{font-size:12px;padding:9px 12px}.codex{padding:0 13px}.codex-grid{grid-template-columns:1fr}.codex p{font-size:14px}.codex summary{font-size:14px}.below{font-size:11px}.focused .arena{height:clamp(300px,44dvh,420px);min-height:300px}.focused .title-row{margin-bottom:8px}.focused main{padding-top:8px}dialog{margin:auto 16px;max-height:85dvh;overflow-y:auto}dialog p{font-size:14px}}
@media(max-width:360px){.move-buttons button{width:56px}.move-buttons .dash{width:83px}.skill .top{font-size:22px}.skill .name{font-size:11px}.skill .cost{font-size:10px}.arena{height:375px}}
@media(prefers-reduced-motion:reduce){.health i,.clashPower i{transition:none}.overlay{backdrop-filter:none}}

/* Heian incarnation: four-armed full-body sprite. */
.sukuna.true-form .sprite{background-image:url("sukuna-heian.png");background-size:contain;background-position:center bottom;filter:drop-shadow(0 0 13px #ff664b85)}
.sukuna.true-form .aura{box-shadow:0 0 30px 12px #ff704b55}
#difficulty{flex-wrap:wrap}#difficulty [data-level="heian"]{color:#ffb49a}#difficulty [data-level="heian"].selected{border-color:#ff9478;background:#572a30}

/* Immersive layout: reserve controls first, give the remaining viewport to combat. */
body.focused{overflow:hidden}
.focused main{height:100dvh;max-width:none;display:flex;flex-direction:column;gap:8px;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
.focused .title-row{flex:none;margin:0;min-height:40px}
.focused .toolbar{padding:0;border:0;background:none;flex:0 1 auto;gap:6px}
.focused .toolbar .plain,.focused .music-picker select{min-height:36px;padding-block:6px}
.focused #musicNotice{flex:none;margin:0;font-size:12px}
.focused .game{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;width:100%;max-width:none;margin:0}
.focused .arena{flex:1;min-height:0;height:auto;container-type:size}
.focused .controls{flex:none;display:grid;grid-template-columns:166px minmax(0,1fr);gap:12px;padding:10px 14px;align-items:center}
.focused .skills{grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;min-width:0}
.focused .skill{min-height:88px;padding:8px 3px 6px}
.focused .skill .top{font-size:25px;padding-inline:6px}
.focused .skill .name{font-size:13px;padding:5px 6px 0;white-space:nowrap}
.focused .skill .cost{font-size:11px;padding:2px 6px 0;white-space:nowrap}
.focused .skill-state{margin:3px 6px 0;font-size:11px}
.focused .skill .cooldown{font-size:21px;background-color:#080d1655;backdrop-filter:none}
.focused .moveHint{display:none}
.focused .movement{width:auto;display:block;align-self:center}
.focused .group-label{font-size:12px;margin:0 0 6px;max-width:none}
.focused .move-buttons{flex-wrap:nowrap;gap:5px}
.focused .move-buttons button{width:44px;min-width:0;height:48px}
.focused .move-buttons .dash{width:66px;height:48px}
.focused .battleBrief{flex:none;padding:5px 14px;font-size:12px;min-height:28px}
.focused .energy-row{flex:none;padding:7px 14px 0;font-size:12px}
.focused .energy-row b{font-size:14px}
.focused #battleDetails{flex:none;position:relative}
.focused #battleDetails summary{padding:4px 14px;font-size:12px}
.focused #battleDetails[open]{padding-bottom:0}
.focused #battleDetails[open] .enemy-resource,.focused #battleDetails[open] #adaptInfo{padding:3px 14px;font-size:12px;line-height:1.5}
.focused #chantStatus{flex:none;padding:4px 14px;font-size:12px;line-height:1.5}
.focused #targetPanel{flex:none;padding:5px 14px 0;gap:6px}
.focused #targetPanel>span{width:auto;font-size:12px}
.focused #targetPanel button{min-height:32px;padding:3px 12px;font-size:12px}
.focused #domainPanel{flex:none}
.focused #clashViz{padding:5px 14px 7px}
.focused .clashScores b{font-size:16px}
.focused .clashPower{height:5px;margin-top:4px}
.focused .clashTime{margin-top:4px}
.focused .fighter{height:clamp(100px,43cqh,255px);width:clamp(72px,31cqh,183px);bottom:15%}
.focused .summon{height:clamp(85px,36cqh,215px);width:clamp(62px,25cqh,149px);bottom:15%}
.focused .hud{top:16px;left:22px;right:22px}
.focused .intro{max-width:min(94%,640px);padding:14px 24px;border:1px solid #8ab8d42e;border-radius:12px;background:#0b1420e8;box-shadow:0 18px 60px #0007}
.focused .intro h2{font-size:clamp(24px,7cqh,48px);margin:8px 0;letter-spacing:5px}
.focused .intro p{margin:7px 0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.focused .intro .intro-note{margin:6px auto;font-size:12px}
.focused #difficulty{margin:8px 0 4px}
.focused #difficulty button{min-width:62px;min-height:34px;padding:4px 12px}
.focused .overlay{overflow:auto;padding:12px;z-index:8;backdrop-filter:blur(2px)}
.focused .intro .primary{min-height:42px;padding:9px 24px;margin:6px 0}
.focused .arena-caption{font-size:12px;bottom:8px}
@media(max-width:1150px){
 .focused .skills{grid-template-columns:repeat(4,minmax(0,1fr))}
 .focused .skill{min-height:72px;padding:5px 3px}
 .focused .skill .top{font-size:23px}
 .focused .skill .name{padding-top:2px;font-size:12px}
 .focused .skill-state{display:none}
 .focused .controls{grid-template-columns:150px minmax(0,1fr);padding:8px 12px}
 .focused .move-buttons .dash{width:54px}
}
@media(max-width:600px){
 .focused main{gap:5px;padding-top:max(5px,env(safe-area-inset-top))}
 .focused .title-row{min-height:34px}
 .focused .toolbar{flex:1;justify-content:flex-end;flex-wrap:nowrap;gap:5px}
 .focused #chooseMusic,.focused .music-picker{display:none}
 .focused .toolbar .plain{font-size:12px;min-height:34px;padding:5px 8px}
 .focused .controls{display:flex;flex-direction:column-reverse;gap:6px;padding:6px 8px}
 .focused .skills{gap:5px}
 .focused .skill{min-height:65px;padding:5px 2px}
 .focused .skill .top,.focused .skill:last-child .top{font-size:22px;padding-inline:5px}
 .focused .skill .name,.focused .skill:last-child .name{font-size:12px;min-height:0;padding:2px 5px 0;line-height:1.4}
 .focused .skill .cost{display:none}
 .focused .movement{display:flex;width:100%;align-items:center;justify-content:space-between}
 .focused .group-label{margin:0;font-size:12px}
 .focused .move-buttons button{height:40px;width:58px}
 .focused .move-buttons .dash{width:76px;height:40px}
 .focused .battleBrief{padding:4px 9px;min-height:25px;gap:3px}
 .focused #battleToggles{font-size:10px}
 .focused #battleDetails summary{padding:3px 9px;font-size:11px}
 .focused .energy-row{padding:5px 9px 0;gap:6px}
 .focused .energy-row b{font-size:12px;margin-left:4px}
 .focused #chantStatus{font-size:11px;padding:3px 9px}
 .focused #targetPanel{padding:4px 9px 0;flex-wrap:nowrap}
 .focused #targetPanel>span{display:none}
 .focused #targetPanel button{min-height:30px;padding:3px;font-size:11px}
 .focused .hud{top:10px;left:12px;right:12px;gap:10px}
 .focused .fighter-label strong{font-size:16px}
 .focused .round>span{font-size:20px}
 .focused .substat,.focused .enemy-ce-label{font-size:10px}
 .focused #warning{top:100px;font-size:12px}
 .focused #attackTimer{top:140px}
 .focused .intro{padding:10px 12px;max-width:100%}
 .focused .intro h2{font-size:clamp(24px,7cqh,34px);margin:5px 0}
 .focused .intro p{font-size:12px;margin:5px 0}
 .focused .intro .intro-note{display:none}
 .focused #difficulty{gap:5px;margin:6px 0 3px}
 .focused #difficulty button{min-width:0;min-height:32px;padding:4px 12px}
 .focused .arena-caption{font-size:10px}
}
@media(max-height:600px) and (min-width:601px){
 .focused main{gap:4px;padding:4px 6px}
 .focused .title-row{min-height:30px}
 .focused .toolbar .plain,.focused .music-picker select{min-height:30px;padding:3px 8px;font-size:12px}
 .focused #chooseMusic,.focused .music-picker{display:none}
 .focused .controls{grid-template-columns:132px minmax(0,1fr);padding:5px 8px;gap:8px}
 .focused .skills{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}
 .focused .skill{min-height:53px;padding:4px 1px}
 .focused .skill .top{font-size:20px;padding:0 4px}
 .focused .skill .name{font-size:11px;padding:2px 4px 0}
 .focused .skill .cost,.focused .skill-state,.focused .group-label{display:none}
 .focused .move-buttons button{width:36px;height:40px}
 .focused .move-buttons .dash{width:50px;height:40px;font-size:12px}
 .focused .battleBrief{min-height:22px;padding:2px 10px}
 .focused #battleDetails summary{padding:2px 10px}
 .focused .energy-row{padding:3px 10px 0}
 .focused .hud{top:8px;left:15px;right:15px}
 .focused .fighter-label strong{font-size:16px}
 .focused .fighter-label span,.focused .substat{display:none}
 .focused .round>span{font-size:20px}
 .focused .round small{font-size:10px}
 .focused #warning{top:72px;padding:3px 8px;font-size:12px}
 .focused #attackTimer{top:102px}
 .focused .intro{padding:6px 18px}
 .focused .intro h2{font-size:24px;margin:3px 0}
 .focused .intro p{display:block;font-size:12px;margin:3px 0}
 .focused .intro .eyebrow,.focused .intro .intro-note{display:none}
 .focused .intro .primary{min-height:34px;padding:5px 20px;margin:3px 0}
 .focused #difficulty{margin:3px 0}
 .focused #difficultyHelp{min-height:0;margin:2px 0!important}
}

#assistOptions{margin:8px auto;max-width:330px;padding:7px 12px;border:1px solid #385266;border-radius:7px;background:#101f2acc} .assist-toggle{display:flex;gap:10px;align-items:center;cursor:pointer;font-size:14px}.assist-toggle input{width:18px;height:18px;accent-color:#9ce8ff;cursor:pointer}.assist-toggle b{margin-left:auto;font-size:12px;color:#acdded}#assistHelp{display:block;font-size:12px;color:#aabfd0;margin-top:3px} .focused #assistOptions{margin:5px auto;padding:5px 10px}@media(max-height:600px) and (min-width:601px){.focused #assistOptions{display:flex;align-items:center;gap:12px;max-width:none;margin:3px auto;padding:4px 8px}.focused #assistHelp{margin:0;font-size:11px}.focused .assist-toggle{font-size:12px;gap:6px}}
/* Larger mobile movement targets, including landscape touch devices. */
@media(max-width:600px){
 .focused .movement{display:block;width:100%}
 .focused .movement .group-label{display:none}
 .focused .move-buttons{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:10px;width:100%}
 .focused .move-buttons button,.focused .move-buttons .dash{width:100%;height:62px;min-height:62px;border-radius:9px;border-color:#607e99;background:linear-gradient(145deg,#243b51,#152839);font-size:30px;touch-action:none}
 .focused .move-buttons .dash{font-size:18px;font-weight:650}
 .focused .move-buttons kbd{display:none}
 .focused .move-buttons button:active{background:#365e7b;border-color:#c2efff;box-shadow:inset 0 0 16px #9de5ff30}
 .focused .controls{gap:9px}
}
@media(pointer:coarse) and (min-width:601px) and (max-height:600px){
 .focused .controls{grid-template-columns:216px minmax(0,1fr)}
 .focused .move-buttons{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:7px;width:100%}
 .focused .move-buttons button,.focused .move-buttons .dash{width:100%;height:56px;min-height:56px;border-radius:8px;font-size:26px;border-color:#607e99;touch-action:none}
 .focused .move-buttons .dash{font-size:17px}
 .focused .move-buttons kbd{display:none}
}


/* Character selection and reverse-duel presentation. */
#battleMode{display:flex;justify-content:center;gap:8px;margin:12px 0}
#battleMode button{padding:10px 18px;border:1px solid #45516a;background:#111d2b;color:#acbdcc;border-radius:6px;font:inherit;cursor:pointer}
#battleMode button.selected{color:#d3f6ff;background:#25445b;border-color:#80dfff}
.sukuna-mode #battleMode button.selected{color:#ffe3e7;background:#532c37;border-color:#ed94a5}
#difficulty button:disabled{opacity:.4;cursor:not-allowed}
#reverseGuide{padding:20px 24px;background:#121b28;border:1px solid #394052;border-radius:10px;color:#b4c3d3;line-height:1.8;margin-top:20px}
#reverseGuide b{color:#ffbdc9}#reverseGuide p{margin:8px 0}
body.focused #reverseGuide{display:none}
.sukuna-mode #playerHp{background:linear-gradient(90deg,#b15b80,#ff94a9)}
.sukuna-mode #enemyHp{background:linear-gradient(90deg,#639bd6,#b7edff)}
.sukuna-mode #overlayTitle span{color:#ffc0cd}
.sukuna-mode #gojo .marker{color:#ffbfcc}
@media(max-height:600px){#battleMode{margin:4px 0}#battleMode button{padding:5px 12px}}
@media(max-height:500px) and (orientation:landscape){
 .focused .intro h2{font-size:20px;letter-spacing:2px;line-height:1.25;margin:2px 0}
 .focused .intro h2 span{display:inline;margin-left:10px}
 .focused #overlayText{display:none}
 .focused #battleMode button{padding:3px 10px;font-size:12px}
 .focused #difficultyHelp{font-size:10px}
 .focused .intro{padding:7px 16px}
}
