/* Step 2: world cards, the upload progress bar, and the go-live setup form. */
/* ---------- world cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;align-items:start}
.card{position:relative;background:var(--panel-2);border:2px solid var(--edge);border-radius:12px;box-shadow:inset 0 0 0 2px var(--hi),0 6px 0 rgba(0,0,0,.4);overflow:hidden;display:flex;flex-direction:column;transition:transform .1s}
.card:hover{transform:translateY(-3px)}
.card.done{box-shadow:inset 0 0 0 2px var(--grass),0 6px 0 rgba(0,0,0,.4)}
.card.err{box-shadow:inset 0 0 0 2px var(--red),0 6px 0 rgba(0,0,0,.4)}
.thumb{display:block;width:100%;aspect-ratio:16/9;image-rendering:pixelated;border-bottom:2px solid var(--edge);background:#0b1026}
.card-body{padding:14px;display:flex;flex-direction:column;gap:10px;flex:1}
.wname{margin:0;font-size:21px;line-height:1.2;word-break:break-word;text-shadow:var(--ol1)}
.fname{font-size:12px;color:var(--dim);margin-top:-6px;word-break:break-all}
dl.facts{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:13px}
dl.facts dt{color:var(--dim);font:600 13px var(--px)}
dl.facts dd{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.send{margin-top:auto;display:flex;flex-direction:column;gap:8px}
.bar{height:16px;background:rgba(3,6,20,.85);border:2px solid var(--edge);border-radius:6px;overflow:hidden;display:none}
.bar i{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,#5fd35f 0 10px,#3fb04a 10px 12px);transition:width .15s}
.sending .bar{display:block}
.sum{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:var(--dim);word-break:break-all}

.setup{display:grid;gap:12px;margin-top:4px;padding-top:12px;border-top:2px dashed rgba(165,190,255,.3)}
.setup h4{margin:0;font-size:17px;color:var(--gold);text-shadow:var(--ol1)}
