.fighter-v3{--lime:#b7ff1a;--paper:#edede6;--purple:#b896ed;--ink:#121212}.fighter-v3 *{box-sizing:border-box}.fighter-v3,.fighter-v3{margin:0;background:#0c0c0c;color:var(--paper);font:14px 'Microsoft YaHei','PingFang SC',sans-serif;overflow:hidden}.fighter-v3 button{font:inherit;cursor:pointer;touch-action:manipulation;color:inherit}.fighter-v3 button:disabled{cursor:default}.fighter-v3 button:focus-visible{outline:3px solid var(--purple);outline-offset:2px}.fighter-v3 [hidden]{display:none!important}.fighter-v3 .shell{position:absolute;inset:0;display:grid;grid-template-rows:34px 66px minmax(0,1fr);gap:4px;padding:0 max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.fighter-v3 .review{display:flex;align-items:center;gap:6px;border-bottom:1px solid #485138;font-size:11px;white-space:nowrap}.fighter-v3 .review strong{color:var(--lime);margin-right:auto}.fighter-v3 .review button{background:#252a1e;border:1px solid #6d775d;padding:4px 8px;font-size:11px;min-height:28px}.fighter-v3 .hud{display:grid;grid-template-columns:1fr 155px 1fr;align-items:center;gap:16px}.fighter-v3 .name{display:flex;justify-content:space-between;font-size:12px}.fighter-v3 .name b{font-size:18px}.fighter-v3 .enemy .name{flex-direction:row-reverse}.fighter-v3 .bar{height:9px;background:#353a2b;margin-top:6px;transform:skewX(-10deg)}.fighter-v3 .bar i{display:block;height:100%;background:var(--lime);transition:width .15s}.fighter-v3 .enemy .bar i{background:var(--purple);margin-left:auto}.fighter-v3 .timer{display:flex;gap:10px;justify-content:center;align-items:center}.fighter-v3 .timer>b{font:bold 36px Impact,sans-serif;color:var(--lime)}.fighter-v3 .timer span{font-size:11px;line-height:1.6}.fighter-v3 .body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 164px;gap:8px}.fighter-v3 .field{position:relative;min-width:0;min-height:0;border:1px solid #5a6347;background:#171b12;overflow:hidden}.fighter-v3 .field canvas{display:block;width:100%;height:100%}.fighter-v3 .skills{display:flex;flex-direction:column;gap:7px;min-height:0;padding:8px;background:#1b2116;border-left:3px solid var(--lime)}.fighter-v3 .skills>strong{font-size:13px;color:var(--lime)}.fighter-v3 .skill{position:relative;min-height:44px;flex:1;border:1px solid #697b4d;background:#25301c;display:flex;align-items:center;justify-content:center;gap:7px;padding:5px}.fighter-v3 .skill b{font-size:14px;display:block}.fighter-v3 .skill small{font-size:10px;display:block;margin-top:4px;color:#bfcbae}.fighter-v3 .skill svg{width:31px;height:31px;flex-shrink:0}.fighter-v3 .skill.defense{border-color:var(--purple);background:#30283e}.fighter-v3 .skill:disabled{opacity:.48}.fighter-v3 .skill:not(:disabled):hover{background:#46582c}.fighter-v3 .skill .mark{position:absolute;right:4px;top:3px;font-size:9px;color:#e3f4c6}.fighter-v3 .legend{font-size:10px;line-height:1.6;color:#b5c2a5}.fighter-v3 .ring{position:absolute;left:16px;bottom:18px;width:140px;height:140px;border:2px solid #d9e6bc;border-radius:50%;background:radial-gradient(circle,#182111b3 0 28%,#77836555 29% 31%,#111b0cb0 32% 70%,#aab58d55 71%);box-shadow:0 2px 8px #000;touch-action:none;user-select:none;-webkit-user-select:none;z-index:2}.fighter-v3 .ring button{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;background:transparent;border:0;padding:0;min-width:44px;min-height:44px;pointer-events:none;text-shadow:1px 1px #000}.fighter-v3 .ring button b{font-size:21px;line-height:1}.fighter-v3 .ring button small{font-size:10px}.fighter-v3 .ring [data-dir=up]{left:46px;top:0}.fighter-v3 .ring [data-dir=left]{left:0;top:46px}.fighter-v3 .ring [data-dir=right]{right:0;top:46px}.fighter-v3 .ring [data-dir=down]{left:46px;bottom:0}.fighter-v3 .ring button[aria-pressed=true]{color:var(--lime);background:#8caf4344;border-radius:40%}.fighter-v3 .ring i{position:absolute;left:49px;top:56px;font-size:10px;color:#cbd7bb;font-style:normal;pointer-events:none}.fighter-v3 .basic{position:absolute;right:18px;bottom:24px;width:82px;height:82px;border-radius:50%;background:#2e2718dd;border:3px solid #e5c96e;color:#ffdf7f;font-weight:900;box-shadow:3px 4px #000;touch-action:none;user-select:none;z-index:2}.fighter-v3 .basic small{display:block;font-size:10px;margin-top:4px}.fighter-v3 .basic[aria-pressed=true]{background:#e5c96e;color:#17150e}.fighter-v3 .banner{position:absolute;top:16%;left:50%;width:94%;transform:translateX(-50%);text-align:center;pointer-events:none;text-shadow:2px 2px #000}.fighter-v3 .banner strong{display:block;font-size:clamp(22px,3vw,39px);color:var(--lime)}.fighter-v3 .banner span{display:block;margin-top:7px;font-size:13px}.fighter-v3 .warning{position:absolute;top:3%;left:50%;transform:translateX(-50%);background:#ff6552;color:#111;padding:7px 14px;font-weight:900;max-width:96%;text-align:center;font-size:13px;pointer-events:none;z-index:2;box-shadow:3px 3px #000}.fighter-v3 .warning small{display:block;font-weight:400;margin-top:3px;font-size:10px}.fighter-v3 .scores{position:absolute;bottom:4px;left:165px;right:110px;text-align:center;font-size:11px;pointer-events:none;color:#dbe5cc;text-shadow:1px 1px #000}.fighter-v3 .scores b{color:var(--lime)}.fighter-v3 .damage{position:absolute;top:34%;left:50%;transform:translateX(-50%) rotate(-4deg);font:900 46px Impact,sans-serif;text-align:center;pointer-events:none;text-shadow:3px 3px #000;color:var(--lime);z-index:2}.fighter-v3 .damage.doctor{color:#ff7a6a}.fighter-v3 .damage small{display:block;font:700 11px 'Microsoft YaHei',sans-serif;margin-top:4px}.fighter-v3 .overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0b100b99;padding:8px;z-index:5}.fighter-v3 .question{width:min(500px,94%);max-height:100%;min-height:0;display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:#131a10f0;border-top:4px solid var(--lime);box-shadow:5px 6px #000}.fighter-v3 .qhead{display:flex;justify-content:space-between;font-size:12px;color:var(--lime);gap:10px}.fighter-v3 .question h2{font-size:18px;margin:3px 0 8px;line-height:1.45}.fighter-v3 .qbody{overflow:auto;min-height:0;overscroll-behavior:contain}.fighter-v3 .options{display:flex;flex-direction:column;gap:5px}.fighter-v3 .option{display:flex;align-items:center;gap:9px;min-height:44px;padding:7px 10px;background:#30392a;border:1px solid #7a8c65;text-align:left;font-size:14px}.fighter-v3 .option.selected{background:var(--lime);color:#121212;border-color:var(--paper)}.fighter-v3 .option>span{font-weight:900}.fighter-v3 .confirm{flex-shrink:0;min-height:44px;background:var(--lime);color:#111;border:0;font-weight:900}.fighter-v3 .confirm:disabled{opacity:.4}.fighter-v3 .qnote{font-size:10px;color:#b9c8aa;margin:0}.fighter-v3 .qprogress{height:4px;background:#4c563e;flex-shrink:0}.fighter-v3 .qprogress i{height:100%;background:var(--purple);display:block}.fighter-v3 .feedback article,.fighter-v3 .result article{width:min(440px,94%);max-height:95%;overflow:auto;background:var(--paper);color:#161910;padding:22px;box-shadow:6px 6px var(--purple);text-align:center}.fighter-v3 .feedback h2{margin:0 0 10px;font-size:25px}.fighter-v3 .feedback p{font-size:13px;line-height:1.6;margin:6px 0}.fighter-v3 .result h2{font-size:32px;margin:0 0 7px}.fighter-v3 .result .total{font:900 64px Impact,sans-serif;color:#4e661d}.fighter-v3 .result p{margin:6px 0;font-size:13px}.fighter-v3 .result button{margin-top:15px;padding:12px 20px;background:var(--lime);color:#121212;border:2px solid #121212;font-weight:900}.fighter-v3 .brand{position:absolute;left:8px;top:5px;font-size:10px;color:#b5c3a7;opacity:.65;pointer-events:none}.fighter-v3 .keyhelp{position:absolute;right:8px;top:7px;font-size:10px;color:#c6d3b7;pointer-events:none}
@media(max-height:500px) and (orientation:landscape),(max-width:500px) and (orientation:portrait){.fighter-v3 .shell{grid-template-rows:30px 46px 1fr;padding:0 5px 5px;gap:3px}.fighter-v3 .review{font-size:10px;gap:4px}.fighter-v3 .review button{font-size:10px;padding:3px 5px;min-height:25px}.fighter-v3 .review strong span{display:none}.fighter-v3 .hud{gap:8px;grid-template-columns:1fr 115px 1fr}.fighter-v3 .name{font-size:10px}.fighter-v3 .name b{font-size:13px}.fighter-v3 .bar{height:6px;margin-top:3px}.fighter-v3 .timer>b{font-size:28px}.fighter-v3 .timer span{font-size:9px}.fighter-v3 .body{grid-template-columns:minmax(0,1fr) 130px;gap:5px}.fighter-v3 .skills{padding:5px;gap:5px}.fighter-v3 .skills>strong{font-size:11px}.fighter-v3 .skill{gap:4px;padding:3px;min-height:44px}.fighter-v3 .skill b{font-size:11px;white-space:nowrap}.fighter-v3 .skill small{font-size:9px;margin-top:2px}.fighter-v3 .skill svg{width:24px;height:24px}.fighter-v3 .legend{font-size:9px;line-height:1.3}.fighter-v3 .ring{width:126px;height:126px;left:9px;bottom:13px}.fighter-v3 .ring [data-dir=up]{left:39px}.fighter-v3 .ring [data-dir=left]{top:39px}.fighter-v3 .ring [data-dir=right]{top:39px}.fighter-v3 .ring [data-dir=down]{left:39px}.fighter-v3 .ring i{left:43px;top:51px;font-size:9px}.fighter-v3 .basic{width:68px;height:68px;right:11px;bottom:19px;font-size:13px}.fighter-v3 .basic small{font-size:9px}.fighter-v3 .banner{top:15%}.fighter-v3 .banner span{font-size:11px}.fighter-v3 .warning{font-size:11px;padding:5px 8px}.fighter-v3 .warning small{font-size:9px}.fighter-v3 .scores{left:140px;right:84px;font-size:9px}.fighter-v3 .damage{font-size:35px;top:35%}.fighter-v3 .question{padding:7px 9px;gap:5px;width:96%}.fighter-v3 .question h2{font-size:14px;margin-bottom:6px}.fighter-v3 .qhead{font-size:10px}.fighter-v3 .option{font-size:12px;padding:5px 8px}.fighter-v3 .feedback article,.fighter-v3 .result article{padding:14px}.fighter-v3 .feedback h2{font-size:21px}.fighter-v3 .feedback p{font-size:11px}.fighter-v3 .keyhelp{display:none}}
@media(orientation:portrait){.fighter-v3 .shell{inset:auto;left:50%;top:50%;width:100dvh;height:100vw;transform:translate(-50%,-50%) rotate(90deg)}}
@media(prefers-reduced-motion:reduce){.fighter-v3 *{transition:none!important;animation:none!important}}.fighter-v3 .basic{padding:0;white-space:nowrap}.fighter-v3 .body{display:block;position:relative}.fighter-v3 .field{width:100%;height:100%}.fighter-v3 .skills{position:absolute;z-index:3;top:12px;right:12px;bottom:12px;width:146px;padding:0;border:0;background:transparent;gap:7px;pointer-events:none}.fighter-v3 .skills>strong{text-align:center;text-shadow:1px 2px #000;font-size:12px}.fighter-v3 .skills .skill{pointer-events:auto;flex:1;background:#17200dcc;border-radius:15px;border:1px solid #b7ff1a99;box-shadow:0 4px 9px #0007;backdrop-filter:blur(3px)}.fighter-v3 .skills .skill.defense{background:#2b203acc;border-color:#c3a3f2}.fighter-v3 .skills .skill:disabled{opacity:.5}.fighter-v3 .skills .legend{display:none}.fighter-v3 .basic{right:176px}.fighter-v3 .keyhelp{right:175px}.fighter-v3 .scores{right:260px}.fighter-v3 .question{width:min(500px,calc(100% - 20px))}.fighter-v3 .curtain{position:absolute;z-index:20;inset:34px 0 0;overflow:hidden;pointer-events:auto;background:transparent}.fighter-v3 .curtain-panel{position:absolute;top:0;bottom:0;width:51%;background:repeating-linear-gradient(90deg,#17121e 0,#2c203c 9%,#17111f 20%);box-shadow:inset 0 0 70px #000b;will-change:transform}.fighter-v3 .curtain-left{left:0;border-right:3px solid var(--lime);clip-path:polygon(0 0,98% 0,100% 13%,98% 27%,100% 43%,98% 59%,100% 76%,98% 100%,0 100%)}.fighter-v3 .curtain-right{right:0;border-left:3px solid var(--lime);clip-path:polygon(2% 0,100% 0,100% 100%,2% 100%,0 78%,2% 62%,0 45%,2% 28%,0 13%)}.fighter-v3 .curtain-title{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%) rotate(-3deg);text-align:center;white-space:nowrap;text-shadow:4px 4px #000;pointer-events:none}.fighter-v3 .curtain-title small{letter-spacing:5px;font-size:13px;color:#c7b4df}.fighter-v3 .curtain-title strong{display:block;color:var(--lime);font-size:clamp(48px,9vw,100px);font-weight:900;line-height:1.2}.fighter-v3 .curtain-title span{font-size:22px;letter-spacing:8px}.fighter-v3 .shell[data-opening=true] .review~.hud{pointer-events:none}
@media(max-height:500px) and (orientation:landscape),(max-width:500px) and (orientation:portrait){.fighter-v3 .skills{width:128px;top:8px;right:8px;bottom:8px;gap:5px}.fighter-v3 .skills>strong{font-size:10px}.fighter-v3 .skills .skill{border-radius:11px;padding:4px}.fighter-v3 .basic{right:148px;bottom:17px}.fighter-v3 .keyhelp{right:145px}.fighter-v3 .scores{left:140px;right:222px;font-size:9px}.fighter-v3 .curtain{top:30px}.fighter-v3 .curtain-title small{font-size:10px;letter-spacing:3px}.fighter-v3 .curtain-title strong{font-size:58px}.fighter-v3 .curtain-title span{font-size:17px;letter-spacing:6px}}
@media(max-height:350px) and (orientation:landscape),(max-width:350px) and (orientation:portrait){.fighter-v3 .legend{display:none}.fighter-v3 .scores{left:139px;right:85px;font-size:8px}.fighter-v3 .skills{gap:4px}.fighter-v3 .banner span{font-size:10px}}.fighter-v3 /* FIG-017: readable reaction window inside the playable area. */
.warning{left:calc((100% - 164px)/2);max-width:calc(100% - 178px);width:360px;padding:6px 10px;border:1px solid #ffd0a5;background:#ff735a;line-height:1.3}.fighter-v3 .warning-meter{height:5px;background:#6b241e;margin-top:5px;text-align:left}.fighter-v3 .warning-meter i{display:block;height:100%;background:#fff0c4}.fighter-v3 .skill.defense.ready{opacity:1;border:3px solid #ffb683;background:#6a2e22e8;box-shadow:0 0 15px #ff684888}.fighter-v3 .skill.defense.ready small{color:#fff0c4;font-weight:700}
@media(max-height:450px){.fighter-v3 .warning{left:calc((100% - 144px)/2);max-width:calc(100% - 154px);font-size:12px;padding:5px 7px}.fighter-v3 .warning small{font-size:9px}}

body.fighter-v3-mode #app{position:fixed;inset:0;z-index:10}.fighter-v3{position:fixed;inset:0;background:#0c0c0c;font:14px Microsoft YaHei,sans-serif;color:#edede6}.fighter-v3 button{margin:0;min-height:0;letter-spacing:normal}.fighter-v3 .realtime-network{position:absolute;z-index:8;top:0;left:0;right:0;background:#352c13e8;color:#ffe393;text-align:center;padding:7px;pointer-events:none}.fighter-v3 .review button{min-height:28px}.fighter-v3 .skill{min-height:44px}.fighter-v3 .options button{min-height:44px}
/* Reset public header/navigation positioning inside the combat surface. */
.fighter-v3 .review{position:static;transform:none;left:auto;top:auto;bottom:auto;width:auto;z-index:auto;padding:0;border-top:0;background:transparent}.fighter-v3 .review button{flex:0 0 auto;width:auto;border:1px solid #6d775d}.fighter-v3 .hud{position:static;top:auto;margin:0;padding:0;background:transparent;z-index:auto}.fighter-v3 .hud .name strong{font-size:12px}
.fighter-v3 .hud .name strong{display:inline}.fighter-v3 .brand{background:transparent;transform:none;letter-spacing:.04em;font-size:10px;font-weight:400;color:#dbe5cc}
/* FIG-019: ordinary guard stays in the thumb area beside ordinary attack. */
.fighter-v3 .guard{position:absolute;right:274px;bottom:24px;width:78px;height:78px;z-index:2;border:3px solid #88e6e9;border-radius:50%;padding:0;background:#163a3ce8;color:#b8fbff;font-weight:900;touch-action:none;user-select:none;box-shadow:3px 4px #000}
.fighter-v3 .guard small{display:block;font-size:9px;margin-top:5px}.fighter-v3 .guard[aria-pressed=true]{background:#b6faff;color:#10343a}.fighter-v3 .guard:disabled{opacity:.4}
.fighter-v3 .tempo,.fighter-v3 .combat-callout{position:absolute;pointer-events:none;z-index:2;text-align:center;font-weight:800;left:calc((100% - 164px)/2);transform:translateX(-50%);width:max-content;max-width:calc(100% - 184px);text-shadow:2px 2px #000}
.fighter-v3 .tempo{top:8%;padding:6px 12px;font-size:13px;color:#eee8d5;background:#172016b8;border:1px solid #c4b58a}.fighter-v3 .tempo.counter{color:#b7ff1a;border-color:#b7ff1a}
.fighter-v3 .combat-callout{top:46%;font-size:clamp(15px,2vw,25px);color:#a8faff}.fighter-v3 .combat-callout[data-kind=evade]{color:#ffe393}
.fighter-v3 .warning.urgent{background:#ffd088;border:3px solid #fff0ce;box-shadow:0 0 15px #ff5f35}.fighter-v3 .warning.urgent small{font-weight:900;font-size:12px}
@media(max-height:500px) and (orientation:landscape),(max-width:500px) and (orientation:portrait){.fighter-v3 .guard{right:232px;bottom:17px;width:64px;height:64px;font-size:12px}.fighter-v3 .guard small{font-size:8px;margin-top:3px}.fighter-v3 .tempo,.fighter-v3 .combat-callout{left:calc((100% - 144px)/2);max-width:calc(100% - 156px)}.fighter-v3 .tempo{font-size:11px;padding:5px 8px}}
