/* Image rotate and flip (#115) */
.irf-workspace { display: grid; min-width: 0; gap: 1.25rem; margin-bottom: 1.5rem; }
.irf-workspace[hidden] { display: none; }
.irf-editor-grid { display: grid; grid-template-columns: minmax(290px, .8fr) minmax(0, 1.4fr); align-items: start; gap: 1.25rem; }
.irf-editor-grid > *, .irf-preview-panel, .irf-export-panel { min-width: 0; }
.irf-rotate-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.irf-rotate-grid .button, .irf-flip-grid .button { width: 100%; min-width: 0; }
.irf-flip-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.irf-flip-grid .button[aria-pressed="true"] { border-color: var(--color-primary); background: var(--color-primary-light); box-shadow: inset 4px 0 var(--color-primary); }
.irf-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.irf-choice-grid legend { grid-column: 1 / -1; }
.irf-choice-grid label { display: flex; align-items: center; min-width: 0; gap: .5rem; padding: .65rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); font-weight: 750; cursor: pointer; }
.irf-choice-grid input { flex: 0 0 auto; width: auto; margin: 0; accent-color: var(--color-primary); }
.irf-choice-grid input[type="color"] { flex: 1 1 auto; min-width: 44px; }
.irf-state-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin: 0; }
.irf-state-list div { min-width: 0; padding: .7rem; border-radius: 10px; background: var(--color-surface-soft); }
.irf-state-list dt { color: var(--color-muted); font-size: .78rem; }
.irf-state-list dd { margin: .2rem 0 0; overflow-wrap: anywhere; font-weight: 800; }
.irf-canvas-wrap { box-sizing: border-box; width: 100%; max-width: 100%; min-height: 160px; overflow: auto; padding: .6rem; border-radius: 12px; background: repeating-conic-gradient(#263d38 0 25%, #36534c 0 50%) 50% / 20px 20px; }
.irf-canvas-wrap canvas { display: block; width: auto; max-width: 100%; height: auto; margin: auto; }
.irf-output-info { overflow-wrap: anywhere; font-weight: 800; }

@media (max-width: 860px) {
  .irf-editor-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 520px) {
  .irf-rotate-grid, .irf-choice-grid { grid-template-columns: minmax(0, 1fr); }
  .irf-flip-grid, .irf-state-list { grid-template-columns: minmax(0, 1fr); }
  .irf-editor-grid, .irf-preview-panel, .irf-export-panel { width: 100%; max-width: 100%; min-width: 0; }
}
