.touch-controls,.touch-only{display:none}
.rotate-overlay{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px;text-align:center;background:radial-gradient(ellipse at 50% 30%,#334a2666,transparent 65%),#0f180e;color:#e6f2d7}
.rotate-overlay h2{font-family:var(--display);font-size:42px;margin:0;line-height:1;color:var(--lime)}
.rotate-overlay p{font-size:13px;line-height:1.7;margin:0}
.rotate-overlay .eyebrow{font-size:9px;letter-spacing:2px;margin-top:13px}
.rotate-overlay small{font-size:9px;color:#9bb486;line-height:1.6;margin-bottom:14px}
.rotate-overlay .text-button{margin-top:12px}
.rotate-phone{width:47px;height:80px;border:3px solid #c8f36b;border-radius:9px;transform:rotate(-90deg);display:grid;place-items:center;position:relative;margin:10px 0 15px}
.rotate-phone:after{content:'';position:absolute;bottom:5px;width:10px;height:3px;border-radius:3px;background:#c8f36b}
.rotate-phone span{font-size:32px;transform:rotate(90deg);color:#e2f2c3}

body[data-touch-mode="true"][data-scene="match"]{--game-safe-top:env(safe-area-inset-top,0px);--game-safe-right:env(safe-area-inset-right,0px);--game-safe-bottom:env(safe-area-inset-bottom,0px);--game-safe-left:env(safe-area-inset-left,0px);position:fixed;inset:0;overflow:hidden;overscroll-behavior:none;height:var(--game-height,100dvh)}
body[data-touch-mode="true"][data-scene="match"] .app-shell{padding:0;max-width:none;width:100%;height:100%;min-height:0}
body[data-touch-mode="true"][data-scene="match"] .site-header{display:none}
body[data-touch-mode="true"][data-scene="match"] #match-screen{position:fixed;inset:auto;top:var(--game-top,0px);left:var(--game-left,0px);display:flex;flex-direction:column;width:var(--game-width,100vw);height:var(--game-height,100dvh);min-height:0;overflow:hidden;background:#08120b}
body[data-touch-mode="true"][data-scene="match"] .match-topbar{position:absolute;z-index:5;top:calc(var(--game-safe-top) + 5px);left:calc(var(--game-safe-left) + 12px);right:calc(var(--game-safe-right) + 12px);padding:0;margin:0;min-height:26px;gap:10px;pointer-events:none}
body[data-touch-mode="true"][data-scene="match"] .match-topbar>span{display:flex;align-items:center;gap:9px}
body[data-touch-mode="true"][data-scene="match"] .match-topbar b{font-size:15px;letter-spacing:.6px}
body[data-touch-mode="true"][data-scene="match"] .match-topbar small{font-size:6px;letter-spacing:.4px;margin:0}
body[data-touch-mode="true"][data-scene="match"] .match-topbar>div{gap:5px;flex-wrap:nowrap;pointer-events:auto}
body[data-touch-mode="true"][data-scene="match"] .match-topbar .small-button{height:25px;min-width:40px;padding:0 8px;font-size:7px;justify-content:center;background:#132112d9;border-color:#8aa86c55}
body[data-touch-mode="true"][data-scene="match"] .touch-only{display:flex}
body[data-touch-mode="true"][data-scene="match"] #touch-fullscreen-button{font-family:Arial,sans-serif;font-size:16px;min-width:29px;padding:0 6px}
body[data-touch-mode="true"][data-scene="match"] #touch-sound-button{font-size:14px;min-width:29px;padding:0 6px}
body[data-touch-mode="true"][data-scene="match"] .arena-shell{flex:1 1 0;min-height:0;min-width:0;width:100%;height:100%;border:0;border-radius:0;box-shadow:none}
body[data-touch-mode="true"][data-scene="match"] .arena-topline,
body[data-touch-mode="true"][data-scene="match"] .controls-bar,
body[data-touch-mode="true"][data-scene="match"] .controls-hint,
body[data-touch-mode="true"][data-scene="match"] .stage-footer{display:none}
body[data-touch-mode="true"][data-scene="match"] .arena-viewport{width:100%;height:100%;aspect-ratio:auto;background:#08120b}
body[data-touch-mode="true"][data-scene="match"] #game{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(var(--game-width,100vw),calc(var(--game-height,100dvh) * 1.77777778));height:min(calc(var(--game-width,100vw) * .5625),var(--game-height,100dvh));object-fit:contain}
body[data-touch-mode="true"][data-scene="match"] .arena-hud{top:calc(var(--game-safe-top) + 39px);left:calc(var(--game-safe-left) + 3%);right:calc(var(--game-safe-right) + 3%);gap:4%;pointer-events:none}
body[data-touch-mode="true"][data-scene="match"] .fighter-hud{width:41%}
body[data-touch-mode="true"][data-scene="match"] .fighter-name{font-size:17px;letter-spacing:.3px;line-height:1.05}
body[data-touch-mode="true"][data-scene="match"] .fighter-name>span{font-size:7px}
body[data-touch-mode="true"][data-scene="match"] .health-track{height:12px;padding:2px;margin-top:4px}
body[data-touch-mode="true"][data-scene="match"] .fighter-subline{margin-top:5px;font-size:5px;letter-spacing:.7px}
body[data-touch-mode="true"][data-scene="match"] .win-pip{width:7px;height:7px}
body[data-touch-mode="true"][data-scene="match"] .power-label{font-size:5px;margin-top:7px;letter-spacing:.6px}
body[data-touch-mode="true"][data-scene="match"] .power-label b{font-size:6px}
body[data-touch-mode="true"][data-scene="match"] .power-meter{height:6px;padding:1px;margin-top:3px}
body[data-touch-mode="true"][data-scene="match"] .timer{min-width:36px}
body[data-touch-mode="true"][data-scene="match"] .timer>strong{font-size:34px}
body[data-touch-mode="true"][data-scene="match"] .timer>span{font-size:5px;letter-spacing:.5px;margin-top:4px}
body[data-touch-mode="true"][data-scene="match"] .round-announcement{top:28%}
body[data-touch-mode="true"][data-scene="match"] .round-announcement>span{font-size:22px;letter-spacing:3px}
body[data-touch-mode="true"][data-scene="match"] .round-announcement>strong{font-size:70px}
body[data-touch-mode="true"][data-scene="match"] .ko-announcement{top:28%;font-size:74px}
body[data-touch-mode="true"][data-scene="match"] .super-cinematic{top:31%;padding:12px}
body[data-touch-mode="true"][data-scene="match"] .super-cinematic>strong{font-size:47px}
body[data-touch-mode="true"][data-scene="match"] .game-overlay{z-index:6;padding:20px 100px}
body[data-touch-mode="true"][data-scene="match"] .game-overlay>strong{font-size:43px}
body[data-touch-mode="true"][data-scene="match"] .game-overlay>p{font-size:10px;margin:9px 0 15px}
body[data-touch-mode="true"][data-scene="match"] .touch-controls{display:block;position:absolute;inset:0;z-index:3;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}

.joystick-zone{position:absolute;left:calc(var(--game-safe-left,0px) + 22px);bottom:calc(var(--game-safe-bottom,0px) + 23px);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:auto}
.joystick-pad{--pad-size:clamp(88px,calc(var(--game-height,100dvh) * .32),132px);width:var(--pad-size);height:var(--pad-size);position:relative;border:2px solid #c9e1ab55;border-radius:50%;padding:0;background:radial-gradient(circle,#aec38b12 0 36%,#0e1b17ad 37% 61%,#93af7026 62% 65%,#11231bad 66%);box-shadow:inset 0 0 25px #06120ccc,0 4px 16px #0006;touch-action:none;opacity:.95}
.joystick-pad:disabled{opacity:.3;cursor:default}
.joystick-pad.held{border-color:#c8f36bc0;box-shadow:0 0 25px #c8f36b20,inset 0 0 25px #06120ccc}
.joystick-knob{position:absolute;left:50%;top:50%;width:45%;height:45%;border-radius:50%;border:2px solid #d9e8be80;background:radial-gradient(circle at 35% 25%,#75905e,#2c4430 68%);box-shadow:0 5px 11px #0009,inset 0 2px 5px #d1eab533;transform:translate(calc(-50% + var(--stick-x,0px)),calc(-50% + var(--stick-y,0px)));pointer-events:none}
.stick-arrow{position:absolute;font-family:Arial,sans-serif;font-size:16px;color:#d5e4bd9c;pointer-events:none}
.stick-arrow.up{top:5%;left:44%}.stick-arrow.down{bottom:5%;left:44%}.stick-arrow.left{left:6%;top:40%}.stick-arrow.right{right:6%;top:40%}
.joystick-caption{font-size:6px;font-weight:700;letter-spacing:1px;color:#c6dab39c;text-shadow:0 1px 3px #000}
.touch-actions{position:absolute;right:calc(var(--game-safe-right,0px) + 17px);bottom:calc(var(--game-safe-bottom,0px) + 16px);width:215px;height:183px;transform:scale(var(--game-control-scale,1));transform-origin:right bottom;pointer-events:none}
.touch-action{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;width:62px;height:62px;border-radius:50%;border:2px solid #c4ddb384;background:#233b2fe0;box-shadow:inset 0 2px 8px #dcf7c31a,0 3px 12px #0008;touch-action:none;pointer-events:auto;color:#e7f3db;text-shadow:0 2px 3px #0005;user-select:none;-webkit-user-select:none}
.touch-action strong{font-family:var(--display);font-size:26px;font-weight:800;line-height:1}
.touch-action>span{font-size:7px;letter-spacing:.6px;font-weight:700}
.touch-action:disabled{opacity:.28;cursor:default}
.touch-action.held{transform:scale(.93);filter:brightness(1.35)}
.touch-punch{right:82px;bottom:51px;border-color:#aee4ffb0;background:#204859dc;color:#dcf4ff}
.touch-kick{right:7px;bottom:51px;border-color:#ffd6a0b0;background:#614725dc;color:#fff0d5}
.touch-jump{right:46px;bottom:124px;width:48px;height:48px;border-color:#d8eabf88;background:#2c4935dc}
.touch-jump strong{font-family:Arial,sans-serif;font-size:22px}
.touch-block{right:157px;bottom:2px;width:48px;height:48px;border-color:#c3c4ffa0;background:#3c3c64dc}
.touch-block strong{font-family:Arial,sans-serif;font-size:24px}
.touch-super{right:5px;bottom:0;width:135px;height:42px;border-radius:24px;flex-direction:row;gap:8px;background:#3d4c2fdd;border-color:#c8f36b77;color:#e0f1bf}
.touch-super strong{font-size:20px;letter-spacing:.6px}.touch-super>span{font-size:8px}
.touch-super.ready{background:#c8f36b;border-color:#edffd6;color:#203511;text-shadow:none;box-shadow:0 0 25px #c8f36b66}

@media(max-height:350px) and (orientation:landscape){
  body[data-touch-mode="true"][data-scene="match"] .arena-hud{top:calc(var(--game-safe-top) + 34px)}
  body[data-touch-mode="true"][data-scene="match"] .fighter-name{font-size:14px}
  body[data-touch-mode="true"][data-scene="match"] .power-label{margin-top:4px}
  .joystick-zone{left:calc(var(--game-safe-left,0px) + 14px);bottom:calc(var(--game-safe-bottom,0px) + 13px)}
  .touch-actions{right:calc(var(--game-safe-right,0px) + 10px);bottom:calc(var(--game-safe-bottom,0px) + 9px)}
}

body[data-touch-mode="true"][data-scene="match"][data-compact-controls="true"] .touch-actions{height:124px}
body[data-touch-mode="true"][data-scene="match"][data-compact-controls="true"] .touch-jump{right:157px;bottom:62px}
body[data-touch-mode="true"][data-scene="match"][data-compact-controls="true"] .arena-hud{top:calc(var(--game-safe-top) + 33px)}
body[data-touch-mode="true"][data-scene="match"][data-compact-controls="true"] .fighter-name{font-size:14px}
body[data-touch-mode="true"][data-scene="match"][data-compact-controls="true"] .power-label{margin-top:4px}
