:root{color-scheme:dark;--ink:#111d29;--panel:#1d2a37;--white:#f4f3df;--muted:#97a8b4;--lime:#d3f376;--red:#fc8c73;--mono:ui-monospace,Consolas,monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--ink);font-family:Arial,Helvetica,sans-serif;color:var(--white);overflow:hidden;touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none}button,select{font:inherit;color:inherit}button{cursor:pointer;border:0;touch-action:none}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button:active{transform:scale(.97)}[hidden]{display:none!important}#game{display:block;width:100vw;height:100dvh;position:fixed;inset:0}#menu{position:fixed;inset:0;background:linear-gradient(90deg,#111d29f5 0%,#111d29df 30%,#111d2950 62%,#111d2910 100%);padding:30px 4%;display:flex;flex-direction:column}.menu-header{display:flex;align-items:center;gap:30px}.wordmark{display:flex;gap:12px;align-items:center;color:var(--white);text-decoration:none}.logo{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--lime);border-radius:13px;color:#15212c;font-size:33px;font-style:italic;font-weight:1000;letter-spacing:-7px;padding-right:7px;transform:rotate(-7deg)}.logo span{font-size:18px}.wordmark>span:last-child{font-size:11px;letter-spacing:1.4px;line-height:1.2;font-weight:bold}.wordmark b{font-size:19px;letter-spacing:2.9px}.edition{font:9px var(--mono);letter-spacing:1.7px;color:#a4b0b6}.edition i{background:#ffffff1a;padding:4px 6px;font-style:normal;margin-left:8px}.round-icon{margin-left:auto;background:#23324099;border:1px solid #a1afbd55;border-radius:50%;width:34px;height:34px;font-weight:bold;color:#ccd4d8}.menu-content{width:450px;max-width:46%;margin-top:auto;margin-bottom:auto}.mini{font:8px var(--mono);letter-spacing:1.7px;color:#b9c2c6;display:flex;gap:8px;align-items:center}.mini span{width:5px;height:5px;background:var(--lime);border-radius:50%}h1{font-size:clamp(62px,8.3vw,118px);font-weight:1000;line-height:.86;letter-spacing:-7px;margin:23px 0 18px;position:relative}h1 em{font-style:italic;color:var(--lime)}.spark{font-size:55px;color:var(--red);position:absolute;right:25px;top:0;transform:rotate(12deg)}.tagline{font-size:13px;line-height:1.5;color:#aebbc0;margin:0 0 24px}.setup{max-width:410px}.styles{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.styles button{background:#23313bd9;border:1px solid #5d6b7255;border-radius:8px;padding:12px 12px;text-align:left;transition:.15s}.styles button.selected{background:var(--lime);color:#18252c;border-color:var(--lime)}.styles button>span{font:8px var(--mono);opacity:.65}.styles strong{display:block;font-size:16px;font-style:italic;letter-spacing:-.6px;margin-top:6px}.styles small{display:block;font-size:9px;opacity:.7;margin-top:5px}.match-options{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.opponents{display:flex;border-radius:5px;padding:3px;background:#0e1923b0;border:1px solid #50616b66}.opponents button{background:transparent;font:9px var(--mono);letter-spacing:.4px;padding:9px 12px;border-radius:3px;color:#91a6ad}.opponents button.selected{background:#394751;color:var(--white)}.difficulty-label{display:flex;align-items:center;gap:8px;font:7px var(--mono);color:var(--muted)}select{background:#1c2a35;border:1px solid #50616b77;border-radius:4px;font-size:10px;padding:8px 5px;max-width:110px}#modeHint{font-size:10px;color:#b0bdc2;line-height:1.5;margin:12px 0}.start{width:100%;background:var(--lime);color:#17242c;border-radius:7px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;font-weight:900;font-style:italic;font-size:15px;letter-spacing:-.4px;box-shadow:0 5px 0 #84a74e}.start span{font-size:23px;line-height:.9}.start:hover{background:#e2ff9f}.setup-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:17px;gap:8px}.pieces{display:flex;align-items:center;gap:6px;font-size:9px;color:#adbcc4}.pieces input{accent-color:var(--lime);margin:0;height:13px;width:13px}.setup-bottom button{background:transparent;color:#91a6ae;font:8px var(--mono);padding:6px 0}.arena-tag{position:absolute;right:5%;bottom:13%;border-left:2px solid var(--lime);padding-left:15px;pointer-events:none}.arena-tag>span{font:9px var(--mono);letter-spacing:2px;color:#bcc8c6}.arena-tag strong{display:block;font-size:26px;font-style:italic;letter-spacing:-1px;margin-top:7px}.arena-tag p{font-size:10px;color:#c2ccc9;margin:7px 0 14px}.arena-tag>div{font:8px var(--mono);letter-spacing:1.2px;color:var(--lime)}.arena-tag i{display:inline-block;width:4px;height:4px;background:var(--lime);border-radius:50%;margin-right:4px}.menu-footer{display:flex;justify-content:space-between;align-items:center;font:8px var(--mono);letter-spacing:1px;color:#8c9da7;gap:20px}.menu-footer button{background:transparent;color:var(--white);font:9px var(--mono);padding:8px}#hud{position:fixed;inset:0;pointer-events:none;padding:20px max(25px,env(safe-area-inset-right)) 0;display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(#0d1826c0,transparent 150px)}.fighter-hud{width:31%;max-width:350px}.hud-name{display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);color:var(--white);margin-bottom:8px}.hud-name b{font-family:Arial,sans-serif;font-size:13px;font-style:italic;letter-spacing:.4px}.hud-name small{font:7px var(--mono);color:#c1d0ce;letter-spacing:.7px}.hud-name i{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:6px}.p2 .hud-name i{background:var(--red);margin:0 0 0 6px}.hp-track{height:13px;background:#14222b;border:1px solid #d9eee52b;transform:skewX(-12deg);padding:2px;border-radius:3px;overflow:hidden}.hp-track>div{width:100%;height:100%;background:var(--lime);transition:width .1s;border-radius:1px}.p2 .hp-track>div{background:var(--red);margin-left:auto}.stamina-track{height:3px;margin-top:5px;background:#132331;overflow:hidden}.stamina-track>div{height:100%;width:100%;background:#f9f6bfaa}.p2 .stamina-track>div{margin-left:auto}.round-dots{font-size:16px;letter-spacing:5px;margin-top:6px;color:var(--lime)}.p2 .round-dots{color:var(--red);text-align:right}.center-hud{text-align:center;position:absolute;left:50%;transform:translateX(-50%);top:18px}.center-hud>span{font:8px var(--mono);color:var(--lime);letter-spacing:2px}.center-hud>strong{display:block;font-size:32px;font-weight:900;font-style:italic;letter-spacing:-1px;line-height:1.2}.center-hud>small{font:7px var(--mono);color:#a5b5be;letter-spacing:1px}.pause-button{pointer-events:auto;position:absolute;right:15px;top:92px;width:36px;height:36px;border:1px solid #dae6ed40;background:#15253599;border-radius:8px;font-size:16px;color:#d9e3df}.p2{margin-right:0}#eventText{position:absolute;top:110px;left:50%;transform:translateX(-50%) rotate(-3deg);font-size:22px;font-weight:900;font-style:italic;letter-spacing:-.5px;color:var(--lime);text-shadow:0 3px 0 #17222c;white-space:nowrap}#perf{position:absolute;right:15px;top:140px;color:#93a9b9;font:7px var(--mono)}#controls{position:fixed;inset:0;pointer-events:none}.player-controls{position:absolute;inset:0;pointer-events:none}.stick-wrap{position:absolute;left:max(40px,env(safe-area-inset-left));bottom:35px;width:126px;height:145px;pointer-events:auto;touch-action:none}.stick-label{position:absolute;bottom:0;left:0;right:0;font:8px var(--mono);letter-spacing:2px;text-align:center;color:#e4ebdc77}.stick{height:124px;width:124px;border:1px solid #ecf4e833;border-radius:50%;background:#12232e55;position:relative;touch-action:none}.stick-ring{position:absolute;inset:14px;border:1px dashed #e3ebdf22;border-radius:50%}.stick-knob{position:absolute;left:36px;top:36px;width:50px;height:50px;border:1px solid #efffe677;background:#bbd29e44;border-radius:50%;display:grid;place-items:center;box-shadow:0 4px 15px #0003}.stick-knob span{font-size:20px;color:#eff8dfaa}.actions{position:absolute;bottom:26px;right:max(35px,env(safe-area-inset-right));width:245px;height:176px;pointer-events:none}.action{position:absolute;border:1px solid #e6eedc55;background:#142635bb;backdrop-filter:blur(5px);border-radius:50%;width:67px;height:67px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;pointer-events:auto;color:#dce9d8;touch-action:none}.action>span{font-size:20px;line-height:1}.action b{font-size:8px;letter-spacing:.4px}.action small{font:6px var(--mono);opacity:.5}.action.down{background:#d3f376aa;color:#10222a;border-color:#e6ffa8}.block{left:65px;top:0}.special{right:0;top:16px;border-color:#fc8c7388;color:#ffc1a7}#controlHint{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);max-width:42%;font:8px var(--mono);text-align:center;line-height:1.6;color:#a9c0b6;letter-spacing:.3px;pointer-events:none}.local-play .player-one{right:50%}.local-play .player-two{left:50%}.local-play .stick-wrap{left:18px;width:90px;height:110px;bottom:20px}.local-play .stick{width:90px;height:90px}.local-play .stick-knob{left:23px;top:23px;width:42px;height:42px}.local-play .actions{right:18px;bottom:24px;width:150px;height:115px}.local-play .action{width:49px;height:49px;gap:2px}.local-play .action b{font-size:6px}.local-play .action small{display:none}.local-play .action>span{font-size:17px}.local-play .block{left:32px;top:0}.local-play .special{right:0;top:0}.local-play .player-two .stick-knob{background:#fc8c7344;border-color:#fc8c73aa}.local-play .player-two .stick-label{color:#ffb89e}.local-play #controlHint{bottom:10px;max-width:26%;font-size:6px}.overlay{position:fixed;inset:0;background:#101d2b99;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:8}.modal{width:390px;max-width:95%;background:#1c2b37;border:1px solid #b8cadb33;border-radius:15px;padding:30px;text-align:center;box-shadow:0 25px 100px #0006}.eyebrow{font:8px var(--mono);letter-spacing:1.5px;color:#aabdc3;margin:0 0 15px}.modal h2{font-size:40px;font-style:italic;letter-spacing:-2px;margin:0 0 25px;line-height:1}.modal h2>span{color:var(--lime);margin-left:15px}.pause-settings{display:flex;gap:5px;justify-content:center;margin:21px 0 14px}.pause-settings button{background:#344450;color:#e2e6d7;font:7px var(--mono);padding:10px 8px;border-radius:5px}.secondary{width:100%;padding:12px;background:transparent;border:1px solid #bacbce44;border-radius:6px;font-size:10px;font-weight:bold}.text-button{background:transparent;font:9px var(--mono);color:#a5bac3;margin-top:15px;padding:10px}.result-symbol{display:block;color:var(--lime);font-size:60px;line-height:1;margin-bottom:15px}.result-modal h2{font-size:37px}.result-modal .eyebrow{margin-bottom:13px;color:var(--lime)}#resultScore{font:28px var(--mono);margin:-10px 0 15px;color:var(--red)}#resultDescription{color:#b0c0c6;font-size:12px;margin:0 0 24px}#countdown{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;text-shadow:0 5px 0 #152531;z-index:4}#countdown strong{font-size:clamp(70px,16vh,150px);font-weight:1000;font-style:italic;color:var(--lime);line-height:1}#countdown span{font:11px var(--mono);letter-spacing:3px;margin-top:15px}dialog{background:#1a2a36;color:var(--white);border:1px solid #abc5d255;border-radius:12px;width:min(720px,94vw);max-height:90dvh;padding:28px;overflow:auto;touch-action:pan-y;overscroll-behavior:contain}dialog::backdrop{background:#0a1420ce;backdrop-filter:blur(4px)}dialog h2{font-size:32px;font-style:italic;margin:0 0 20px;letter-spacing:-1px}#helpClose{position:absolute;top:10px;right:15px;font-size:30px;background:transparent;color:#aabac3}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.help-grid h3{font:9px var(--mono);color:var(--lime);letter-spacing:.5px;margin:0 0 8px}.help-grid p,.key-help p{font-size:11px;line-height:1.7;color:#afc0c7;margin:0 0 20px}.key-help{border-top:1px solid #a6bbce33;padding-top:17px}.key-help .fine{font-size:9px;margin-bottom:0;color:#869ea9}#loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#111d29;z-index:30}.loader-icon{font-size:70px;font-style:italic;font-weight:1000;letter-spacing:-8px;color:var(--lime)}.loader-icon span{font-size:17px;color:var(--red);vertical-align:top;letter-spacing:0}.load-track{width:140px;height:3px;background:#334655;margin-top:26px;overflow:hidden}.load-track i{display:block;background:var(--lime);width:40%;height:100%;animation:loading 1s ease-in-out infinite alternate}#loading p{font:10px var(--mono);color:var(--muted);margin-top:18px}@keyframes loading{from{transform:translateX(0)}to{transform:translateX(150%)}}#rotate{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 20%,#293e42,#101d29 65%);z-index:50;display:none;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:28px}.phone-outline{width:65px;height:110px;border:3px solid var(--lime);border-radius:13px;display:grid;place-items:center;font-size:44px;color:var(--lime);transform:rotate(90deg);margin-bottom:40px}#rotate h2{font-size:31px;font-style:italic;letter-spacing:-1px;margin:0 0 15px}#rotate p{font-size:13px;line-height:1.8;color:#a1b8bd;margin:0 0 25px}#rotate button{padding:15px 24px;background:var(--lime);color:#162a31;border-radius:6px;font-size:11px;font-weight:bold}#rotate small{font-size:10px;color:#8ba2aa;margin-top:20px}#toast{position:fixed;bottom:30%;left:50%;transform:translateX(-50%);background:#152735ed;color:var(--white);border:1px solid #bed2c455;border-radius:7px;max-width:80%;width:max-content;padding:13px 19px;font-size:11px;opacity:0;pointer-events:none;z-index:55;transition:opacity .2s}#toast.show{opacity:1}
@media(max-height:680px) and (orientation:landscape){#menu{padding:19px 4%}.menu-header{gap:20px}.logo{width:34px;height:34px;font-size:26px;border-radius:10px}.logo span{font-size:15px}.wordmark>span:last-child{font-size:8px}.wordmark b{font-size:14px}.edition{font-size:7px}.menu-content{width:430px;max-width:47%;display:grid;grid-template-columns:1fr;position:relative}.mini{font-size:7px;letter-spacing:1.2px}h1{font-size:69px;letter-spacing:-5px;margin:14px 0}.spark{font-size:35px;right:80px}.tagline{display:none}.setup{max-width:360px}.styles button{padding:9px 10px}.styles strong{font-size:14px;margin-top:3px}.styles small{font-size:8px}.styles button>span{font-size:7px}.match-options{margin-top:9px}.opponents button{padding:7px 11px}.start{padding:12px 16px;font-size:13px}.setup-bottom{margin-top:12px}#modeHint{font-size:9px;margin:8px 0}.menu-footer{font-size:7px}.arena-tag{bottom:13%}.arena-tag strong{font-size:23px}}
@media(max-height:470px) and (orientation:landscape){#menu{padding:14px max(22px,env(safe-area-inset-left))}.menu-header{height:30px}.edition{font-size:6px;letter-spacing:1px}.menu-content{display:grid;grid-template-columns:160px minmax(200px,280px);column-gap:22px;max-width:64%;width:480px;align-items:start;margin-top:auto;margin-bottom:auto}.mini{grid-column:1 / -1;margin-bottom:15px;font-size:6px}h1{grid-column:1;grid-row:2;font-size:61px;letter-spacing:-4px;margin:0;align-self:center}.spark{font-size:25px;right:-7px;top:-11px}.setup{grid-column:2;grid-row:2;width:100%}.styles{gap:5px}.styles button{padding:8px}.styles strong{font-size:12px}.styles small{font-size:7px;margin-top:4px}.styles button>span{font-size:6px}.opponents button{font-size:8px;padding:7px 9px}.difficulty-label{font-size:6px;gap:4px}select{font-size:9px;padding:6px 3px;max-width:95px}.match-options{gap:5px;margin-top:8px}#modeHint{font-size:8px;line-height:1.4;margin:7px 0;min-height:22px}.start{padding:11px 13px;font-size:11px;border-radius:5px}.start span{font-size:19px}.setup-bottom{margin-top:10px}.pieces{font-size:7px;gap:4px}.pieces input{height:11px;width:11px}.setup-bottom button{font-size:6px}.arena-tag{right:4%;bottom:15%;padding-left:10px}.arena-tag>span{font-size:7px}.arena-tag strong{font-size:21px}.arena-tag p{font-size:8px}.arena-tag>div{font-size:6px}.menu-footer{font-size:6px;gap:8px}.menu-footer button{font-size:7px}.menu-footer>span:first-child{max-width:170px}.round-icon{width:29px;height:29px}.stick-wrap{width:103px;height:117px;bottom:18px;left:30px}.stick{width:102px;height:102px}.stick-knob{left:29px;top:29px;width:42px;height:42px}.stick-label{font-size:6px}.actions{right:25px;bottom:19px;width:206px;height:144px}.action{height:55px;width:55px}.block{left:52px}.action b{font-size:7px}.action small{font-size:5px}.special{top:9px}.action>span{font-size:18px}#hud{padding:12px 24px 0}.fighter-hud{max-width:260px;width:33%}.hud-name{margin-bottom:5px}.hud-name b{font-size:11px}.hud-name small{font-size:6px}.hp-track{height:11px}.center-hud{top:10px}.center-hud>strong{font-size:26px}.center-hud>span{font-size:7px}.center-hud>small{font-size:6px;letter-spacing:.5px}.round-dots{font-size:13px;margin-top:3px}.pause-button{top:76px;right:14px;width:30px;height:30px}.p2{margin-right:0}#eventText{top:85px;font-size:18px}#perf{top:113px;font-size:6px}#controlHint{bottom:12px;font-size:6px;max-width:38%}.modal{padding:22px;max-height:94dvh;overflow:auto;width:350px;touch-action:pan-y}.modal h2{font-size:32px;margin-bottom:20px}.result-symbol{font-size:38px;margin-bottom:9px}.result-modal .eyebrow{font-size:7px}.result-modal h2{font-size:29px}.result-modal #resultScore{font-size:24px;margin-bottom:10px}.result-modal #resultDescription{margin-bottom:17px;font-size:10px}.local-play .stick-wrap{bottom:16px;left:18px}.local-play .actions{right:13px;bottom:20px}dialog{padding:22px}.help-grid p,.key-help p{font-size:10px}.help-grid{gap:20px}.help-grid h3{font-size:8px}}
@media(max-width:740px) and (orientation:landscape){.menu-content{grid-template-columns:130px minmax(190px,245px);column-gap:15px;max-width:69%}h1{font-size:50px}.spark{font-size:21px;right:-4px}.edition{display:none}.arena-tag{max-width:155px}.arena-tag strong{font-size:18px}.styles small{font-size:6px}.local-play .stick-wrap{left:9px;width:76px;height:92px}.local-play .stick{width:76px;height:76px}.local-play .stick-knob{width:36px;height:36px;left:19px;top:19px}.local-play .actions{width:132px;right:8px}.local-play .action{width:45px;height:45px}.local-play .block{left:27px}.local-play .action b{font-size:5px}.local-play #controlHint{display:none}}
@media(orientation:portrait) and (max-width:900px){#rotate{display:flex}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Keep touch controls cheap to composite over the moving 3D canvas. */
.action{backdrop-filter:none}.hp-track>div,.stamina-track>div{transform-origin:left;will-change:transform}.hp-track>div{transition:transform .08s linear}.p2 .hp-track>div,.p2 .stamina-track>div{transform-origin:right}

/* Each trigger owns a hand. Identical targets for simultaneous touch input. */
.actions{width:225px;height:184px}.arm{bottom:0;width:82px;height:82px;background:#d3f376dd;color:#1d2c30;border-color:#efffa8}.arm-l{left:12px}.arm-r{right:12px}.arm>span{font:bold 23px var(--mono)}.arm b{font-size:9px}.arm small{font-size:5px;opacity:.8}.arm.down{background:#e4ff9a}.arm.gripping{background:#78e2c2;color:#102d30;box-shadow:0 0 0 3px #78e2c233}.arm.missing{opacity:.38}.block{left:17px;top:3px}.special{right:17px;top:3px}.grip-ring{position:absolute;inset:-5px;width:calc(100% + 10px);height:calc(100% + 10px);pointer-events:none;transform:rotate(-90deg)}.grip-ring circle{fill:none;stroke:#fff3cf;stroke-width:3;stroke-dasharray:289;stroke-dashoffset:289;stroke-linecap:round}
.local-play .actions{width:150px;height:122px}.local-play .arm{width:57px;height:57px}.local-play .arm-l{left:8px}.local-play .arm-r{right:8px}.local-play .block{left:12px;top:0}.local-play .special{right:12px;top:0}.local-play .player-two .arm{background:#fc8c73e6}.local-play .player-two .arm.gripping{background:#78e2c2}
@media(max-height:470px) and (orientation:landscape){.actions{width:194px;height:153px}.arm{width:72px;height:72px}.arm-l{left:7px}.arm-r{right:7px}.arm>span{font-size:22px}.arm b{font-size:8px}.arm small{font-size:5px}.block{left:16px}.special{right:16px}.local-play .actions{width:144px;height:122px}.local-play .arm{width:57px;height:57px}.local-play .arm-l{left:5px}.local-play .arm-r{right:5px}.local-play .arm>span{font-size:17px}.local-play .arm b{font-size:6px}}
@media(max-width:740px) and (orientation:landscape){.local-play .actions{width:132px}.local-play .arm{width:54px;height:54px}.local-play .arm-l{left:4px}.local-play .arm-r{right:4px}.local-play .block{left:9px}.local-play .special{right:9px}}

.action,.stick{-webkit-touch-callout:none}

/* Combat update: a fifth action and concise feedback, sized for landscape touch. */
.actions{width:258px;height:182px}.block{left:7px;top:0}.special{right:7px;top:0}.dash{left:96px;top:0;border-color:#85e8e6aa;color:#a9fff0}.dash>span{font-weight:bold;font-size:32px}.dash.cooling{opacity:.48}.arm-l{left:28px}.arm-r{right:28px}.special.ready{background:#ffd36a;color:#2e2c22;border-color:#fff0b8}.hype-track{height:4px;background:#17252e;margin-top:5px;overflow:hidden}.hype-track>div{height:100%;background:#ffd36a;transform:scaleX(0);transform-origin:left}.p2 .hype-track>div{transform-origin:right}.combat-meta{display:flex;justify-content:space-between;gap:6px;margin-top:4px;font:7px var(--mono);color:#d6be7e}.combat-meta strong{color:#a6ffec;font-size:8px;white-space:nowrap}.round-dots{margin-top:2px}#arenaWarning{position:absolute;left:50%;transform:translateX(-50%);top:81px;font:7px var(--mono);letter-spacing:.6px;color:#8ba3ad;white-space:nowrap}#arenaWarning.danger{color:#ffda86;background:#372918e8;border:1px solid #ffd36a55;padding:5px 9px;border-radius:4px}.match-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.match-stats b{display:block;font:24px var(--mono);color:var(--lime)}.match-stats span{display:block;font:6px var(--mono);color:#b5c4c9;margin-top:6px;line-height:1.5}#personalBest{font-size:7px;margin-bottom:14px}.new-mechanics{border-top:1px solid #a6bbce33;padding-top:18px}.new-mechanics h3{font:10px var(--mono);color:#ffdc80}.new-mechanics p{font-size:11px;line-height:1.7;color:#afc0c7}.arena-option{white-space:nowrap}
@media(max-height:470px) and (orientation:landscape){.actions{width:222px;height:150px}.block{left:4px}.dash{left:84px}.special{right:4px}.arm-l{left:21px}.arm-r{right:21px}.hype-track{height:3px;margin-top:3px}.combat-meta{font-size:5px;margin-top:3px}.combat-meta strong{font-size:6px}#arenaWarning{top:63px;font-size:6px}#eventText{top:96px;font-size:17px}.match-stats{margin:8px 0}.match-stats b{font-size:20px}.match-stats span{font-size:5px}#personalBest{margin-bottom:9px}.setup-bottom{gap:6px}.pieces{font-size:6px}.pieces input{width:10px;height:10px}.new-mechanics p{font-size:10px}}
.local-play .actions{width:162px;height:128px}.local-play .block{left:0;top:0}.local-play .dash{left:57px;top:0}.local-play .special{right:0;top:0}.local-play .arm-l{left:14px}.local-play .arm-r{right:14px}.local-play .action{width:48px;height:48px}.local-play .arm{width:57px;height:57px}.local-play .dash>span{font-size:24px}
@media(max-width:740px) and (orientation:landscape){.local-play .actions{width:146px;height:122px}.local-play .action{width:44px;height:44px}.local-play .dash{left:51px}.local-play .arm{width:54px;height:54px}.local-play .arm-l{left:11px}.local-play .arm-r{right:11px}}

#deskDock{display:none}
@media(pointer:fine){
 #controls .player-controls{display:none}
 #deskDock{display:flex;position:absolute;bottom:35px;left:50%;transform:translateX(-50%);align-items:center;gap:16px;background:#101e2ae8;border:1px solid #a3bed24d;border-radius:6px;padding:10px 17px;white-space:nowrap}
 #rangeRead{color:#d7aa90;letter-spacing:1px;font:10px var(--mono)}#rangeRead.in-range{color:#d3f376}
 #deskBinding{color:#d1d9de;font:9px var(--mono);white-space:pre}
 #controlHint{bottom:9px;max-width:82%}#rotate{display:none}
 #game{cursor:crosshair}.arena-tag>p{line-height:1.65}
}

/* Six actions, two rows. Punch targets stay large and every control remains reachable. */
.actions{width:268px;height:218px}.block{left:8px;top:0}.dash{left:101px;top:0}.special{right:8px;top:0}.arm-l{left:0}.arm-r{right:0}.kick{left:101px;bottom:7px;top:auto;border-color:#ffcf80;color:#ffe0a6}.kick.cooling{opacity:.5}.kick.missing{opacity:.25}
@media(max-height:470px) and (orientation:landscape){.actions{width:232px;height:175px}.block{left:7px}.dash{left:89px}.special{right:7px}.kick{left:89px;bottom:8px}.arm-l{left:0}.arm-r{right:0}}
.local-play .actions{width:170px;height:130px}.local-play .dash,.local-play .kick{left:61px}.local-play .kick{bottom:4px}.local-play .arm-l{left:0}.local-play .arm-r{right:0}
@media(pointer:fine){#deskDock{max-width:95vw;gap:12px;padding:10px 12px}#deskBinding{font-size:clamp(7px,.8vw,10px);white-space:normal}#rangeRead{font-size:9px;white-space:nowrap}}

.model-note{font:9px var(--mono);line-height:1.5;color:var(--muted);margin:8px 0 14px}

.customize-button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:13px;padding:12px 14px;border:1px solid #b5d0bf55;background:#223440cc;border-radius:6px;font:10px var(--mono);color:var(--lime)}.customize-button span{font-size:7px;color:#a6b8bf}
#characterEditor{position:fixed;inset:0;z-index:12;pointer-events:none;background:linear-gradient(90deg,#101c2a80,transparent 70%)}
.atelier-panel{position:absolute;left:0;top:0;bottom:0;width:40%;min-width:350px;max-width:580px;background:#14232ef5;border-right:1px solid #bdd3c333;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;pointer-events:auto;padding:26px 30px 22px;scrollbar-color:#7b9561 #14232e}
.atelier-panel header{position:relative}.atelier-panel header>.eyebrow{color:#a1b3bf;font-size:8px}.atelier-panel header>button{position:absolute;right:0;top:-12px;background:transparent;font-size:30px;color:#b1c2ca}.atelier-panel h2{font-size:38px;line-height:.95;letter-spacing:-1.6px;margin:18px 0 10px;font-weight:900}.atelier-panel h2 em{color:var(--lime)}.atelier-panel header>p{font-size:11px;color:#b5c3c9}
.editor-fighters,.editor-tabs,.body-presets{display:flex;gap:6px}.editor-fighters{margin:22px 0 16px}.editor-fighters button{flex:1;background:#223541;color:#adc1c7;border:1px solid #637d8355;border-radius:5px;padding:11px;font:9px var(--mono)}.editor-fighters button.selected{background:var(--lime);color:#17242c}.editor-tabs{border-bottom:1px solid #7d939755;gap:0}.editor-tabs button{flex:1;padding:13px 6px;background:transparent;font:9px var(--mono);color:#91a7b0;border-bottom:2px solid transparent}.editor-tabs button.selected{border-color:var(--lime);color:var(--lime)}
.editor-intro{font-size:11px;line-height:1.65;color:#afc1c7;margin:17px 0}.body-presets{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:22px}.body-presets button{padding:9px 3px;border-radius:4px;border:1px solid #77918b66;background:#243b42;font-size:9px;color:#d6e1d6}.body-presets button:hover{border-color:var(--lime)}
.body-sliders label{display:block;margin:0 0 18px}.body-sliders label>span{display:flex;justify-content:space-between;font-size:12px;color:#e4e8dc}.body-sliders output{font:11px var(--mono);color:var(--lime)}.body-sliders input{width:100%;margin:11px 0 6px;accent-color:var(--lime);cursor:ew-resize;height:17px;touch-action:pan-y}.body-sliders small{display:block;font-size:9px;color:#92aab4;line-height:1.5}.body-sliders input:focus-visible{outline:2px solid var(--lime);outline-offset:4px;border-radius:3px}#bodyAdjustment{font-size:10px;color:#ffd897;line-height:1.5;min-height:14px}.editor-subtle{display:block;width:100%;background:transparent;color:#acbec5;padding:12px 4px;font:8px var(--mono);letter-spacing:.4px}.atelier-panel footer{margin-top:24px;border-top:1px solid #7d939733;padding-top:14px}.atelier-panel footer>p{font-size:10px;color:#acc1c8;line-height:1.6;margin:0 0 13px}.atelier-panel footer .start{font-size:12px;padding:15px}
.look-selects{display:grid;grid-template-columns:1fr 1fr;gap:17px 12px}.look-selects label{font-size:10px;color:#c1ced0}.look-selects select{display:block;margin-top:7px;width:100%;max-width:none;padding:10px 8px;font-size:11px;background:#233643}.editor-colors{margin:24px 0;display:flex;flex-wrap:wrap;gap:15px}.editor-colors label{width:calc(33.333% - 10px);font-size:9px;display:flex;flex-direction:column;gap:7px;color:#b3c4c9}.editor-colors input{width:100%;height:37px;background:transparent;border:1px solid #617b7f66;border-radius:5px;padding:3px;cursor:pointer}
.editor-stat{margin-bottom:18px}.editor-stat>span{display:flex;justify-content:space-between;font-size:11px;color:#cdd9d7}.editor-stat b{font:11px var(--mono);color:var(--lime)}.editor-stat>div{height:6px;background:#273d47;margin-top:8px;border-radius:3px;position:relative;overflow:hidden}.editor-stat i{display:block;height:100%;background:var(--lime)}.editor-stat em{position:absolute;left:71.428%;top:0;bottom:0;width:2px;background:#fff9}.editor-rules{border:1px solid #a2bcb933;background:#1b303a;padding:15px;border-radius:6px;margin-top:25px}.editor-rules h3{font:9px var(--mono);color:var(--lime);margin:0 0 12px}.editor-rules p{font-size:10px;line-height:1.7;color:#a9bdc6;margin:0 0 12px}.editor-rules p:last-child{font-size:9px;margin:0;color:#809ba8}
.atelier-preview{position:absolute;left:42%;right:0;top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:36px 20px 24px}.preview-title{text-align:center;text-shadow:0 2px 10px #000}.preview-title>span{font:8px var(--mono);letter-spacing:3px;color:#b9c9ce}.preview-title strong{display:block;font-size:17px;font-style:italic;margin:11px 0;color:var(--lime)}.preview-title p{font:10px var(--mono);color:#d1dcd9}.preview-tools{pointer-events:auto;text-align:center;background:#142531d9;padding:15px 20px;border:1px solid #aac4c033;border-radius:8px;backdrop-filter:blur(6px)}.preview-tools>div{display:flex;gap:8px;margin-bottom:14px}.preview-tools button{background:#304751;color:#e1eed7;font:9px var(--mono);padding:11px 15px;border:1px solid #879c8e44;border-radius:4px}.preview-tools label{display:flex;align-items:center;gap:12px;font:8px var(--mono);color:#a9bdc4}.preview-tools input{accent-color:var(--lime);min-width:110px}.preview-tools p{font-size:8px;line-height:1.6;color:#9fb5be;margin:11px 0 0}
@media(max-width:900px){.atelier-panel{width:43%;min-width:300px;padding:20px}.atelier-preview{left:45%}.atelier-panel h2{font-size:30px}.preview-title strong{font-size:12px}.preview-tools{padding:10px}.preview-tools button{padding:10px;font-size:8px}.preview-tools label{flex-direction:column;gap:7px}.body-presets{grid-template-columns:1fr 1fr}}
@media(max-height:500px){.atelier-panel{padding-top:16px}.atelier-panel h2{font-size:24px;margin:10px 0}.editor-fighters{margin:14px 0 8px}.atelier-preview{padding:16px}.preview-title p{font-size:8px}.preview-tools{padding:9px}.preview-tools>div{margin-bottom:8px}.preview-tools p{display:none}.customize-button{padding:8px 10px;margin-top:10px}.customize-button span{font-size:6px}.setup-bottom{margin-top:10px}}

/* Fight Night 05+ additions, intentionally scoped to the existing design */
.kd-name-field{display:flex;flex-direction:column;gap:7px;padding:10px 0 12px;font:9px var(--mono);letter-spacing:1px;color:var(--lime)}
.kd-name-field input{width:100%;padding:11px 12px;background:#101f2a;border:1px solid #94b4a677;border-radius:5px;color:var(--white);font:700 15px Arial,sans-serif;letter-spacing:.4px;outline-offset:2px}
.kd-net-status{font:9px var(--mono);letter-spacing:.4px;color:var(--lime);min-height:12px}
.kd-online-panel{max-width:350px;margin:8px 0 10px;padding:11px;border:1px solid #64857777;border-radius:5px;background:#0f202bcc;display:grid;gap:7px;color:#c9d7d0;font:9px var(--mono)}
.kd-online-panel[hidden]{display:none}
.kd-online-panel input{width:100%;min-height:32px;border:1px solid #54756b;background:#142630;color:#f2f8e9;padding:7px 9px;font:12px Arial;border-radius:4px}
.kd-online-panel .kd-online-buttons{display:flex;gap:7px}
.kd-online-panel button{padding:9px 12px;flex:1;border:1px solid #638b7b;background:#1c3340;color:#cceba3;font:800 10px Arial;border-radius:4px}
.kd-online-panel small{line-height:1.5;color:#a4b9b7}
@media (pointer:coarse) and (orientation:landscape){
  .local-play .player-controls .stick-wrap{bottom:max(14px,env(safe-area-inset-bottom));left:max(9px,env(safe-area-inset-left));}
  .local-play .player-controls .actions{bottom:max(15px,env(safe-area-inset-bottom));right:max(8px,env(safe-area-inset-right));}
  .local-play .action{min-width:42px;min-height:42px}
  .kd-name-field input{font-size:16px}
}
@media(pointer:coarse) and (max-height:400px){.local-play .player-controls .stick-wrap{transform:scale(.88);transform-origin:left bottom}.local-play .player-controls .actions{transform:scale(.88);transform-origin:right bottom}.kd-online-panel{padding:7px}}

/* Menu pode rolar quando a party ocupa mais altura que a tela (celulares em landscape). */
body.party-mode #menu{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;}
body.party-mode #menu .menu-content{flex-shrink:0;}
@media(max-height:680px) and (orientation:landscape){body.party-mode #menu .menu-content{margin-top:16px;margin-bottom:16px}}
/* Party online: mesmo tema do Fight Night 05, sem telas técnicas. */
.kd-online-panel{max-width:400px;margin:9px 0 11px;padding:12px 14px;border:1px solid #7fa3886a;border-radius:9px;background:linear-gradient(150deg,#14242eea,#0b1620f2);box-shadow:0 12px 28px #0004;gap:9px;}
.kd-party-heading{display:flex;gap:10px;align-items:center;border-bottom:1px solid #5e797447;padding-bottom:9px;}
.kd-party-emblem{display:grid;place-items:center;background:#d3f376;color:#192627;font-size:19px;width:35px;height:35px;border-radius:6px;}
.kd-party-heading strong{font:900 15px Arial,sans-serif;letter-spacing:1.5px;color:#ecf6da;}
.kd-party-heading small{display:block;font:700 8px Arial,sans-serif;letter-spacing:1.2px;color:#b1bdc1;margin-top:4px;}
.kd-party-main,.kd-party-lobby{display:grid;gap:9px;}
.kd-party-main[hidden],.kd-party-lobby[hidden],.kd-party-start[hidden]{display:none!important;}
.kd-online-panel button{cursor:pointer;touch-action:manipulation;min-height:36px;}
.kd-online-panel button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.65);}
.kd-online-panel .kd-party-create,.kd-online-panel .kd-party-start{display:flex;align-items:center;justify-content:space-between;background:#d3f376;color:#17221d;border:0;border-radius:5px;padding:12px;font:900 12px Arial,sans-serif;text-align:left;}
.kd-online-panel .kd-party-create span,.kd-online-panel .kd-party-start span{font-size:17px;}
.kd-party-or{text-align:center;color:#8eaba9;letter-spacing:1px;font:700 9px Arial,sans-serif;}
.kd-party-code-label{font:800 10px Arial,sans-serif;letter-spacing:.9px;color:#d5e5e5;}
.kd-online-panel .kd-party-join{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;}
.kd-online-panel #kdRoomCode{font:900 17px ui-monospace,monospace;text-transform:uppercase;letter-spacing:2px;padding:8px 10px;min-height:41px;}
.kd-online-panel #kdJoin{background:#273e48;color:#e7f9d1;border:1px solid #608080;padding:7px 12px;border-radius:5px;font:900 11px Arial,sans-serif;}
.kd-party-lobby-title{font:800 10px Arial,sans-serif;letter-spacing:1.2px;color:#e3f1ee;display:flex;justify-content:space-between;}
.kd-party-lobby-title span{font:700 8px ui-monospace,monospace;color:#96afac;}
.kd-party-code{text-align:center;padding:8px 12px;border:1px dashed #98c39885;border-radius:7px;font:900 clamp(23px,3vw,34px) ui-monospace,monospace;letter-spacing:5px;color:#dfff91;background:#12232b;}
.kd-party-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.kd-online-panel .kd-party-actions button{background:#213943;border:1px solid #64857d;color:#d9efda;border-radius:6px;font:800 9px Arial,sans-serif;padding:7px 3px;}
.kd-party-members{margin:0;padding:8px 9px;background:#1c323b;border-left:3px solid #d3f376;font:800 10px Arial,sans-serif;color:#e8f6ee;}
.kd-online-panel .kd-party-leave{background:transparent;border:1px solid #6c777c;color:#c5d0ce;border-radius:5px;font:800 10px Arial,sans-serif;}
.kd-online-panel #kdRoomStatus{color:#d9fca2;font:700 10px/1.5 Arial,sans-serif;}
.kd-online-panel .kd-party-footnote{font:600 9px/1.4 Arial,sans-serif;color:#8daba9;}
@media(pointer:coarse) and (max-height:440px){.kd-online-panel{padding:8px;gap:6px}.kd-party-heading{padding-bottom:6px}.kd-online-panel .kd-party-create,.kd-online-panel .kd-party-start{padding:8px}.kd-party-code{font-size:22px;padding:6px}}

/* PARTY 2: nomes próprios com o visual original do Fight Night. */
.kd-online-panel #kdPartyNick{min-height:37px;max-width:100%;border-radius:5px;border:1px solid #6d8f80;color:#edf7db;background:#132a34;font:800 13px Arial,sans-serif;letter-spacing:.4px;}
.kd-party-roster{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;border:1px solid #426252;background:#0b1b25b5;border-radius:6px;padding:9px;}
.kd-party-roster div{display:flex;flex-direction:column;gap:4px;min-width:0;}
.kd-party-roster div span{font:800 9px Arial,sans-serif;color:#9eb5ab;letter-spacing:1px;}
.kd-party-roster strong{font:900 12px Arial,sans-serif;color:#edfad6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.kd-party-versus{font:900 10px Arial,sans-serif;color:#cce77f;}
@media(pointer:coarse) and (max-height:440px){.kd-party-roster{padding:5px;gap:5px}.kd-party-roster strong{font-size:10px}}

/* Settings menu, intentionally scoped to Fight Night's existing palette. */
.kd-settings{position:fixed;inset:auto;margin:auto;width:min(700px,94vw);max-height:min(92dvh,820px);padding:0;border:1px solid #6f958468;border-radius:12px;background:#10222df9;color:#e8f0e4;box-shadow:0 24px 100px #000b;overflow:hidden;touch-action:pan-y}
.kd-settings::backdrop{background:#030810d7;backdrop-filter:blur(5px)}
.kd-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:21px 24px 11px;border-bottom:1px solid #7e9a8e35}
.kd-settings-head h2{font:900 clamp(24px,4vw,38px)/1 Arial,sans-serif;letter-spacing:-1.2px;margin:8px 0;color:#f2f6e4}
.kd-settings-head h2 span{color:#d3f376;margin-left:7px;font-size:22px}
.kd-settings-head p{margin:0 0 10px;font:11px/1.5 Arial,sans-serif;color:#acc2c3}
#settingsClose{background:#203945;color:#f1f6e6;border:1px solid #8faca566;width:36px;height:36px;flex:none;border-radius:8px}
.kd-settings-scroll{max-height:calc(min(92dvh,820px) - 210px);overflow-y:auto;overscroll-behavior:contain;padding:7px 24px 10px;scrollbar-color:#718b7a #182d39}
.kd-settings h3{font:800 11px var(--mono,monospace);color:#d3f376;letter-spacing:1.5px;margin:20px 0 5px}
.kd-setting{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:44px;padding:10px 0;border-bottom:1px solid #81998c20;font:12px Arial,sans-serif}
.kd-setting>span{flex:1;display:flex;justify-content:space-between;gap:9px;align-items:center}
.kd-setting b{font-weight:700;color:#e6ede5}
.kd-setting small{display:block;line-height:1.5;color:#a5b9bd;font-size:10px;max-width:265px}
.kd-setting:has(small)>span{display:block}
.kd-setting output{font:10px var(--mono,monospace);color:#d3f376;margin-left:auto}
.kd-setting input[type=range]{accent-color:#d3f376;width:clamp(120px,35%,210px);height:22px;touch-action:pan-y}
.kd-setting input[type=checkbox]{accent-color:#d3f376;width:21px;height:21px;flex:none}
.kd-setting select{background:#233b46;color:#eff6e3;border:1px solid #85a19066;padding:9px 11px;max-width:160px;border-radius:6px;font-size:12px}
.kd-settings-actions{display:flex;gap:10px;padding:12px 24px 4px}
.kd-settings-actions button{flex:1;border:1px solid #8eaa9855;background:#1e3540;color:#ecf3e9;padding:12px 8px;border-radius:6px;font:800 11px Arial,sans-serif}
.kd-settings-actions .start{background:#d3f376;border-color:#d3f376;color:#14242d}
.kd-settings-foot{padding:0 24px 12px;color:#a5b9bd;font:10px/1.5 Arial,sans-serif}
@media(max-height:480px){.kd-settings-head{padding:10px 16px 4px}.kd-settings-head h2{font-size:22px;margin:4px 0}.kd-settings-scroll{max-height:calc(92dvh - 132px);padding:0 16px}.kd-settings h3{margin:10px 0 4px}.kd-setting{min-height:38px;padding:6px 0}.kd-settings-actions{padding:7px 16px 1px}.kd-settings-foot{padding:0 16px 5px}}
@media(max-width:500px){.kd-settings-scroll{padding:0 14px}.kd-setting{gap:8px}.kd-setting small{max-width:170px;font-size:9px}.kd-setting select{max-width:122px}.kd-setting input[type=range]{width:125px}.kd-settings-head{padding:14px 14px 7px}.kd-settings-actions{padding:10px 14px 3px}.kd-settings-foot{padding:0 14px 8px}}

.kd-settings{top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);margin:0}


/* Knockout Dolls V5: distinct kick choices. Existing UI/model remain unchanged. */
.kick-extra{position:absolute;bottom:calc(100% + 7px);left:15px;right:15px;height:40px;display:flex;justify-content:center;gap:8px;pointer-events:none}
.kick-extra .kick-option{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;flex:1;max-width:108px;min-width:0;border-radius:8px;border:1px solid #fbc580a8;background:#182c3bdc;color:#ffdfa4;font:800 9px/1.1 var(--mono);display:flex;gap:4px;align-items:center;justify-content:center;padding:4px 5px}
.kick-extra .kick-option span{font-size:19px}.kick-extra .kick-option b{font-size:8px;letter-spacing:.1px}
.kick-extra .kick-option.down{background:#d3f376;color:#1c2b32}.kick-extra .kick-option.cooling{opacity:.47}.kick-extra .kick-option.missing{opacity:.24}
#controls .kick b{font-size:9px}
#controls .kick small,#controls .arm small{font-size:6px}
/* Hide only the touch controls for the player using an active physical controller. */
body[data-input-p1="gamepad"] #controls .player-one,body[data-input-p2="gamepad"] #controls .player-two{display:none}
body[data-input-p1="gamepad"] #gamepadTouchReturn{display:block}
#gamepadTouchReturn{display:none;position:fixed;bottom:max(10px,env(safe-area-inset-bottom));right:12px;z-index:6;border:1px solid #9bb9b3aa;background:#112431d9;border-radius:9px;color:#d7f4d4;font:800 10px var(--mono);padding:9px;cursor:pointer}
@media(max-height:470px) and (orientation:landscape){.kick-extra{bottom:calc(100% + 5px);height:32px;gap:5px}.kick-extra .kick-option{font-size:7px;padding:2px 3px}.kick-extra .kick-option b{font-size:7px}.kick-extra .kick-option span{font-size:15px}}
@media(max-width:740px) and (orientation:landscape){.kick-extra{left:2px;right:2px}.kick-extra .kick-option b{font-size:6px}}
.local-play .kick-extra{height:29px;left:2px;right:2px;gap:3px}.local-play .kick-extra .kick-option{padding:1px 2px}.local-play .kick-extra .kick-option span{font-size:13px}.local-play .kick-extra .kick-option b{font-size:6px}

@media(pointer:fine){body[data-input-p1="touch"] #controls .player-one,body[data-input-p2="touch"] #controls .player-two{display:block}}

@media(pointer:coarse){body[data-input-p1="keyboard"] #controls .player-one{display:none}body[data-input-p1="keyboard"] #gamepadTouchReturn{display:block}}

/* V6: Special is visibly unavailable until full Turbo (the input still reports a no-op). */
.action.special.locked{filter:saturate(.5);opacity:.65}.action.special.ready{opacity:1;filter:none}

/* V7.1 — Modo Treinamento. Mantém a identidade visual original. */
.opponents{gap:1px}.opponents button{padding:9px 8px;white-space:nowrap}
.opponents button[data-opponent="training"]{color:#e8c28b;font-weight:800}
.opponents button[data-opponent="training"].selected{background:#ddc179;color:#18252d}
#trainingBoard{position:absolute;left:50%;top:136px;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:4px;z-index:3;background:#10202bdc;border:1px solid #dec68e80;border-radius:9px;padding:7px 15px;text-align:center;white-space:nowrap;box-shadow:0 6px 24px #0005}
#trainingBoard b{color:#e6c87b;letter-spacing:2px;font:800 10px var(--mono)}
#trainingBoard span{color:#f3f0d7;font:700 11px var(--mono)}
#trainingBoard small{color:#aebdc1;font:7px var(--mono)}
@media(max-height:470px) and (orientation:landscape){.opponents button{font-size:7px;padding:7px 5px}#trainingBoard{top:98px;gap:2px;padding:4px 9px}#trainingBoard b{font-size:8px}#trainingBoard span{font-size:9px}#trainingBoard small{font-size:6px}}
@media(max-width:740px) and (orientation:landscape){.opponents button{padding:7px 5px;font-size:7px}}
@media(pointer:coarse) and (orientation:landscape){#trainingBoard{top:90px;gap:2px;padding:3px 8px;border-radius:7px;max-width:min(58vw,250px)}#trainingBoard b{font-size:7px;letter-spacing:1.2px}#trainingBoard span{font-size:8px}#trainingBoard small{font-size:5px;letter-spacing:.3px}}
@media(pointer:coarse) and (max-width:740px) and (orientation:landscape){#trainingBoard{top:86px;max-width:54vw;padding:3px 7px}#trainingBoard b{font-size:6px}#trainingBoard span{font-size:7px}#trainingBoard small{font-size:5px}}

/* V7.5.3: painel de treinamento no MOBILE, fora do centro da luta.
   No desktop, todas as dimensões e a posição anteriores ficam inalteradas. */
@media (pointer:coarse) and (orientation:landscape) {
  #trainingBoard {
    left: max(10px, env(safe-area-inset-left));
    right: auto;
    top: clamp(96px, 24vh, 130px);
    transform: none;
    width: auto;
    max-width: min(38vw, 190px);
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 0;
    padding: 4px 7px;
    border-radius: 5px;
    background: rgba(16, 32, 43, .67);
    border-color: rgba(222, 198, 142, .35);
    box-shadow: none;
    text-align: left;
    pointer-events: none;
  }
  #trainingBoard b, #trainingBoard small { display: none; }
  #trainingBoard span {
    display: block;
    font: 700 8px var(--mono);
    letter-spacing: 0;
    white-space: nowrap;
  }
}
@media (pointer:coarse) and (orientation:landscape) and (max-width:740px) {
  #trainingBoard { top: clamp(88px, 24vh, 116px); padding: 3px 6px; }
  #trainingBoard span { font-size: 7px; }
}


/* V7.5.4 — analógico maior no celular (sem mudanças no desktop).
   A superfície de toque é o próprio círculo, então o tamanho útil aumenta
   junto com o visual; o cálculo de direção usa suas dimensões atuais. */
@media (pointer:coarse) and (orientation:landscape) and (max-height:600px) {
  body:not(.local-play) #controls .player-one .stick-wrap {
    --kd-stick-size: clamp(136px, 40dvh, 164px);
    width: var(--kd-stick-size);
    height: calc(var(--kd-stick-size) + 22px);
    left: max(22px, env(safe-area-inset-left));
    bottom: max(14px, env(safe-area-inset-bottom));
    z-index: 4;
  }
  body:not(.local-play) #controls .player-one .stick {
    width: var(--kd-stick-size);
    height: var(--kd-stick-size);
    border-width: 2px;
    background: #12232e77;
  }
  body:not(.local-play) #controls .player-one .stick-ring {
    inset: 11%;
  }
  body:not(.local-play) #controls .player-one .stick-knob {
    width: 40%;
    height: 40%;
    left: 30%;
    top: 30%;
    border-width: 2px;
  }
  body:not(.local-play) #controls .player-one .stick-label {
    font-size: 8px;
  }
}

/* V7.5.5 — ergonomic, mobile-only control surfaces. Desktop is unchanged. */
@media (pointer:coarse) and (orientation:landscape) {
  body:not(.local-play) #controls .player-one .actions {
    right:max(22px,env(safe-area-inset-right));
    bottom:max(18px,env(safe-area-inset-bottom));
  }
  body:not(.local-play) #controls .player-one .action {
    background:linear-gradient(158deg,rgba(45,71,84,.94),rgba(18,37,51,.82));
    border:1.5px solid rgba(198,230,229,.54);
    box-shadow:inset 0 2px 0 rgba(255,255,255,.12),inset 0 -3px 6px rgba(1,10,17,.16),0 5px 14px rgba(0,0,0,.23);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    transition:background .12s ease,border-color .12s ease,box-shadow .12s ease;
  }
  body:not(.local-play) #controls .player-one .action>span{font-weight:900;text-shadow:0 1px 5px #0003}
  body:not(.local-play) #controls .player-one .action b{font-weight:900;letter-spacing:.35px}
  body:not(.local-play) #controls .player-one .action small{opacity:.66}
  body:not(.local-play) #controls .player-one .action.arm {
    background:radial-gradient(circle at 30% 15%,#e3ff9a,#c9ee70 65%,#add05a);
    color:#152b2b;
    border:2px solid #f0ffb6;
    box-shadow:inset 0 2px 4px #fff9,0 4px 0 #648842,0 8px 14px #010b125e;
  }
  body:not(.local-play) #controls .player-one .action.arm>span{text-shadow:none}
  body:not(.local-play) #controls .player-one .action.kick{border-color:#e9c187aa;color:#ffe1aa}
  body:not(.local-play) #controls .player-one .action.dash{border-color:#9bded9a6;color:#b9fff2}
  body:not(.local-play) #controls .player-one .action.special{border-color:#f2a891aa;color:#ffe2bc}
  body:not(.local-play) #controls .player-one .action.special.ready{background:linear-gradient(145deg,#ffe6a2,#ffbc53);color:#302617;border-color:#ffe2a5}
  body:not(.local-play) #controls .player-one .action.down{background:linear-gradient(150deg,#e6ffb9,#c9f071);border-color:#edffbe;color:#132632;box-shadow:0 1px 12px #d3f37677,inset 0 1px 3px #fff8}
  body:not(.local-play) #controls .player-one .action.arm.down{color:#112920}
  body:not(.local-play) #controls .player-one .kick-extra{gap:7px;height:36px}
  body:not(.local-play) #controls .player-one .kick-option{
    background:linear-gradient(155deg,rgba(54,62,61,.92),rgba(24,42,53,.94));
    color:#ffe2a8;border:1px solid #e4b978b5;
    box-shadow:inset 0 1px 0 #fff3,0 4px 10px #0006;
    border-radius:11px;
    backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
    font-weight:900;
  }
  body:not(.local-play) #controls .player-one .kick-option.down{background:#d3f376;color:#18272b}
  body:not(.local-play) #controls .player-one .stick{
    background:radial-gradient(circle at 48% 44%,rgba(64,94,99,.50),rgba(13,35,48,.58) 70%);
    border-color:#c7eac46b;box-shadow:inset 0 2px 15px #0003,0 0 0 5px #d3f3760a;
  }
  body:not(.local-play) #controls .player-one .stick-ring{border:1px dashed #dfefc943}
  body:not(.local-play) #controls .player-one .stick-knob{background:radial-gradient(circle at 33% 26%,#e6ffc09c,#b4dd8f78);border-color:#e0ffbdb9;box-shadow:inset 0 2px 4px #fff6,0 5px 13px #0006}
  body:not(.local-play) #controls .player-one .stick-label{color:#dce8d3a6;letter-spacing:1.6px}
}

/* Visible on desktop but safely disabled; the touch editor itself only opens on mobile. */
.kd-hud-mobile-option button{background:#d3f376;border:1px solid #e6ffa2;color:#15282d;border-radius:7px;padding:11px 13px;font:900 10px var(--mono);white-space:nowrap;min-width:160px}
.kd-hud-mobile-option button:disabled{background:#293b45;border-color:#536a70;color:#81979b;cursor:not-allowed;opacity:.72}
.kd-hud-mobile-option button:not(:disabled):active{background:#ebffb9}
@media(max-height:470px){.kd-hud-mobile-option button{padding:8px;min-width:145px}}

/* HUD editor: work on the real touch targets, with input captured before gameplay. */
#kdHudEditor{position:fixed;inset:0;z-index:99;pointer-events:none}
#kdHudEditor::before{content:"";position:absolute;inset:0;background:linear-gradient(#09172255,transparent 48%);pointer-events:none}
.kd-hud-edit-card{pointer-events:auto;position:absolute;top:max(7px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(700px,95vw);background:#0e2630f4;color:#edf5e8;border:1px solid #c5e79470;border-radius:12px;box-shadow:0 10px 30px #0008;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:8px 12px;display:flex;flex-direction:column;gap:7px}
.kd-hud-edit-head{display:flex;align-items:center;gap:9px}
.kd-hud-edit-head strong{font:900 13px Arial,sans-serif;letter-spacing:.6px;color:#d3f376;white-space:nowrap}
.kd-hud-edit-head span{font:8px var(--mono);color:#a5c1ba;flex:1;white-space:nowrap}
.kd-hud-edit-head button{border-radius:6px;border:1px solid #9cbfa75b;background:#213b46;color:#e7f5e7;font:800 10px Arial;padding:7px 10px;white-space:nowrap}
#kdHudFinish{background:#d3f376;color:#172927;border-color:#d3f376}
.kd-hud-edit-options{display:grid;grid-template-columns:1.15fr 1fr 1fr;align-items:center;gap:12px}
.kd-hud-edit-options label{display:flex;align-items:center;gap:6px;min-width:0;color:#a7bfc1;font:8px var(--mono);letter-spacing:.3px}
.kd-hud-edit-options select{min-width:0;flex:1;max-width:none;padding:5px 6px;background:#213b47;border:1px solid #7aa08c70;color:#ecf8dc;font:10px Arial}
.kd-hud-edit-options input{min-width:0;flex:1;width:80px;accent-color:#d3f376;height:23px;touch-action:pan-y}
.kd-hud-edit-options output{color:#d3f376;font:9px var(--mono);min-width:30px;text-align:right}
body.kd-hud-editing #controls{z-index:96;pointer-events:none}
body.kd-hud-editing #hud{z-index:96;pointer-events:none}
body.kd-hud-editing #controls .player-one{display:block!important}
body.kd-hud-editing #controls .player-two{display:none!important}
body.kd-hud-editing #controls .player-one .stick-wrap,
body.kd-hud-editing #controls .player-one [data-action],
body.kd-hud-editing #hud .fighter-hud,
body.kd-hud-editing #hud .center-hud,
body.kd-hud-editing #hud #pause,
body.kd-hud-editing #hud #trainingBoard{pointer-events:auto!important;touch-action:none!important;cursor:grab;outline:1.5px dashed #def8a69a;outline-offset:3px}
body.kd-hud-editing .kd-hud-selected{outline:3px solid #d3f376!important;outline-offset:4px!important;filter:drop-shadow(0 0 7px #d3f37660)}
body.kd-hud-editing #trainingBoard{opacity:.9!important}
@media(max-height:470px){.kd-hud-edit-card{padding:6px 9px;gap:5px}.kd-hud-edit-head strong{font-size:11px}.kd-hud-edit-head span{font-size:7px}.kd-hud-edit-head button{padding:6px 8px;font-size:9px}.kd-hud-edit-options{gap:7px}.kd-hud-edit-options label{font-size:7px}.kd-hud-edit-options select{padding:4px;font-size:9px}}
@media(max-width:680px){.kd-hud-edit-head span{display:none}.kd-hud-edit-options{grid-template-columns:1fr 1fr;row-gap:5px}.kd-hud-edit-options label:first-child{grid-column:span 2}.kd-hud-edit-card{width:calc(100vw - 12px)}}


/* V7.6 — desktop menu redesign */
#menu{justify-content:flex-start;}
.menu-shell{display:grid;grid-template-columns:minmax(390px,520px) minmax(290px,360px);gap:28px;align-items:center;min-height:calc(100dvh - 110px);padding:18px 0 48px;}
.menu-content.redesigned{width:100%;max-width:none;margin:0;display:flex;flex-direction:column;gap:18px;}
.hero-copy{display:flex;flex-direction:column;gap:12px;}
.hero-kicker{font:10px var(--mono);letter-spacing:1.8px;color:#bfd0d2;}
.hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;}
.hero-pills span{padding:8px 10px;border-radius:999px;background:#182733dd;border:1px solid #60717b77;font:8px var(--mono);letter-spacing:1.2px;color:#d3dfdb;}
.setup-card{max-width:none;padding:18px;border:1px solid #8ca9af33;background:linear-gradient(180deg,#162633e6,#13222ce6);border-radius:18px;box-shadow:0 18px 60px #0004;}
.mode-single{display:grid;gap:5px;padding:12px 14px;border-radius:12px;background:#0e1b25;border:1px solid #5168725e;margin-bottom:14px;}
.mode-single span{font:8px var(--mono);letter-spacing:1.4px;color:#9fb2bc;}
.mode-single strong{font-size:28px;font-style:italic;letter-spacing:-1px;color:var(--lime);}
.mode-single small{font-size:11px;line-height:1.5;color:#b8c6ca;}
#modeHint{font-size:11px;color:#c1ced2;line-height:1.6;margin:12px 0 0;}
.start{margin-top:12px;padding:18px 18px;font-size:18px;border-radius:12px;box-shadow:0 7px 0 #87aa50;}
.start span{font-size:28px;}
.compact-bottom{margin-top:14px;justify-content:flex-start;}
.menu-sidebar{display:flex;flex-direction:column;gap:14px;align-self:center;}
.side-card{background:linear-gradient(180deg,#142330eb,#0f1c26ef);border:1px solid #8ca9af30;border-radius:18px;padding:18px;box-shadow:0 18px 45px #0003;backdrop-filter:blur(3px);}
.side-kicker{display:block;font:8px var(--mono);letter-spacing:1.7px;color:#a7bac2;margin-bottom:10px;}
.fighter-card strong{display:block;font-size:34px;font-style:italic;letter-spacing:-1.3px;line-height:1;color:#f1edd5;margin-bottom:10px;}
.fighter-card p,.quick-note p{margin:0;color:#b0c0c6;font-size:12px;line-height:1.6;}
.fighter-card .customize-button{margin-top:14px;padding:14px 14px;border-radius:10px;font-size:11px;}
.fighter-card .customize-button span{font-size:8px;}
.menu-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.menu-stats-grid div{padding:12px 10px;border-radius:12px;background:#0e1a24;border:1px solid #5267714d;min-height:78px;display:flex;flex-direction:column;justify-content:space-between;}
.menu-stats-grid b{font-size:24px;font-style:italic;color:var(--white);letter-spacing:-.8px;line-height:1.05;}
.menu-stats-grid span{font:8px var(--mono);letter-spacing:1.2px;color:#9ab0b8;}
.quick-buttons{display:grid;grid-template-columns:1fr;gap:9px;}
.quick-buttons button{padding:13px 14px;border-radius:10px;background:#1c2d39;border:1px solid #7c8f9657;color:#ebf1e7;font:800 11px Arial,sans-serif;text-align:left;}
.quick-buttons button:hover{background:#233544;}
.quick-note{margin-top:12px;padding-top:12px;border-top:1px solid #6d81882e;}
.quick-note strong{display:block;font:9px var(--mono);letter-spacing:1.4px;color:var(--lime);margin-bottom:6px;}
.menu-footer{justify-content:flex-start;gap:16px;}
.styles{display:none!important;}
@media(min-width:741px){.arena-tag{right:4%;bottom:11%;max-width:270px;background:linear-gradient(180deg,#0e1822a0,#0e182240);padding:18px 0 18px 16px;border-radius:0 12px 12px 0;}}
@media(max-width:1180px){.menu-shell{grid-template-columns:minmax(340px,1fr) 300px;gap:18px}.fighter-card strong{font-size:29px}.menu-stats-grid b{font-size:21px}.hero-pills{gap:6px}.hero-pills span{padding:6px 8px}}
@media(max-width:900px){.menu-shell{grid-template-columns:1fr}.menu-sidebar{max-width:420px}.arena-tag{right:3%;bottom:10%}}
@media(max-width:740px) and (orientation:landscape){.menu-shell{display:block;padding:0;min-height:auto}.menu-content.redesigned{display:grid;grid-template-columns:130px minmax(190px,245px);column-gap:15px;max-width:69%;gap:0}.hero-copy{display:contents}.hero-kicker,.hero-pills,.tagline{display:none}.mini{grid-column:1 / -1;margin-bottom:15px;font-size:6px}.setup-card{grid-column:2;grid-row:2;padding:0;border:0;background:transparent;box-shadow:none}.menu-sidebar{display:none}.mode-single{margin:0 0 8px;padding:8px 10px;border-radius:8px}.mode-single strong{font-size:18px}.mode-single small{font-size:8px}.start{padding:11px 13px;font-size:11px;border-radius:5px;box-shadow:0 4px 0 #84a74e}.start span{font-size:19px}.compact-bottom{margin-top:10px}.menu-footer{font-size:6px;gap:8px}.menu-footer>span:first-child{max-width:170px}}

.mode-ghost{position:absolute;opacity:0;pointer-events:none;width:0;height:0;padding:0;border:0;overflow:hidden;}
.mode-single{position:relative;}

/* V7.9.3 — First-person camera controls. No layout changes to either lobby. */
.kd-camera-button{
 pointer-events:auto;position:absolute;right:max(60px,calc(env(safe-area-inset-right) + 59px));top:92px;
 z-index:8;min-height:36px;min-width:103px;padding:8px 11px;border-radius:10px;
 background:linear-gradient(155deg,#213a47ea,#101f2deb);color:#f0f4e7;
 border:1px solid #a9c8c17b;font:800 9px var(--mono);letter-spacing:.5px;
 box-shadow:0 5px 14px #0007;transition:background .15s,border-color .15s;
}
.kd-camera-button[aria-pressed="true"]{background:linear-gradient(155deg,#3c583aeb,#1e3a39ec);border-color:#d3f376bb;color:#e9ffbc}
.kd-camera-button:focus-visible{outline:2px solid var(--lime)}
.kd-camera-button:disabled{opacity:.45;cursor:not-allowed}
#fpCrosshair{position:absolute;pointer-events:none;left:50%;top:51%;width:6px;height:6px;
 transform:translate(-50%,-50%);border:1px solid #12252fc9;border-radius:50%;background:#e4f3d8b8;z-index:4;
 box-shadow:0 0 0 1px #f2f5e76a,0 0 8px #0009}
body.kd-first-person #fpCrosshair{display:block!important}
body:not(.kd-first-person) #fpCrosshair{display:none!important}
body.kd-hud-editing .kd-camera-button{display:none!important}
@media(pointer:coarse){.kd-camera-button{top:76px;right:max(55px,calc(env(safe-area-inset-right) + 56px));min-height:38px;min-width:100px;font-size:9px;padding:8px 10px;}}
@media(pointer:coarse) and (max-height:470px) and (orientation:landscape){.kd-camera-button{top:76px;right:max(51px,calc(env(safe-area-inset-right) + 51px));min-height:30px;min-width:93px;font-size:8px;padding:6px 8px;}}
@media(pointer:fine){.kd-camera-button{min-width:105px}}
