/* Downloads uses the same quiet row rhythm as the surrounding library. */
.dl-empty-state { max-width:440px; margin:24px auto; padding:24px 16px; }
.dl-empty-state .dl-empty-icon-wrapper { width:auto; height:auto; border:0; border-radius:0; background:none; color:var(--text-2); margin-bottom:16px; box-shadow:none; }
.dl-empty-svg { width:32px; height:32px; }
.dl-empty-state .empty-title { font-size:20px; color:var(--text); }
.dl-empty-state .empty-desc, .dl-how-to-save, .dl-storage-note { color:var(--text-2); font-size:14px; line-height:1.5; }
.dl-how-to-save { margin:8px 0 16px; }
.dl-storage-note { margin-bottom:16px; font-variant-numeric:tabular-nums; }
.dl-saved-cta, .dl-saved-link, .dl-row .dl-act { min-height:44px; min-width:44px; padding:0 14px; border:1px solid var(--line); border-radius:var(--radius-sm,8px); background:var(--bg-2); color:var(--text); font:inherit; cursor:pointer; }
.dl-saved-cta:hover, .dl-saved-link:hover, .dl-row .dl-act:hover { background:var(--bg-3); }
.dl-saved-cta:focus-visible, .dl-saved-link:focus-visible, .dl-row .dl-act:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.dl-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0 16px; font-size:14px; color:var(--text-2); }
.dl-group { margin-bottom:20px; }
.dl-group-title { font-size:14px; font-weight:600; color:var(--text); margin:12px 0 6px; }
html[data-layout] .card.dl-row { display:grid; grid-template-columns:72px minmax(0,1fr); gap:12px; padding:12px 8px; }
html[data-layout] .dl-row .thumb { grid-column:1; grid-row:1; width:72px; align-self:start; margin-top:3px; }
html[data-layout] .dl-row .card-info { grid-column:2; grid-row:1; min-width:0; }
.dl-row .card-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dl-row .card-channel { overflow-wrap:anywhere; color:var(--text-2); }
.dl-row .dl-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.dl-row .dl-act.danger { color:var(--accent); background:transparent; }
.dl-row .dl-act:disabled { opacity:.5; cursor:wait; }
@media(min-width:900px) { html[data-layout] .card.dl-row { grid-template-columns:88px minmax(0,1fr); } html[data-layout] .dl-row .thumb { width:88px; } }

/* Save failures remain readable; raw extractor output is opt-in, never HTML. */
.dl-failed .card-channel { white-space:normal; line-height:1.5; }
.download-error-details { min-width:0; color:var(--text-2); font:12px/1.5 var(--ui); }
.download-error-details summary { min-height:44px; padding:12px 0; cursor:pointer; }
.download-error-details summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
.download-error-details pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:240px; overflow:auto; margin:0 0 8px; font:12px/1.5 var(--mono); }
.download-job { grid-template-columns:minmax(0,1fr); }
.download-job > div { flex-wrap:wrap; }
.download-job progress { min-width:0; }
