dialog.dancr-photo-crop {
  box-sizing: border-box; width: min(460px, calc(100vw - 24px)); max-width: none;
  max-height: calc(100svh - 24px); margin: auto; padding: 18px;
  border: 1px solid rgba(255,255,255,.2); border-radius: 20px; background: #0c0b10; color: #fff;
  overflow: auto; overscroll-behavior: contain; box-shadow: 0 20px 70px #0009;
}
dialog.dancr-photo-crop::backdrop { background: #000c; }
.dancr-photo-crop h2 { margin: 0 0 6px; font: 800 18px/1.3 system-ui, sans-serif; }
.dancr-photo-crop p { margin: 0 0 12px; color: #c5c1cf; font: 13px/1.4 system-ui, sans-serif; }
.dancr-photo-crop [data-crop-frame] { width: min(100%, var(--crop-preview-width)); margin: 0 auto 12px; border-radius: 16px; overflow: hidden; background: #000; }
.dancr-photo-crop canvas { display: block; width: 100%; height: auto; touch-action: none; cursor: grab; }
.dancr-photo-crop canvas:active { cursor: grabbing; }
.dancr-photo-crop canvas:focus-visible { outline: 2px solid #b4a0ff; outline-offset: -3px; }
.dancr-photo-crop label { display: flex; align-items: center; gap: 12px; min-height: 44px; font: 600 13px system-ui, sans-serif; }
.dancr-photo-crop input[type="range"] { width: 100%; min-width: 0; height: 44px; accent-color: #a88bff; }
.dancr-photo-crop [data-crop-actions] { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
body .dancr-photo-crop button { appearance: none; -webkit-appearance: none; min-height: 44px; flex: 1; padding: 10px 12px; border-radius: 12px; border: 1px solid #ffffff30; background: #ffffff0d; color: #fff; font: 700 13px system-ui, sans-serif; cursor: pointer; }
body .dancr-photo-crop button[data-crop-confirm] { background: #5d36cc; }
body .dancr-photo-crop button:disabled { opacity: .5; cursor: default; }
.dancr-photo-crop [data-crop-status] { margin: 10px 0 0; font-size: 12px; }
.dancr-photo-crop [hidden] { display: none !important; }
