.photo-editor-dialog{color:#302735;background:#fff;border:1px solid #e2e4e7;border-radius:20px;width:min(960px,100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:auto;box-shadow:0 24px 90px #0004}.photo-editor-dialog::backdrop{background:#0008}.photo-editor-dialog>header,.photo-editor-dialog>footer{border-bottom:1px solid #e2e4e7;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.photo-editor-dialog h2{margin:0;font-size:22px}.photo-editor-dialog p{color:#655968;margin:6px 0;font-size:13px}.photo-editor-body{grid-template-columns:minmax(0,1fr);gap:20px;padding:16px;display:grid}.photo-editor-preview{background:#f2f3f5;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:260px;padding:12px;display:flex;overflow:hidden}.photo-editor-preview canvas{object-fit:contain;touch-action:none;cursor:move;max-width:100%;max-height:420px;display:block}.photo-editor-controls{border:0;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:16px;min-width:0;margin:0;padding:0;display:grid}.photo-editor-controls label{gap:5px;font-size:13px;display:grid}.photo-editor-controls input[type=range]{accent-color:#ad4775;width:100%;min-height:32px}.photo-editor-controls .input{width:100%;min-width:0;font-size:16px}.photo-editor-dialog>footer{background:#fff;border-top:1px solid #e2e4e7;border-bottom:0;flex-wrap:wrap;position:sticky;bottom:0}.photo-editor-dialog>footer>span{color:#655968;flex:1;min-width:160px;font-size:12px}.photo-editor-dialog .photo-editor-error{color:#9f1239;margin:12px 16px}.photo-editor-dialog button{min-height:44px}.photo-editor-dialog :focus-visible{outline-offset:3px;outline:2px solid #ad4775}@media (width<=640px){.photo-editor-body{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px}.photo-editor-preview{min-height:180px}.photo-editor-preview canvas{max-height:260px}.photo-editor-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-editor-controls .button-row{grid-column:1/-1}.photo-editor-dialog>footer>span{flex-basis:100%}}.photo-crop-stage{touch-action:none;-webkit-user-select:none;user-select:none;max-width:100%;margin:10px;line-height:0;position:relative}.photo-crop-selection{box-sizing:border-box;cursor:move;touch-action:none;border:2px solid #fff;position:absolute;box-shadow:0 0 0 999px #0007}.photo-crop-grid{pointer-events:none;background:linear-gradient(90deg,#0000 33%,#fff6 33% 33.4%,#0000 33.4% 66%,#fff6 66% 66.4%,#0000 66.4%),linear-gradient(#0000 33%,#fff6 33% 33.4%,#0000 33.4% 66%,#fff6 66% 66.4%,#0000 66.4%);position:absolute;inset:0}.photo-crop-handle{z-index:2;touch-action:none;width:28px;height:28px;position:absolute}.photo-crop-handle:after{content:"";background:#fff;border:2px solid #ad4775;border-radius:3px;position:absolute;inset:7px;box-shadow:0 1px 4px #0004}.photo-crop-handle.nw{cursor:nwse-resize;top:-15px;left:-15px}.photo-crop-handle.ne{cursor:nesw-resize;top:-15px;right:-15px}.photo-crop-handle.sw{cursor:nesw-resize;bottom:-15px;left:-15px}.photo-crop-handle.se{cursor:nwse-resize;bottom:-15px;right:-15px}.photo-editor-inline{width:100%;max-height:none;box-shadow:none;margin:12px 0}.photo-editor-inline>footer{position:static}.photo-editor-inline>footer>span{display:none}.photo-editor-dialog{border-radius:18px;width:min(760px,100vw - 24px)}.photo-editor-preview{background:#f5f6f5;min-height:200px;padding:20px}.photo-pan-stage{cursor:grab;border-radius:10px;line-height:0;overflow:hidden}.photo-pan-stage:active{cursor:grabbing}.photo-pan-stage canvas{cursor:inherit}.photo-pan-frame{pointer-events:none;border:1px solid #ffffff80;border-radius:10px;position:absolute;inset:0}.photo-pan-stage:active .photo-pan-frame{background:linear-gradient(90deg,#0000 33.2%,#fff5 33.3%,#0000 33.5% 66.5%,#fff5 66.6%,#0000 66.8%)}.photo-editor-dialog>footer{justify-content:flex-end}.photo-editor-dialog.photo-editor-inline{box-sizing:border-box;border:0;border-radius:0;width:100%;min-width:0;max-width:100%;margin:0;overflow:visible}.photo-editor-inline .photo-editor-body{min-width:0;padding:10px 0}.photo-editor-inline .photo-editor-preview{box-sizing:border-box;width:100%;min-width:0;min-height:0;padding:12px}.photo-editor-inline .photo-pan-stage{justify-content:center;min-width:0;max-width:100%;margin:0;display:flex}.photo-editor-inline .photo-pan-stage canvas{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:min(36dvh,320px)}.photo-editor-inline>header{border:0;padding:0 0 10px}.photo-editor-inline>header h2{font-size:16px}.photo-editor-inline>header p{margin:3px 0 0;font-size:12px}.photo-editor-inline>header .icon-button{display:none}.photo-editor-inline>footer{border:0;gap:8px;padding:10px 0 0}.photo-editor-inline>footer button{min-height:36px;padding:7px 18px;font-size:13px}.app-shell .album-sheet:has(.photo-editor-inline) .album-sheet-body{min-width:0;overflow-x:hidden}.app-shell .album-sheet:has(.photo-editor-inline) .album-sheet-footer{display:none}.app-shell .album-sheet:has(.photo-editor-inline) .album-sheet-header p{display:none}:is(.app-shell .album-sheet:has(.photo-editor-inline) .family-editor-fields,.app-shell .album-sheet:has(.photo-editor-inline) .family-editor-input){min-width:0}.family-editor-input:has(.photo-editor-inline)>label{display:none}.album-sheet:has(.photo-editor-inline) .editor-history{display:none}.app-shell dialog.album-sheet.family-editor-window:has(.photo-editor-inline){height:fit-content;max-height:calc(100dvh - 32px);margin:auto;inset:0}.app-shell .album-sheet:has(.photo-editor-inline) .album-sheet-layout{height:auto;max-height:calc(100dvh - 32px)}.photo-crop-controls{gap:10px;padding:4px 20px 16px;display:grid}.photo-crop-controls>label{align-items:center;gap:12px;font-size:13px;display:flex}.photo-crop-controls input{accent-color:#ad4775;flex:1;min-width:0;min-height:44px}.photo-crop-controls output{text-align:right;font-variant-numeric:tabular-nums;min-width:40px}.photo-crop-controls p{color:var(--album-muted);margin:0;font-size:12px;line-height:1.5}.photo-crop-controls>.text-button{justify-self:start;min-height:44px}.photo-crop-formats{flex-wrap:wrap;gap:8px;display:flex}.photo-crop-formats button{border:1px solid var(--album-line);border-radius:9px;min-height:44px;padding:8px 12px;font-size:13px}.photo-crop-formats button[aria-pressed=true]{color:#ad4775;background:#fafafb;border-color:#ad4775}.photo-pan-stage:focus-visible{outline-offset:3px;outline:2px solid #ad4775}.photo-editor-inline .photo-crop-controls{padding:4px 0 8px}.photo-editor-inline>footer button{min-height:44px}
