/* dropzone — drag & drop / tap-to-choose file area */
.dropzone {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-3);
  min-height: 120px;
  padding: var(--sp-6);
  border: 1px dashed var(--c-light);
  background: var(--c-bg-sunken);
  color: var(--c-text-dim);
  text-align: center;
  cursor: pointer;
}

.dropzone:hover,
.dropzone--over {
  border-color: var(--c-accent);
  color: var(--c-text);
}

.dropzone--compact {
  min-height: 72px;
  padding: var(--sp-4);
}

.dropzone__input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.dropzone__title {
  color: var(--c-text);
  font-weight: 700;
}

.dropzone__file {
  color: var(--c-accent);
  overflow-wrap: anywhere;
}

/* progress — segmented Steam-style bar */
.progress {
  position: relative;
  height: 16px;
  padding: 2px;
  border: 1px solid;
  border-color: var(--bevel-sunken);
  background: var(--c-bg-sunken);
}

.progress__fill {
  height: 100%;
  width: 0;
  background: repeating-linear-gradient(90deg, var(--c-select) 0 8px, transparent 8px 10px);
  transition: width 0.2s linear;
}

.progress__text {
  margin-top: var(--sp-2);
  color: var(--c-text-dim);
  font-size: var(--fs-s);
}

/* media-list — editable list of previews in the admin */
.media-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap: var(--sp-4);
  list-style: none;
}

.media-list__item {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  padding: var(--sp-3);
  border: 1px solid;
  border-color: var(--bevel-raised);
}

.media-list__thumb {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: var(--c-bg-deep);
}

.icon-editor {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-5);
}

.icon-editor__preview {
  width: 96px;
  height: 96px;
  padding: var(--sp-2);
  border: 1px solid;
  border-color: var(--bevel-sunken);
  background: var(--c-bg-sunken);
  object-fit: contain;
}

.icon-editor__drop {
  flex: 1 1 220px;
}
