/* Hexo Letter Paper: self-contained, theme-independent letter presentation. */
.hexo-letter,
.hexo-letter-dialog {
  --hlp-default-paper: #dfc99f;
  --hlp-default-ink: #29231b;
  box-sizing: border-box;
  color: var(--hlp-ink, var(--hlp-default-ink));
  background-color: var(--hlp-paper, var(--hlp-default-paper));
  background-image:
    radial-gradient(circle at 12% 16%, rgba(255, 255, 255, .27) 0 1px, transparent 1.5px),
    radial-gradient(circle at 72% 61%, rgba(83, 60, 31, .10) 0 .6px, transparent 1.2px),
    repeating-linear-gradient(103deg, rgba(255, 255, 255, .035) 0 2px, rgba(78, 53, 24, .025) 2px 4px),
    linear-gradient(138deg, rgba(255, 255, 255, .18), transparent 28%, rgba(86, 60, 27, .09));
  background-size: 31px 33px, 39px 35px, auto, auto;
  font-family: var(--hlp-font-family, "Songti SC"), "STSong", "Noto Serif CJK SC", "Source Han Serif SC", "SimSun", Georgia, serif;
  font-weight: var(--hlp-font-weight, 400);
  line-height: 1.85;
  overflow-wrap: anywhere;
}

.hexo-letter[data-paper="sticky"],
.hexo-letter-dialog[data-paper="sticky"] {
  --hlp-default-paper: #fff0a8;
  --hlp-default-ink: #252621;
}

.hexo-letter[data-paper="plain"],
.hexo-letter-dialog[data-paper="plain"] {
  --hlp-default-paper: #faf6eb;
  --hlp-default-ink: #282722;
}

.hexo-letter {
  position: relative;
  isolation: isolate;
  display: block;
  width: calc(100% - 2rem);
  max-width: 100%;
  margin: 1.8rem auto 2.4rem;
  padding: clamp(3.2rem, 6vw, 3.6rem) clamp(1.2rem, 5vw, 2.7rem) clamp(1.1rem, 3vw, 1.8rem);
  border: 1px solid rgba(83, 61, 35, .19);
  border-radius: 2px 8px 5px 3px;
  box-shadow: 0 2px 3px rgba(47, 37, 21, .08), 0 13px 27px rgba(47, 37, 21, .12);
  font-size: var(--hlp-font-size, 1.15em);
  /* Stay upright until the available space has been measured. */
  transform: rotate(var(--hlp-effective-tilt, 0deg));
  transform-origin: center;
}

.hexo-letter:not(.is-enhanced)::after,
.hexo-letter__fold::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 28px;
  height: 28px;
  border-radius: 0 0 0 3px;
  background: linear-gradient(225deg, rgba(255, 255, 255, .6) 0 48%, rgba(72, 54, 33, .18) 50%, rgba(255, 255, 255, .10) 55%);
  box-shadow: -2px 3px 5px rgba(56, 40, 24, .10);
  content: "";
  pointer-events: none;
}

.hexo-letter__fold {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  display: block;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.hexo-letter__fold[hidden] {
  display: none;
}

.hexo-letter__fold::before {
  transition: width .18s ease, height .18s ease, box-shadow .18s ease;
}

.hexo-letter__fold:hover::before,
.hexo-letter__fold:focus-visible::before {
  width: 44px;
  height: 44px;
  box-shadow: -4px 6px 12px rgba(56, 40, 24, .22);
}

.hexo-letter__fold:focus-visible,
.hexo-letter-dialog__close:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.hexo-letter-dialog__close {
  position: absolute;
  top: .45rem;
  right: .55rem;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: rgba(255, 255, 255, .2);
  color: inherit;
  font: inherit;
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
}

.hexo-letter-dialog__close:hover {
  background: rgba(255, 255, 255, .38);
}

.hexo-letter__body,
.hexo-letter-dialog__body {
  color: inherit;
  font: inherit;
  letter-spacing: .025em;
}

/* The original Markdown blockquote remains in the DOM. Override quote decorations
   and bold/purple quote styles commonly supplied by Hexo themes. */
.hexo-letter .hexo-letter__body blockquote,
.hexo-letter-dialog .hexo-letter-dialog__body blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  quotes: none;
}

.hexo-letter .hexo-letter__body blockquote::before,
.hexo-letter .hexo-letter__body blockquote::after,
.hexo-letter-dialog .hexo-letter-dialog__body blockquote::before,
.hexo-letter-dialog .hexo-letter-dialog__body blockquote::after {
  content: none;
}

.hexo-letter .hexo-letter__body p,
.hexo-letter-dialog .hexo-letter-dialog__body p {
  margin: 0 0 .95em;
  color: inherit;
  font-weight: inherit;
  text-align: start;
  text-indent: var(--hlp-indent, 2em);
}

.hexo-letter .hexo-letter__body p.hexo-letter__unindented,
.hexo-letter-dialog .hexo-letter-dialog__body p.hexo-letter__unindented,
.hexo-letter .hexo-letter__body p.hexo-letter__salutation,
.hexo-letter-dialog .hexo-letter-dialog__body p.hexo-letter__salutation {
  text-indent: 0;
}

.hexo-letter .hexo-letter__body p.hexo-letter__salutation--joined,
.hexo-letter-dialog .hexo-letter-dialog__body p.hexo-letter__salutation--joined {
  margin-bottom: 0;
}

.hexo-letter .hexo-letter__body p:last-child,
.hexo-letter-dialog .hexo-letter-dialog__body p:last-child {
  margin-bottom: 0;
}

.hexo-letter .hexo-letter__body a,
.hexo-letter-dialog .hexo-letter-dialog__body a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .15em;
}

.hexo-letter.hexo-letter a:not(.icon)::before,
.hexo-letter.hexo-letter a:not(.icon)::after {
  content: none;
}

.hexo-letter .hexo-letter__body img,
.hexo-letter-dialog .hexo-letter-dialog__body img {
  max-width: 100%;
  height: auto;
}

.hexo-letter-dialog {
  position: fixed;
  inset: 0;
  width: min(48rem, calc(100vw - 2rem));
  max-width: none;
  height: fit-content;
  max-height: min(88vh, 88dvh);
  margin: auto;
  padding: 0;
  border: 1px solid rgba(83, 61, 35, .25);
  border-radius: 3px 10px 6px 3px;
  box-shadow: 0 24px 80px rgba(22, 19, 16, .34);
  overflow: auto;
  overscroll-behavior: contain;
  transform: none;
}

.hexo-letter-dialog:not([open]) {
  display: none;
}

.hexo-letter-dialog::backdrop {
  background: rgba(22, 20, 18, .72);
  backdrop-filter: blur(6px);
}

.hexo-letter-dialog__sheet {
  position: relative;
  box-sizing: border-box;
  padding: clamp(3.4rem, 7vw, 4rem) clamp(1.2rem, 5vw, 3rem) clamp(1.25rem, 4vw, 2.4rem);
}

.hexo-letter-dialog__body {
  min-height: 3rem;
}

@media (max-width: 480px) {
  .hexo-letter { width: calc(100% - 1.5rem); margin: 1.4rem auto 2rem; }
  .hexo-letter-dialog {
    width: calc(100vw - 1rem);
    max-height: calc(100vh - 1rem);
    max-height: calc(100dvh - 1rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hexo-letter *, .hexo-letter-dialog * { scroll-behavior: auto !important; transition-duration: 0s !important; }
  .hexo-letter__fold::before { transition: none; }
}

@media print {
  .hexo-letter {
    width: 100%;
    break-inside: auto;
    box-shadow: none;
    transform: none;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .hexo-letter__fold, .hexo-letter-dialog { display: none !important; }
}

@font-face{font-family:'hlp-font-xiaonaipao';src:url("/fonts/letter-paper/lemi-xiaonaipao.woff2") format('woff2');font-display:swap;}
@font-face{font-family:'hlp-font-qianhe';src:url("/fonts/letter-paper/lemi-qianhe.woff2") format('woff2');font-display:swap;}