.crop-panel{gap:8px;display:grid}.crop-stage{-webkit-user-select:none;user-select:none;background:repeating-conic-gradient(var(--surface-2) 0 25%, var(--surface) 0 50%) 0 0 / 16px 16px;border:1px solid var(--line);max-width:100%;box-shadow:var(--shadow);touch-action:none;justify-self:start;line-height:0;display:inline-block;position:relative;overflow:hidden}.crop-stage canvas{width:auto;max-width:100%;height:auto;max-height:65vh;display:block}.crop-shade{pointer-events:none;position:absolute;inset:0}.crop-box{box-sizing:border-box;cursor:move;touch-action:none;border:1px solid #fff;outline:1px solid #0009;position:absolute;box-shadow:0 0 0 9999px #00000073}.crop-box:focus-visible{border-color:var(--accent)}.crop-box.is-circle{border-radius:50%}.crop-box.is-circle:after{content:"";pointer-events:none;border:1px dashed #ffffffd9;border-radius:50%;position:absolute;inset:-1px}.crop-grid{pointer-events:none;background-image:linear-gradient(#ffffff59 1px,#0000 1px),linear-gradient(90deg,#ffffff59 1px,#0000 1px);background-position:-1px -1px;background-size:33.34% 33.34%;position:absolute;inset:0}.crop-handle{background:var(--accent);box-sizing:border-box;touch-action:none;border:2px solid #fff;border-radius:3px;width:14px;height:14px;position:absolute}.crop-handle-nw{cursor:nwse-resize;top:-1px;left:-1px}.crop-handle-ne{cursor:nesw-resize;top:-1px;right:-1px}.crop-handle-sw{cursor:nesw-resize;bottom:-1px;left:-1px}.crop-handle-se{cursor:nwse-resize;bottom:-1px;right:-1px}.crop-handle-n{cursor:ns-resize;top:-1px;left:calc(50% - 7px)}.crop-handle-s{cursor:ns-resize;bottom:-1px;left:calc(50% - 7px)}.crop-handle-w{cursor:ew-resize;top:calc(50% - 7px);left:-1px}.crop-handle-e{cursor:ew-resize;top:calc(50% - 7px);right:-1px}@media (pointer:coarse){.crop-handle{width:22px;height:22px}.crop-handle-n,.crop-handle-s{left:calc(50% - 11px)}.crop-handle-w,.crop-handle-e{top:calc(50% - 11px)}}.crop-hint{margin:0}.crop-hint span{color:var(--ink);font-weight:600}.crop-fields{align-items:end}.crop-fields .field{flex:100px}.crop-fields input[type=number]{width:100%}
