.formation-grid-wrap{display:flex;flex:0 1 auto;align-items:safe center;justify-content:safe center;overflow:auto;scrollbar-gutter:stable;min-height:0}.formation-grid-col{display:flex;flex-direction:column;gap:4px}.formation-section-labels{position:relative;height:18px}.formation-grid-stack{position:relative;flex:none}.formation-grid{position:relative;z-index:1;box-sizing:border-box;background-color:#080a1c73;background-image:linear-gradient(to right,var(--panel-border) 1px,transparent 1px),linear-gradient(to bottom,var(--panel-border) 1px,transparent 1px);border:1px solid var(--panel-border-hover);border-right:2px solid var(--accent)}.formation-grid-wrap.horizontal .formation-grid{border-right:1px solid var(--panel-border-hover);border-bottom:2px solid var(--accent)}.formation-grid-wrap.horizontal .formation-grid-col{flex-direction:row;align-items:stretch}.formation-grid-wrap.horizontal .formation-section-labels{width:64px;height:auto}.formation-section{position:absolute;pointer-events:none}.formation-grid-wrap:not(.horizontal) .formation-section{top:0;bottom:0;border-left:2px solid var(--panel-border-hover)}.formation-grid-wrap.horizontal .formation-section{left:0;right:0;border-top:2px solid var(--panel-border-hover)}.formation-grid-wrap:not(.horizontal) .formation-section.section-rear{border-left:none}.formation-grid-wrap.horizontal .formation-section.section-rear{border-top:none}.formation-section-label{position:absolute;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-strong);white-space:nowrap}.formation-grid-wrap:not(.horizontal) .formation-section-label{top:0;text-align:center}.formation-grid-wrap.horizontal .formation-section-label{right:4px;display:flex;align-items:center;justify-content:flex-end}.formation-edge-center{position:absolute;opacity:.7;pointer-events:none}.formation-grid-wrap:not(.horizontal) .formation-edge-center{left:0;right:0;border-top:1px dashed var(--accent)}.formation-grid-wrap.horizontal .formation-edge-center{top:0;bottom:0;border-left:1px dashed var(--accent)}.formation-edge-center span{position:absolute;left:4px;top:2px;font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--accent);white-space:nowrap}.formation-ship{position:absolute;display:flex;align-items:center;justify-content:center;cursor:grab;border:1px solid var(--panel-border-hover);background:var(--accent-bg-soft);box-sizing:border-box;touch-action:none}.formation-ship.selected{border:2px solid var(--text-strong);z-index:2}.formation-ship.dragging{cursor:grabbing;border-color:var(--text-strong);z-index:3}.formation-ship-surface{display:flex;width:100%;height:100%;align-items:center;justify-content:center}.formation-ship-surface>*{pointer-events:none}.formation-select-box{position:absolute;z-index:4;pointer-events:none;border:1px solid var(--accent);background:var(--accent-bg-soft)}.formation-preview-visual{display:flex;flex-direction:column}.formation-preview-labels{position:relative;height:16px;flex:none;border-bottom:1px solid var(--panel-border)}.formation-preview-body{position:relative;flex:none;overflow:hidden}.formation-preview-grid{position:absolute;top:0;left:0;transform-origin:top left;background-color:#080a1c73;background-image:linear-gradient(to right,var(--panel-border) 1px,transparent 1px),linear-gradient(to bottom,var(--panel-border) 1px,transparent 1px);border:1px solid var(--panel-border)}.formation-preview-ship{position:absolute;display:flex;align-items:center;justify-content:center}.formation-preview-ship>*{pointer-events:none}.formation-preview-divider{position:absolute;top:0;bottom:0;width:0;border-left:1px solid var(--panel-border);pointer-events:none}.formation-preview-label{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-dim);pointer-events:none}
