.px-creator-drop{border:1px dashed rgba(125,125,125,.45);border-radius:10px;padding:22px;text-align:center;cursor:pointer;display:flex;flex-direction:column;gap:7px;color:inherit;transition:background .15s}
.px-creator-drop:hover,.px-creator-drop.is-dragover{background:rgba(125,125,125,.07)}
.px-creator-drop strong{font-size:13px}.px-creator-drop span,.px-creator-note,.px-creator-file-info{font-size:11px;line-height:1.6;opacity:.7}
.px-creator-native-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.px-creator-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:12px}
.px-creator-image{border:1px solid rgba(125,125,125,.22);border-radius:8px;padding:7px;min-width:0}
.px-creator-image img{width:100%;height:88px;object-fit:cover;border-radius:5px}
.px-creator-image span{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:5px 0}
.px-creator-image-actions{display:flex;gap:4px}.px-creator-image-actions button{background:transparent;border:1px solid rgba(125,125,125,.3);color:inherit;border-radius:5px;cursor:pointer;padding:4px 8px}
.px-creator-image-actions button:disabled{opacity:.25;cursor:default}
.px-creator-file-info{margin-top:8px}.px-creator-note{margin-top:9px}
@media(max-width:520px){.px-creator-drop{padding:18px 12px}.px-creator-images{grid-template-columns:repeat(2,minmax(0,1fr))}}
.px-creator-attribution{margin:20px 0;padding:16px;border:1px solid rgba(125,125,125,.2);border-radius:9px;min-width:0}.px-creator-attribution legend{padding:0 6px;font-size:12px;font-weight:650}.px-creator-attribution .field{margin:9px 0}.px-creator-attribution input{width:100%;box-sizing:border-box}
/* Stage 107: later upload form rules must not expand the visually hidden native file field. */
.px-upload-main input.px-creator-native-input{position:absolute!important;width:1px!important;min-width:0!important;max-width:1px!important;height:1px!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden;clip-path:inset(50%)}
