.site-footer-archive {
  display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:24px; padding-top:20px;
  border-top:1px solid rgba(160,209,231,.14);
}
.site-footer-archive-button { display:inline-flex; align-items:center; gap:12px; min-height:46px; padding:8px 16px 8px 12px; color:#e9f8ff; border:1px solid rgba(85,190,255,.38); border-radius:13px; background:linear-gradient(135deg,rgba(31,116,217,.42),rgba(27,194,235,.2)); box-shadow:0 10px 26px rgba(0,16,35,.16); cursor:pointer; text-align:left; transition:transform .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease; }
.site-footer-archive-button:hover { transform:translateY(-2px); border-color:rgba(117,219,255,.78); background:linear-gradient(135deg,rgba(38,134,236,.58),rgba(27,194,235,.3)); }
.site-footer-archive-button:focus-visible { outline:3px solid rgba(111,215,255,.45); outline-offset:3px; }
.site-footer-archive-button:disabled { opacity:.72; cursor:wait; transform:none; }
.site-footer-archive-button.is-loading .site-footer-archive-icon { animation:archive-download-pulse 1s ease-in-out infinite; }
.site-footer-archive-icon { display:grid; width:28px; height:28px; place-items:center; color:#06213a; border-radius:9px; background:#82dcff; font-size:19px; font-weight:800; line-height:1; }
.site-footer-archive-copy { display:grid; gap:2px; }
.site-footer-archive-copy strong { font-size:12px; font-weight:800; letter-spacing:.01em; }
.site-footer-archive-copy small { color:#a9c9d7; font-size:10px; line-height:1.35; }
.site-footer-archive-status { min-height:18px; color:#91b7c9; font-size:11px; text-align:right; }
@keyframes archive-download-pulse { 50% { transform:translateY(3px); opacity:.65; } }

.archive-dialog-backdrop { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:20px; background:rgba(1,12,24,.72); backdrop-filter:blur(8px); }
.archive-dialog { position:relative; width:min(560px,100%); max-height:min(86vh,760px); overflow:auto; padding:34px 26px 28px; color:#eafaff; border:1px solid rgba(119,214,255,.28); border-radius:22px; background:linear-gradient(145deg,#09283c,#061724); box-shadow:0 25px 80px rgba(0,0,0,.38); text-align:center; }
.archive-dialog-icon { display:grid; width:50px; height:50px; margin:0 auto 17px; place-items:center; color:#052331; border-radius:15px; background:linear-gradient(135deg,#82dcff,#4d9dff); font-size:28px; font-weight:800; }
.archive-dialog h2 { margin:0; color:#fff; font:700 23px/1.15 'Space Grotesk',sans-serif; }
.archive-dialog p { min-height:24px; margin:12px 0 10px; color:#a9c9d7; font-size:13px; line-height:1.5; }
.archive-dialog-summary { margin:0 auto 14px; color:#82dcff; font-size:12px; font-weight:700; }
.archive-dialog-files { margin:0 0 20px; border:1px solid rgba(119,214,255,.18); border-radius:13px; background:rgba(1,12,24,.34); text-align:left; }
.archive-dialog-files summary { padding:12px 14px; color:#eafaff; cursor:pointer; font-size:12px; font-weight:800; }
.archive-dialog-files ul { max-height:270px; overflow:auto; margin:0; padding:0 10px 10px; list-style:none; }
.archive-dialog-files li { display:grid; grid-template-columns:20px minmax(0,1fr) auto; align-items:center; gap:7px; min-height:30px; border-top:1px solid rgba(160,209,231,.08); color:#b9d9e5; font-size:10px; }
.archive-dialog-files code { overflow:hidden; color:#eafaff; font:inherit; text-overflow:ellipsis; white-space:nowrap; }
.archive-dialog-files small { color:#7899a9; font-size:9px; }
.archive-file-state { color:#7899a9; font-weight:800; text-align:center; }
.archive-dialog-files li.is-loaded .archive-file-state { color:#6ff0bc; }
.archive-dialog-files li.is-error .archive-file-state, .archive-dialog-files li.is-error code { color:#ff8b8b; }
.archive-dialog-close { position:absolute; top:10px; right:12px; width:42px; height:42px; color:#b9d9e5; border:0; border-radius:12px; background:transparent; font-size:29px; line-height:1; cursor:pointer; }
.archive-dialog-close:hover,.archive-dialog-close:focus-visible { color:#fff; background:rgba(255,255,255,.1); outline:none; }
.archive-dialog-download { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 23px; color:#052331; border-radius:13px; background:linear-gradient(135deg,#82dcff,#4d9dff); font-size:14px; font-weight:800; text-decoration:none; cursor:pointer; box-shadow:0 12px 28px rgba(45,157,255,.22); }
.archive-dialog-download:hover { filter:brightness(1.08); transform:translateY(-1px); }
.archive-dialog-download.is-hidden { display:none; }
@media (max-width:640px) { .site-footer-archive { align-items:flex-start; flex-direction:column; } .site-footer-archive-button { width:100%; justify-content:flex-start; } .site-footer-archive-status { text-align:left; } .archive-dialog { padding-inline:20px; } .archive-dialog-files small { display:none; } }
@media (prefers-reduced-motion:reduce) { .site-footer-archive-button,.archive-dialog-download { transition:none; } }
