/*
 * 全站公共基础样式。
 * 页面自己的样式在本文件之后加载，可以按需覆盖这里的默认值。
 */
@font-face {
  font-family: "LXGW WenKai";
  src: url("/static/lxgw-wenkai.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Oleo Script";
  src: url("/static/fonts/OleoScript-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0000-024F, U+1E00-1EFF;
}

@font-face {
  font-family: "Oleo Script";
  src: url("/static/fonts/OleoScript-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  unicode-range: U+0000-024F, U+1E00-1EFF;
}

@font-face {
  font-family: "AaCheeseCJK";
  src: url("/static/fonts/GoodnightLetterCheese-App.ttf?v=4") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "AaCheeseCJK";
  src: url("/static/fonts/GoodnightLetterCheese-App.ttf?v=4") format("truetype");
  font-style: normal;
  font-weight: 500 900;
  font-display: swap;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.english-page-title {
  font-family: "Oleo Script", cursive !important;
  font-size: clamp(34px, 3.4vw, 52px) !important;
  font-style: italic !important;
  font-weight: 800 !important;
  line-height: .95 !important;
  letter-spacing: -.02em !important;
  color: var(--ink, #496653) !important;
}

/*
 * 橘里手绘插画 · 第一版全站视觉
 * 颜色和边缘花草取自用户提供的参考 PPT；只调整视觉，不改变页面结构。
 */
body.has-core-nav {
  color: var(--ink) !important;
}

body.has-core-nav > main,
body.has-core-nav > .wrap,
body.has-core-nav > .page-head,
body.has-core-nav > .sec-label,
body.has-core-nav > .acc {
  position: relative;
  z-index: 1;
}

body.has-core-nav::before,
body.has-core-nav::after {
  display: none !important;
}

body.has-core-nav::before {
  width: 190px;
  height: 190px;
  right: -42px;
  top: 54px;
  opacity: .23;
  transform: rotate(8deg);
}

body.has-core-nav::after {
  width: 150px;
  height: 150px;
  left: -50px;
  bottom: 48px;
  opacity: .14;
  transform: rotate(194deg);
}

@media (orientation: landscape) {
  body.has-core-nav {
    background-position: center center;
    background-size: 100% 100%;
  }
}

body.has-core-nav :where(h1, h2, h3, .page-head h1) {
  color: var(--ink) !important;
  letter-spacing: .025em;
}

body.has-core-nav :where(.eyebrow, .sec-label, .head > small, .head small, .sub) {
  color: var(--ink3) !important;
}

body.has-core-nav :where(.glass:not(.galaxy), .glassy, .tabs, .memory-calendar, .stat, .card, .activity, .people, .sheet, .empty) {
  background-color: color-mix(in srgb, var(--card) 76%, transparent) !important;
  border-color: var(--glass-border, rgba(255,255,244,.88)) !important;
  box-shadow: 0 9px 26px var(--shadow, rgba(105,130,80,.12)) !important;
}

body.has-core-nav :where(.glass:not(.galaxy), .glassy, .tabs, .memory-calendar, .stat, .card, .activity, .people) {
  backdrop-filter: blur(22px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.08) !important;
}

body.has-core-nav :where(button, .record-btn, .note-link, .fbtn, .save-btn, .engine-opt, input, textarea, select) {
  border-color: var(--line) !important;
}

body.has-core-nav :where(h1, h2, h3, .eyebrow, .sec-label, .top-name, .love-record, button, .record-btn, .note-link) {
  font-weight: 600;
}

body.has-core-nav :where(.save-btn, .fbtn.on, .tabs button.on, .week-day.active) {
  background-color: var(--accent) !important;
  color: #fff !important;
}

body.has-core-nav :where(.a-icon, .cat-icon, .activity-icon, .state-chip) {
  background-color: color-mix(in srgb, var(--accent) 14%, transparent) !important;
  color: var(--deep) !important;
}

body.has-core-nav :where(.big-days, .love-record, .bond) {
  color: var(--accent) !important;
}

body.has-core-nav :where(.bar i, .prog b) {
  background: var(--accent) !important;
}

body.has-core-nav :where(.section-title, h2) {
  position: relative;
}

body.has-core-nav :where(.section-title, h2)::after {
  border: 0 !important;
  background: url("/static/juli-stroke.png") center / 100% 100% no-repeat !important;
  opacity: .72;
}

body.has-core-nav .memory-cell {
  background: rgba(151, 184, 119, .10) !important;
}
body.has-core-nav .memory-cell.l1 { background: rgba(151, 184, 119, .28) !important; }
body.has-core-nav .memory-cell.l2 { background: rgba(139, 174, 103, .48) !important; }
body.has-core-nav .memory-cell.l3 { background: rgba(120, 159, 88, .70) !important; }
body.has-core-nav .memory-cell.l4 { background: #6f9a5b !important; }
body.has-core-nav .cal-legend i:nth-of-type(1) { background: rgba(151, 184, 119, .10) !important; }
body.has-core-nav .cal-legend i:nth-of-type(2) { background: rgba(151, 184, 119, .28) !important; }
body.has-core-nav .cal-legend i:nth-of-type(3) { background: rgba(139, 174, 103, .48) !important; }
body.has-core-nav .cal-legend i:nth-of-type(4) { background: rgba(120, 159, 88, .70) !important; }
body.has-core-nav .cal-legend i:nth-of-type(5) { background: #6f9a5b !important; }

@media (max-width: 700px) {
  body.has-core-nav::before { width: 140px; height: 140px; opacity: .18; }
  body.has-core-nav::after { width: 110px; height: 110px; }
}

@media (prefers-reduced-motion: reduce) {
  body.has-core-nav *,
  body.has-core-nav *::before,
  body.has-core-nav *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
