.upbox{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;border:1.5px dashed var(--gold);border-radius:12px;background:var(--bg2);padding:18px 14px;cursor:pointer;transition:border-color .2s,background-color .2s}
.upbox:hover,.upbox.drag{background:rgba(201,162,39,.12)}
.upbox:focus-within{outline:3px solid var(--gold2);outline-offset:2px}
.upbox input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:0}
.upbox .upt{font-weight:700;color:var(--ink)}
.upbox .ups{font-size:.84rem;color:var(--muted)}
.uplist{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.uplist li{display:flex;align-items:center;gap:10px;justify-content:space-between;border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--bg);font-size:.92rem;min-width:0}
.uplist .upn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.uplist .upz{color:var(--muted);font-size:.82rem;flex:none}
.uplist button{flex:none;font:inherit;font-size:.82rem;font-weight:700;color:var(--goldtx);background:none;border:0;padding:6px 4px;cursor:pointer;min-height:32px}
.uplist li.bad{border-color:#b3261e}
.uplist li.bad .upz{color:#b3261e}
