.photo-upload-dialog{width:min(94vw,760px);max-height:92dvh;padding:0;overflow:hidden;border:0;border-radius:var(--style-border-radius-popover,18px);color:var(--color-foreground);background:var(--color-background);box-shadow:0 24px 80px rgb(0 0 0/.28)}
.photo-upload-dialog::backdrop{background:rgb(0 0 0/.58)}
.photo-upload-shell{box-sizing:border-box;display:grid;gap:16px;padding:24px;overflow:auto;max-height:92dvh}
.photo-upload-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.photo-upload-header h2,.photo-upload-header p{margin:0}.photo-upload-header h2{font-size:clamp(2rem,5vw,3rem);line-height:1.05}.photo-upload-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;opacity:.65}.photo-upload-close{border:0;background:transparent;font:inherit;font-size:2rem;line-height:1;cursor:pointer}
.photo-upload-controls{display:grid;gap:12px}
.photo-upload-preview{position:relative;width:min(100%,clamp(240px,calc(92dvh - 350px),680px));aspect-ratio:1/1;margin-inline:auto;overflow:hidden;border-radius:12px;background:rgb(var(--color-foreground-rgb)/.06)}
.photo-upload-preview>[data-photo-upload-template],.photo-upload-preview>[data-photo-upload-overlay]{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.photo-upload-preview>[data-photo-upload-template]{z-index:1}.photo-upload-frame{position:absolute;z-index:2;overflow:hidden;touch-action:none;cursor:grab}.photo-upload-frame.is-dragging{cursor:grabbing}.photo-upload-frame img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;max-width:none;user-select:none;pointer-events:none;transform-origin:center center;will-change:transform}.photo-upload-preview>[data-photo-upload-overlay]{z-index:3;pointer-events:none}
.photo-upload-zoom{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}.photo-upload-zoom input{width:100%;accent-color:currentColor}.photo-upload-zoom[hidden]{display:none}
.photo-upload-dropzone{display:grid;place-items:center;gap:4px;padding:20px;border:1px dashed currentColor;border-radius:12px;cursor:pointer;text-align:center}.photo-upload-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.photo-upload-dropzone.is-dragging{background:rgb(var(--color-foreground-rgb)/.06)}
.photo-upload-actions{display:flex;flex-wrap:wrap;gap:10px}.photo-upload-actions [data-photo-upload-submit]{margin-inline-start:auto}.photo-upload-status{min-height:1.5em;margin:0}.photo-upload-status.is-error{color:var(--color-error,#b42318)}
@media(max-width:600px){.photo-upload-dialog{width:100vw;max-width:none;max-height:100dvh;height:100dvh;border-radius:0}.photo-upload-shell{max-height:100dvh;gap:14px;padding:16px}.photo-upload-header h2{font-size:clamp(1.8rem,10vw,2.5rem)}.photo-upload-preview{width:min(100%,clamp(220px,calc(100dvh - 390px),680px))}.photo-upload-actions{display:grid;grid-template-columns:1fr 1fr}.photo-upload-actions [data-photo-upload-submit]{grid-column:1/-1;margin:0}}
