.offline-options { border: 0; padding: 0; margin: 1.5rem 0; display: grid; gap: 1rem; }
.offline-options legend { margin-bottom: .75rem; font-weight: 700; }
.offline-options label { display: flex; align-items: start; gap: .8rem; padding: 1rem; border: 1px solid var(--border, #315052); border-radius: .7rem; cursor: pointer; }
.offline-options input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin-top: .2rem; accent-color: #58d7c5; }
.offline-options label > span { display: grid; gap: .5rem; min-width: 0; }
.offline-options label:has(input:checked) { border-color: #58d7c5; background: #123330; }
.offline-options small { line-height: 1.6; }
.offline-details { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.offline-details dt { color: #adbfbd; }
.offline-details dd { margin: .35rem 0 0; overflow-wrap: anywhere; }
.offline-tool-links { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,17rem),1fr)); gap: .8rem 2rem; padding-left: 1.25rem; }
#offline-progress { width: 100%; height: 1rem; margin-top: 1rem; accent-color: #58d7c5; }
@media (max-width: 600px) { .offline-details { grid-template-columns: 1fr; } }
