/* KTAK V4.0.0-alpha.4 */
:root{--v4h:48px;--v4dock:62px;--v4rail:58px}
body.ktakV4A5{overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%}
body.ktakV4A5 #app{height:100dvh;min-height:100dvh;grid-template-rows:auto 1fr}
body.ktakV4A5 header{min-height:var(--v4h);padding:calc(5px + env(safe-area-inset-top,0px)) 8px 5px;background:#091014f2;backdrop-filter:blur(12px)}
body.ktakV4A5 header .logo{width:32px;height:32px;border-radius:9px}body.ktakV4A5 header .brandText b{font-size:13px}body.ktakV4A5 header .brandText small{font-size:10px}body.ktakV4A5 header #leaveBtn{display:none!important}
body.ktakV4A5>#app>nav{display:none!important}
body.ktakV4A5 main{position:relative;min-height:0;overflow:hidden;padding-bottom:calc(var(--v4dock) + env(safe-area-inset-bottom,0px))}
body.ktakV4A5 #mapPage,body.ktakV4A5 #boardPage{overflow:hidden!important}
body.ktakV4A5 #mapPage.active,body.ktakV4A5 #boardPage.active{position:fixed!important;z-index:40;top:calc(var(--v4h) + env(safe-area-inset-top,0px));left:0;right:0;bottom:calc(var(--v4dock) + env(safe-area-inset-bottom,0px));height:auto!important;width:auto!important}
body.ktakV4A5 #mapPage .mapLayout,body.ktakV4A5 #boardPage .boardLayout{height:100%!important;grid-template-columns:1fr!important}
body.ktakV4A5 #mapPage .mapLayout>div,body.ktakV4A5 #mapPage .mapStack,body.ktakV4A5 #boardPage .boardStage{height:100%!important;min-width:0;min-height:0}
body.ktakV4A5 #map,body.ktakV4A5 #googleMapBase{position:absolute!important;inset:0;width:100%!important;height:100%!important}
body.ktakV4A5 .mapSidebar,body.ktakV4A5 .boardSidebar,body.ktakV4A5 .mapTopMobile,body.ktakV4A5 .v3511BoardToolsDock{display:none!important}
body.ktakV4A5 #mapPage *,body.ktakV4A5 #boardPage *,body.ktakV4A5 .v4Radial4,body.ktakV4A5 .v4Menu4{-webkit-tap-highlight-color:transparent}
body.ktakV4A5 #map,body.ktakV4A5 #map *,body.ktakV4A5 #boardCanvas,body.ktakV4A5 .boardStage{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}
body.ktakV4A5 input,body.ktakV4A5 textarea{user-select:text!important;-webkit-user-select:text!important}

.v4MapHud4[hidden]{display:none!important}.v4MapHud4{position:absolute;z-index:8200;left:8px;top:8px;width:min(350px,calc(100vw - 82px));display:grid;gap:4px;pointer-events:none}
.v4MapSearch4{display:grid;grid-template-columns:minmax(0,1fr) 38px 38px 38px;gap:4px;padding:4px;border:1px solid #456473;border-radius:12px;background:#09151be8;box-shadow:0 4px 14px #0008;backdrop-filter:blur(8px);pointer-events:auto}
.v4MapSearch4 input{height:36px;border:0;background:#102128;padding:0 9px;font-size:12px;border-radius:8px}.v4MapSearch4 button{width:38px;height:36px;min-height:36px;padding:0;border-radius:8px;font-size:17px}
.v4TeamStrip4{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:1px;pointer-events:auto}.v4TeamStrip4::-webkit-scrollbar{display:none}.v4TeamChip4{flex:0 0 auto;height:36px;min-width:38px;max-width:108px;padding:2px 6px!important;border-radius:999px!important;display:flex!important;align-items:center;gap:4px;background:#0b1b22e8!important;border:1px solid #395663!important;font-size:10px!important;white-space:nowrap}.v4TeamChip4 .locationJumpAvatar{width:26px!important;height:26px!important;min-height:26px!important;padding:0!important;pointer-events:none}

.v4Dock4{position:fixed;z-index:9000;left:0;right:0;bottom:0;min-height:calc(var(--v4dock) + env(safe-area-inset-bottom,0px));padding:5px max(5px,env(safe-area-inset-right,0px)) calc(5px + env(safe-area-inset-bottom,0px)) max(5px,env(safe-area-inset-left,0px));display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;background:#081014f3;border-top:1px solid #314a57;backdrop-filter:blur(13px)}
.v4Dock4 button{min-width:0;min-height:50px;padding:3px 1px;border:0;border-radius:10px;background:transparent;color:#aebfc7;font-size:9px;font-weight:800;display:grid;place-items:center;align-content:center;gap:1px}.v4Dock4 button b{font-size:19px;line-height:1}.v4Dock4 button.active{background:#173b4d;color:#fff;outline:1px solid #34789a}

.v4Radial4{position:fixed;z-index:15000;width:214px;height:214px;display:none;transform:translate(-50%,-50%);pointer-events:none}.v4Radial4.open{display:block}.v4Radial4 button{position:absolute;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;padding:4px!important;background:#10242df2!important;border:1px solid #527485!important;box-shadow:0 5px 17px #000b;pointer-events:auto!important;font-size:10px!important;font-weight:850}.v4Radial4 button b{display:block;font-size:20px;line-height:1.05;margin-bottom:2px}.v4Radial4 button:nth-child(1){left:50%;top:8%}.v4Radial4 button:nth-child(2){left:89%;top:38%}.v4Radial4 button:nth-child(3){left:74%;top:82%}.v4Radial4 button:nth-child(4){left:26%;top:82%}.v4Radial4 button:nth-child(5){left:11%;top:38%}.v4Radial4 .cancel{left:50%!important;top:50%!important;width:50px;height:50px;margin:-25px 0 0 -25px;background:#0a1419!important;color:#aabac2;font-size:9px!important}

.v4Menu4{position:fixed;z-index:15100;display:none;overflow:auto;padding:7px;border:1px solid #456473;border-radius:12px;background:#09161bf8;box-shadow:0 12px 34px #000d;-webkit-overflow-scrolling:touch}.v4Menu4.open{display:block}.v4MenuHead{display:grid;grid-template-columns:34px 1fr 34px;gap:4px;align-items:center;position:sticky;top:-7px;z-index:2;padding:5px 0 6px;background:#09161bf8}.v4MenuHead strong{text-align:center;font-size:13px}.v4MenuHead button{height:32px;min-height:32px;padding:0}
.v4MenuList{display:grid;grid-template-columns:1fr;gap:4px}.v4MenuList button{min-height:42px;padding:6px 8px;display:grid;grid-template-columns:28px 1fr 14px;align-items:center;gap:7px;text-align:left;font-size:11px}.v4MenuList button>b{font-size:18px;text-align:center}.v4MenuList button>span{min-width:0}.v4MenuList button>i{font-style:normal;color:#8fa4ae;text-align:right}.v4MenuList.iconGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.v4MenuList.iconGrid button{min-height:58px;grid-template-columns:34px 1fr;gap:5px;padding:5px}.v4MenuList.iconGrid button svg{width:30px;height:30px}.v4MenuInput{display:grid;grid-template-columns:1fr auto;gap:6px}.v4MenuInput input{height:40px}.v4MenuInput button{min-width:66px}

.v4Mode4{position:fixed;z-index:9300;left:50%;top:calc(var(--v4h) + env(safe-area-inset-top,0px) + 8px);transform:translateX(-50%);display:none;align-items:center;gap:6px;max-width:min(86vw,520px);min-height:34px;padding:4px 7px;border-radius:999px;background:#08151bee;border:1px solid #4b6d7c;box-shadow:0 4px 14px #0009;font-size:10px;font-weight:800;pointer-events:none}.v4Mode4.open{display:flex}.v4Mode4.actionable{pointer-events:auto}.v4ModeLabel{display:flex;align-items:center;gap:5px;min-width:0}.v4ModeLabel>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v4Mode4 .icon{width:24px;height:24px;display:grid;place-items:center}.v4Mode4 svg{width:23px;height:23px}.v4ModeActions{display:flex;gap:3px}.v4ModeActions button{min-height:28px;height:28px;padding:0 8px;border-radius:999px;font-size:9px}
.v4PlacementGhost4{position:fixed;z-index:16000;width:32px;height:32px;display:none;place-items:center;pointer-events:none;transform:translate(12px,12px);filter:drop-shadow(0 2px 4px #000)}.v4PlacementGhost4.open{display:grid}.v4PlacementGhost4 svg{width:30px;height:30px}

body.ktakV4A5 #mapCtxDuplicate,body.ktakV4A5 #boardCtxDuplicate,body.ktakV4A5 #boardCtxDone{display:none!important}body.ktakV4A5 #mapContextMenu,body.ktakV4A5 #boardContextMenu{z-index:15500!important}
body.ktakV4A5 .quickBriefDock{z-index:9100!important;right:0!important}

/* Legacy map-assist panel must sit below the compact map controls on phones. */
@media(max-width:600px){
  .v4MapHud4{left:6px;top:6px;width:calc(100vw - 72px)}.v4MapSearch4{grid-template-columns:minmax(0,1fr) 34px 34px 34px}.v4MapSearch4 input{height:34px}.v4MapSearch4 button{width:34px;height:34px;min-height:34px;font-size:15px}.v4TeamChip4{height:34px}.v4Menu4{max-width:calc(100vw - 12px)!important}.v4Dock4 button{font-size:8px}.v4Dock4 button b{font-size:18px}
  body.ktakV4A5 .v35MapAssistPanel,body.ktakV4A5 [class*="mapAssistPanel"]{top:116px!important;max-height:calc(100dvh - 190px)!important}
}
@media(orientation:landscape) and (max-height:600px){body.ktakV4A5 main{padding-bottom:0;padding-left:calc(var(--v4rail) + env(safe-area-inset-left,0px))}body.ktakV4A5 #mapPage.active,body.ktakV4A5 #boardPage.active{left:calc(var(--v4rail) + env(safe-area-inset-left,0px));bottom:0}.v4Dock4{top:calc(var(--v4h) + env(safe-area-inset-top,0px));right:auto;bottom:0;width:calc(var(--v4rail) + env(safe-area-inset-left,0px));min-height:0;grid-template-columns:1fr;grid-template-rows:repeat(6,minmax(0,1fr));padding:3px;border-top:0;border-right:1px solid #314a57}.v4Dock4 button{min-height:0;height:auto}.v4MapHud4{left:7px;top:6px;width:min(330px,52vw)}.v4Mode4{left:calc(var(--v4rail) + env(safe-area-inset-left,0px) + 8px);top:calc(var(--v4h) + env(safe-area-inset-top,0px) + 6px);transform:none;max-width:50vw}body.ktakV4A5 .quickBriefDock{right:0!important}}

/* KTAK V4.0.0-alpha.5 — field feedback */
body.ktakV4A5 .v4MapHud4{left:50%;right:auto;top:8px;transform:translateX(-50%);width:min(520px,calc(100vw - 180px));z-index:8300}
body.ktakV4A5 .v4MapSearch4 input{font-size:14px}
body.ktakV4A5 .v4TeamChip4{font-size:12px!important;max-width:150px}
body.ktakV4A5 .v4Dock4 button{font-size:12px}.v4Dock4 button b{font-size:21px}
body.ktakV4A5 .v4MenuHead strong{font-size:15px}.v4MenuList button{font-size:14px;min-height:46px}.v4MenuInput input{font-size:14px}
body.ktakV4A5 .v4Mode4{top:calc(var(--v4h) + env(safe-area-inset-top,0px) + 62px);font-size:12px}.v4ModeActions button{font-size:11px}
body.ktakV4A5 .v4Radial4 .cancel{display:none!important}.v4Radial4 .center{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;display:grid;place-items:center;align-content:center;gap:1px;background:#09151bd9;border:1px solid #38515e;color:#9eb0ba;pointer-events:none;font-size:9px;font-weight:850}.v4Radial4 .center b{font-size:18px;line-height:1}.v4Radial4 .center span{line-height:1}
.v4RouteComposer5{position:fixed;z-index:15400;top:calc(var(--v4h) + env(safe-area-inset-top,0px) + 60px);left:50%;transform:translateX(-50%);display:none;width:min(720px,calc(100vw - 24px));padding:10px;border:1px solid #577787;border-radius:14px;background:#08151bf4;box-shadow:0 10px 28px #000b;backdrop-filter:blur(12px)}.v4RouteComposer5.open{display:grid;gap:8px}.v4RouteHead5{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.v4RouteHead5 strong{font-size:15px}.v4RouteHead5 span{font-size:12px;color:#b9c9d0}.v4RouteFields5{display:grid;grid-template-columns:minmax(160px,1.5fr) 150px 92px;gap:7px}.v4RouteFields5 label{position:relative;font-size:11px;color:#aebfc7}.v4RouteFields5 input{height:38px;font-size:14px;margin-top:3px}.v4RouteFields5 label:nth-child(2) i{position:absolute;right:8px;bottom:10px;font-style:normal;font-size:10px;color:#8da1ab}.v4RouteFields5 label:nth-child(2) input{padding-right:42px}.v4RouteFields5 input[type=color]{padding:3px}.v4RouteStats5{display:flex;gap:12px;align-items:center;font-size:12px;color:#c7d8df}.v4RouteStats5 b{color:#fff}.v4RouteActions5{display:grid;grid-template-columns:120px minmax(180px,1fr) 90px;gap:7px}.v4RouteActions5 button{min-height:42px;font-size:13px}.v4RouteActions5 .primary{background:#087baa;border-color:#42bde7;font-weight:900;box-shadow:0 0 0 1px #42bde744}.v4RouteSwatch5,.v4TeamDot5{width:20px;height:20px;border-radius:50%;display:block!important;background:var(--route-color,var(--team-color,#45aff2));border:2px solid #fff}.v4MenuList button small{display:block;color:#94a8b1;font-size:10px;margin-top:2px}.v4RouteColor5{width:34px!important;height:30px!important;padding:2px!important}.v4CustomShape5{display:grid;gap:9px;padding:5px}.v4CustomShape5 label{font-size:12px;color:#b8c9d0}.v4CustomShape5 input{margin-top:4px}.v4CustomShape5 button{min-height:44px}
.v4Radial4[data-count="6"] button:nth-child(1){left:50%;top:4%}.v4Radial4[data-count="6"] button:nth-child(2){left:91%;top:27%}.v4Radial4[data-count="6"] button:nth-child(3){left:91%;top:73%}.v4Radial4[data-count="6"] button:nth-child(4){left:50%;top:96%}.v4Radial4[data-count="6"] button:nth-child(5){left:9%;top:73%}.v4Radial4[data-count="6"] button:nth-child(6){left:9%;top:27%}body.ktakV4A5 #boardPage .boardDesktopZoom{display:none!important}.v4BoardHud5{position:absolute;z-index:9250;right:12px;top:12px;display:flex;align-items:center;gap:5px;padding:6px;border:1px solid #527181;border-radius:11px;background:#08151bef;box-shadow:0 5px 18px #0009;backdrop-filter:blur(8px)}.v4BoardHud5[hidden]{display:none!important}.v4BoardHud5 button{height:36px;min-height:36px;min-width:38px;padding:0 9px;font-size:14px}.v4BoardPct5{min-width:52px;text-align:center;font-size:13px;font-weight:900}
@media(max-width:820px){.v4BoardHud5{display:none!important}body.ktakV4A5 .v4MapHud4{left:50%;top:52px;width:calc(100vw - 28px);max-width:430px;transform:translateX(-50%)}body.ktakV4A5 .v4MapSearch4 input{font-size:12px}body.ktakV4A5 .v4TeamChip4{font-size:11px!important}.v4RouteComposer5{top:auto;bottom:calc(var(--v4dock) + env(safe-area-inset-bottom,0px) + 8px);width:calc(100vw - 12px);padding:8px}.v4RouteHead5{align-items:flex-start}.v4RouteHead5 span{font-size:11px}.v4RouteFields5{grid-template-columns:1fr 112px 64px}.v4RouteStats5{font-size:11px;gap:8px}.v4RouteActions5{grid-template-columns:88px 1fr 70px}.v4RouteActions5 button{min-height:40px;font-size:12px}body.ktakV4A5 .v4Mode4{display:none!important}.v4Dock4 button{font-size:10px}.v4Dock4 button b{font-size:19px}}
@media(orientation:landscape) and (max-height:600px){body.ktakV4A5 .v4MapHud4{left:calc(50% + var(--v4rail)/2);top:5px;width:min(420px,48vw)}.v4RouteComposer5{left:calc(50% + var(--v4rail)/2);bottom:6px;width:min(660px,76vw)}.v4BoardHud5{top:7px;right:7px}}

/* alpha.5.1 visibility/readability hotfix */
@media(min-width:821px){
  body.ktakV4A5 header .brandText b{font-size:15px}
  body.ktakV4A5 header .brandText small,body.ktakV4A5 .roomStatus{font-size:12px}
  body.ktakV4A5 .v4Dock4 button{font-size:13px}
  body.ktakV4A5 .v4MapSearch4 input{font-size:15px}
  body.ktakV4A5 .v4TeamChip4{font-size:12px!important}
  body.ktakV4A5 .v4MenuHead strong{font-size:16px}
  body.ktakV4A5 .v4MenuList button{font-size:14px}
}
