.controls[data-v-5f73b76d]{display:flex;flex-direction:column;gap:16px}.ctrl-title[data-v-5f73b76d]{font:var(--font-headline-sm);margin:0}.mode-tabs[data-v-5f73b76d]{display:flex;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.mode-tab[data-v-5f73b76d]{flex:1;padding:10px 12px;background:var(--color-surface-container);border:none;cursor:pointer;font:var(--font-label-sm);color:var(--color-text-secondary);transition:background .15s,color .15s;min-height:44px}.mode-tab[data-v-5f73b76d]:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:var(--radius)}.mode-tab.active[data-v-5f73b76d]{background:var(--color-primary);color:var(--color-on-primary);font-weight:600}.field[data-v-5f73b76d]{display:flex;flex-direction:column;gap:4px}.field label[data-v-5f73b76d]{font:var(--font-label-sm);color:var(--color-text-secondary)}.inp[data-v-5f73b76d]{padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius);font:var(--font-body-md);font-family:var(--font-family);background:var(--color-bg-white);color:var(--color-text-primary);min-height:44px}.inp[data-v-5f73b76d]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-container)}.field-hint[data-v-5f73b76d]{font:var(--font-label-xs);color:var(--color-text-muted);margin:0;text-align:center}.ratio-row[data-v-5f73b76d]{display:flex;align-items:center;gap:8px}.ratio-inp[data-v-5f73b76d]{width:60px;min-width:0;text-align:center}.ratio-sep[data-v-5f73b76d]{font:var(--font-body-lg);color:var(--color-text-secondary)}.preset-ratios[data-v-5f73b76d]{display:flex;gap:8px}.preset-btn[data-v-5f73b76d]{padding:8px 0;flex:1;background:var(--color-surface-container);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;font:var(--font-label-sm);font-weight:600;color:var(--color-text-secondary);transition:background .15s,border-color .15s,color .15s;min-height:44px}.preset-btn[data-v-5f73b76d]:hover{background:var(--color-primary-container);border-color:var(--color-primary);color:var(--color-primary)}.preset-btn[data-v-5f73b76d]:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.crop-grid[data-v-5f73b76d]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.crop-grid .inp[data-v-5f73b76d]{width:100%;min-width:0}.interact-section[data-v-5f73b76d]{display:flex;flex-direction:column;gap:8px}.btn-interact[data-v-5f73b76d]{padding:12px 16px;background:var(--color-surface-container);border:2px dashed var(--color-border);border-radius:var(--radius);cursor:pointer;font:var(--font-label-sm);font-weight:600;color:var(--color-text-secondary);transition:all .15s;min-height:44px}.btn-interact[data-v-5f73b76d]:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-interact[data-v-5f73b76d]:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.btn-interact.active[data-v-5f73b76d]{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);border-style:solid}.ar-presets[data-v-5f73b76d]{display:flex;gap:8px;flex-wrap:wrap}.ar-btn[data-v-5f73b76d]{padding:8px 12px;background:var(--color-surface-container);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;font:var(--font-label-sm);color:var(--color-text-secondary);transition:all .15s;min-height:44px}.ar-btn[data-v-5f73b76d]:hover{background:var(--color-primary-container);border-color:var(--color-primary);color:var(--color-primary)}.ar-btn[data-v-5f73b76d]:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.ar-btn.active[data-v-5f73b76d]{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);font-weight:600}.divider[data-v-5f73b76d]{height:1px;background:var(--color-border-light);margin:4px 0}.btn-reset[data-v-5f73b76d]{width:100%;padding:12px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;font:var(--font-label-sm);color:var(--color-text-secondary);transition:all .15s;min-height:44px}.btn-reset[data-v-5f73b76d]:hover{border-color:var(--color-error);color:var(--color-error)}.btn-reset[data-v-5f73b76d]:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}
