/* Playing is a single viewport. Instructions belong in the menu, not below it. */
#relayFailureDialog{text-align:center;border:2px solid #ff9969;padding:24px;box-shadow:0 15px 80px #0009;background:#2c202a;max-width:420px}
#relayFailureDialog .failure-fire{font-size:48px;line-height:1.2;margin-bottom:16px}
#relayFailureDialog h2{font:750 clamp(20px,6vw,28px)/1.25 system-ui;letter-spacing:-.02em;margin-bottom:14px}
#relayFailureDialog p{font-size:20px;line-height:1.4;color:#fff0d5;margin-bottom:24px}
#relayFailureDialog button{margin-bottom:0}
body[data-screen="game"]{overflow:hidden;overscroll-behavior:none}
body[data-screen="game"]>.mast,body[data-screen="game"]>footer{display:none}
body[data-screen="game"] main{padding:0;height:100dvh;max-width:none}
body[data-screen="game"] #game{height:100dvh;max-width:1100px;margin:auto;display:flex;flex-direction:column;gap:5px;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));overflow:hidden}
body[data-screen="game"] #notice{position:fixed;z-index:15;left:12px;right:12px;top:65px;max-height:25dvh;overflow:auto;box-shadow:0 4px 24px #0008}
#game .game-top{flex:none;gap:10px;min-height:40px}
#game .game-top h1{font:600 clamp(18px,5vw,25px)/1.1 system-ui;letter-spacing:-.03em;margin:0}
#game .game-top .menu{padding:4px 12px;min-height:38px;font-size:20px}
#game #modeLabel{display:none}
#game .progress-strip{padding:0 2px 2px;gap:10px;font-size:11px;line-height:1.2;flex:none}
#game #partyStatus{margin-left:auto;font-size:10px;max-width:48%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#game .game-layout{display:flex;flex:1;min-height:0;width:100%;gap:0}
#game .map-card{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;height:100%;border-radius:18px}
#game .map-title,#game .map-note,#game .map-key,#game #story,#game .game-bottom{display:none}
#game #map{flex:1 1 0;min-height:100px;height:auto!important;aspect-ratio:auto!important;width:100%;display:block;overflow:hidden;touch-action:pan-x pan-y}
#game .play-map-tools{flex:none;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:5px 7px;border-bottom:1px solid #ffffff12;background:#1b2427}
#game .map-controls{position:static;display:flex;gap:4px;padding:0;border:0;background:none;flex-wrap:nowrap;justify-content:start}
#game .map-controls button{min-height:32px;min-width:36px;margin:0;padding:4px 9px;font-size:0}
#game #fitLeg::after{content:attr(data-label);font-size:11px}
#game #fitAll::after{content:attr(data-label);font-size:11px}
#satelliteCredit{flex:none;padding:3px 7px;background:#17221e;text-align:right;font:9px/1.3 system-ui}
#satelliteCredit a{color:#e4e5d9}
#satelliteStatus:not(:empty){display:block;color:#f3d8a4;margin-bottom:2px}
#map[data-mode=approach] .map-label{paint-order:stroke;stroke:#17221e;stroke-width:4px;stroke-linejoin:round;fill:#fff}
#game #enableCompass::after{content:"⌖";font-size:21px;line-height:1}
#game #enableCompass[aria-pressed=true]{border-color:#bdd3ab;color:#d1e5c1;background:#354735}
#game #gpsPanel{border:0;padding:0;gap:5px;font-size:11px;white-space:nowrap;min-width:0}
#game #gpsPanel button{min-height:32px;padding:4px 8px;font-size:11px}
#game #gpsStatus{max-width:100px;overflow:hidden;text-overflow:ellipsis}
#playHud{flex:none;padding:10px;border-top:1px solid #ffffff16;background:#261f30}
.play-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:23px;margin-bottom:6px;font-size:13px}
.play-summary strong{font-weight:650;line-height:1.3}
#playDetail{font-size:11px;color:#c7b8d4;white-space:nowrap;flex-shrink:0}
#playActions{display:flex;gap:7px}
#playActions:empty{display:none}
#playActions button{flex:1;min-width:0;min-height:46px;font-size:15px;line-height:1.15;padding:9px 8px;display:flex;align-items:center;justify-content:center;gap:8px}
#playActions button:disabled{opacity:.48}
.play-colour{width:14px;height:14px;border-radius:50%;background:var(--colour);border:1px solid #fff7;box-shadow:0 0 9px color-mix(in srgb,var(--colour) 35%,transparent);flex-shrink:0}
#playTarget{display:flex;gap:7px;align-items:center;margin:3px 0 8px}
#playTarget::before{content:"Match";font-size:11px;color:#cbbdd6;margin-right:3px}
#playTarget span{height:25px;width:25px;border-radius:50%;background:var(--colour);color:#15141a;border:1px solid #e0d5e7;display:grid;place-items:center;font-size:11px;font-weight:700;text-shadow:0 0 4px #fff9}
#previewDock{flex:none;background:#191921;padding:6px 8px;border-top:1px solid #ffffff12}
#previewDock>div:not([hidden]){display:flex;align-items:center;gap:6px;border:0;margin:0;padding:0}
#previewDock>div:not([hidden])+div:not([hidden]){margin-top:5px}
#previewDock p,#previewDock label{display:none}
#previewDock select,#previewDock button{width:auto;min-width:0;flex:1;min-height:34px;height:34px;margin:0;padding:4px 6px;font:11px system-ui;border:1px solid #65516f;background:#27212e;color:#eee4f1;border-radius:8px}
#previewDock #relayPreviewPad{flex:1.2}
#previewDock .field-preview-buttons{display:flex;gap:6px;width:100%}
#previewDock #relaySetup select{max-width:72px}
@media(max-height:620px){#game .progress-strip{display:none}#playHud{padding:7px 9px}.play-summary{font-size:12px;margin-bottom:4px}#playActions button{min-height:42px;font-size:14px}#game .game-top{min-height:35px}#game .game-top h1{font-size:18px}#playTarget span{width:21px;height:21px}}
@media(orientation:landscape) and (max-height:500px){#game .game-top{min-height:30px}#game .game-top .menu{min-height:30px}#game .progress-strip{display:none}#playHud{position:absolute;bottom:8px;right:8px;max-width:42%;border:1px solid #6c5478;border-radius:12px;background:#261f30f2}#game .map-card{min-height:0}#game #map{min-height:70px}#previewDock{max-width:55%}}
