:root{color-scheme:dark;--ink:#101014;--white:#f5f5f5;--blue:#152f96;--red:#b71c2c;--yellow:#f5e83d}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--white);font-family:"Courier New",monospace}button,a{-webkit-tap-highlight-color:transparent}button{font:700 13px "Courier New",monospace;color:var(--white);background:#202027;border:2px solid #74747d;padding:10px 14px;cursor:pointer;border-radius:0}button:hover{border-color:var(--white)}button:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}button:disabled{opacity:.4;cursor:default}button[aria-pressed=true],button.active{border-color:var(--yellow);color:var(--yellow)}[hidden]{display:none!important}#cabinet{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1120px;width:100%;margin:0 auto;padding:8px 12px;font-weight:bold;font-size:14px}.toolbar small{font-size:10px;color:#a9a9b6;margin-left:8px}.toolbar nav{display:flex;gap:6px}.toolbar button{font-size:11px;padding:7px}#arena-layout{display:flex;align-items:center;justify-content:center;width:100%;gap:10px;padding:0 8px}#viewport{position:relative;width:min(100%,800px);height:min(calc(100dvh - 114px),600px);min-width:0;flex-shrink:1;overflow:hidden;background:#000}#playfield{position:absolute;overflow:hidden;background:#152f96}canvas{display:block;width:100%;height:100%;image-rendering:auto}#screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#080812a3;overflow:auto;padding:12px}.panel{text-align:center;width:92%;max-width:580px;max-height:100%;text-shadow:2px 2px #000}.panel h1{font-size:22px}.panel h2{color:var(--yellow);font-size:clamp(17px,3vw,27px);margin:14px 0}.panel p{font-size:clamp(11px,1.6vw,15px);line-height:1.5}.panel .logo{width:84%;max-height:160px;object-fit:contain;display:block;margin:0 auto}.slogan{font-weight:bold;margin:3px 0 14px}.pickers{display:flex;justify-content:center;gap:16px;margin:12px 0}.fighter-choice{display:flex;align-items:center;gap:10px;min-width:160px;background:#13132bf0;border:3px solid #74747d}.fighter-choice img{width:42px;height:50px;object-fit:cover;image-rendering:pixelated}.fighter-choice.selected{border-color:var(--yellow);background:#152f96}.fighter-choice[data-id="2"].selected{background:#8b1c2c}.menu-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.primary{background:var(--blue);border:3px solid var(--white);font-size:16px}.secondary{background:#272733}.caption{color:#bebec8;font-size:11px!important}.pad{display:none;user-select:none;-webkit-user-select:none;touch-action:none;flex-shrink:0}.pad button{touch-action:none;user-select:none;-webkit-user-select:none;min-height:48px;padding:5px;font-size:12px}.pad button.active{background:#69601d}.pad button small{display:block;font-size:8px;margin-top:5px}.directions{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,54px);gap:5px}.up{grid-column:2;grid-row:1}.left{grid-column:1;grid-row:2}.down{grid-column:2;grid-row:2}.right{grid-column:3;grid-row:2}.guard{width:100%;margin-top:10px;background:#152f96}.attacks{display:grid;grid-template-columns:1fr 1fr;gap:6px}.attacks .strong{background:#711b29}.attacks .special{background:#3d294d}.show-touch .pad{display:block;width:152px}.show-touch #viewport{width:min(calc(100vw - 340px),800px)}footer{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center;padding:12px;font-size:10px;color:#b9b9c4;max-width:1100px;margin:0 auto;text-align:center}footer a{color:#b9b9c4}#audio-status{color:var(--yellow)}progress{accent-color:var(--yellow);width:75%;height:12px}.moves{text-align:left;max-width:440px;margin:12px auto;padding-left:24px;font-size:13px;line-height:1.65}.no-script{text-align:center;background:#b71c2c;padding:16px;position:absolute;top:25%;width:100%}@media(pointer:coarse){.toolbar small{display:none}.show-touch #viewport{width:min(calc(100vw - 306px),800px);height:min(calc(100dvh - 85px),600px)}.show-touch .pad{width:135px}.pad button{font-size:10px}.directions{grid-template-rows:repeat(2,48px)}footer{padding:8px}.toolbar{padding:5px 8px}}@media(max-width:660px) and (orientation:portrait){.toolbar{flex-wrap:wrap;justify-content:center;gap:6px}.toolbar nav{justify-content:center}#arena-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 8px}.show-touch #viewport,#viewport{grid-column:1/-1;grid-row:1;width:100%;height:auto;aspect-ratio:4/3}.show-touch .pad{width:100%;max-width:240px;align-self:start}.pad-left{grid-column:1;grid-row:2}.pad-right{grid-column:2;grid-row:2}.directions{grid-template-rows:repeat(2,54px)}.panel{width:100%}.panel .logo{max-height:88px}.panel .pickers{gap:8px;margin:8px 0}.fighter-choice{min-width:0;padding:4px;font-size:11px;gap:6px}.fighter-choice img{width:30px;height:36px}.slogan{margin:0 0 6px;font-size:12px!important}.menu-actions{gap:6px}.menu-actions button{padding:7px;font-size:12px}.panel h2{margin:8px 0}.panel p{margin:6px 0}.caption{font-size:9px!important}footer{line-height:1.5}.moves{font-size:10px;line-height:1.4;margin:8px auto}.panel .logo+.slogan{margin-bottom:6px}}@media(max-height:450px) and (orientation:landscape){.toolbar{height:35px}.toolbar>span{font-size:11px}.toolbar button{font-size:9px;padding:5px}.show-touch #viewport{width:min(calc(100vw - 306px),800px);height:calc(100dvh - 65px)}#viewport{height:calc(100dvh - 65px)}footer{padding:4px;font-size:8px}.panel .logo{max-height:70px}.panel p{font-size:10px;margin:5px 0}.fighter-choice{min-width:100px;padding:4px;font-size:10px;gap:5px}.fighter-choice img{width:26px;height:32px}.pickers{gap:8px;margin:6px 0}.menu-actions button{font-size:11px;padding:6px}.caption{display:none}.panel h2{font-size:16px;margin:6px}.moves{font-size:9px;line-height:1.3;margin:5px auto}.pad button{min-height:42px}.directions{grid-template-rows:repeat(2,42px)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Tela cheia preserva o quadro lógico; a API não muda o modo do monitor. */
@media(orientation:landscape){#cabinet.native-fullscreen #viewport{width:100%;height:calc(100dvh - 114px)}}

/* Seletor externo usado somente na prévia técnica do elenco. */
#roster-preview-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:6px 12px;font-size:12px}#roster-preview-controls select{font:inherit;color:inherit;background:#202027;padding:5px;border:1px solid #74747d}#roster-preview-controls button{font-size:11px;padding:6px}

/* Interface web: a imagem é a página; opções e controle ficam sobre ela. */
body.web-game{overflow:hidden;overscroll-behavior:none;--pad-key:clamp(44px,7.8vmin,58px);--pad-size:calc(var(--pad-key)*3);--pad-edge:max(10px,env(safe-area-inset-bottom));font-family:Arial,sans-serif}
.web-game #cabinet{position:relative;min-height:0;width:100vw;height:100dvh;padding:0;display:block;isolation:isolate}
.web-game #arena-layout{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0}
.web-game #viewport,.web-game.show-touch #viewport{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;background:transparent}
.web-game #ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:#243840}
.web-game #ambient::before{content:'';position:absolute;inset:-30px;background-image:inherit;background-size:cover;background-position:center;filter:blur(18px) brightness(.65);transform:scale(1.08)}
.web-game #playfield{background:#000;z-index:1}
.web-game #web-options{position:absolute;z-index:40;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));max-width:calc(100% - 16px)}
.web-game #web-options>summary{cursor:pointer;list-style:none;display:grid;place-items:center;width:44px;height:44px;margin-left:auto;border:1px solid #ffffff5c;border-radius:50%;background:#17212d55;color:#fff;font-size:23px;text-shadow:0 1px 3px #000;user-select:none}
.web-game #web-options>summary::-webkit-details-marker{display:none}
.web-game #options-panel{max-height:calc(100dvh - 72px);overflow:auto;margin-top:6px;padding:16px;background:#151c28f5;border:1px solid #ffffff3d;border-radius:14px;box-shadow:0 8px 28px #0006;width:min(370px,calc(100vw - 20px))}
.web-game .toolbar{display:block;padding:0;font-size:14px}.web-game .toolbar small{display:none}.web-game .toolbar nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.web-game .toolbar button{min-height:44px;font:600 12px Arial,sans-serif;border-radius:8px}
.web-game footer{padding:14px 0 0;margin:0;font:12px/1.6 Arial,sans-serif;display:flex;gap:12px;text-align:left;justify-content:flex-start}.web-game footer #hint{width:100%}.web-game footer a{color:#cbd9e9}
.web-game .pad{position:absolute;z-index:20;bottom:var(--pad-edge);width:var(--pad-size);height:var(--pad-size);max-width:none;touch-action:none;pointer-events:none}
.web-game.show-touch .pad{display:block;width:var(--pad-size)}
.web-game .pad-left{left:max(8px,env(safe-area-inset-left))}.web-game .pad-right{right:max(8px,env(safe-area-inset-right))}
.web-game .directions,.web-game .attacks{display:grid;grid-template-columns:repeat(3,var(--pad-key));grid-template-rows:repeat(3,var(--pad-key));gap:0}
.web-game .pad button{pointer-events:auto;width:var(--pad-key);height:var(--pad-key);min-height:44px;padding:0;border:1.5px solid #ffffff75;color:#fff;background:#16223022;box-shadow:0 2px 8px #0003;text-shadow:0 1px 3px #0009;opacity:.72;font:500 28px Arial,sans-serif;transition:background .08s,opacity .08s;touch-action:none}
.web-game .directions button{border-radius:10px;font-size:19px}.web-game .up{grid-column:2;grid-row:1}.web-game .left{grid-column:1;grid-row:2}.web-game .right{grid-column:3;grid-row:2}.web-game .down{grid-column:2;grid-row:3}
.web-game .attacks button{border-radius:50%}.web-game .attacks [data-native=confirm]{grid-area:2/1;color:#e9b7db}.web-game .attacks [data-native=strongPunch]{grid-area:1/2;color:#a5ebce}.web-game .attacks [data-native=strongKick]{grid-area:2/3;color:#f3aca9}.web-game .attacks [data-native=kick]{grid-area:3/2;color:#b5d7ff}
.web-game .pad button.active{opacity:1;background:#d9e8ff55;border-color:#fff;transform:scale(.97)}
.web-game #touch-center{display:none;position:absolute;z-index:20;bottom:var(--pad-edge);left:50%;transform:translateX(-50%);width:96px;gap:4px;grid-template-columns:1fr 1fr}
.web-game.show-touch #touch-center{display:grid}.web-game #touch-center button{height:44px;padding:0;border:1px solid #ffffff66;background:#16223030;border-radius:14px;color:#fff;font:600 10px Arial,sans-serif;text-shadow:0 1px 3px #000;touch-action:none}
.web-game #touch-center #touch-start,.web-game #touch-center #touch-player{grid-column:auto}.web-game #touch-center #touch-start{height:36px;min-height:44px;border-radius:20px;letter-spacing:1.5px}
.web-game[data-screen=loading] .pad,.web-game[data-screen=error] .pad,.web-game[data-screen=closed] .pad,.web-game[data-screen=loading] #touch-center,.web-game[data-screen=error] #touch-center,.web-game[data-screen=closed] #touch-center{display:none}
@media(max-width:380px){body.web-game{--pad-key:44px}.web-game #touch-center{width:44px;gap:2px;grid-template-columns:1fr}.web-game #touch-center button{font-size:8px}.web-game .pad-left{left:4px}.web-game .pad-right{right:4px}}
@media(max-height:330px){body.web-game{--pad-key:44px}.web-game #touch-center{grid-template-columns:repeat(4,44px);width:auto}.web-game #touch-center #touch-start,.web-game #touch-center #touch-player{grid-column:auto}}

/* The whole cross accepts sliding touches, including its diagonal corners. */
.web-game .directions,.web-game .attacks{pointer-events:auto;touch-action:none}

#game-credits{width:100%;font-size:12px;line-height:1.5}#game-credits h2{font-size:14px;margin:8px 0}#game-credits p{margin:4px 0}
