.archive {
  --archive-spacing: 40px;
  display: flex;
  flex-direction: column;
  gap: var(--archive-spacing);
  padding: var(--archive-spacing);
}
.archive h1 { margin: 0; }
.project-logo:not([hidden]) { display: block; width: 300px; max-width: 100%; height: auto; margin: 0 auto; }
.project-info { margin: 0; line-height: 1.8; text-align: center; }
.project-info p { margin: 0; }
.project-info p + p { margin-top: 20px; }
.project-info a { color: #ffc399; }
.archive a:focus-visible, .archive button:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.file-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.file-table th { padding: 14px 16px; background: #282735; color: #c1b9ce; font-size: 13px; font-weight: 600; text-align: left; }
.file-table td { padding: 12px 16px; border-bottom: 1px solid #ffffff14; vertical-align: middle; line-height: 1.6; }
.file-table tbody tr:hover { background: #ffffff06; }
.file-table .file-size { width: 110px; text-align: right; white-space: nowrap; }
.file-table .file-date { width: 130px; text-align: right; white-space: nowrap; }
.entry { display: flex; align-items: center; gap: 12px; }
.entry-icon { flex: 0 0 22px; color: var(--accent); font-size: 20px; line-height: 1; }
.entry-action { min-width: 0; color: #f2eff5; text-align: left; overflow-wrap: anywhere; line-height: 1.6; text-decoration: none; }
button.entry-action { padding: 0; border: 0; background: none; font: inherit; line-height: 1.6; cursor: pointer; }
.entry-action:hover { color: #ffc399; text-decoration: underline; }
.empty-message { margin: 0; padding: 24px 16px; text-align: center; color: #d2cddb; }
.download-notice { margin: 0; line-height: 1.7; color: #ffc399; }
.download-notice:empty { display: none; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 600px) {
  .archive { --archive-spacing: 24px; }
  .file-table .file-date { display: none; }
  .file-table .file-size { width: 82px; }
  .file-table th { padding: 14px 8px; }
  .file-table td { padding: 12px 8px; }
  .entry { gap: 6px; }
}
