.main{flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:1200px;margin:auto;padding:1rem;display:flex;position:relative}.controls{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:1rem;display:flex}.controls .control-group{flex-direction:column;gap:.25rem;display:flex}.controls .control-group label{font-size:.8rem;font-weight:600}.controls .control-group select,.controls .control-group input[type=number]{cursor:pointer;background:#fff;border:1px solid #888;border-radius:4px;width:80px;padding:.3rem .5rem;font-size:.85rem}.controls .control-group input[type=number]{cursor:text;-moz-appearance:textfield}.controls .control-group input[type=number]::-webkit-inner-spin-button{opacity:1}.controls .control-group input[type=number]::-webkit-outer-spin-button{opacity:1}.interaction-modes{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.interaction-modes .mode-btn{color:inherit;cursor:pointer;background:0 0;border:2px solid #888;border-radius:4px;padding:.3rem .75rem;font-size:.85rem;transition:all .15s}.interaction-modes .mode-btn:hover{background:#ffffff0d;border-color:#aaa}.interaction-modes .mode-btn.active{color:#4caf50;background:#4caf5026;border-color:#4caf50;font-weight:600}.buttons{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.grid-canvas{cursor:pointer;-webkit-user-select:none;user-select:none}.grid-canvas.placement-mode{cursor:crosshair}
