.fight-layer{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;image-rendering:auto}.fight-layer:focus{outline:none}.fight-hud{position:fixed;z-index:12;top:84px;left:50%;transform:translateX(-50%);width:min(880px,calc(100% - 44px));display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:center;padding:15px 20px;background:#171124e8;border:1px solid #f8cb8455;box-shadow:0 5px 0 #08071155;font-family:ui-monospace,monospace}.fighter-meter>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:11px}.fighter-meter strong{color:#b8eff3;letter-spacing:2px;font-size:14px}.fighter-meter small{font-size:8px;color:#c1a8a0;letter-spacing:0}.fighter-meter span{font-size:9px;color:#d8c8b7}.fighter-meter progress{appearance:none;display:block;width:100%;height:10px;border:1px solid #ddd3bf66;background:#362231;color:#91e6df}.fighter-meter progress::-webkit-progress-bar{background:#362231}.fighter-meter progress::-webkit-progress-value{background:#91e6df;transition:width .12s}.fighter-meter progress::-moz-progress-bar{background:#91e6df}.ken-meter strong{color:#ffc193}.ken-meter progress::-webkit-progress-value{background:#ed9766}.ken-meter progress::-moz-progress-bar{background:#ed9766}.fight-center{text-align:center;max-width:170px}.fight-center b{font:italic 22px Georgia,serif;color:#ffdb92}.fight-center span{display:block;color:#d5b58e;font-size:8px;line-height:1.5;margin-top:2px}.fight-controls{position:fixed;z-index:13;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 16px;background:#171124ed;border:1px solid #d9ad7755;max-width:calc(100% - 30px);font:10px/1.6 ui-monospace,monospace;color:#ecd6b3;min-width:310px}.fight-keyboard{text-align:center}.fight-options{display:flex;gap:16px;justify-content:center;margin-top:7px}.fight-options button{color:#ffd491;padding:5px 10px;border:1px solid #9e775166;font:inherit}.fight-options span{color:#a69485;font-size:8px;margin-left:4px}.fight-touch{display:none;gap:6px;justify-content:center;flex-wrap:wrap}.fight-touch button{min-width:44px;min-height:44px;touch-action:none;user-select:none;border:1px solid #a27f60;background:#2b2235;color:#ffe5b3;font:10px ui-monospace,monospace;padding:6px 9px}.fight-touch button:active{background:#614130}.is-playing .map-caption{display:none}.is-playing .ako-launcher{bottom:112px}.is-playing .ako-panel{bottom:180px}.fight-hud[hidden],.fight-controls[hidden]{display:none}@media(pointer:coarse),(max-width:700px){.fight-touch{display:flex}.fight-keyboard{display:none}.fight-controls{width:min(510px,calc(100% - 24px));bottom:12px}.fight-hud{top:80px;gap:10px;padding:10px;width:calc(100% - 24px)}.fight-center{max-width:80px}.fighter-meter strong{font-size:11px}.fighter-meter>div{gap:4px}.fighter-meter small{display:none}.is-playing .ako-launcher{bottom:195px}.is-playing .ako-panel{bottom:250px;max-height:calc(100svh - 280px)}}@media(max-height:500px){.fight-hud{top:52px;padding:6px 12px}.fight-controls{bottom:6px;padding:6px 10px}.fight-touch button{min-height:34px}.is-playing .ako-launcher{bottom:100px}.fight-center span{display:none}}@media(prefers-reduced-motion:reduce){.fighter-meter progress::-webkit-progress-value{transition:none}}

/* Keep the temporary tuning panel clear of the health bars while playing. */
.is-playing .character-sizes{top:172px}
@media(max-height:500px){.is-playing .character-sizes{top:118px}}

.fighter-meter #player-name{font:inherit;color:inherit;letter-spacing:inherit}.fight-options{flex-wrap:wrap;align-items:center}.fighter-select{display:flex;align-items:center;gap:6px}.fighter-select select{background:#2b2235;color:#ffe5b3;border:1px solid #9e775166;padding:5px;font:inherit}.fighter-select select:focus-visible{outline:2px solid #b7ff7d}
/* Keep chat above the actual control height as the mobile move labels wrap. */
.map-page.is-playing .ako-launcher{bottom:calc(var(--fight-controls-height,140px) + 28px)}
.map-page.is-playing .ako-panel{bottom:calc(var(--fight-controls-height,140px) + 90px);max-height:calc(100svh - var(--fight-controls-height,140px) - 190px)}
@media(pointer:coarse),(max-width:700px){.fight-touch{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.fight-touch button{min-width:0;padding:6px 4px;line-height:1.3}}

/* A small pull tab keeps the boat visible until controls are requested. */
.fight-controls{padding:0;min-width:0;width:min(1050px,calc(100% - 30px));background:transparent;border:0;pointer-events:none}
.fight-drawer-toggle{display:block;margin:0 auto;padding:9px 16px;min-height:40px;background:#171124ed;border:1px solid #d9ad7755;color:#ffe5b3;font:inherit;cursor:pointer;pointer-events:auto}
.fight-drawer-toggle span{margin-left:10px}
.fight-drawer-toggle:hover{background:#30223d}
.fight-drawer-toggle:focus-visible{outline:2px solid #b7ff7d;outline-offset:2px}
.fight-drawer-content{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .25s ease,visibility .25s;pointer-events:auto}
.fight-drawer-inner{overflow:hidden;min-height:0;background:#171124ed}
.fight-drawer-inner>.fight-keyboard,.fight-drawer-inner>.fight-touch{margin:12px 16px 0}
.fight-drawer-inner>.fight-options{margin:7px 16px 12px}
.fight-controls.is-expanded .fight-drawer-content{grid-template-rows:1fr;visibility:visible}
.fight-controls.is-expanded .fight-drawer-inner{box-shadow:inset 0 0 0 1px #d9ad7755}
@media(max-width:700px){.fight-controls{width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){.fight-drawer-content{transition:none}}

/* Small character-following meters leave the sky and spaceship unobstructed. */
.fight-hud{position:absolute;inset:0;transform:none;width:100%;height:100%;display:block;padding:0;border:0;background:none;box-shadow:none;pointer-events:none;z-index:6}
.fighter-meter{position:absolute;width:116px;transform:translate(-50%,-100%);padding:5px 7px;background:#151222de;border:1px solid #71d8ff66;border-radius:5px;box-shadow:0 2px 6px #0005}
.fighter-meter>div{gap:5px;margin-bottom:4px}
.fighter-meter strong,.fighter-meter #player-name,.fighter-meter #opponent-name{font:700 9px/1.2 ui-monospace,monospace;letter-spacing:.3px;color:#8be2ff}
.fighter-meter small{display:inline;font-size:7px;color:#e2e5ed}
.fighter-meter span{font-size:8px;white-space:nowrap}
.fighter-meter progress{height:5px;border:0;border-radius:2px;overflow:hidden}
.fighter-meter progress::-webkit-progress-value{background:#56caff}
.fighter-meter progress::-moz-progress-bar{background:#56caff}
.ken-meter{border-color:#ff7a8266}
.ken-meter strong,.ken-meter #opponent-name{color:#ff959c}
.ken-meter progress::-webkit-progress-value{background:#ff6977}
.ken-meter progress::-moz-progress-bar{background:#ff6977}
.fight-drawer-inner>.fight-center{max-width:none;padding:10px 12px 0}
.fight-drawer-inner>.fight-center b{display:none}
.fight-drawer-inner>.fight-center span{display:block;margin:0;font:inherit}
.is-playing .character-sizes{top:84px}
@media(max-height:500px){.is-playing .character-sizes{top:52px}}
