.cropFileLaunchButton{padding:16px 32px;background:#2563eb;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;transition:.3s;box-shadow:0 4px 6px rgba(37,99,235,.2)}.cropFileLaunchButton:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 6px 12px rgba(37,99,235,.3)}.cropFilePopupOverlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.9);z-index:9999;display:flex;flex-direction:column;padding:40px;opacity:0;animation:.3s ease-out forwards fadeIn}@keyframes fadeIn{to{opacity:1}}.cropFileHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.cropFileRatioButtons{display:flex;gap:12px}.cropFileRatioButton{padding:12px 24px;background:#fff;color:#9ca3af;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:.3s;display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.2}.cropFileRatioButton:hover{background:#4b5563}.cropFileRatioButton.active{background:var(--main-color);color:#fff;transform:scale(1.05);box-shadow:0 4px 12px rgba(37,99,235,.4);opacity:1}.cropFileRatioLabel{font-size:16px}.cropFileRatioName{font-size:11px;opacity:.75}.cropFileActions{display:flex;gap:12px}.cropFileSaveButton{background:var(--main-color);box-shadow:0 4px 12px rgba(16,185,129,.3)}.cropFileSaveButton:hover{background:#059669;transform:translateY(-2px);box-shadow:0 6px 16px rgba(16,185,129,.4)}.cropFileCloseButton{padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:.3s;display:flex;align-items:center;gap:8px;color:#fff;background-color:unset}.cropFileMediaContainer{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.cropFileMediaWrapper{position:relative;max-width:100%;max-height:100%;display:inline-block}.cropFileMedia{max-width:calc(100vw - 80px);max-height:calc(100vh - 220px);object-fit:contain;user-select:none;-webkit-user-select:none;-moz-user-select:none}.cropFileCropArea{position:absolute;box-shadow:0 0 0 9999px rgba(0,0,0,.5);cursor:move;transition:box-shadow .15s ease-out}.cropFileCropArea:hover{box-shadow:0 0 0 9999px rgba(0,0,0,.6)}.cropFileHandle{position:absolute;width:20px;height:20px;background:#3b82f6;border:3px solid #fff;border-radius:50%;transition:.2s;z-index:10}.cropFileHandle:hover{transform:scale(1.25);background:#2563eb}.cropFileHandle.topLeft{top:-10px;left:-10px;cursor:nwse-resize}.cropFileHandle.topRight{top:-10px;right:-10px;cursor:nesw-resize}.cropFileHandle.bottomLeft{bottom:-10px;left:-10px;cursor:nesw-resize}.cropFileHandle.bottomRight{bottom:-10px;right:-10px;cursor:nwse-resize}.cropFileGrid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);pointer-events:none;border:6px solid var(--main-color)}.cropFileGridCell{border:1px solid rgba(255,255,255,.3)}.cropFileInfo{text-align:center;color:#fff;font-size:14px;margin-top:20px}.cropFileError{background:#fff;padding:40px;border-radius:12px;max-width:500px;margin:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}.cropFileErrorText{color:#dc2626;margin-bottom:20px;line-height:1.6}.cropFileErrorButton{padding:12px 24px;background:#6b7280;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:.3s}.cropFileErrorButton:hover{background:#4b5563}#cropFile1x1Button{width:70px;height:70px}#cropFile16x9Button{width:100px;height:70px}#cropFile9x16Button{width:35px;height:70px;border-radius:7px}