/* ===== Quadro tático · módulo isolado ===== */
.tacticalBoardOverlay{position:fixed;inset:0;z-index:9400;background:#081321;color:#fff;display:grid;grid-template-rows:auto 1fr;overflow:auto;-webkit-overflow-scrolling:touch}
.tacticalBoardOverlay.hidden{display:none!important}
.tacticalBoardTop{position:sticky;top:0;z-index:8;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 12px;background:linear-gradient(90deg,#091b33,#173b68);box-shadow:0 3px 14px #0007}
.tacticalBoardTitle{display:grid;gap:1px;margin-right:auto}.tacticalBoardTitle span{font-size:8px;font-weight:950;letter-spacing:1.1px;color:#b9cbe0}.tacticalBoardTitle strong{font-size:18px}.tacticalModeText{font-size:9px;font-weight:900;color:#dbe7f4}
.tacticalBoardActions,.tacticalDrawTools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tacticalDrawTools.hidden{display:none!important}.tacticalBoardActions button,.tacticalDrawTools button{min-height:36px;padding:7px 10px;font-size:10px}.tacticalDrawTools button.active{background:#f0b625;color:#142235;box-shadow:0 0 0 2px #fff8 inset}.tacticalModeButton.active{background:#c52531!important;color:#fff!important}
.tacticalBoardBody{min-height:0;display:grid;place-items:center;padding:12px;box-sizing:border-box}.tacticalBoardFrame{display:grid;gap:7px;justify-items:center;width:100%}.tacticalBoardStage{position:relative;width:min(calc(100vw - 24px),calc((100vh - 112px)*105/68),1320px);aspect-ratio:105/68;overflow:hidden;border:2px solid #dce6d4;border-radius:12px;background:#679b3d;box-shadow:0 10px 34px #0008;isolation:isolate;touch-action:none;user-select:none;-webkit-user-select:none}
.tacticalFieldSvg,.tacticalPiecesLayer,.tacticalDrawingLayer{position:absolute;inset:0;width:100%;height:100%}.tacticalFieldSvg{z-index:0;display:block}.tacticalPiecesLayer{z-index:2;pointer-events:none}.tacticalDrawingLayer{z-index:4;pointer-events:none;touch-action:none;overflow:visible}.tacticalBoardOverlay.drawingMode .tacticalDrawingLayer{pointer-events:auto}.tacticalBoardOverlay.drawingMode .tacticalPiece{pointer-events:none!important}
.tacticalPiece{position:absolute!important;transform:translate(-50%,-50%);width:clamp(31px,3.5vw,48px)!important;height:clamp(31px,3.5vw,48px)!important;min-height:0!important;padding:0!important;margin:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:clamp(12px,1.45vw,20px)!important;line-height:1!important;font-weight:950!important;box-sizing:border-box!important;touch-action:none!important;pointer-events:auto!important;cursor:grab!important;box-shadow:0 3px 8px #0008!important;text-shadow:0 1px 2px #0008;z-index:2}.tacticalPiece:active{cursor:grabbing!important;transform:translate(-50%,-50%) scale(1.08)}
.tacticalPiece.us{color:#fff!important;border:3px solid #fff!important;background:linear-gradient(90deg,#10274a 0 34%,#c52531 34% 66%,#10274a 66% 100%)!important}.tacticalPiece.opp{color:#172538!important;border:3px solid #fff!important;background:#f2d21c!important;text-shadow:none}.tacticalPiece.ball{width:clamp(19px,2.1vw,29px)!important;height:clamp(19px,2.1vw,29px)!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:clamp(18px,2.1vw,28px)!important;text-shadow:0 2px 4px #0008!important}
.tacticalStrokeOutline,.tacticalStrokeMain{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tacticalStrokeOutline{stroke:#fff;stroke-width:7;opacity:.94}.tacticalStrokeMain{stroke:#10274a;stroke-width:3.8}.tacticalBoardHint{font-size:9px;font-weight:850;color:#c6d5e5;text-align:center}.tacticalBoardHint b{color:#fff}
@media(max-width:760px){.tacticalBoardTop{padding:7px 8px;gap:6px}.tacticalBoardTitle strong{font-size:15px}.tacticalBoardActions button,.tacticalDrawTools button{min-height:32px;padding:5px 7px;font-size:9px}.tacticalBoardBody{padding:8px}.tacticalBoardStage{width:min(calc(100vw - 16px),calc((100vh - 150px)*105/68))}}

#tacticalRoot{min-height:65vh}#tacticalRoot .tacticalBoardOverlay{position:relative;min-height:65vh;inset:auto;overflow:visible;border-radius:14px}#tacticalRoot .tacticalBoardTop{position:relative}#tacticalRoot .tacticalBoardStage{width:min(calc(100vw - 60px),calc((100vh - 260px)*105/68),1040px)}#tacticalRoot .tacticalBoardActions button,#tacticalRoot .tacticalDrawTools button{background:#213c60;color:#fff;border:1px solid #8799b4;border-radius:7px}#tacticalRoot .tacticalDrawTools button.active{color:#142235!important}

/* V6: immersive tactical whiteboard. Rotate the canvas visually when the iPad remains portrait.
   iPadOS does not reliably permit web apps to force hardware screen rotation. */
body.tdt-expanded-body{overflow:hidden!important;overscroll-behavior:none!important}
#tacticalRoot .tacticalBoardOverlay.tdt-expanded{position:fixed!important;inset:0!important;z-index:99990!important;width:100dvw!important;height:100dvh!important;min-height:0!important;overflow:hidden!important;border-radius:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;transform:none;touch-action:none}
#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalBoardTop{position:relative!important;padding:5px 10px!important;gap:6px!important}
#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalBoardTitle span,#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalModeText{display:none!important}
#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalBoardTitle strong{font-size:13px!important}
#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalBoardActions button,#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalDrawTools button{min-height:30px!important;padding:5px 8px!important}
#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalBoardBody{min-height:0;overflow:hidden;padding:4px!important}
#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalBoardFrame{height:100%;min-height:0;align-content:center;gap:3px}
#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalBoardStage{width:min(calc(100dvw - 14px),calc((100dvh - 108px)*105/68),1800px)!important;border-radius:6px}
#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalPiece{width:clamp(33px,4vw,52px)!important;height:clamp(33px,4vw,52px)!important;font-size:clamp(13px,1.8vw,22px)!important}
#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalPiece.ball{width:clamp(18px,2.5vw,30px)!important;height:clamp(18px,2.5vw,30px)!important}
#tacticalRoot .tacticalBoardOverlay.tdt-expanded.tdt-rotated{top:0!important;left:100dvw!important;right:auto!important;bottom:auto!important;width:100dvh!important;height:100dvw!important;transform-origin:top left!important;transform:rotate(90deg)!important}
#tacticalRoot .tacticalBoardOverlay.tdt-expanded.tdt-rotated .tacticalBoardStage{width:min(calc(100dvh - 14px),calc((100dvw - 105px)*105/68),1800px)!important}
@media(max-width:760px){#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalBoardTop{gap:4px!important}#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalBoardTitle{display:none}#tacticalRoot .tacticalBoardOverlay.tdt-expanded .tacticalBoardHint{display:none}}
