body {
  margin: 0;
  background: #141618;
  color: #e7e7e7;
  font: 16px/1.6 Tahoma, sans-serif;
}

main {
  max-width: 42rem;
  margin: 2rem auto;
  padding: 0 1rem 3rem;
}

h1, h2 {
  font-weight: 600;
}

h1 {
  font-size: 1.5rem;
  margin: 0 0 1rem;
}

h2 {
  font-size: 1.1rem;
  margin: 0 0 0.4rem;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th, td {
  text-align: right;
  padding: 0.45rem 0.4rem;
  border-bottom: 1px solid #2c3136;
}

th {
  color: #9aa3ab;
  font-weight: 600;
}

a {
  color: #9fd4ff;
}

.num {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: left;
  white-space: nowrap;
}

form {
  margin-top: 2rem;
}

input[type="file"] {
  display: block;
  margin: 0.8rem 0 1rem;
}

button {
  background: #1d4e63;
  color: #fff;
  border: 0;
  border-radius: 4px;
  padding: 0.45rem 1rem;
  font: inherit;
}

.ok {
  color: #b7e0b0;
}

.err {
  color: #ff9b9b;
}

.file a {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  max-width: 100%;
}

.file a span {
  overflow-wrap: anywhere;
}

img.thumb {
  width: 5rem;
  height: 3.6rem;
  object-fit: contain;
  border-radius: 3px;
  background: #22262a;
  flex: none;
}

.progress[hidden] {
  display: none;
}

.progress {
  margin: 0.2rem 0 1rem;
}

.progress-track {
  height: 0.45rem;
  background: #2a3036;
  border-radius: 999px;
  overflow: hidden;
}

.progress-bar {
  width: 0;
  height: 100%;
  background: #3d8eb5;
}

.progress-pct {
  display: block;
  margin-top: 0.3rem;
  color: #9aa3ab;
  font-size: 0.9rem;
}

button:disabled {
  opacity: 0.6;
}
