.site-header,
.box {
  border: 1px solid #000000;
  background: #f7f7f7;
  margin: 10px 0;
  padding: 8px;
}

.site-header h1 {
  margin: 0 0 6px;
  font-size: 20px;
  font-weight: normal;
}

.site-header p {
  margin: 4px 0;
}

.doi-form,
.mini-search {
  margin: 8px 0;
}

label {
  display: block;
  margin-bottom: 4px;
}

label.inline {
  display: inline;
  margin: 0 6px 0 0;
}

input[type="text"],
input[type="password"],
input[type="file"] {
  width: 360px;
  max-width: 95%;
  border: 1px solid #000000;
  background: #ffffff;
  color: #000000;
  padding: 3px;
}

select {
  border: 1px solid #000000;
  background: #ffffff;
  color: #000000;
  padding: 2px;
}

textarea {
  width: 95%;
  border: 1px solid #000000;
  background: #ffffff;
  color: #000000;
  padding: 3px;
}

.small {
  font-size: 12px;
}

.inline-form {
  display: block;
  margin: 0 0 4px;
}

.inline-form input[type="file"] {
  width: 180px;
}

.admin-works input[type="text"],
.admin-works textarea {
  width: 240px;
  max-width: 96%;
}

.admin-works details {
  min-width: 260px;
}

.review-reason {
  max-width: 360px;
}

.small-page {
  width: 54px;
}

.compact-input {
  width: 180px;
  max-width: 95%;
}

.button-link {
  display: inline-block;
  border: 2px outset #c0c0c0;
  background: #c0c0c0;
  color: #000000;
  padding: 2px 8px;
  text-decoration: none;
}

.edit-form label {
  margin: 4px 0;
}

button {
  border: 2px outset #c0c0c0;
  background: #c0c0c0;
  color: #000000;
  padding: 2px 8px;
  cursor: pointer;
}

.hint,
.compact {
  color: #555555;
}

.error {
  color: #aa0000;
  font-weight: bold;
}

.notice {
  border: 1px solid #000000;
  background: #ffffcc;
  padding: 6px;
}

.works {
  width: 100%;
  border-collapse: collapse;
}

.works th,
.works td {
  border: 1px solid #000000;
  padding: 4px;
  vertical-align: top;
}

.works th {
  background: #d0d0d0;
}

.status {
  background: #eeeeee;
  border: 1px solid #000000;
  padding: 1px 3px;
}

.meta {
  display: block;
}

.meta dt {
  font-weight: bold;
  margin-top: 4px;
}

.meta dd {
  margin-left: 20px;
  overflow-wrap: anywhere;
}

.reader p {
  margin: 0 0 1em;
}

blockquote {
  border-left: 4px solid #808080;
  margin-left: 0;
  padding-left: 8px;
}

.note {
  border: 1px dotted #000000;
  padding: 4px;
  margin: 6px 0;
}

.formula {
  white-space: pre-wrap;
  overflow-x: auto;
  border: 1px solid #000000;
  background: #eeeeee;
  padding: 6px;
}

.math-ocr {
  border-top: 1px dotted #000000;
  margin-top: 6px;
  padding-top: 4px;
}

.math-ocr summary,
.formula-text summary,
.table-text-details summary {
  cursor: pointer;
  font-size: 12px;
}

.math-ocr pre {
  white-space: pre;
  overflow-x: auto;
  margin: 2px 0 0;
}

.formula-image {
  display: block;
  max-width: 100%;
  height: auto;
  border: 1px solid #000000;
  background: #ffffff;
  margin: 8px 0;
}

.formula-text {
  margin: 4px 0 8px;
}

.formula-text pre {
  white-space: pre-wrap;
  overflow-x: auto;
}

.table-wrap {
  overflow-x: auto;
}

.table-figure {
  border: 1px solid #000000;
  padding: 6px;
  margin: 12px 0;
  overflow-x: auto;
}

.table-image {
  display: block;
  max-width: none;
  height: auto;
  border: 1px solid #000000;
  background: #ffffff;
  margin: 6px 0;
}

.table-text-details {
  margin-top: 6px;
}

.table-text-fallback {
  white-space: pre;
  overflow-x: auto;
  background: #eeeeee;
  border: 1px dotted #000000;
  padding: 6px;
  margin: 0;
}

.tabs a {
  margin-right: 12px;
}

.pdf-toolbar {
  border: 1px solid #000000;
  padding: 6px;
  margin-bottom: 8px;
  background: #eeeeee;
}

.pdf-toolbar button {
  min-width: 30px;
}

.pdf-viewer {
  border: 1px solid #000000;
  overflow-x: auto;
  background: #777777;
  padding: 8px 0;
  text-align: center;
}

.pdf-page-wrap {
  position: relative;
  display: block;
  background: #ffffff;
  margin: 0 auto 12px;
  box-shadow: 0 0 0 1px #000000;
  text-align: left;
}

.pdf-page-wrap canvas {
  display: block;
}

.pdf-page-label {
  position: absolute;
  top: 2px;
  right: 2px;
  background: #eeeeee;
  border: 1px solid #000000;
  color: #000000;
  font-size: 11px;
  padding: 1px 3px;
  pointer-events: none;
}

.textLayer {
  position: absolute;
  inset: 0;
  overflow: hidden;
  line-height: 1;
  text-align: initial;
}

.textLayer span,
.textLayer br {
  color: transparent;
  position: absolute;
  white-space: pre;
  cursor: text;
  transform-origin: 0% 0%;
}

.textLayer ::selection {
  background: rgba(0, 0, 255, 0.25);
}

.textLayer mark {
  color: #000000;
  background: #ffff00;
}

@media (max-width: 700px) {
  .pdf-toolbar label {
    display: block;
    margin-top: 4px;
  }
}
