/* ===== Diary App v16 old letter box samplebook ===== */
.diary-app-sheet {
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(241,244,247,.68)),
    radial-gradient(circle at 16% 8%, rgba(210,216,224,.34), transparent 27%),
    radial-gradient(circle at 88% 20%, rgba(190,178,158,.16), transparent 28%),
    linear-gradient(180deg, #fbfcfd 0%, #eef2f4 55%, #f8f7f2 100%);
}
.diary-app-sheet::before {
  opacity: .64;
  background-image:
    linear-gradient(rgba(34,42,54,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34,42,54,.022) 1px, transparent 1px),
    repeating-linear-gradient(112deg, rgba(65,58,48,.026) 0 1px, transparent 1px 15px);
  background-size: 28px 28px, 34px 34px, 100% 100%;
}
.diary-hero {
  position: relative;
  padding: 10px 8px 6px;
}
.diary-hero::after {
  content: '';
  position: absolute;
  right: 8px;
  bottom: -6px;
  width: 72px;
  height: 34px;
  border: 1px solid rgba(43,52,66,.1);
  border-radius: 2px;
  background: linear-gradient(135deg, rgba(255,255,255,.58), rgba(230,226,218,.42));
  box-shadow: -8px 7px 0 rgba(221,225,230,.42), -16px 14px 0 rgba(232,229,222,.34);
  transform: rotate(-4deg);
  pointer-events: none;
}
.diary-stack::before,
.diary-stack::after {
  content: '';
  position: absolute;
  left: 50%;
  width: min(90%, 326px);
  height: 168px;
  border: 1px solid rgba(48,58,70,.08);
  border-radius: 4px 13px 13px 4px;
  background: linear-gradient(160deg, rgba(255,255,255,.56), rgba(219,224,230,.42));
  transform: translateX(-50%) rotate(-2deg);
  box-shadow: 0 18px 34px rgba(45,54,66,.08);
  pointer-events: none;
}
.diary-stack::before { top: 20px; opacity: .72; }
.diary-stack::after { top: 42px; opacity: .52; transform: translateX(-50%) rotate(2.4deg); }
.diary-envelope-card {
  background:
    linear-gradient(90deg, rgba(34,42,54,.13) 0 15px, transparent 15px),
    radial-gradient(circle at 10px 18px, rgba(255,255,255,.78) 0 2px, transparent 2.4px),
    radial-gradient(circle at 10px 43px, rgba(255,255,255,.72) 0 2px, transparent 2.4px),
    linear-gradient(118deg, transparent 0 55%, rgba(31,38,48,.045) 55.2% 56.1%, transparent 56.3%),
    linear-gradient(160deg, color-mix(in srgb, var(--diary-paper-color, #f8fafc) 86%, #ffffff), color-mix(in srgb, var(--diary-paper-color, #f8fafc) 66%, #dce2e8));
}
.diary-envelope-card.age-aged { --diary-paper-color: #f1eadb; }
.diary-envelope-card.age-faded { --diary-paper-color: #e8ddc9; }
.diary-envelope-card.texture-scratch::before { opacity: .42; }
.diary-envelope-card.texture-fold::after { background: linear-gradient(106deg, transparent 0 var(--diary-fold-x, 54%), rgba(56,48,40,.07) calc(var(--diary-fold-x, 54%) + 1px), transparent calc(var(--diary-fold-x, 54%) + 3px)), linear-gradient(135deg, rgba(255,255,255,.14), rgba(33,41,52,.026)); }
.diary-envelope-card.texture-water { background-blend-mode: normal, normal, normal, normal, multiply, normal; }
.diary-envelope-card.texture-water::after { background: radial-gradient(ellipse at 72% 34%, rgba(94,112,126,.12), transparent 26%), radial-gradient(ellipse at 30% 74%, rgba(94,112,126,.08), transparent 22%), linear-gradient(135deg, rgba(255,255,255,.14), rgba(33,41,52,.026)); }
.diary-envelope-card[data-letter-id^="diary-layout-preview:"] { transform-origin: 52% 20%; }
.diary-envelope-card[data-letter-id$=":banner"] { transform: translateX(-50%) translateY(calc(var(--diary-offset) * -3px)) scale(calc(1 - var(--diary-offset) * .018)) rotate(-1.7deg); }
.diary-envelope-card[data-letter-id$=":fragments"] { transform: translateX(-50%) translateY(calc(var(--diary-offset) * -3px)) scale(calc(1 - var(--diary-offset) * .018)) rotate(1.2deg); }
.diary-envelope-card[data-letter-id$=":film"] { transform: translateX(-50%) translateY(calc(var(--diary-offset) * -3px)) scale(calc(1 - var(--diary-offset) * .018)) rotate(-.4deg); }
.diary-style-samplebook { max-height: min(82dvh, 560px); overflow: auto; }
.diary-style-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 12px 0 10px;
  padding: 4px;
  border: 1px solid rgba(40,50,64,.1);
  border-radius: 8px;
  background: rgba(236,240,244,.56);
}
.diary-style-tabs button {
  min-width: 0;
  height: 30px;
  border: 0;
  border-radius: 6px;
  color: rgba(33,42,54,.58);
  background: transparent;
  font-size: 12px;
  font-weight: 760;
}
.diary-style-tabs button.is-active {
  color: #171c24;
  background: rgba(255,255,255,.86);
  box-shadow: 0 8px 18px rgba(35,44,56,.09), inset 0 1px rgba(255,255,255,.86);
}
.diary-style-page { display: none; }
.diary-style-page.is-active { display: grid; gap: 11px; }
.diary-sample-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.diary-sample-option {
  min-width: 0;
  min-height: 64px;
  padding: 8px 7px;
  border: 1px solid rgba(41,51,64,.1);
  border-radius: 8px;
  color: rgba(31,39,51,.72);
  background: linear-gradient(160deg, rgba(255,255,255,.74), rgba(238,241,244,.64));
  text-align: left;
  box-shadow: inset 0 1px rgba(255,255,255,.84);
}
.diary-sample-option strong,
.diary-sample-option em { display: block; min-width: 0; overflow-wrap: anywhere; }
.diary-sample-option strong { color: #171c24; font-size: 12px; line-height: 1.2; }
.diary-sample-option em { margin-top: 5px; color: rgba(37,46,58,.5); font-size: 10px; line-height: 1.3; font-style: normal; }
.diary-sample-option.is-active {
  border-color: rgba(37,47,60,.26);
  background: linear-gradient(160deg, #fff, #edf1f3);
  box-shadow: 0 10px 22px rgba(37,46,58,.1), inset 0 1px rgba(255,255,255,.92);
}
.diary-letter-view.art-long .diary-paper.diary-art-paper {
  background:
    radial-gradient(circle at 18% 14%, rgba(55,62,70,.028), transparent 24%),
    repeating-linear-gradient(96deg, rgba(36,42,50,.018) 0 1px, transparent 1px 12px),
    linear-gradient(180deg, #fbfcfd 0%, #f4f7f9 52%, #fbfcfd 100%);
}
.diary-letter-view.age-aged .diary-paper.diary-art-paper {
  background:
    radial-gradient(circle at 12% 18%, rgba(115,92,52,.07), transparent 26%),
    repeating-linear-gradient(96deg, rgba(84,67,44,.022) 0 1px, transparent 1px 12px),
    linear-gradient(180deg, #f6f1e6 0%, #eee5d4 55%, #f8f1e4 100%);
}
.diary-letter-view.age-faded .diary-paper.diary-art-paper {
  background:
    radial-gradient(circle at 22% 18%, rgba(105,77,42,.1), transparent 19%),
    radial-gradient(circle at 78% 64%, rgba(96,74,45,.085), transparent 23%),
    repeating-radial-gradient(circle at 50% 50%, rgba(73,59,42,var(--diary-paper-speckle, .2)) 0 .55px, transparent .8px 7px),
    repeating-linear-gradient(96deg, rgba(84,67,44,.03) 0 1px, transparent 1px 12px),
    linear-gradient(180deg, #efe5d1 0%, #e5d8bf 58%, #f1e6d0 100%);
}
.diary-letter-view.age-aged .diary-art-body p { color: color-mix(in srgb, var(--diary-ink-color, #20242a) 72%, #765f44); }
.diary-letter-view.age-faded .diary-art-body p { color: color-mix(in srgb, var(--diary-ink-color, #20242a) 66%, #6f5a42); text-shadow: .18px .18px rgba(255,255,255,.36); }
.diary-letter-view.texture-water .diary-paper.diary-art-paper::before {
  background:
    radial-gradient(ellipse at 72% 22%, rgba(98,120,136,.1), transparent 26%),
    radial-gradient(ellipse at 16% 74%, rgba(98,120,136,.075), transparent 22%),
    radial-gradient(ellipse at 48% 48%, rgba(98,120,136,.052), transparent 34%);
  opacity: .78;
}
.diary-letter-view.texture-scratch .diary-paper.diary-art-paper::after {
  background:
    linear-gradient(var(--diary-scratch-tilt, -5deg), transparent 0 42%, rgba(49,42,34,var(--diary-scratch-alpha, .07)) 42.2% 42.8%, transparent 43%),
    linear-gradient(calc(var(--diary-scratch-tilt, -5deg) + 16deg), transparent 0 61%, rgba(49,42,34,.04) 61.2% 61.6%, transparent 62%);
  background-position: var(--diary-scratch-x, 46%) var(--diary-scratch-y, 36%), 58% 72%;
  opacity: .95;
}
.diary-letter-view.texture-fold .diary-paper.diary-art-paper::after {
  background:
    linear-gradient(90deg, transparent 0 calc(var(--diary-fold-x, 52%) - 1px), rgba(44,36,28,.07) var(--diary-fold-x, 52%), rgba(255,255,255,.18) calc(var(--diary-fold-x, 52%) + 2px), transparent calc(var(--diary-fold-x, 52%) + 7px)),
    linear-gradient(180deg, transparent 0 48%, rgba(44,36,28,.045) 48.2%, rgba(255,255,255,.12) 49%, transparent 51%);
  opacity: calc(.42 + var(--diary-age, 0) * .28);
}
.diary-letter-view.paper-water .diary-paper.diary-art-paper > .diary-tear-effect { display: block; }
.diary-letter-view:not(.paper-water) .diary-paper.diary-art-paper > .diary-tear-effect { display: none !important; }
.diary-letter-view.font-mood-oldprint .diary-paper.diary-art-paper { font-family: Georgia, 'Times New Roman', 'Songti SC', 'SimSun', serif; }
.diary-letter-view.font-mood-oldprint .diary-art-body p { letter-spacing: .01em; }
.diary-letter-view.font-mood-typewriter .diary-paper.diary-art-paper { font-family: 'Courier New', 'SFMono-Regular', 'Songti SC', monospace; }
.diary-letter-view.font-mood-typewriter .diary-art-body p { line-height: 2.05; }
.diary-letter-view.font-mood-clean .diary-paper.diary-art-paper { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif; }
.diary-letter-view.font-mood-clean .diary-art-body p { line-height: 2.02; }
.diary-letter-view.font-mood-nomnatong .diary-paper.diary-art-paper,
.diary-letter-view.font-mood-nomnatong .diary-art-paper h2,
.diary-letter-view.font-mood-nomnatong .diary-art-body p { font-family: 'DiaryNomNaTong', 'Songti SC', 'SimSun', serif; }
.diary-letter-view.font-mood-bailu .diary-paper.diary-art-paper,
.diary-letter-view.font-mood-bailu .diary-art-paper h2,
.diary-letter-view.font-mood-bailu .diary-art-body p { font-family: 'DiaryBailu', 'Songti SC', 'SimSun', serif; }
.diary-letter-view.font-mood-honglei-note .diary-paper.diary-art-paper,
.diary-letter-view.font-mood-honglei-note .diary-art-paper h2,
.diary-letter-view.font-mood-honglei-note .diary-art-body p { font-family: 'DiaryHongleiNote', 'Songti SC', 'SimSun', serif; }
.diary-letter-view.font-mood-huiwen-mincho .diary-paper.diary-art-paper,
.diary-letter-view.font-mood-huiwen-mincho .diary-art-paper h2,
.diary-letter-view.font-mood-huiwen-mincho .diary-art-body p { font-family: 'DiaryHuiwenMincho', 'Songti SC', 'SimSun', serif; }
.diary-letter-view.font-mood-momo-dream .diary-paper.diary-art-paper,
.diary-letter-view.font-mood-momo-dream .diary-art-paper h2,
.diary-letter-view.font-mood-momo-dream .diary-art-body p { font-family: 'DiaryMomoDream', 'Songti SC', 'SimSun', serif; }
.diary-letter-view.font-mood-pingfang-shaohua .diary-paper.diary-art-paper,
.diary-letter-view.font-mood-pingfang-shaohua .diary-art-paper h2,
.diary-letter-view.font-mood-pingfang-shaohua .diary-art-body p { font-family: 'DiaryPingfangShaohua', 'Songti SC', 'SimSun', serif; }
.diary-letter-view.font-mood-ximi-xihuan .diary-paper.diary-art-paper,
.diary-letter-view.font-mood-ximi-xihuan .diary-art-paper h2,
.diary-letter-view.font-mood-ximi-xihuan .diary-art-body p { font-family: 'DiaryXimiXihuan', 'Songti SC', 'SimSun', serif; }
.diary-letter-view.font-mood-seoul-hangang .diary-paper.diary-art-paper,
.diary-letter-view.font-mood-seoul-hangang .diary-art-paper h2,
.diary-letter-view.font-mood-seoul-hangang .diary-art-body p { font-family: 'DiarySeoulHangang', 'Apple SD Gothic Neo', 'Malgun Gothic', serif; }
.diary-letter-view.font-mood-nomnatong .diary-art-body p,
.diary-letter-view.font-mood-bailu .diary-art-body p,
.diary-letter-view.font-mood-honglei-note .diary-art-body p,
.diary-letter-view.font-mood-momo-dream .diary-art-body p,
.diary-letter-view.font-mood-ximi-xihuan .diary-art-body p { line-height: 2.14; }
.diary-letter-view.font-mood-huiwen-mincho .diary-art-body p,
.diary-letter-view.font-mood-pingfang-shaohua .diary-art-body p,
.diary-letter-view.font-mood-seoul-hangang .diary-art-body p { line-height: 2.06; }

/* Dark letter paper uses the selected swatch instead of a fixed pale sheet. */
.diary-letter-view.art-long .diary-paper.diary-art-paper {
  background:
    radial-gradient(circle at 18% 14%, color-mix(in srgb, var(--diary-ink-color, #20242a) 5%, transparent), transparent 24%),
    repeating-linear-gradient(96deg, color-mix(in srgb, var(--diary-ink-color, #20242a) 2.2%, transparent) 0 1px, transparent 1px 12px),
    linear-gradient(180deg,
      color-mix(in srgb, var(--diary-paper-color, #f8fafc) 96%, #ffffff) 0%,
      color-mix(in srgb, var(--diary-paper-color, #f8fafc) 92%, #cfd5dc) 54%,
      color-mix(in srgb, var(--diary-paper-color, #f8fafc) 97%, #ffffff) 100%);
}
[data-theme="dark"] .diary-style-panel {
  color: #f5f5f7;
  background: rgba(27, 29, 34, .96);
  border-color: rgba(255,255,255,.13);
  box-shadow: 0 26px 64px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.08);
}
[data-theme="dark"] .diary-style-head strong,
[data-theme="dark"] .diary-sample-option strong,
[data-theme="dark"] .diary-layout-grid button strong { color: #f5f5f7; }
[data-theme="dark"] .diary-style-head span,
[data-theme="dark"] .diary-style-section > span,
[data-theme="dark"] .diary-sample-option em,
[data-theme="dark"] .diary-layout-grid button em { color: rgba(245,245,247,.58); }
[data-theme="dark"] .diary-style-head button,
[data-theme="dark"] .diary-style-tabs,
[data-theme="dark"] .diary-layout-grid button,
[data-theme="dark"] .diary-sample-option,
[data-theme="dark"] .diary-color-grid button,
[data-theme="dark"] .diary-color-custom,
[data-theme="dark"] .diary-style-actions button {
  color: rgba(245,245,247,.76);
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.12);
  box-shadow: inset 0 1px rgba(255,255,255,.08);
}
[data-theme="dark"] .diary-style-tabs button { color: rgba(245,245,247,.58); }
[data-theme="dark"] .diary-style-tabs button.is-active,
[data-theme="dark"] .diary-layout-grid button.is-active,
[data-theme="dark"] .diary-sample-option.is-active {
  color: #ffffff;
  background: rgba(255,255,255,.17);
  border-color: rgba(255,255,255,.24);
  box-shadow: 0 10px 22px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.12);
}
.diary-cinema-banner-title p,
.diary-cinema-copy p,
.diary-cinema-end-title p {
  max-width: 210px;
  font-size: 9.5px;
  line-height: 1.32;
  letter-spacing: .02em;
  opacity: .72;
}
.diary-letter-view.filter-mist .diary-art-figure img { filter: grayscale(1) contrast(.8) brightness(1.12) saturate(.55); opacity: .9; }
.diary-letter-view.filter-softcolor .diary-art-figure img { filter: saturate(.72) contrast(.92) brightness(1.04); opacity: .94; }
.diary-letter-view.filter-vintage .diary-art-figure img { filter: sepia(.28) grayscale(.32) contrast(.86) brightness(1.06) saturate(.72); opacity: .9; }
.diary-letter-view.filter-vintage .diary-art-figure::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-radial-gradient(circle at 30% 40%, rgba(0,0,0,.08) 0 .45px, transparent .7px 5px);
  opacity: .22;
  pointer-events: none;
}
@media (max-width: 370px), (max-height: 650px) {
  .diary-style-samplebook { left: 8px; right: 8px; max-height: min(86dvh, 560px); }
  .diary-style-tabs { gap: 4px; }
  .diary-sample-grid { grid-template-columns: 1fr; }
  .diary-sample-option { min-height: 48px; }
.diary-cinema-banner-title p,
  .diary-cinema-copy p,
  .diary-cinema-end-title p { max-width: 184px; font-size: 8.8px; }
  .diary-letter-view.font-mood-typewriter .diary-art-body p,
  .diary-letter-view.font-mood-clean .diary-art-body p { line-height: 1.96; }
}

/* Diary v16 envelope age colors must beat inline paper swatches. */
.diary-envelope-card.age-fresh {
  background:
    linear-gradient(90deg, rgba(34,42,54,.13) 0 15px, transparent 15px),
    radial-gradient(circle at 10px 18px, rgba(255,255,255,.78) 0 2px, transparent 2.4px),
    radial-gradient(circle at 10px 43px, rgba(255,255,255,.72) 0 2px, transparent 2.4px),
    linear-gradient(118deg, transparent 0 55%, rgba(31,38,48,.045) 55.2% 56.1%, transparent 56.3%),
    linear-gradient(160deg, #ffffff, #e8eef4);
}
.diary-envelope-card.age-aged {
  background:
    linear-gradient(90deg, rgba(84,67,44,.12) 0 15px, transparent 15px),
    radial-gradient(circle at 10px 18px, rgba(255,255,255,.72) 0 2px, transparent 2.4px),
    radial-gradient(circle at 10px 43px, rgba(255,255,255,.66) 0 2px, transparent 2.4px),
    radial-gradient(circle at 22% 28%, rgba(121,92,50,.08), transparent 22%),
    linear-gradient(118deg, transparent 0 55%, rgba(87,68,44,.055) 55.2% 56.1%, transparent 56.3%),
    linear-gradient(160deg, #f8f1e4, #eadfcc);
}
.diary-envelope-card.age-faded {
  background:
    linear-gradient(90deg, rgba(84,67,44,.14) 0 15px, transparent 15px),
    radial-gradient(circle at 10px 18px, rgba(255,255,255,.62) 0 2px, transparent 2.4px),
    radial-gradient(circle at 10px 43px, rgba(255,255,255,.58) 0 2px, transparent 2.4px),
    radial-gradient(circle at 24% 26%, rgba(105,77,42,.12), transparent 20%),
    radial-gradient(circle at 78% 70%, rgba(96,74,45,.09), transparent 22%),
    repeating-radial-gradient(circle at 50% 50%, rgba(73,59,42,.1) 0 .5px, transparent .8px 7px),
    linear-gradient(118deg, transparent 0 55%, rgba(87,68,44,.065) 55.2% 56.1%, transparent 56.3%),
    linear-gradient(160deg, #efe4ce, #dfd1b7);
}

/* ===== Diary App v17 no tree-ring paper texture ===== */
.diary-letter-view.age-faded .diary-paper.diary-art-paper {
  background:
    radial-gradient(ellipse at 18% 16%, rgba(111, 82, 45, .09), transparent 20%),
    radial-gradient(ellipse at 82% 66%, rgba(96, 74, 45, .065), transparent 24%),
    radial-gradient(ellipse at 42% 86%, rgba(114, 88, 50, .05), transparent 18%),
    repeating-linear-gradient(97deg, rgba(86, 70, 48, .032) 0 1px, transparent 1px 15px),
    repeating-linear-gradient(3deg, rgba(255,255,255,.09) 0 1px, transparent 1px 18px),
    linear-gradient(180deg, #efe5d1 0%, #e5d8bf 58%, #f1e6d0 100%);
}
.diary-letter-view.age-faded .diary-paper.diary-art-paper::before {
  background:
    radial-gradient(ellipse at 24% 22%, rgba(91, 70, 42, .07), transparent 18%),
    radial-gradient(ellipse at 72% 76%, rgba(91, 70, 42, .045), transparent 20%),
    repeating-linear-gradient(112deg, transparent 0 18px, rgba(79, 63, 43, .035) 18px 19px, transparent 19px 38px);
  opacity: .46;
}
.diary-letter-view.texture-water.age-faded .diary-paper.diary-art-paper::before {
  background:
    radial-gradient(ellipse at 72% 22%, rgba(98,120,136,.08), transparent 24%),
    radial-gradient(ellipse at 16% 74%, rgba(98,120,136,.055), transparent 20%),
    linear-gradient(112deg, transparent 0 34%, rgba(98,120,136,.035) 34.5% 35%, transparent 35.5%),
    repeating-linear-gradient(101deg, transparent 0 20px, rgba(98,120,136,.035) 20px 21px, transparent 21px 42px);
  opacity: .58;
}
.diary-envelope-card.age-faded {
  background:
    linear-gradient(90deg, rgba(84,67,44,.14) 0 15px, transparent 15px),
    radial-gradient(circle at 10px 18px, rgba(255,255,255,.62) 0 2px, transparent 2.4px),
    radial-gradient(circle at 10px 43px, rgba(255,255,255,.58) 0 2px, transparent 2.4px),
    radial-gradient(ellipse at 24% 26%, rgba(105,77,42,.11), transparent 19%),
    radial-gradient(ellipse at 78% 70%, rgba(96,74,45,.075), transparent 21%),
    repeating-linear-gradient(98deg, rgba(84,67,44,.034) 0 1px, transparent 1px 16px),
    linear-gradient(118deg, transparent 0 55%, rgba(87,68,44,.065) 55.2% 56.1%, transparent 56.3%),
    linear-gradient(160deg, #efe4ce, #dfd1b7);
}
.diary-letter-view.filter-vintage .diary-art-figure::after {
  background:
    radial-gradient(ellipse at 22% 28%, rgba(0,0,0,.055), transparent 20%),
    radial-gradient(ellipse at 80% 68%, rgba(0,0,0,.038), transparent 22%),
    repeating-linear-gradient(103deg, transparent 0 8px, rgba(0,0,0,.038) 8px 9px, transparent 9px 18px);
  opacity: .18;
}

/* ===== Diary App v18 letterhead header menu ===== */
.diary-app-header {
  position: relative;
  z-index: 40;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  min-height: calc(86px + var(--safe-top-inset, 0px));
  padding: calc(34px + var(--safe-top-inset, 0px)) 22px 13px;
  box-sizing: border-box;
  background:
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(247,249,251,.68)),
    repeating-linear-gradient(102deg, rgba(47,56,70,.026) 0 1px, transparent 1px 18px);
  border-bottom: 1px solid rgba(42,52,66,.075);
  box-shadow: 0 12px 30px rgba(41,50,62,.055), inset 0 1px rgba(255,255,255,.9);
  backdrop-filter: blur(18px) saturate(1.05);
  -webkit-backdrop-filter: blur(18px) saturate(1.05);
}
.diary-app-header .diary-close-btn {
  justify-self: start;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(39,48,61,.07);
  border-radius: 50%;
  color: rgba(32,38,48,.62);
  background: rgba(255,255,255,.58);
  box-shadow: 0 7px 16px rgba(37,46,58,.07), inset 0 1px rgba(255,255,255,.72);
}
.diary-app-header .diary-close-btn svg {
  width: 14px;
  height: 14px;
  stroke-width: 1.7;
}
.diary-app-header .diary-app-title {
  justify-self: center;
  min-width: 0;
  display: grid;
  gap: 2px;
  text-align: center;
}
.diary-app-header .diary-app-title span {
  color: rgba(42,50,62,.38);
  font: 8.5px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.diary-app-header .diary-app-title strong {
  color: #171c24;
  font-family: Georgia, 'Times New Roman', 'Songti SC', 'SimSun', serif;
  font-size: 26px;
  line-height: 1.05;
  font-weight: 520;
  letter-spacing: .04em;
}
.diary-header-actions {
  position: relative;
  justify-self: end;
  display: grid;
  place-items: center;
}
.diary-more-btn {
  width: 30px;
  height: 30px;
  border: 1px solid rgba(39,48,61,.07);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: rgba(32,38,48,.66);
  background: rgba(255,255,255,.54);
  box-shadow: 0 7px 16px rgba(37,46,58,.07), inset 0 1px rgba(255,255,255,.7);
}
.diary-more-btn span {
  display: block;
  margin-top: -5px;
  color: inherit;
  font: 700 17px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .02em;
}
.diary-more-btn[aria-expanded="true"] {
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 22px rgba(37,46,58,.11), inset 0 1px rgba(255,255,255,.84);
}
.diary-header-menu {
  position: absolute;
  top: 38px;
  right: 0;
  width: 132px;
  padding: 7px;
  border: 1px solid rgba(41,51,64,.095);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(246,248,249,.88)),
    repeating-linear-gradient(105deg, rgba(46,55,68,.028) 0 1px, transparent 1px 16px);
  box-shadow: 0 20px 44px rgba(35,44,56,.14), inset 0 1px rgba(255,255,255,.9);
  backdrop-filter: blur(18px) saturate(1.04);
  -webkit-backdrop-filter: blur(18px) saturate(1.04);
}
.diary-header-menu[hidden] { display: none !important; }
.diary-header-menu:not([hidden]) { display: grid; gap: 2px; animation: diaryHeaderMenuIn 140ms ease both; }
.diary-header-menu::before {
  content: '';
  position: absolute;
  top: -5px;
  right: 13px;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
  border-left: 1px solid rgba(41,51,64,.08);
  border-top: 1px solid rgba(41,51,64,.08);
  background: rgba(255,255,255,.93);
}
.diary-header-menu button {
  min-height: 31px;
  border: 0;
  border-radius: 6px;
  padding: 0 9px;
  color: rgba(28,35,45,.74);
  background: transparent;
  text-align: left;
  font-size: 12px;
  font-weight: 680;
  letter-spacing: 0;
}
.diary-header-menu button:active,
.diary-header-menu button:hover {
  color: #151b24;
  background: rgba(34,42,54,.06);
}
.diary-app-content {
  flex: 1;
  height: auto !important;
  padding-top: 16px;
}
.diary-hero {
  align-items: flex-end;
  gap: 14px;
  margin: 0 0 13px;
  padding: 8px 0 4px;
}
.diary-hero > div:first-child strong {
  color: #171c24;
  font-family: Georgia, 'Times New Roman', 'Songti SC', 'SimSun', serif;
  font-weight: 520;
  letter-spacing: .02em;
}
.diary-hero-actions {
  flex: 1 1 auto;
  justify-content: flex-end;
}
.diary-hero-actions p {
  max-width: 182px;
  margin: 0;
  color: rgba(39,48,61,.46);
  font-size: 11px;
  line-height: 1.45;
  font-weight: 560;
  text-align: right;
}
.diary-hero-buttons { display: none !important; }
@keyframes diaryHeaderMenuIn {
  from { opacity: 0; transform: translateY(-4px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 370px), (max-height: 650px) {
  .diary-app-header {
    min-height: calc(80px + var(--safe-top-inset, 0px));
    padding: calc(30px + var(--safe-top-inset, 0px)) 16px 11px;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
  }
  .diary-app-header .diary-app-title strong { font-size: 23px; }
  .diary-app-header .diary-app-title span { font-size: 8px; }
  .diary-header-menu { right: -2px; width: 122px; }
  .diary-hero-actions p { max-width: 146px; font-size: 10px; }
}

/* ===== Diary App v19 compact header, contact picker, stronger water ===== */
.diary-app-header {
  min-height: calc(72px + var(--safe-top-inset, 0px));
  padding: calc(24px + var(--safe-top-inset, 0px)) 22px 9px;
  box-shadow: 0 8px 22px rgba(41,50,62,.045), inset 0 1px rgba(255,255,255,.88);
}
.diary-app-header .diary-app-title { gap: 1px; }
.diary-app-header .diary-app-title span { font-size: 8px; letter-spacing: .13em; }
.diary-app-header .diary-app-title strong { font-size: 23px; line-height: 1; }
.diary-app-header .diary-close-btn,
.diary-more-btn { width: 28px; height: 28px; }
.diary-header-menu { top: 34px; }
.diary-app-content { padding-top: 10px; }
.diary-hero {
  margin-bottom: 8px;
  padding-top: 4px;
  padding-bottom: 2px;
}
.diary-hero-actions p {
  max-width: 150px;
  color: rgba(39,48,61,.42);
  font-size: 10px;
  line-height: 1.34;
}
.diary-contact-picker {
  position: relative;
  z-index: 8;
  margin: 0 0 12px;
}
.diary-contact-current {
  width: 100%;
  min-height: 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "label count" "name count";
  align-items: center;
  gap: 2px 10px;
  padding: 8px 12px;
  border: 1px solid rgba(42,52,66,.09);
  border-radius: 8px;
  color: #171c24;
  background:
    linear-gradient(180deg, rgba(255,255,255,.74), rgba(246,248,250,.58)),
    repeating-linear-gradient(105deg, rgba(46,55,68,.024) 0 1px, transparent 1px 16px);
  box-shadow: 0 10px 22px rgba(37,46,58,.07), inset 0 1px rgba(255,255,255,.82);
  text-align: left;
}
.diary-contact-current span {
  grid-area: label;
  color: rgba(39,48,61,.42);
  font: 8.5px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.diary-contact-current strong {
  grid-area: name;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: Georgia, 'Times New Roman', 'Songti SC', 'SimSun', serif;
  font-size: 17px;
  font-weight: 520;
}
.diary-contact-current em {
  grid-area: count;
  align-self: center;
  padding: 5px 8px;
  border-radius: 999px;
  color: rgba(39,48,61,.5);
  background: rgba(255,255,255,.62);
  font-size: 10px;
  font-style: normal;
  white-space: nowrap;
}
.diary-contact-current::after {
  content: '';
  position: absolute;
  right: 14px;
  bottom: 8px;
  width: 14px;
  height: 1px;
  background: rgba(39,48,61,.24);
  transform: rotate(0deg);
}
.diary-contact-current[aria-expanded="true"] { border-color: rgba(42,52,66,.16); background-color: rgba(255,255,255,.86); }
.diary-contact-strip[data-contact-list] {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 7px);
  max-height: min(260px, 42dvh);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
  padding: 8px;
  overflow: auto;
  border: 1px solid rgba(42,52,66,.1);
  border-radius: 8px;
  background: rgba(250,252,253,.96);
  box-shadow: 0 22px 48px rgba(37,46,58,.15), inset 0 1px rgba(255,255,255,.86);
  backdrop-filter: blur(18px) saturate(1.04);
  -webkit-backdrop-filter: blur(18px) saturate(1.04);
}
.diary-contact-strip[data-contact-list][hidden] { display: none !important; }
.diary-contact-strip[data-contact-list] .diary-contact-chip {
  width: 100%;
  min-width: 0;
  height: 42px;
  justify-content: space-between;
  border-radius: 7px;
  padding: 0 10px;
  background: rgba(255,255,255,.58);
  box-sizing: border-box;
}
.diary-contact-strip[data-contact-list] .diary-contact-chip span {
  max-width: none;
  min-width: 0;
  font-size: 12px;
}
.diary-contact-strip[data-contact-list] .diary-contact-chip em {
  min-width: auto;
  height: auto;
  padding: 3px 6px;
  color: rgba(39,48,61,.54);
  background: rgba(39,48,61,.07);
  font-size: 9px;
}
.diary-contact-strip[data-contact-list] .diary-contact-chip.is-active {
  background: rgba(255,255,255,.92);
  border-color: rgba(38,48,62,.2);
}
.diary-letter-close {
  left: 14px;
  right: auto;
  top: calc(10px + var(--safe-top-inset, 0px));
  width: auto;
  min-width: 74px;
  height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(38,48,62,.09);
  border-radius: 999px;
  color: rgba(31,39,51,.68);
  background: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 720;
  letter-spacing: 0;
}
.diary-letter-close span { display: block; white-space: nowrap; }
.diary-letter-close svg { display: none; }
.diary-letter-view.texture-water .diary-paper.diary-art-paper::before,
.diary-letter-view.texture-water.age-faded .diary-paper.diary-art-paper::before {
  background:
    radial-gradient(ellipse at 70% 20%, rgba(82,112,126,.18), transparent 24%),
    radial-gradient(ellipse at 18% 72%, rgba(82,112,126,.13), transparent 22%),
    radial-gradient(ellipse at 46% 48%, rgba(82,112,126,.09), transparent 30%),
    linear-gradient(112deg, transparent 0 30%, rgba(82,112,126,.07) 34% 36%, transparent 44% 100%),
    repeating-linear-gradient(101deg, transparent 0 18px, rgba(82,112,126,.055) 18px 19px, transparent 19px 38px);
  opacity: .78;
  mix-blend-mode: multiply;
}
.diary-letter-view.paper-water .diary-tear-effect {
  opacity: .86;
  mix-blend-mode: multiply;
}
.diary-letter-view.paper-water.is-water-settled .diary-tear-effect::before {
  opacity: .34;
  background-image:
    radial-gradient(ellipse 58% 42% at 44% 52%, rgba(72,100,116,.12), rgba(72,100,116,.045) 58%, transparent 82%),
    radial-gradient(ellipse 38% 28% at 72% 76%, rgba(72,100,116,.075), transparent 78%);
}
@media (max-width: 370px), (max-height: 650px) {
  .diary-app-header {
    min-height: calc(66px + var(--safe-top-inset, 0px));
    padding: calc(22px + var(--safe-top-inset, 0px)) 16px 8px;
  }
  .diary-app-header .diary-app-title strong { font-size: 21px; }
  .diary-contact-strip[data-contact-list] { grid-template-columns: 1fr; }
  .diary-contact-current { min-height: 42px; }
  .diary-letter-close { left: 10px; top: calc(8px + var(--safe-top-inset, 0px)); min-width: 70px; height: 30px; font-size: 11px; }
}


/* Diary v19 contact current positioning patch. */
.diary-contact-current { position: relative; }


/* ===== Diary App v20 glass basket and visible return tab ===== */
.diary-stack {
  isolation: isolate;
  overflow: visible;
  margin-top: 12px;
  padding-top: 28px;
  height: min(506px, calc(100dvh - 214px));
}
.diary-stack::before,
.diary-stack::after {
  content: '';
  position: absolute;
  left: 50%;
  width: min(94%, 342px);
  pointer-events: none;
  border: 1px solid rgba(116, 96, 76, .16);
  border-radius: 14px 14px 22px 22px;
  transform: translateX(-50%);
}
.diary-stack::before {
  top: 58px;
  height: min(332px, calc(100% - 78px));
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.3), rgba(230,222,207,.16)),
    linear-gradient(90deg, rgba(255,255,255,.22), rgba(161,139,110,.08) 48%, rgba(255,255,255,.18));
  box-shadow: inset 0 1px rgba(255,255,255,.7), inset 0 -18px 34px rgba(129,105,76,.08), 0 18px 42px rgba(52,47,41,.08);
  backdrop-filter: blur(8px) saturate(1.04);
  -webkit-backdrop-filter: blur(8px) saturate(1.04);
}
.diary-stack::after {
  top: 152px;
  height: min(230px, calc(100% - 168px));
  z-index: 4;
  border-top-color: rgba(255,255,255,.46);
  background:
    linear-gradient(180deg, rgba(255,255,255,.2), rgba(236,228,211,.28) 30%, rgba(218,203,179,.18)),
    repeating-linear-gradient(100deg, transparent 0 18px, rgba(119,98,72,.045) 18px 19px, transparent 19px 36px);
  box-shadow: inset 0 12px 18px rgba(255,255,255,.22), inset 0 -16px 28px rgba(125,101,72,.08), 0 16px 34px rgba(45,39,32,.07);
  backdrop-filter: blur(7px) saturate(1.02);
  -webkit-backdrop-filter: blur(7px) saturate(1.02);
}
.diary-envelope-card {
  z-index: 2;
  top: calc(26px + var(--diary-offset) * 40px);
  transform: translateX(-50%) translateY(calc(var(--diary-offset) * -2px)) scale(calc(1 - var(--diary-offset) * .014));
}
.diary-envelope-card:hover {
  transform: translateX(-50%) translateY(calc(var(--diary-offset) * -2px - 6px)) scale(calc(1 - var(--diary-offset) * .014));
}
.diary-envelope-card:active {
  transform: translateX(-50%) translateY(calc(var(--diary-offset) * -2px - 2px)) scale(calc(.985 - var(--diary-offset) * .014));
}
.diary-envelope-card.is-selected {
  z-index: 6;
  transform: translateX(-50%) translateY(-42px) scale(1.024);
}
.diary-envelope-card[data-letter-id^="diary-layout-preview:"] {
  transform-origin: 52% 26%;
}
.diary-envelope-card[data-letter-id$=":banner"] { transform: translateX(-50%) translateY(calc(var(--diary-offset) * -2px)) scale(calc(1 - var(--diary-offset) * .014)) rotate(-1.2deg); }
.diary-envelope-card[data-letter-id$=":fragments"] { transform: translateX(-50%) translateY(calc(var(--diary-offset) * -2px)) scale(calc(1 - var(--diary-offset) * .014)) rotate(.9deg); }
.diary-envelope-card[data-letter-id$=":film"] { transform: translateX(-50%) translateY(calc(var(--diary-offset) * -2px)) scale(calc(1 - var(--diary-offset) * .014)) rotate(-.3deg); }
.diary-letter-view.art-long {
  padding-top: calc(34px + var(--safe-top-inset, 0px));
}
.diary-letter-view.art-long .diary-letter-stage {
  padding: 54px 8px 72px;
  overflow-y: auto;
  place-items: start center;
}
.diary-letter-view.art-long .diary-paper.diary-art-paper {
  margin-top: 8px;
}
.diary-letter-view.art-long.is-open .diary-paper.diary-art-paper {
  transform: translateY(22px) scale(1);
}
.diary-letter-stage .diary-letter-close {
  position: absolute;
  z-index: 12;
  left: max(6px, calc(50% - min(100%, 342px) / 2 - 2px));
  top: 20px;
  right: auto;
  width: auto;
  min-width: 46px;
  max-width: max-content;
  height: 26px;
  padding: 0 8px;
  border-radius: 999px 999px 999px 4px;
  color: rgba(31,39,51,.7);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(38,48,62,.1);
  box-shadow: 0 10px 22px rgba(37,46,58,.12), inset 0 1px rgba(255,255,255,.84);
  backdrop-filter: blur(12px) saturate(1.04);
  -webkit-backdrop-filter: blur(12px) saturate(1.04);
}
.diary-letter-stage .diary-letter-close::after {
  content: '';
  position: absolute;
  right: 10px;
  bottom: -5px;
  width: 10px;
  height: 10px;
  background: rgba(255,255,255,.82);
  border-right: 1px solid rgba(38,48,62,.08);
  border-bottom: 1px solid rgba(38,48,62,.08);
  transform: rotate(45deg);
}
.diary-letter-stage .diary-letter-close span {
  position: relative;
  z-index: 1;
}
@media (max-width: 370px), (max-height: 650px) {
  .diary-stack {
    margin-top: 8px;
    padding-top: 22px;
    height: min(444px, calc(100dvh - 204px));
  }
  .diary-stack::before { top: 48px; height: min(294px, calc(100% - 68px)); }
  .diary-stack::after { top: 128px; height: min(202px, calc(100% - 144px)); }
  .diary-envelope-card { top: calc(20px + var(--diary-offset) * 36px); }
  .diary-letter-view.art-long .diary-letter-stage { padding: 50px 4px 64px; }
  .diary-letter-view.art-long.is-open .diary-paper.diary-art-paper { transform: translateY(18px) scale(1); }
  .diary-letter-stage .diary-letter-close {
    left: max(4px, calc(50% - min(100%, 318px) / 2 - 1px));
    top: 18px;
    min-width: 42px;
    height: 25px;
    padding: 0 7px;
    font-size: 10px;
  }
}

/* Recent apps trigger guard 2026-07-22: keep it as a small icon, never a dock-covering pill. */
.recent-apps-trigger {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  right: 14px !important;
  bottom: calc(104px + var(--safe-bottom-inset, 0px)) !important;
  display: none;
  place-items: center;
  justify-content: center;
  gap: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  line-height: 1;
}
.recent-apps-trigger span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}
.recent-apps-trigger svg {
  width: 19px !important;
  height: 19px !important;
  flex: 0 0 auto;
}
@media (min-width: 768px) {
  .recent-apps-trigger { display: grid !important; }
}
@media (max-width: 767px) {
  .recent-apps-trigger { display: none !important; }
  .recent-apps-gesture-zone {
    width: 92px !important;
    height: calc(14px + var(--safe-bottom-inset, 0px)) !important;
    z-index: 180 !important;
  }
  .recent-apps-gesture-zone span {
    width: 72px !important;
    margin-top: 5px !important;
  }
  .recent-apps-gesture-zone.is-touching span { width: 88px !important; }
}

/* ===== Lnyy system v31 global status-bar content guard ===== */
:root {
  --lnyy-statusbar-height: calc(28px + var(--safe-top-inset, 0px));
}

.phone-container > .app-view {
  top: var(--lnyy-statusbar-height) !important;
  bottom: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

.phone-container > .app-view .app-header {
  min-height: 52px;
  padding-top: 10px;
  padding-bottom: 10px;
  box-sizing: border-box;
}

.phone-container > .modal-overlay.memory-app-overlay,
.phone-container > .modal-overlay.lnyy-library-overlay,
.phone-container > .modal-overlay.diary-app-overlay {
  top: var(--lnyy-statusbar-height) !important;
  bottom: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

.phone-container > .modal-overlay.memory-app-overlay .memory-app-sheet,
.phone-container > .modal-overlay.lnyy-library-overlay .memory-app-sheet,
.phone-container > .modal-overlay.diary-app-overlay .diary-app-sheet {
  height: 100% !important;
  min-height: 0 !important;
}

.phone-container > .modal-overlay.memory-app-overlay .memory-app-header,
.phone-container > .modal-overlay.lnyy-library-overlay .memory-app-header {
  min-height: 56px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  box-sizing: border-box;
}

.phone-container > .modal-overlay.diary-app-overlay .diary-app-header {
  min-height: 58px !important;
  padding-top: 12px !important;
  padding-bottom: 10px !important;
  box-sizing: border-box;
}

.phone-container > .modal-overlay.diary-app-overlay .diary-header-menu {
  top: 38px !important;
}

@media (max-width: 370px), (max-height: 650px) {
  .phone-container > .app-view .app-header {
    min-height: 50px;
    padding-top: 9px;
    padding-bottom: 9px;
  }

  .phone-container > .modal-overlay.memory-app-overlay .memory-app-header,
  .phone-container > .modal-overlay.lnyy-library-overlay .memory-app-header {
    min-height: 52px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .phone-container > .modal-overlay.diary-app-overlay .diary-app-header {
    min-height: 54px !important;
    padding-top: 10px !important;
    padding-bottom: 9px !important;
  }
}
