/* Full-bleed landscape fights; menus and results remain scrollable upright. */
.orientation-tip{font-size:12px;line-height:1.5;color:#f1d28c;margin:10px 0}
.orientation-pause{border-left:3px solid #edc566;padding-left:10px;color:#f1d28c!important;font-size:13px!important}
@media(orientation:landscape){.orientation-tip{display:none}}
body.playing{overflow:hidden}
.playing #app{box-sizing:border-box;position:fixed;inset:var(--game-top,0px) 0 auto;height:var(--game-height,100dvh);max-width:none;width:100%;margin:0;display:block;overflow:hidden;padding:0}
.playing .arena{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;max-width:none;margin:0;border:0;border-radius:0}
.playing .topbar{position:absolute;inset:0 0 auto;z-index:30;height:46px;min-height:0;margin:0;padding:4px max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left));border:0;background:transparent;backdrop-filter:none;pointer-events:none}
.playing .topbar button{pointer-events:auto}
.playing .brand{pointer-events:none;font-size:0!important;gap:6px;align-items:center;filter:drop-shadow(0 1px 4px #000)}
.playing .brand .muted{font-size:0}
.playing .brandmark{width:23px!important;height:23px!important}
.playing .brand small{display:block!important;font-size:10px!important;margin:0!important;letter-spacing:.5px;color:#f0d28e}
.playing .toolbar button{width:40px;height:40px;min-width:40px;min-height:40px;background:#0a101bb8;border:1px solid #ffffff35;border-radius:12px}
.playing .understage{height:0;min-height:0;margin:0;padding:0;border:0;position:static}
.playing #paused,.playing #result,.playing #training-result{position:absolute;inset:0;z-index:70;overflow-y:auto;overscroll-behavior:contain;align-items:flex-start;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#060910e8}
.playing .modal-overlay>.panel{margin:auto;flex-shrink:0;max-width:100%;height:auto}
.playing .modal-overlay button{min-height:44px}
.playing footer{display:none}
.playing .hud{top:max(12px,env(safe-area-inset-top));left:max(96px,env(safe-area-inset-left));right:max(64px,env(safe-area-inset-right));gap:16px}
.playing .fighter-name{margin-bottom:5px}
.playing .fighter-name strong{font-size:clamp(18px,3.5vh,30px)}
.playing .fighter-name span{display:none}
.playing .health-track{height:12px;padding:2px}
.playing .health-track .health-echo{top:2px;height:calc(100% - 4px)}
.playing .clock b{font-size:clamp(30px,6vh,48px);line-height:1}
.playing .clock span{font-size:8px}
.playing .energy-row{margin-top:4px;gap:8px}
.playing .energy-row span{font-size:9px;letter-spacing:.3px}
.playing .arena-label{bottom:10px;left:50%;transform:translateX(-50%);font-size:8px;white-space:nowrap;opacity:.7}
.playing #arena-subtitle{display:none}
.playing .combo-guide{bottom:18%;left:50%;max-width:calc(100% - 2*var(--control-rail) - 36px);font-size:10px;line-height:1.3;padding:5px 9px;white-space:normal;text-align:center;border-radius:8px;background:#080d1699}
.playing .callout{bottom:27%;font-size:12px;letter-spacing:1px;max-width:60%;left:20%;right:20%;text-align:center}
.playing .combo{top:24%;left:20%;font-size:30px}
.playing .combat-feedback{top:81px;left:50%;transform:translateX(-50%);max-width:60%;padding:5px 10px;background:#0c111dbd}
.playing .combat-feedback>span{display:none}
.playing .combat-feedback strong{font-size:9px}
.playing .rush-vfx.active{opacity:.12;animation:none}
.playing .rush-active{color:#b7f7ff!important;font-weight:800;letter-spacing:.6px}
.rotate-gate{position:absolute;inset:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px max(26px,env(safe-area-inset-right));text-align:center;overflow:auto;background:radial-gradient(ellipse at 50% 35%,#252029,#080b11 65%)}
.rotate-gate[hidden]{display:none}
.rotate-gate .rotate-mark{width:104px;height:104px;color:#f1c76c}
.rotate-gate .label{color:#f1c76c;letter-spacing:2px}
.rotate-gate h2{font-size:36px;margin:0;line-height:1.05}
.rotate-gate p{max-width:290px;margin:0;color:#c5c4ce;font-size:15px;line-height:1.6}
.rotate-gate button{min-height:46px;margin-top:12px;padding:12px 20px;border:1px solid #77707d;border-radius:10px;background:#23232c}
.rotate-gate small{color:#b49c69;font-size:11px}
@media(max-height:350px) and (orientation:landscape){.playing .hud{top:8px}.playing .combat-feedback{top:70px}.playing .energy-row span{font-size:8px}.playing .combo-guide{bottom:13%;font-size:9px}.playing .arena-label{bottom:5px}.playing .callout{bottom:22%;font-size:10px}}

/* Match the feet to the boxing ring's foreground mat. */
.playing[data-ring-floor="true"] .combo-guide{bottom:12px}
.playing[data-ring-floor="true"] .arena-label{display:none}
.playing[data-ring-floor="true"]:not(.footwork-practice) .training-coach{top:84px;bottom:auto}
/* Practice health refills indefinitely. Give the coach that space on short boxing screens. */
@media(max-height:400px) and (orientation:landscape){
 .playing.training[data-ring-floor="true"] .hud{display:none}
 .playing.training[data-ring-floor="true"] .training-coach{top:8px;bottom:auto}
}
