/* Reset */
.formatted h1, h1.formatted, .formatted h2, h2.formatted, .formatted h3, h3.formatted, .formatted h4, h4.formatted, .formatted h5, h5.formatted, .formatted h6, h6.formatted, .formatted p, p.formatted {
  margin: 0;
  padding: 0;
}

/* Typography */
.formatted h1, h1.formatted {
  font-size: 2rem;
  font-weight: bold;
  margin-top: 1rem;
  margin-bottom: 0;
}

.formatted h2, h2.formatted {
  font-size: 1.5rem;
  font-weight: bold;
  margin-top: 1rem;
  margin-bottom: 0;
}

.formatted h3, h3.formatted {
  font-size: 1.25rem;
  font-weight: bold;
  margin-top: 0.75rem;
  margin-bottom: 0;
}

.formatted h4, h4.formatted {
  font-size: 1rem;
  font-weight: bold;
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.formatted h5, h5.formatted {
  font-size: 0.875rem;
  font-weight: bold;
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.formatted h6, h6.formatted {
  font-size: 0.75rem;
  font-weight: bold;
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.formatted p, p.formatted {
  margin: 0.25rem 0;
}

.formatted a, a.formatted {
  color: var(--formatted-link-color) !important;
  text-decoration: none;
}
.formatted a:hover, a.formatted:hover {
  color: var(--text-color-muted);
}

.formatted code:not(pre code), code:not(pre code).formatted {
  background-color: var(--background-color-secondary);
  border: 1px solid var(--text-color-muted);
  border-radius: 2px;
  font-family: monospace;
  padding: 0.1rem 0.2rem;
}

/* Blocks */
.formatted blockquote, blockquote.formatted {
  margin: 1rem 0;
  padding: 0.5rem 1rem;
  background-color: var(--background-color-secondary);
  border-left: 4px solid var(--text-color-muted);
}

.formatted pre:has(code), pre:has(code).formatted {
  margin: 1rem 0;
  padding: 0.5rem;
  background-color: var(--background-color-secondary);
  border: 1px solid var(--text-color-muted);
  border-radius: 2px;
  font-family: monospace;
}

.formatted img, img.formatted {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Lists */
.formatted ul, ul.formatted, .formatted ol, ol.formatted {
  margin: 0.5rem 0;
  padding-left: 2rem;
  list-style-position: outside;
}

.formatted li, li.formatted {
  margin: 0.1rem 0;
  padding-left: 0.5rem;
}

.formatted li input[type=checkbox], li input[type=checkbox].formatted {
  margin: 0 0 0 -0.25rem;
}

/* Tables */
.formatted table, table.formatted {
  width: 100%;
  border-collapse: collapse;
  margin: 0.5rem 0;
}

.formatted th, th.formatted, .formatted td, td.formatted {
  border: 1px solid var(--border-color);
  padding: 0.5rem;
  text-align: left;
}

.formatted th, th.formatted {
  font-size: 0.875rem;
}

.formatted tbody tr:nth-child(odd), tbody tr:nth-child(odd).formatted {
  background-color: var(--background-color-secondary);
}

/* Misc */
.formatted hr, hr.formatted {
  border: none;
  border-top: 1px solid var(--border-color);
  margin: 1rem 0;
}

/* Footnotes */
.formatted .footnotes, .footnotes.formatted {
  font-size: 0.875rem;
  color: var(--text-color-muted);
  border-top: 1px solid var(--border-color);
  margin-top: 1rem;
}

.formatted [data-footnote-ref]::before {
  content: "[";
}

.formatted [data-footnote-ref]::after {
  content: "]";
}

.formatted [data-footnote-ref] {
  margin-left: 0.1rem;
}

/* Utility */
.formatted :first-child {
  margin-top: 0;
}

.formatted :last-child {
  margin-bottom: 0;
}

:root {
  --background-color: #f1f1f1;
  --background-color-secondary: #e4e4e4;
  --border-color: #cccccc;
  --border-active-color: #999999;
  --text-color-primary: #0d0d0d;
  --text-color-secondary: #3f3f3f;
  --text-color-muted: #7f7f7f;
  --formatted-link-color: #4e40e7;
  --font-stack: "Segoe UI", "Arial", sans-serif;
}

@media (prefers-color-scheme: dark) {
  :root {
    --background-color: #1a1a1a;
    --background-color-secondary: #202020;
    --border-color: #444444;
    --border-active-color: #666666;
    --text-color-primary: #f1f1f1;
    --text-color-secondary: #bfbfbf;
    --text-color-muted: #7f7f7f;
    --formatted-link-color: #4f9eff;
  }
}
html,
body {
  background-color: var(--background-color);
  color: var(--text-color-primary);
  font-family: var(--font-stack);
  margin: 0;
  padding: 0.25rem;
}

#fuwa {
  max-width: 80%;
  margin: 0 auto;
  padding-top: 1.25rem;
}
@media (max-width: 770px) {
  #fuwa {
    max-width: 100%;
  }
}
#fuwa header #main-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#fuwa input {
  background-color: var(--background-color-secondary);
  border: 1px solid var(--border-color);
  color: var(--text-color-primary);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}
#fuwa input::placeholder {
  color: var(--text-color-muted);
}
#fuwa input:focus-visible {
  outline: none;
  border: 1px solid var(--border-active-color);
}
#fuwa a {
  color: var(--text-color-primary);
  text-decoration: none;
}
#fuwa a:hover {
  color: var(--text-color-muted);
}
#fuwa footer {
  margin-top: 2rem;
  text-align: center;
  font-size: 0.75rem;
  color: var(--text-color-secondary);
}
#fuwa footer #powered-by {
  color: var(--text-color-muted);
}

#fuwa #directory-index {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}
#fuwa #directory-index thead th {
  text-align: left;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 0.5rem 0.1rem;
}
#fuwa #directory-index tbody td {
  text-align: left;
  padding: 0.25rem 0.1rem;
}
#fuwa #directory-index tbody td a {
  display: block;
  width: 100%;
}
#fuwa #directory-index tbody tr:nth-child(odd) {
  background-color: var(--background-color-secondary);
}
#fuwa #directory-index .row-icon {
  width: 1%;
  padding: 0.25rem 0.5rem;
}
#fuwa #directory-index .row-name {
  width: 60%;
}
#fuwa #directory-index .row-lastmod {
  width: 25%;
}
#fuwa #directory-index .row-size {
  width: 14%;
}
@media (max-width: 770px) {
  #fuwa #directory-index .row-lastmod {
    display: none;
  }
  #fuwa #directory-index .row-size {
    white-space: nowrap;
  }
}
#fuwa #directory-index #filter-notice {
  text-align: center;
  font-size: 0.75rem;
  font-style: italic;
  color: var(--text-color-muted);
}
#fuwa #directory-index #filter-notice td {
  padding: 0.5rem 0.1rem;
}
#fuwa #directory-index .sort-arrow {
  height: 12px;
  width: 12px;
}
#fuwa #directory-index .row-header a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
#fuwa #readme {
  border-radius: 4px;
  border: 1px solid var(--border-color);
  margin-top: 2rem;
}
#fuwa #readme #readme-header {
  padding: 0.5rem 0.75rem;
  background-color: var(--background-color-secondary);
  border-bottom: 1px solid var(--border-color);
}
#fuwa #readme #readme-content {
  padding: 0.5rem 0.75rem;
}

#error {
  border-radius: 4px;
  border: 1px solid var(--border-color);
  padding: 1rem;
}
#error #error-heading {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  color: var(--text-color-primary);
}
#error #error-message {
  text-align: center;
  color: var(--text-color-secondary);
  margin: 0;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  word-wrap: normal;
  border: 0;
}