:root{font-family:Roboto,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}@font-face{font-family:BonaNova;src:url(/assets/BonaNovaSC-Regular-Bh0EsgVL.ttf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Oswald;src:url(/assets/Oswald-VariableFont_wght-CboGeR6W.ttf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:AndadaPro;src:url(/assets/AndadaPro-VariableFont_wght-D95wEyI9.ttf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:AndadaPro;src:url(/assets/AndadaPro-VariableFont_wght-D95wEyI9.ttf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:AndadaPro;src:url(/assets/AndadaPro-Italic-VariableFont_wght-mSmH35vc.ttf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:AndadaPro;src:url(/assets/AndadaPro-Italic-VariableFont_wght-mSmH35vc.ttf) format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/Roboto-VariableFont_wdth-WOy3sDCz.ttf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/Roboto-VariableFont_wdth-WOy3sDCz.ttf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/Roboto-Italic-VariableFont_wdth-CtZJC3o8.ttf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/Roboto-Italic-VariableFont_wdth-CtZJC3o8.ttf) format("opentype");font-weight:700;font-style:italic;font-display:swap}:root{--attacker-solid-color: rgba(124, 43, 37, 1);--attacker-transparent-color: rgba(124, 43, 37, .4);--attacker-vision-color: rgba(124, 43, 37, .2);--defender-solid-color: rgba(70, 88, 80, 1);--defender-transparent-color: rgba(70, 88, 80, .5);--visionpoint-vision-color: rgba(37, 79, 124, .2);--objective-area-color: rgba(9, 62, 88, .3);--objective-marker-color: rgba(9, 62, 88, .6);--footprint-color: rgba(192, 192, 192, .9);--footprint-stroke-color: #888;--obstacle-color: rgb(85, 85, 85);--model-normal-color: white;--model-hover-color: rgb(237, 208, 173);--model-selected-color: rgb(176, 212, 244);--model-grabbed-color: rgb(176, 186, 244);--unit-hover-color: rgb(245, 236, 226);--movepoint-selected-color: rgb(176, 212, 244, .5);--movepoint-grabbed-color: rgb(176, 186, 244, .5);--selector-color: rgb(176, 212, 244);--ui-font: "Roboto";--heading-font: "Oswald";--data-font: "AndadaPro";--title-font: "BonaNova";--ui-action-color: rgba(9, 62, 88)}#root{position:absolute;width:100%;height:100%;display:flex;flex-direction:column}#main-logo{height:3rem}#menubar,#toolbar{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;height:3.6rem;flex:0 0 3.6rem;padding:0 1rem;gap:.5rem;box-shadow:0 .3rem .3rem #0003;z-index:2}#menubar h1{font-family:var(--title-font);font-size:1.8rem;font-weight:400;font-style:normal}#toolbar{gap:1rem}#toolbar a{color:var(--ui-action-color);cursor:pointer}#toolbar a:hover{text-decoration:underline}.hotkey{display:flex;flex-direction:row;gap:.5rem;align-items:center}.hotkey .key{padding:0 .4rem;border:.15rem solid #bbb;background:#eee;border-radius:.25rem;font-weight:700;color:#444}#board-container{position:relative;flex:1 1 auto}#board{display:block;min-width:0;min-height:0;width:100%;height:100%;touch-action:none;background:#888}#operations{position:absolute;top:0;right:0;display:flex;flex-direction:column;gap:.5rem;padding:.5rem}#operations>*{background:#fff;padding:.5rem 1rem;border-radius:.3rem;border:1px solid #888;box-shadow:0 .3rem .3rem #0003;display:flex;flex-direction:row;align-items:center;gap:.5rem}#board-border{fill:#e6e6e6;stroke:#888;stroke-width:.2rem}.grid-line{stroke:#ccc;stroke-width:.05rem}.deployment-defender{stroke:var(--defender-solid-color);stroke-width:.2rem;fill:var(--defender-transparent-color)}.deployment-attacker{stroke:var(--attacker-solid-color);stroke-width:.2rem;fill:var(--attacker-transparent-color)}.objective-area{fill:var(--objective-area-color)}.objective-marker{fill:var(--objective-marker-color)}.footprint{fill:var(--footprint-color);stroke-width:.1rem;stroke:var(--footprint-stroke-color)}.obstacle{fill:var(--obstacle-color)}.deployment-visibility{fill:var(--attacker-vision-color)}.visionpoint-visibility{fill:var(--visionpoint-vision-color)}.vision-point .vision-point--marker{fill:#000;transition:fill .5s}.vision-point.selected .vision-point--marker{fill:var(--model-selected-color)}.vision-point.grabbed .vision-point--marker{fill:var(--model-grabbed-color);filter:drop-shadow(0px 4px 3px rgb(0 0 0 / .4));transform:translateY(-1px)}.vision-point image{pointer-events:none}.deployment-visibility,.visionpoint-visibility{transition:opacity 1.5s;pointer-events:none}:is(.deployment-visibility,.visionpoint-visibility).is-empty{opacity:0}.unit-canvas{fill:transparent}.model{stroke:#000;stroke-width:.2rem;fill:var(--model-normal-color);transition:fill .5s}.model.staged{display:none}g:has(>.model.grabbed){filter:drop-shadow(0px 4px 3px rgb(0 0 0 / .4));transform:translateY(-1px)}svg:not(.busy) .unit .model:not(.selected):hover{fill:var(--model-hover-color)!important}svg:not(.busy) .unit .model.selected,svg:not(.busy) .unit .model.selected:hover{fill:var(--model-selected-color)}svg:not(.busy) .unit:hover .model{fill:var(--unit-hover-color)}svg:not(.busy) .unit:hover .model.selected{fill:var(--model-selected-color)}svg.busy .unit .model.selected{fill:var(--model-selected-color)}svg.busy .unit .model.selected.grabbed{fill:var(--model-grabbed-color)!important}.move-vector{stroke:var(--defender-solid-color);stroke-width:.13rem;stroke-dasharray:.2rem}.move-point{fill:transparent;stroke:var(--defender-solid-color);stroke-width:.2rem;transition:fill .5s}.move-point.staged{display:none}.move-point.selected{fill:var(--movepoint-selected-color)}.move-point.grabbed{fill:var(--movepoint-grabbed-color)}.move-distance{text-anchor:middle;font-family:var(--ui-font);font-weight:700;font-size:14pt;stroke:#fffc;fill:var(--defender-solid-color);stroke-width:3pt;paint-order:stroke;stroke-linejoin:round;pointer-events:none;-webkit-user-select:none;user-select:none}.move-distance.staged{display:none}.selector{display:none;stroke:var(--selector-color);stroke-width:.2rem;fill:none}.selector.active{display:initial}
