.q-photo-editor{gap:16px;min-width:0;display:grid}.q-photo-editor__images{background:var(--q-desk);border-radius:var(--q-radius-control);flex-wrap:wrap;justify-content:center;align-items:start;gap:24px;padding:24px;display:flex}.q-photo-editor__surface{touch-action:none;flex:200px;max-width:min(100%,380px);line-height:0;position:relative}.q-photo-editor__surface img{width:100%;height:auto;display:block}.q-photo-editor__quad{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.q-photo-editor__quad polygon{fill:var(--q-primary-soft);stroke:var(--q-primary);stroke-width:2px;vector-effect:non-scaling-stroke}.q-photo-editor__corner{background:var(--q-primary);width:44px;height:44px;color:var(--q-on-primary);border:2px solid var(--q-canvas);cursor:move;touch-action:none;border-radius:50%;font-size:14px;position:absolute;transform:translate(-50%,-50%)}.q-photo-editor__corner:focus-visible{outline:3px solid var(--q-text);outline-offset:3px}.q-photo-editor__result{object-fit:contain;width:min(100%,380px);max-height:460px}.q-photo-editor__hint{color:var(--q-text-muted);margin:0}.q-photo-editor__corners{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.q-photo-editor__corners fieldset{border:1px solid var(--q-border);border-radius:12px;gap:8px;min-width:0;padding:12px;display:grid}.q-photo-editor__corners legend{color:var(--q-text-muted);font-size:13px}.q-photo-editor__actions,.q-scan-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.q-photo-editor__actions{justify-content:end}.q-pages-error{color:var(--q-error);overflow-wrap:anywhere;margin:0}.q-scan{gap:16px;display:grid}.q-scan video{background:var(--q-desk);border-radius:12px;width:100%;max-height:45vh;display:block}.q-scan__kept{gap:12px;margin:0;padding:4px;list-style:none;display:flex;overflow-x:auto}.q-scan__kept li{border:1px solid var(--q-border);border-radius:12px;flex:0 0 110px;padding:8px;position:relative}.q-scan__kept img{object-fit:contain;width:100%;height:130px;display:block}.q-scan__kept .q-ibtn{inset-inline-end:0;background:var(--q-surface);position:absolute;top:0}@media (max-width:640px){.q-photo-editor__corners{grid-template-columns:repeat(2,minmax(0,1fr))}.q-photo-editor__images{padding:24px}}
