*{margin:0;padding:0;box-sizing:border-box}@font-face{font-family:Pretendard;src:url(/fonts/pretendard/Pretendard-Medium.woff2) format("woff2");font-style:normal}@font-face{font-family:Pretendard;src:url(/fonts/pretendard/Pretendard-SemiBold.woff2) format("woff2");font-style:normal}*,body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.three-canvas-container{position:relative}.three-canvas-container,.three-canvas-mount{width:100%;height:100%;margin:0;padding:0}.operation-crane-container{display:flex;flex:4 1;gap:.2vw;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#ecf0f1;font-size:1.4rem}button{cursor:pointer!important;transition:all .2s ease;border:none;outline:none}button:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.action-button{cursor:pointer;transition:all .2s ease;background:#fff;border:2px solid #dee2e6}.action-button:hover:not(:disabled){background:#f1f3f5;border-color:#adb5bd;transform:translateY(-1px)}.action-button:active:not(:disabled){transform:translateY(0)}.action-button.toggled{background:#3a7bd5;color:#fff;border-color:#3a7bd5}.action-button.toggled:hover:not(:disabled){background:#3a7bd5;border-color:#004085}.action-button:disabled{cursor:not-allowed;opacity:.5;background:#e0e0e0;color:#3a7bd5;border-color:#ced4da}.active-bg{background:#e3f2fd!important}.btn-primary{background:linear-gradient(145deg,#3a7bd5,#3a7bd5);color:#fff;border:1px solid #3a7bd5;padding:.5rem 1rem;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:linear-gradient(145deg,#3a7bd5,#004085);border-color:#004085;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{cursor:not-allowed;opacity:.5;background:#3a7bd5;border-color:#3a7bd5}.btn-secondary{background:linear-gradient(145deg,#3a7bd5,#3a7bd5);color:#fff;border:1px solid #3a7bd5;padding:.5rem 1rem;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:linear-gradient(145deg,#3a7bd5,#4e555b);border-color:#4e555b;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:disabled{cursor:not-allowed;opacity:.5;background:#adb5bd;border-color:#adb5bd}.btn-success{background:linear-gradient(135deg,#d6eaff,#b3d4ff);color:#fff;border:1px solid #218838;padding:.5rem 1rem;cursor:pointer;transition:all .2s ease}.btn-success:hover:not(:disabled){background:linear-gradient(145deg,#218838,#3a7bd5);border-color:#3a7bd5;transform:translateY(-1px)}.btn-success:active:not(:disabled){transform:translateY(0)}.btn-success:disabled{cursor:not-allowed;opacity:.5;background:#3a7bd5;border-color:#3a7bd5}.btn-danger{background:linear-gradient(145deg,#e63946,#c82333);color:#fff;border:1px solid #c82333;padding:.5rem 1rem;cursor:pointer;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:linear-gradient(145deg,#c82333,#bd2130);border-color:#bd2130;transform:translateY(-1px)}.btn-danger:active:not(:disabled){transform:translateY(0)}.btn-danger:disabled{cursor:not-allowed;opacity:.5;background:#3a7bd5;border-color:#3a7bd5}.disabled,[disabled]{cursor:not-allowed!important;opacity:.5;pointer-events:none}label.disabled{opacity:.6}label.disabled,label.disabled input{cursor:not-allowed}