#ic-stage { position: relative; box-sizing: content-box; padding: 14px; margin: 18px auto; overflow: hidden; touch-action: none; background: repeating-conic-gradient(#eee 0% 25%, #fff 0% 50%) 0 / 16px 16px; }
#ic-preview { display: block; width: 100%; height: 100%; }
#ic-frame { position: absolute; box-sizing: border-box; border: 2px solid white; box-shadow: 0 0 0 9999px #0009; cursor: move; touch-action: none; }
#ic-frame:focus { outline: 2px solid #2563eb; outline-offset: -4px; }
#ic-frame.ic-round { border-radius: 50%; }
.ic-handle { position: absolute; width: 28px; height: 28px; transform: translate(-50%, -50%); touch-action: none; }
.ic-handle::after { content: ''; position: absolute; inset: 9px; background: white; border: 1px solid #1746a2; border-radius: 2px; }
.ic-nw { left: 0; top: 0; cursor: nwse-resize; }
.ic-n { left: 50%; top: 0; cursor: ns-resize; }
.ic-ne { left: 100%; top: 0; cursor: nesw-resize; }
.ic-e { left: 100%; top: 50%; cursor: ew-resize; }
.ic-se { left: 100%; top: 100%; cursor: nwse-resize; }
.ic-s { left: 50%; top: 100%; cursor: ns-resize; }
.ic-sw { left: 0; top: 100%; cursor: nesw-resize; }
.ic-w { left: 0; top: 50%; cursor: ew-resize; }
#ic .it-actions .btn { min-width: 0; }
#ic-status { overflow-wrap: anywhere; }
#ic [hidden] { display: none; }
