.init-preview { max-width: 200px; border-radius: 8px; margin-top: 8px; border: 1px solid var(--line); }
.out { max-width: 100%; background: var(--bg); border: 1px solid var(--line); border-radius: 8px; display: block; }
.out.cover { width: 400px; height: 320px; image-rendering: pixelated; }   /* 100×80 shown at 4× so you can see it; the file itself is 100×80 */
label.inline { display: inline-flex; gap: 6px; align-items: center; margin: 6px 14px 0 0; }
.slots { display: grid; gap: 6px; }
.slot { display: grid; grid-template-columns: 1fr auto auto; gap: 6px; align-items: center; background: var(--panel-2); border: 1px solid var(--line); border-radius: 8px; padding: 6px 10px; }
.slot .slotname { font-size: 13px; } .slot.filled .slotname { color: var(--text); font-weight: 600; } .slot button { padding: 5px 10px; font-size: 12px; }
input:disabled { opacity: .45; }
