.download-page{background:var(--bg);min-height:100svh;color:var(--fg);font-family:var(--font-body);place-items:center;padding:32px 24px;display:grid}.download-content{text-align:center;width:100%;max-width:360px}.download-content h1{text-wrap:balance;font-size:20px;font-weight:500;line-height:1.6}.download-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;margin:0 auto 24px;animation:.8s linear infinite download-spin;display:block}.download-hint{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.8}.download-options{margin-top:28px}.download-nodes{gap:12px;padding:0;list-style:none;display:grid}.download-nodes a,.download-fallback{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;min-height:52px;padding:12px 20px;font-size:15px;display:flex}.download-nodes a:hover,.download-fallback:hover{border-color:var(--accent);color:var(--accent)}.download-nodes a span,.download-fallback span{color:var(--accent)}.download-retry,.download-recovery summary{color:var(--muted);cursor:pointer;font-size:13px}.download-retry{min-height:44px;margin-top:12px;padding:0 12px}.download-recovery{margin-top:16px}.download-recovery summary{padding:12px 0}.download-recovery .download-options{margin-top:16px}.download-retry:hover,.download-recovery summary:hover{color:var(--accent)}.download-page :is(a,button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:4px}@keyframes download-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.download-spinner{animation:none}}
