@import url("https://cdn.jsdelivr.net/npm/@chinese-fonts/cubic@3.0.0/dist/Cubic/result.css");
@import url("https://cdn.jsdelivr.net/npm/@chinese-fonts/qxs@3.0.0/dist/quan/result.css");

.toc-frb-passport-preview {
  --toc-paper: #f6f4e8;
  --toc-paper-soft: #edebd6;
  --toc-cream: #faf8ee;
  --toc-desk: #c8c5a8;
  --toc-desk-deep: #b0ad90;
  --toc-ink: #2a2d1e;
  --toc-ink-soft: #4a4d3a;
  --toc-meta: #6b6e56;
  --toc-dim: #9a9d82;
  --toc-line: rgba(106, 126, 82, 0.24);
  --toc-line-strong: #6b6e56;
  --toc-sage: #6a7e52;
  --toc-sage-deep: #4a5c38;
  --toc-watermark-image: url("../2x/6.png");
  --passport-cover-logo-scale: 0.8;
  --passport-cover-logo-filter: grayscale(1) sepia(0.5) saturate(1.85) hue-rotate(48deg) brightness(0.7) contrast(1.02);
}

.toc-frb-passport-preview,
.toc-frb-passport-preview .passport-cover__issuer-native,
.toc-frb-passport-preview .passport-cover__issuer-en,
.toc-frb-passport-preview .passport-cover__title-native,
.toc-frb-passport-preview .passport-cover__title-en,
.toc-frb-passport-preview .passport-message__copy,
.toc-frb-passport-preview .passport-message__copy-zh,
.toc-frb-passport-preview .passport-message__copy-en,
.toc-frb-passport-preview .passport-mini-field__value,
.toc-frb-passport-preview .passport-data-label,
.toc-frb-passport-preview .passport-data-value,
.toc-frb-passport-preview .passport-data-value--latin,
.toc-frb-passport-preview .passport-data-value--native,
.toc-frb-passport-preview .passport-signature,
.toc-frb-passport-preview .passport-mrz__line,
.toc-frb-passport-preview .passport-mrz__char {
  font-family: "QuanPixel 8px", "Cubic 11", "Noto Sans SC", monospace;
}

.toc-frb-passport-preview .passport-message__copy-zh,
.toc-frb-passport-preview .passport-message__copy-en {
  font-style: normal;
}

.toc-frb-passport-preview .passport-preview__caption,
.toc-frb-passport-preview .passport-artifact__label {
  color: var(--toc-meta);
}

.toc-frb-passport-preview .passport-cover {
  border-color: rgba(107, 110, 86, 0.52);
  background:
    repeating-linear-gradient(90deg, rgba(106, 126, 82, 0.08) 0 1px, transparent 1px 12px),
    repeating-linear-gradient(0deg, rgba(106, 126, 82, 0.06) 0 1px, transparent 1px 12px),
    linear-gradient(180deg, #d5d0b1 0%, #b9b594 100%);
}

.toc-frb-passport-preview .passport-cover::before {
  background:
    linear-gradient(rgba(106, 126, 82, 0.1) 0 0) 0 0 / 8px 1px repeat,
    linear-gradient(90deg, rgba(106, 126, 82, 0.08) 0 0) 0 0 / 1px 8px repeat;
  opacity: 0.75;
}

.toc-frb-passport-preview .passport-cover::after {
  border-color: rgba(74, 92, 56, 0.2);
}

.toc-frb-passport-preview .passport-cover__surface {
  color: var(--toc-sage-deep);
}

.toc-frb-passport-preview .passport-cover__emblem {
  filter: grayscale(0.3) sepia(0.4) saturate(0.8) brightness(0.9);
}

.toc-frb-passport-preview .passport-cover__issuer,
.toc-frb-passport-preview .passport-cover__title {
  color: var(--toc-sage-deep);
  text-shadow: none;
}

.toc-frb-passport-preview .passport-chip-mark--cover,
.toc-frb-passport-preview .passport-chip-mark--header,
.toc-frb-passport-preview .passport-chip-mark::before,
.toc-frb-passport-preview .passport-chip-mark::after {
  border-color: rgba(74, 92, 56, 0.8);
}

.toc-frb-passport-preview .passport-chip-mark--cover::after,
.toc-frb-passport-preview .passport-chip-mark--header::after {
  background: rgba(74, 92, 56, 0.8);
}

.toc-frb-passport-preview .passport-sheet {
  border-color: var(--toc-line-strong);
  background:
    repeating-linear-gradient(90deg, rgba(106, 126, 82, 0.06) 0 1px, transparent 1px 10px),
    repeating-linear-gradient(0deg, rgba(106, 126, 82, 0.06) 0 1px, transparent 1px 10px),
    linear-gradient(180deg, var(--toc-paper) 0%, var(--toc-paper-soft) 100%);
}

.toc-frb-passport-preview .passport-page--message,
.toc-frb-passport-preview .passport-page--identity {
  position: relative;
}

.toc-frb-passport-preview .passport-page--message {
  border-bottom-color: var(--toc-line);
  background:
    linear-gradient(rgba(106, 126, 82, 0.05) 0 0) 0 0 / 100% 1px repeat-y,
    linear-gradient(180deg, rgba(250, 248, 238, 0.92), rgba(237, 235, 214, 0.94));
}

.toc-frb-passport-preview .passport-page--identity {
  background:
    linear-gradient(rgba(106, 126, 82, 0.05) 0 0) 0 0 / 100% 1px repeat-y,
    linear-gradient(180deg, rgba(250, 248, 238, 0.92), rgba(237, 235, 214, 0.96));
}

.toc-frb-passport-preview .passport-page--message::before,
.toc-frb-passport-preview .passport-page--identity::before {
  background:
    linear-gradient(rgba(106, 126, 82, 0.05) 0.5px, transparent 0.5px),
    linear-gradient(90deg, rgba(106, 126, 82, 0.05) 0.5px, transparent 0.5px);
  background-size: 12px 12px, 12px 12px;
}

.toc-frb-passport-preview .passport-page--message::after,
.toc-frb-passport-preview .passport-page--identity::after {
  content: "";
  position: absolute;
  left: 4mm;
  bottom: 4mm;
  width: 34mm;
  height: 34mm;
  background: var(--toc-watermark-image) center / contain no-repeat;
  opacity: 0.12;
  image-rendering: pixelated;
  pointer-events: none;
}

.toc-frb-passport-preview .passport-message__stars {
  opacity: 0.12;
  background:
    radial-gradient(circle at 35% 24%, rgba(106, 126, 82, 0.9) 0 6px, transparent 6px),
    radial-gradient(circle at 58% 18%, rgba(106, 126, 82, 0.7) 0 4px, transparent 4px),
    radial-gradient(circle at 69% 34%, rgba(106, 126, 82, 0.7) 0 3px, transparent 3px),
    radial-gradient(circle at 47% 38%, rgba(106, 126, 82, 0.7) 0 3px, transparent 3px),
    radial-gradient(circle at 27% 46%, rgba(106, 126, 82, 0.7) 0 3px, transparent 3px);
}

.toc-frb-passport-preview .passport-message__copy,
.toc-frb-passport-preview .passport-message__copy-zh,
.toc-frb-passport-preview .passport-message__copy-en,
.toc-frb-passport-preview .passport-message__side-code,
.toc-frb-passport-preview .passport-mini-field__label,
.toc-frb-passport-preview .passport-data-label,
.toc-frb-passport-preview .passport-identity__title {
  color: var(--toc-meta);
}

.toc-frb-passport-preview .passport-identity__header {
  border-bottom-color: var(--toc-line);
  background: rgba(255, 255, 255, 0.22);
}

.toc-frb-passport-preview .passport-mini-field__value,
.toc-frb-passport-preview .passport-data-value,
.toc-frb-passport-preview .passport-data-value--latin,
.toc-frb-passport-preview .passport-signature,
.toc-frb-passport-preview .passport-mrz__char {
  color: var(--toc-ink);
}

.toc-frb-passport-preview .passport-mini-field--passport .passport-mini-field__value {
  color: var(--toc-sage-deep);
}

.toc-frb-passport-preview .passport-photo {
  border-color: rgba(107, 110, 86, 0.26);
  background: #d8d5bb;
}

.toc-frb-passport-preview .passport-ghost {
  filter: grayscale(0.24) sepia(0.18) saturate(0.6);
  opacity: 0.14;
}

.toc-frb-passport-preview .passport-field--authority .passport-data-value + .passport-data-value {
  color: var(--toc-meta);
}

.toc-frb-passport-preview .passport-mrz {
  border-top-color: var(--toc-line);
  background: linear-gradient(180deg, rgba(106, 126, 82, 0.04), rgba(106, 126, 82, 0.09));
}

@media (max-width: 700px) {
  .toc-frb-passport-preview .passport-page--message::after,
  .toc-frb-passport-preview .passport-page--identity::after {
    width: 26mm;
    height: 26mm;
  }
}
