.photo-picker{gap:var(--space-3);flex-wrap:wrap;display:flex;position:relative}.photo-picker-disabled{opacity:.6;pointer-events:none}.photo-picker-tile{border-radius:var(--radius-md);box-sizing:border-box;justify-content:center;align-items:center;width:96px;height:96px;display:flex;position:relative}.photo-picker-tile-photo{background-color:var(--color-canvas-alt);background-position:50%;background-size:cover}.photo-picker-tile-placeholder{opacity:.4}.photo-picker-tile-uploading{animation:1.4s ease-in-out infinite photo-picker-pulse}@keyframes photo-picker-pulse{0%,to{opacity:1}50%{opacity:.65}}.photo-picker-open{border-radius:inherit;cursor:zoom-in;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}.photo-picker-remove{top:var(--space-1);right:var(--space-1);border-radius:var(--radius-full);background-color:var(--color-ink);width:24px;height:24px;color:var(--color-canvas);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease);border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.photo-picker-remove:hover:not(:disabled){transform:scale(1.05)}.photo-picker-remove:disabled{cursor:not-allowed}.photo-picker-cover-badge,.photo-picker-cover-btn{left:var(--space-1);bottom:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.4;position:absolute}.photo-picker-cover-badge{background-color:var(--color-amber);color:var(--color-ink)}.photo-picker-cover-btn{background-color:color-mix(in srgb, var(--color-ink) 78%, transparent);color:var(--color-canvas);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--ease);border:0}.photo-picker-tile-photo:hover .photo-picker-cover-btn{opacity:1}.photo-picker-cover-btn:disabled{cursor:not-allowed}.photo-picker-tile-add{gap:var(--space-1);background-color:var(--color-surface);border:1.5px dashed var(--color-hairline);color:var(--color-ink-soft);cursor:pointer;transition:border-color var(--duration-fast) var(--ease), background-color var(--duration-fast) var(--ease);flex-direction:column}.photo-picker-tile-add:hover{border-color:var(--color-ink-soft);background-color:var(--color-canvas-alt)}.photo-picker-tile-add-disabled{cursor:not-allowed;opacity:.5}.photo-picker-add-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-ink-soft);letter-spacing:.01em}.photo-picker-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
