.zip-title{display:flex;flex-direction:column;min-width:0}
.zip-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zip-title span{font-size:13.5px}
.zip-enc{margin-bottom:12px}
.zip-tree{border:1px solid var(--line);border-radius:12px;max-height:560px;overflow:auto}
.zip-row{display:flex;align-items:center;gap:8px;padding:6px 10px 6px calc(10px + var(--d,0) * 18px);border-bottom:1px solid var(--line);min-height:44px;font-size:14.5px}
.zip-tree>div:last-of-type>.zip-row,.zip-row:last-child{border-bottom:0}
.zip-cb{display:grid;place-items:center;width:24px;height:24px;flex:none;cursor:pointer}
.zip-cb input{width:18px;height:18px;accent-color:var(--acc);margin:0}
.zip-name{display:flex;align-items:center;gap:6px;flex:1;min-width:0;background:none;border:0;padding:4px 0;text-align:left;font:inherit;cursor:default}
button.zip-name{cursor:pointer;font-weight:600}
.zip-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.zip-chev{display:inline-grid;place-items:center;color:var(--mut);transition:transform .15s}
.zip-chev svg{width:16px;height:16px}
.zip-dir.open .zip-chev{transform:rotate(90deg)}
.zip-ic{display:inline-grid;place-items:center;color:var(--util);flex:none}
.zip-ic svg{width:18px;height:18px}
.zip-file .zip-ic{color:var(--mut);margin-left:22px}
.zip-sz{color:var(--mut);font-size:13px;white-space:nowrap}
.zip-acts{display:flex;gap:4px;flex:none}
.zip-flag{display:inline-flex;gap:4px;align-items:center;font-size:12.5px;font-weight:700;color:var(--err);background:var(--err-soft);border-radius:99px;padding:3px 8px;white-space:nowrap}
.zip-flag svg{width:13px;height:13px}
.zip-more{padding:6px 10px 6px calc(10px + var(--d,0) * 18px)}
.zip-more:empty{display:none}
.zip-prev{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:14px}
.zip-prev-head{margin-bottom:10px;flex-wrap:nowrap}
.zip-prev-head b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.zip-img{min-height:160px}
.zip-img img{max-width:100%;max-height:60vh}
.zip-opts{margin-top:18px}
.zip-namerow{flex-wrap:nowrap;gap:6px}
.zip-namerow .inp{flex:1;min-width:0}
.zip-nameopt{flex:1;min-width:200px}
@media (max-width:600px){
 .zip-title{flex-basis:100%}
 .zip-row{gap:6px;padding-left:calc(6px + var(--d,0) * 12px);padding-right:6px}
 .zip-sz{font-size:12px}
 .zip-dir .zip-sz{display:none}
 .zip-flag{font-size:0;padding:4px}
 .zip-flag svg{width:14px;height:14px}
}
