/* Image Cropper — tool-specific styles (loaded after /assets/base.css) */
.cr-controls { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 16px; }
.cr-controls select { background: var(--bg-soft); border: 1px solid var(--line); color: var(--text);
  padding: 10px 12px; border-radius: var(--radius-sm); font-family: inherit; font-size: .92rem; }
.cr-controls select:focus { outline: none; border-color: var(--accent); }
.cr-controls .spacer { flex: 1; }
.cr-info { color: var(--muted-2); font-size: .85rem; white-space: nowrap; }

.cr-stage { display: flex; justify-content: center; background: var(--bg-soft); border: 1px solid var(--line);
  border-radius: var(--radius-sm); padding: 16px; overflow: hidden; }
.cr-canvas-wrap { position: relative; display: inline-block; max-width: 100%; line-height: 0; touch-action: none; }
#crCanvas { display: block; max-width: 100%; height: auto; user-select: none; -webkit-user-drag: none; border-radius: 4px; }
.cropbox { position: absolute; border: 1.5px solid #fff; box-shadow: 0 0 0 9999px rgba(0, 0, 0, .5); cursor: move; box-sizing: border-box; }
.cropbox::before, .cropbox::after { content: ""; position: absolute; background: rgba(255, 255, 255, .35); }
.cropbox::before { left: 33.33%; right: 33.33%; top: 0; bottom: 0; border-left: 1px solid rgba(255,255,255,.35); border-right: 1px solid rgba(255,255,255,.35); }
.cropbox::after { top: 33.33%; bottom: 33.33%; left: 0; right: 0; border-top: 1px solid rgba(255,255,255,.35); border-bottom: 1px solid rgba(255,255,255,.35); }
.cropbox .ch { position: absolute; width: 16px; height: 16px; background: #fff; border: 2px solid var(--accent); border-radius: 50%; z-index: 2; }
.ch[data-dir="nw"] { left: -9px; top: -9px; cursor: nwse-resize; }
.ch[data-dir="ne"] { right: -9px; top: -9px; cursor: nesw-resize; }
.ch[data-dir="sw"] { left: -9px; bottom: -9px; cursor: nesw-resize; }
.ch[data-dir="se"] { right: -9px; bottom: -9px; cursor: nwse-resize; }

.icon-btn-lg { font-family: inherit; font-weight: 600; font-size: .9rem; cursor: pointer; background: var(--bg-soft);
  border: 1px solid var(--line); color: var(--muted); padding: 9px 13px; border-radius: var(--radius-sm); transition: all .15s; }
.icon-btn-lg:hover { color: var(--text); border-color: var(--accent); }

@media (max-width: 560px) { .cr-info { width: 100%; } }
