.crop-view{display:grid;gap:var(--s-5);margin-top:var(--s-5)}.crop-view[hidden]{display:none}@media(min-width:60rem){.crop-view{grid-template-columns:minmax(0,1fr) 20rem;align-items:start}}.crop-stage-wrap{display:grid;gap:var(--s-3);justify-items:center;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--sunken)}.crop-stage{--ar: .707;position:relative;width:min(100%,calc(var(--ar) * min(62vh,34rem)));aspect-ratio:var(--ar);overflow:hidden;border-radius:var(--r-sm);box-shadow:var(--shadow-2);touch-action:none}.crop-page,.crop-page canvas{display:block;width:100%;height:100%}.crop-page canvas{object-fit:contain;background:#fff}.crop-blank{display:grid;place-items:center;height:100%;padding:var(--s-4);background:var(--raised);color:var(--muted);font-size:var(--fs-14);text-align:center}.crop-box{position:absolute;border:1px solid var(--on-accent);outline:1px solid var(--accent);box-shadow:0 0 0 100vmax #0f172a8c;cursor:move}.crop-box:focus-visible{outline:3px solid var(--accent);outline-offset:0}.crop-handle{position:absolute;width:var(--target);height:var(--target);padding:0;border:0;background:transparent;cursor:pointer}.crop-handle:after{content:"";position:absolute;top:50%;left:50%;width:.75rem;height:.75rem;transform:translate(-50%,-50%);border:1px solid var(--on-accent);border-radius:2px;background:var(--accent)}.crop-handle-nw{top:calc(var(--target) / -2);left:calc(var(--target) / -2);cursor:nwse-resize}.crop-handle-ne{top:calc(var(--target) / -2);right:calc(var(--target) / -2);cursor:nesw-resize}.crop-handle-sw{bottom:calc(var(--target) / -2);left:calc(var(--target) / -2);cursor:nesw-resize}.crop-handle-se{bottom:calc(var(--target) / -2);right:calc(var(--target) / -2);cursor:nwse-resize}.crop-nav{display:flex;align-items:center;gap:var(--s-3)}.crop-page-label{color:var(--muted);font-size:var(--fs-12)}.crop-panel{display:grid;gap:var(--s-4);padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.crop-margins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}.crop-margins .field-label{font-size:var(--fs-12);font-weight:500;color:var(--muted)}.crop-margins .input{min-height:2.5rem;font-family:var(--mono);font-size:var(--fs-12)}.crop-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center}.crop-each{display:flex;align-items:flex-start;gap:var(--s-2);min-height:var(--target);color:var(--muted);font-size:var(--fs-14);cursor:pointer}.crop-each input{margin-top:.2rem;width:1rem;height:1rem;accent-color:var(--accent)}.crop-panel .field-hint.is-bad{color:var(--danger)}
