/* Theme root variables, shared color tokens, palettes, and theme-level custom properties. */
:root {
  --background: #f4f6f8;
  --foreground: #243041;
  --muted: #66758a;
  --card: #ffffff;
  --card-muted: #eef3f8;
  --border: #d7e0ea;
  --accent: #607996;
  --accent-contrast: #ffffff;
  --danger: #d92d20;
  --shadow: 0 12px 30px rgba(42,58,88,0.08);
  --markdown-code-bg: #edf2f7;
  --markdown-quote: #5d6b7c;
  --accent-soft: #e5edf4;
  --accent-soft-text: #49627e;
  --hero-start: #dce8f8;
  --hero-end: #f3e9dc;
  --hero-text: #213047;
  --hero-subtitle: #51637a;
  --hero-chip: rgba(255,255,255,0.72);
  --hero-chip-text: #37506d;
  --hero-border: rgba(116,137,165,0.24);
  --hero-orb: rgba(255,255,255,0.38);
  --composer-scroll-thumb: #8da6bf;
  --composer-scroll-track: #e8eef5;
  --content-width: 1320px;

  --bg: var(--background);
  --bg-elevated: var(--card);
  --text: var(--foreground);
  --text-soft: var(--muted);
}

html[data-theme=dark] {
  --background: #0f1623;
  --foreground: #e6edf7;
  --muted: #9cacbf;
  --card: #151d2b;
  --card-muted: #1b2535;
  --border: #2a3648;
  --accent: #7f98b6;
  --accent-contrast: #f8fbff;
  --danger: #f97066;
  --shadow: 0 12px 34px rgba(0,0,0,0.24);
  --markdown-code-bg: #121927;
  --markdown-quote: #9aa6b2;
  --accent-soft: #263448;
  --accent-soft-text: #d4e0f2;
  --hero-start: #1d2a3d;
  --hero-end: #2d2235;
  --hero-text: #eef4ff;
  --hero-subtitle: #bed0e7;
  --hero-chip: rgba(255,255,255,0.08);
  --hero-chip-text: #d9e6ff;
  --hero-border: rgba(145,170,212,0.16);
  --hero-orb: rgba(133,163,255,0.16);
  --composer-scroll-thumb: #5f7895;
  --composer-scroll-track: #1a2433;

  --bg: var(--background);
  --bg-elevated: var(--card);
  --text: var(--foreground);
  --text-soft: var(--muted);
}

html[data-palette="golden-summer-fields"] {
  --background: #fefae0;
  --foreground: #4f4736;
  --muted: #85745d;
  --card: #fffdf0;
  --card-muted: #faedcd;
  --border: #e9edc9;
  --accent: #d4a373;
  --accent-contrast: #ffffff;
  --danger: #c86b63;
  --shadow: 0 12px 30px rgba(104, 85, 61, 0.08);
  --markdown-code-bg: #fbf1d7;
  --markdown-quote: #83725a;
  --accent-soft: #f1e2c3;
  --accent-soft-text: #8c6a4a;
  --hero-start: #e9edc9;
  --hero-end: #faedcd;
  --hero-text: #4f4736;
  --hero-subtitle: #7e705d;
  --hero-chip: rgba(255,255,255,0.66);
  --hero-chip-text: #866446;
  --hero-border: rgba(169,139,103,0.18);
  --hero-orb: rgba(255,255,255,0.34);
}

html[data-theme=dark][data-palette="golden-summer-fields"] {
  --background: #2b241d;
  --foreground: #fefae0;
  --muted: #d4c8a0;
  --card: #372f25;
  --card-muted: #44392c;
  --border: #5c4b37;
  --accent: #d4a373;
  --accent-contrast: #fffaf0;
  --danger: #f19a84;
  --shadow: 0 12px 34px rgba(0,0,0,0.30);
  --markdown-code-bg: #312a22;
  --markdown-quote: #d2c7a1;
  --accent-soft: #57452f;
  --accent-soft-text: #f3e6cf;
  --hero-start: #514530;
  --hero-end: #664b30;
  --hero-text: #fff7df;
  --hero-subtitle: #e8dcb6;
  --hero-chip: rgba(255,255,255,0.08);
  --hero-chip-text: #f4e4c8;
  --hero-border: rgba(212,163,115,0.16);
  --hero-orb: rgba(212,163,115,0.16);
}

html[data-palette="soft-pastel-shades"] {
  --background: #fff1e6;
  --foreground: #5c5f68;
  --muted: #8c8f96;
  --card: #ffffff;
  --card-muted: #f0efeb;
  --border: #dbe7e4;
  --accent: #99c1de;
  --accent-contrast: #ffffff;
  --danger: #d2778a;
  --shadow: 0 12px 30px rgba(125, 133, 145, 0.08);
  --markdown-code-bg: #f6eeef;
  --markdown-quote: #8d8f98;
  --accent-soft: #d6e2e9;
  --accent-soft-text: #6485a1;
  --hero-start: #fde2e4;
  --hero-end: #c5dedd;
  --hero-text: #5d5f69;
  --hero-subtitle: #8c8b90;
  --hero-chip: rgba(255,255,255,0.68);
  --hero-chip-text: #7a8897;
  --hero-border: rgba(153,193,222,0.18);
  --hero-orb: rgba(255,255,255,0.34);
}

html[data-theme=dark][data-palette="soft-pastel-shades"] {
  --background: #2c2930;
  --foreground: #f7f0ed;
  --muted: #d1c2c0;
  --card: #36323a;
  --card-muted: #403b45;
  --border: #5a5562;
  --accent: #99c1de;
  --accent-contrast: #1d2630;
  --danger: #f29ca8;
  --shadow: 0 12px 34px rgba(0,0,0,0.30);
  --markdown-code-bg: #312d35;
  --markdown-quote: #d5c9c8;
  --accent-soft: #4c5c6a;
  --accent-soft-text: #e7f0f7;
  --hero-start: #5f4c58;
  --hero-end: #4e676b;
  --hero-text: #fff6f2;
  --hero-subtitle: #e1d3cf;
  --hero-chip: rgba(255,255,255,0.08);
  --hero-chip-text: #e4eef4;
  --hero-border: rgba(153,193,222,0.16);
  --hero-orb: rgba(197,222,221,0.14);
}

html[data-palette="black-gold-elegance"] {
  --background: #f3f1eb;
  --foreground: #14213d;
  --muted: #55627d;
  --card: #ffffff;
  --card-muted: #e5e5e5;
  --border: #d2d2d2;
  --accent: #fca311;
  --accent-contrast: #1b1406;
  --danger: #c85b4c;
  --shadow: 0 12px 30px rgba(20, 33, 61, 0.10);
  --markdown-code-bg: #ece9df;
  --markdown-quote: #59657c;
  --accent-soft: #f5e1b5;
  --accent-soft-text: #8d5c0d;
  --hero-start: #e5e5e5;
  --hero-end: #f5dfb5;
  --hero-text: #14213d;
  --hero-subtitle: #4f5f7e;
  --hero-chip: rgba(255,255,255,0.66);
  --hero-chip-text: #7a5a1c;
  --hero-border: rgba(146,120,59,0.18);
  --hero-orb: rgba(255,255,255,0.34);
}

html[data-theme=dark][data-palette="black-gold-elegance"] {
  --background: #000000;
  --foreground: #e5e5e5;
  --muted: #b4b7bf;
  --card: #111111;
  --card-muted: #14213d;
  --border: #2f3c56;
  --accent: #fca311;
  --accent-contrast: #1c1404;
  --danger: #ff8d78;
  --shadow: 0 12px 34px rgba(0,0,0,0.36);
  --markdown-code-bg: #0d1117;
  --markdown-quote: #c0c3cb;
  --accent-soft: #4f3810;
  --accent-soft-text: #ffe6b3;
  --hero-start: #14213d;
  --hero-end: #3d2a08;
  --hero-text: #f7f7f7;
  --hero-subtitle: #d7d7d7;
  --hero-chip: rgba(255,255,255,0.08);
  --hero-chip-text: #ffe5b2;
  --hero-border: rgba(252,163,17,0.16);
  --hero-orb: rgba(252,163,17,0.16);
}

html[data-palette="morandi-mist"] {
  --background: #f3efec;
  --foreground: #4f565c;
  --muted: #837d7a;
  --card: #fbf8f6;
  --card-muted: #ede6e1;
  --border: #d9d0ca;
  --accent: #a68f84;
  --accent-contrast: #ffffff;
  --danger: #c86b63;
  --shadow: 0 12px 30px rgba(98, 86, 82, 0.08);
  --markdown-code-bg: #efe8e3;
  --markdown-quote: #857d79;
  --accent-soft: #eadfd8;
  --accent-soft-text: #7a655c;
  --hero-start: #e6ddd8;
  --hero-end: #ddd9e1;
  --hero-text: #4f565d;
  --hero-subtitle: #7e7875;
  --hero-chip: rgba(255,255,255,0.66);
  --hero-chip-text: #75645e;
  --hero-border: rgba(144,126,118,0.2);
  --hero-orb: rgba(255,255,255,0.32);
}

html[data-theme=dark][data-palette="morandi-mist"] {
  --background: #221f22;
  --foreground: #ede7e3;
  --muted: #b0a6a0;
  --card: #2b282b;
  --card-muted: #343135;
  --border: #4a4447;
  --accent: #c4aaa0;
  --accent-contrast: #ffffff;
  --danger: #f08b80;
  --shadow: 0 12px 34px rgba(0,0,0,0.30);
  --markdown-code-bg: #252124;
  --markdown-quote: #b2a7a2;
  --accent-soft: #443a3a;
  --accent-soft-text: #eaded8;
  --hero-start: #3a3438;
  --hero-end: #3a3943;
  --hero-text: #f3ece7;
  --hero-subtitle: #d0c3bd;
  --hero-chip: rgba(255,255,255,0.08);
  --hero-chip-text: #efe1db;
  --hero-border: rgba(205,183,172,0.14);
  --hero-orb: rgba(202,184,176,0.14);
}

html[data-palette="fresh-greens"] {
  --background: #d8f3dc;
  --foreground: #1b4332;
  --muted: #40916c;
  --card: #f4fff6;
  --card-muted: #d8f1df;
  --border: #b7e4c7;
  --accent: #2d6a4f;
  --accent-contrast: #ffffff;
  --danger: #c95d4b;
  --shadow: 0 12px 30px rgba(45, 106, 79, 0.08);
  --markdown-code-bg: #e4f7e9;
  --markdown-quote: #4b886d;
  --accent-soft: #b7e4c7;
  --accent-soft-text: #2d6a4f;
  --hero-start: #d8f3dc;
  --hero-end: #95d5b2;
  --hero-text: #1b4332;
  --hero-subtitle: #3f7d61;
  --hero-chip: rgba(255,255,255,0.66);
  --hero-chip-text: #2f6e52;
  --hero-border: rgba(82,183,136,0.18);
  --hero-orb: rgba(255,255,255,0.34);
}

html[data-theme=dark][data-palette="fresh-greens"] {
  --background: #081c15;
  --foreground: #d8f3dc;
  --muted: #95d5b2;
  --card: #10281f;
  --card-muted: #163528;
  --border: #2d6a4f;
  --accent: #74c69d;
  --accent-contrast: #0b1d16;
  --danger: #f08d7c;
  --shadow: 0 12px 34px rgba(0,0,0,0.30);
  --markdown-code-bg: #0d231a;
  --markdown-quote: #a0d7b8;
  --accent-soft: #1f4f3a;
  --accent-soft-text: #dff7e4;
  --hero-start: #1b4332;
  --hero-end: #2d6a4f;
  --hero-text: #ebfff0;
  --hero-subtitle: #bde9cd;
  --hero-chip: rgba(255,255,255,0.08);
  --hero-chip-text: #dff9e6;
  --hero-border: rgba(116,198,157,0.16);
  --hero-orb: rgba(149,213,178,0.14);
}

html[data-palette="light-steel"] {
  --background: #f8f9fa;
  --foreground: #343a40;
  --muted: #6c757d;
  --card: #ffffff;
  --card-muted: #e9ecef;
  --border: #dee2e6;
  --accent: #6c757d;
  --accent-contrast: #ffffff;
  --danger: #c95d4b;
  --shadow: 0 12px 30px rgba(52, 58, 64, 0.08);
  --markdown-code-bg: #eceff2;
  --markdown-quote: #6d757d;
  --accent-soft: #dee2e6;
  --accent-soft-text: #495057;
  --hero-start: #f8f9fa;
  --hero-end: #dee2e6;
  --hero-text: #343a40;
  --hero-subtitle: #6c757d;
  --hero-chip: rgba(255,255,255,0.72);
  --hero-chip-text: #495057;
  --hero-border: rgba(108,117,125,0.18);
  --hero-orb: rgba(255,255,255,0.34);
}

html[data-theme=dark][data-palette="light-steel"] {
  --background: #212529;
  --foreground: #f8f9fa;
  --muted: #ced4da;
  --card: #2a2f34;
  --card-muted: #343a40;
  --border: #495057;
  --accent: #adb5bd;
  --accent-contrast: #111417;
  --danger: #ff8d7a;
  --shadow: 0 12px 34px rgba(0,0,0,0.32);
  --markdown-code-bg: #262b30;
  --markdown-quote: #cfd5da;
  --accent-soft: #495057;
  --accent-soft-text: #f1f4f6;
  --hero-start: #343a40;
  --hero-end: #495057;
  --hero-text: #f8f9fa;
  --hero-subtitle: #dee2e6;
  --hero-chip: rgba(255,255,255,0.08);
  --hero-chip-text: #edf1f4;
  --hero-border: rgba(173,181,189,0.16);
  --hero-orb: rgba(206,212,218,0.14);
}

html[data-palette="deep-sea-blue"] {
  --background: #eef2f8;
  --foreground: #001845;
  --muted: #5c677d;
  --card: #ffffff;
  --card-muted: #dfe5f0;
  --border: #c9d3e3;
  --accent: #0466c8;
  --accent-contrast: #ffffff;
  --danger: #c95d4b;
  --shadow: 0 12px 30px rgba(0, 24, 69, 0.10);
  --markdown-code-bg: #e6ebf3;
  --markdown-quote: #68748a;
  --accent-soft: #d9e5f5;
  --accent-soft-text: #0353a4;
  --hero-start: #979dac;
  --hero-end: #dce2ee;
  --hero-text: #001845;
  --hero-subtitle: #46506a;
  --hero-chip: rgba(255,255,255,0.66);
  --hero-chip-text: #184a85;
  --hero-border: rgba(52,88,130,0.18);
  --hero-orb: rgba(255,255,255,0.34);
}

html[data-theme=dark][data-palette="deep-sea-blue"] {
  --background: #001233;
  --foreground: #e7ecf6;
  --muted: #97a1b5;
  --card: #001845;
  --card-muted: #002855;
  --border: #33415c;
  --accent: #0466c8;
  --accent-contrast: #eef5ff;
  --danger: #ff8d7a;
  --shadow: 0 12px 34px rgba(0,0,0,0.34);
  --markdown-code-bg: #00153a;
  --markdown-quote: #a8b0c0;
  --accent-soft: #163b6e;
  --accent-soft-text: #d5e6ff;
  --hero-start: #001845;
  --hero-end: #33415c;
  --hero-text: #eef3fb;
  --hero-subtitle: #c6cede;
  --hero-chip: rgba(255,255,255,0.08);
  --hero-chip-text: #d9e8ff;
  --hero-border: rgba(4,102,200,0.18);
  --hero-orb: rgba(151,157,172,0.14);
}

html[data-palette="monochrome-core"] {
  --background: #f5f5f5;
  --foreground: #111111;
  --muted: #5f5f5f;
  --card: #ffffff;
  --card-muted: #ededed;
  --border: #d8d8d8;
  --accent: #202020;
  --accent-contrast: #ffffff;
  --danger: #b23a3a;
  --shadow: 0 12px 30px rgba(0,0,0,0.08);
  --markdown-code-bg: #ececec;
  --markdown-quote: #6e6e6e;
  --accent-soft: #d8d8d8;
  --accent-soft-text: #1a1a1a;
  --hero-start: #ffffff;
  --hero-end: #e3e3e3;
  --hero-text: #111111;
  --hero-subtitle: #5c5c5c;
  --hero-chip: rgba(0,0,0,0.05);
  --hero-chip-text: #2d2d2d;
  --hero-border: rgba(0,0,0,0.08);
  --hero-orb: rgba(0,0,0,0.08);
}

html[data-theme=dark][data-palette="monochrome-core"] {
  --background: #000000;
  --foreground: #f5f5f5;
  --muted: #b9b9b9;
  --card: #101010;
  --card-muted: #1a1a1a;
  --border: #2a2a2a;
  --accent: #dfdfdf;
  --accent-contrast: #0d0d0d;
  --danger: #ff8d8d;
  --shadow: 0 12px 34px rgba(0,0,0,0.45);
  --markdown-code-bg: #151515;
  --markdown-quote: #a8a8a8;
  --accent-soft: #2a2a2a;
  --accent-soft-text: #f0f0f0;
  --hero-start: #0c0c0c;
  --hero-end: #1b1b1b;
  --hero-text: #f5f5f5;
  --hero-subtitle: #bdbdbd;
  --hero-chip: rgba(255,255,255,0.08);
  --hero-chip-text: #f0f0f0;
  --hero-border: rgba(255,255,255,0.08);
  --hero-orb: rgba(255,255,255,0.08);
}

/* Generated title-card fallback covers, gradient palettes, and card-specific visual treatment. */
.cover-fallback {
  --cover-hero-start: var(--hero-start);
  --cover-hero-end: var(--hero-end);
  --cover-hero-text: var(--hero-text);
  --cover-hero-chip: var(--hero-chip);
  --cover-hero-border: var(--hero-border);
  --cover-hero-orb: var(--hero-orb);
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  width: 100%;
  border-radius: 20px;
  border: var(--title-card-border-width, 1px) solid color-mix(in srgb, var(--cover-hero-border) 88%, white 12%);
  background:
    radial-gradient(circle at top right, var(--cover-hero-orb), transparent 34%),
    linear-gradient(135deg, var(--cover-hero-start), var(--cover-hero-end));
  box-shadow: var(--shadow);
  isolation: isolate;
}
.cover-fallback::before,
.cover-fallback::after {
  content: "";
  position: absolute;
  inset: auto;
  border-radius: 999px;
  pointer-events: none;
  z-index: 0;
}
.cover-fallback::before {
  width: 180px;
  height: 180px;
  top: -50px;
  right: -32px;
  background: color-mix(in srgb, var(--cover-hero-orb) 88%, transparent 12%);
}
.cover-fallback::after {
  width: 220px;
  height: 220px;
  bottom: -128px;
  left: -64px;
  background: color-mix(in srgb, var(--cover-hero-chip) 76%, transparent 24%);
}
.cover-fallback__inner {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 100%;
  padding: clamp(22px, 4vw, 42px);
}
.cover-fallback__title {
  margin: 0;
  max-width: 18ch;
  text-align: center;
  text-wrap: balance;
  line-height: 1.15;
  letter-spacing: var(--cover-fallback-title-letter-spacing, -0.03em);
  font-family: var(--cover-fallback-title-font-family, "fix-punct", "confuse-punct", system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif);
  font-weight: var(--cover-fallback-title-font-weight, 900);
  color: var(--cover-hero-text);
}
.cover-fallback[data-cover-palette="golden-summer-fields"][data-cover-tone="light"] {
  --cover-hero-start: #e9edc9;
  --cover-hero-end: #faedcd;
  --cover-hero-text: #4f4736;
  --cover-hero-chip: rgba(255,255,255,0.66);
  --cover-hero-border: rgba(169,139,103,0.18);
  --cover-hero-orb: rgba(255,255,255,0.34);
}
.cover-fallback[data-cover-palette="golden-summer-fields"][data-cover-tone="dark"] {
  --cover-hero-start: #514530;
  --cover-hero-end: #664b30;
  --cover-hero-text: #fff7df;
  --cover-hero-chip: rgba(255,255,255,0.08);
  --cover-hero-border: rgba(212,163,115,0.16);
  --cover-hero-orb: rgba(212,163,115,0.16);
}
.cover-fallback[data-cover-palette="soft-pastel-shades"][data-cover-tone="light"] {
  --cover-hero-start: #fde2e4;
  --cover-hero-end: #c5dedd;
  --cover-hero-text: #5d5f69;
  --cover-hero-chip: rgba(255,255,255,0.68);
  --cover-hero-border: rgba(153,193,222,0.18);
  --cover-hero-orb: rgba(255,255,255,0.34);
}
.cover-fallback[data-cover-palette="soft-pastel-shades"][data-cover-tone="dark"] {
  --cover-hero-start: #5f4c58;
  --cover-hero-end: #4e676b;
  --cover-hero-text: #fff6f2;
  --cover-hero-chip: rgba(255,255,255,0.08);
  --cover-hero-border: rgba(153,193,222,0.16);
  --cover-hero-orb: rgba(197,222,221,0.14);
}
.cover-fallback[data-cover-palette="black-gold-elegance"][data-cover-tone="light"] {
  --cover-hero-start: #e5e5e5;
  --cover-hero-end: #f5dfb5;
  --cover-hero-text: #14213d;
  --cover-hero-chip: rgba(255,255,255,0.66);
  --cover-hero-border: rgba(146,120,59,0.18);
  --cover-hero-orb: rgba(255,255,255,0.34);
}
.cover-fallback[data-cover-palette="black-gold-elegance"][data-cover-tone="dark"] {
  --cover-hero-start: #14213d;
  --cover-hero-end: #3d2a08;
  --cover-hero-text: #f7f7f7;
  --cover-hero-chip: rgba(255,255,255,0.08);
  --cover-hero-border: rgba(252,163,17,0.16);
  --cover-hero-orb: rgba(252,163,17,0.16);
}
.cover-fallback[data-cover-palette="morandi-mist"][data-cover-tone="light"] {
  --cover-hero-start: #e6ddd8;
  --cover-hero-end: #ddd9e1;
  --cover-hero-text: #4f565d;
  --cover-hero-chip: rgba(255,255,255,0.66);
  --cover-hero-border: rgba(144,126,118,0.2);
  --cover-hero-orb: rgba(255,255,255,0.32);
}
.cover-fallback[data-cover-palette="morandi-mist"][data-cover-tone="dark"] {
  --cover-hero-start: #3a3438;
  --cover-hero-end: #3a3943;
  --cover-hero-text: #f3ece7;
  --cover-hero-chip: rgba(255,255,255,0.08);
  --cover-hero-border: rgba(205,183,172,0.14);
  --cover-hero-orb: rgba(202,184,176,0.14);
}
.cover-fallback[data-cover-palette="fresh-greens"][data-cover-tone="light"] {
  --cover-hero-start: #d8f3dc;
  --cover-hero-end: #95d5b2;
  --cover-hero-text: #1b4332;
  --cover-hero-chip: rgba(255,255,255,0.66);
  --cover-hero-border: rgba(82,183,136,0.18);
  --cover-hero-orb: rgba(255,255,255,0.34);
}
.cover-fallback[data-cover-palette="fresh-greens"][data-cover-tone="dark"] {
  --cover-hero-start: #1b4332;
  --cover-hero-end: #2d6a4f;
  --cover-hero-text: #ebfff0;
  --cover-hero-chip: rgba(255,255,255,0.08);
  --cover-hero-border: rgba(116,198,157,0.16);
  --cover-hero-orb: rgba(149,213,178,0.14);
}
.cover-fallback[data-cover-palette="light-steel"][data-cover-tone="light"] {
  --cover-hero-start: #f8f9fa;
  --cover-hero-end: #dee2e6;
  --cover-hero-text: #343a40;
  --cover-hero-chip: rgba(255,255,255,0.72);
  --cover-hero-border: rgba(108,117,125,0.18);
  --cover-hero-orb: rgba(255,255,255,0.34);
}
.cover-fallback[data-cover-palette="light-steel"][data-cover-tone="dark"] {
  --cover-hero-start: #343a40;
  --cover-hero-end: #495057;
  --cover-hero-text: #f8f9fa;
  --cover-hero-chip: rgba(255,255,255,0.08);
  --cover-hero-border: rgba(173,181,189,0.16);
  --cover-hero-orb: rgba(206,212,218,0.14);
}
.cover-fallback[data-cover-palette="deep-sea-blue"][data-cover-tone="light"] {
  --cover-hero-start: #979dac;
  --cover-hero-end: #dce2ee;
  --cover-hero-text: #001845;
  --cover-hero-chip: rgba(255,255,255,0.66);
  --cover-hero-border: rgba(52,88,130,0.18);
  --cover-hero-orb: rgba(255,255,255,0.34);
}
.cover-fallback[data-cover-palette="deep-sea-blue"][data-cover-tone="dark"] {
  --cover-hero-start: #001845;
  --cover-hero-end: #33415c;
  --cover-hero-text: #eef3fb;
  --cover-hero-chip: rgba(255,255,255,0.08);
  --cover-hero-border: rgba(4,102,200,0.18);
  --cover-hero-orb: rgba(151,157,172,0.14);
}
.cover-fallback[data-cover-palette="monochrome-core"][data-cover-tone="light"] {
  --cover-hero-start: #ffffff;
  --cover-hero-end: #e3e3e3;
  --cover-hero-text: #111111;
  --cover-hero-chip: rgba(0,0,0,0.05);
  --cover-hero-border: rgba(0,0,0,0.08);
  --cover-hero-orb: rgba(0,0,0,0.08);
}
.cover-fallback[data-cover-palette="monochrome-core"][data-cover-tone="dark"] {
  --cover-hero-start: #0c0c0c;
  --cover-hero-end: #1b1b1b;
  --cover-hero-text: #f5f5f5;
  --cover-hero-chip: rgba(255,255,255,0.08);
  --cover-hero-border: rgba(255,255,255,0.08);
  --cover-hero-orb: rgba(255,255,255,0.08);
}
.cover-fallback--card,
.cover-fallback--taxonomy {
  min-height: min(200px, 28vw);
}
.post-feed--home .cover-fallback--card { min-height: 160px; }
/* Main framework styles: global base, site layout, article pages, widgets, shortcodes, and non-responsive components. */
* { box-sizing: border-box; }
html {
  font-size: 62.5%;
  overflow-y: auto;
  scrollbar-gutter: stable both-edges;
}

@font-face { font-family: "fix-punct"; src: local("Arial"); unicode-range: U+0027; }
@font-face { font-family: "confuse-punct"; src: local("SimSun"), local("Songti SC"), local("serif"); unicode-range: U+2018-2019, U+201C-201D, U+FF0C, U+3002, U+FF1B, U+FF1A, U+3001, U+2014; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 400 1.6rem/1.75 "fix-punct", "confuse-punct", system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
}

::view-transition-group(root),
::view-transition-old(root),
::view-transition-new(root) {
  background: var(--bg);
}

html[lang="en"] body,
html[lang="en"] .site-brand__title,
html[lang="en"] .site-brand__subtitle,
html[lang="en"] .main-nav__link,
html[lang="en"] .header-tool,
html[lang="en"] .social-nav__link,
html[lang="en"] .section-head,
html[lang="en"] .post-card,
html[lang="en"] .article-page,
html[lang="en"] .widget-simple,
html[lang="en"] .pagination,
html[lang="en"] .article-content {
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC";
  font-variant-ligatures: normal;
  font-kerning: normal;
}

code,
pre,
kbd,
samp {
  font-family: ui-monospace, SFMono-Regular, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.site-header, .site-shell, .site-footer { width: min(calc(100% - 32px), var(--content-width)); margin: 0 auto; }
.site-header { padding: 24px 0 18px; }
.site-header__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, var(--hero-orb), transparent 34%),
    linear-gradient(135deg, var(--hero-start), var(--hero-end));
  box-shadow: var(--shadow);
}
.site-brand { display: flex; gap: 18px; align-items: center; min-width: 0; }
.site-brand__text {
  min-width: 0;
  max-width: calc(100% - 168px);
}
.site-brand__avatar img { width: 84px; height: 84px; object-fit: cover; border-radius: 50%; }
.site-brand__avatar img,
.post-card__cover img,
.article-page__cover img,
.article-content img { filter: brightness(var(--image-brightness-light, 1)); transition: filter .2s ease; }
html[data-theme=dark] .site-brand__avatar img,
html[data-theme=dark] .post-card__cover img,
html[data-theme=dark] .article-page__cover img,
html[data-theme=dark] .article-content img { filter: brightness(var(--image-brightness-dark, 0.92)); }
.site-brand__title {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 3rem;
  font-weight: 800;
  color: var(--hero-text);
}
.site-brand__subtitle { margin: 6px 0 0; color: var(--hero-subtitle); }
.site-header__nav { display: flex; flex-direction: column; gap: 12px; }
.main-nav, .header-tools, .social-nav { display: flex; flex-wrap: wrap; gap: 10px; }
.main-nav__link, .header-tool {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--hero-chip);
  color: var(--hero-chip-text);
  font-size: 1.45rem;
}
.header-tool--icon { width: 38px; min-width: 38px; padding: 0; }
.header-tool--toggle svg:last-of-type { display: none; }
html[data-theme=dark] .header-tool--toggle svg:first-of-type { display: none; }
html[data-theme=dark] .header-tool--toggle svg:last-of-type { display: inline-block; }
.header-tools { position: absolute; top: 24px; right: 24px; gap: 8px; }
.social-nav { gap: 8px; }
.social-nav__link {
  width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; border: 1px solid var(--hero-border); color: var(--hero-chip-text); background: var(--hero-chip);
}
.social-nav__link svg, .header-tool svg { width: 16px; height: 16px; }
.site-shell { display: flex; flex-direction: column; gap: 28px; padding-bottom: 32px; }
.site-main, .sidebar-right { min-width: 0; }
.post-feed { display: grid; gap: 28px; }
.post-feed--home { grid-template-columns: 1fr; }
.post-feed--moments { grid-template-columns: 1fr; }
.post-feed--taxonomy { grid-template-columns: 1fr; }
.post-card { display: grid; gap: 14px; }
.post-card__cover { display: block; }
.post-card__cover img {
  width: 100%;
  height: min(200px, 28vw);
  object-fit: cover;
  border-radius: 18px;
  border: var(--cover-image-border-width, 1px) solid color-mix(in srgb, var(--border) 78%, white 22%);
}
.post-feed--home .post-card__cover img { height: 160px; }

.post-card__categories, .meta-categories { display: flex; flex-wrap: wrap; gap: 10px; }
.post-card__categories a, .meta-categories a { color: var(--text-soft); font-size: 1.35rem; }
.post-card__title, .article-page__meta h1 { margin: 0; font-size: clamp(1.65rem, 1.4vw, 2rem); font-weight: 500; line-height: 1.35; letter-spacing: -0.01em; }
.post-card__title a { color: color-mix(in srgb, var(--text) 84%, white 16%); }
.post-feed--home .post-card__title { font-size: 1.5rem; }
.post-feed--home .post-card__meta { margin-top: 0.6rem; }
.cover-fallback--card .cover-fallback__title,
.cover-fallback--taxonomy .cover-fallback__title {
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}
.post-card__meta, .meta-line { display: flex; flex-wrap: wrap; gap: 14px; color: var(--text-soft); font-size: 1.35rem; }
.translation-toggle {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.translation-toggle--header {
  gap: 8px;
}
.translation-toggle__text-link {
  color: var(--text-soft);
  text-decoration: none;
  transition: color 0.2s ease;
}
.translation-toggle__text-link--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.translation-toggle__text-link--icon svg {
  width: 1.35rem;
  height: 1.35rem;
}
.translation-toggle__text-link:hover {
  color: var(--accent);
}
.translation-toggle__label {
  white-space: nowrap;
}
.translation-toggle__header-link {
  min-width: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.translation-toggle svg {
  width: 1.4rem;
  height: 1.4rem;
}
.translation-toggle__select {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--hero-chip);
  color: var(--hero-chip-text);
  font-size: 1.35rem;
  text-align: center;
  text-align-last: center;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: none;
}
.translation-toggle__select option {
  color: var(--text);
  background: var(--bg-elevated);
  text-align: center;
}
.translation-toggle__select::-ms-expand {
  display: none;
}
.translation-toggle__select--compact {
  width: auto;
  min-width: 0;
  max-width: none;
  min-height: 38px;
  height: 38px;
  padding: 0 10px;
  font-size: 1.15rem;
  line-height: 1;
}
.translation-toggle__menu {
  position: relative;
}
.translation-toggle__menu[open] {
  z-index: 20;
}
.translation-toggle__summary {
  min-width: auto;
  padding: 0 12px;
  list-style: none;
  cursor: pointer;
}
.translation-toggle__summary::-webkit-details-marker {
  display: none;
}
.translation-toggle__summary::marker {
  content: "";
}
.translation-toggle__summary-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.2ch;
  text-align: center;
}
.translation-toggle__dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  display: grid;
  min-width: 100%;
  padding: 8px 0;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--bg-elevated);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.14);
}
.translation-toggle__dropdown-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  color: var(--text-soft);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
.translation-toggle__dropdown-link:hover,
.translation-toggle__dropdown-link:focus-visible,
.translation-toggle__dropdown-link.is-current {
  color: var(--text);
  background: color-mix(in srgb, var(--accent) 10%, transparent);
}
.header-tool--toggle svg {
  width: 16px;
  height: 16px;
  stroke-width: 2.25;
}
.palette-picker__dropdown {
  min-width: 188px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  align-items: start;
}
.palette-picker__option {
  width: 100%;
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1;
  min-height: 0;
  padding: 6px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  color: var(--text-soft);
  font: inherit;
  cursor: pointer;
}
.palette-picker__option:hover,
.palette-picker__option:focus-visible,
.palette-picker__option.is-active {
  color: var(--text);
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  border-color: color-mix(in srgb, var(--accent) 28%, var(--border));
}
.palette-picker__swatch {
  width: 100%;
  height: 100%;
  min-height: 28px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
  display: block;
}
.palette-picker__option--golden-summer-fields .palette-picker__swatch {
  background: linear-gradient(135deg, #ccd5ae 0%, #d4a373 50%, #2b241d 100%);
}
.palette-picker__option--soft-pastel-shades .palette-picker__swatch {
  background: linear-gradient(135deg, #fde2e4 0%, #99c1de 50%, #2c2930 100%);
}
.palette-picker__option--black-gold-elegance .palette-picker__swatch {
  background: linear-gradient(135deg, #e5e5e5 0%, #fca311 50%, #000000 100%);
}
.palette-picker__option--fresh-greens .palette-picker__swatch {
  background: linear-gradient(135deg, #d8f3dc 0%, #52b788 50%, #081c15 100%);
}
.palette-picker__option--light-steel .palette-picker__swatch {
  background: linear-gradient(135deg, #f8f9fa 0%, #adb5bd 50%, #212529 100%);
}
.palette-picker__option--deep-sea-blue .palette-picker__swatch {
  background: linear-gradient(135deg, #0466c8 0%, #979dac 50%, #001233 100%);
}
.palette-picker__option--morandi-mist .palette-picker__swatch {
  background: linear-gradient(135deg, #e6ddd8 0%, #a68f84 50%, #221f22 100%);
}
.palette-picker__option--monochrome-core .palette-picker__swatch {
  background: linear-gradient(135deg, #ffffff 0%, #8f8f8f 50%, #000000 100%);
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.post-card--taxonomy { gap: 12px; }
.post-card--taxonomy .post-card__cover img { height: 150px; }
.post-card--taxonomy .post-card__title { font-size: 1.5rem; }
.meta-sep { color: var(--text-soft); opacity: 0.65; }
.post-card--moment {
  padding: 22px 24px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: var(--bg-elevated);
  box-shadow: var(--shadow);
}
.post-card--moment .post-card__body {
  display: grid;
  gap: 12px;
}
.moment-content .article-content,
.moment-content {
  font-size: 1.6rem;
}
.article-page, .list-page, .archives-page, .search-page {
  padding: 24px; border: 1px solid var(--border); border-radius: 24px; background: var(--bg-elevated); box-shadow: var(--shadow);
}
.not-found-page {
  display: grid;
  gap: 2.4rem;
  min-height: 32rem;
  align-content: center;
}
.not-found-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
}
.not-found-page__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 4.2rem;
  padding: 0 1.8rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--card-muted);
  color: var(--text);
  font-size: 1.45rem;
}
.not-found-page__button--primary {
  background: var(--foreground);
  border-color: var(--foreground);
  color: var(--accent-contrast);
}
.article-page__header { display: grid; gap: 23px; }
.article-page__cover img {
  width: 100%;
  max-height: 400px;
  border-radius: 20px;
  object-fit: cover;
  border: var(--cover-image-border-width, 1px) solid color-mix(in srgb, var(--border) 78%, white 22%);
}
.article-page__cover .cover-fallback {
  min-height: min(268px, 35vw);
}
.cover-fallback--single .cover-fallback__title {
  font-size: clamp(2rem, 5vw, 3.8rem);
  max-width: 14ch;
}
.title-card-showcase {
  margin: 2.4rem 0 3rem;
}
.title-card-showcase__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.title-card-showcase__item {
  margin: 0;
  display: grid;
  gap: 10px;
}
.title-card-showcase__item .cover-fallback--card {
  min-height: 170px;
}
.title-card-showcase__item .cover-fallback__title {
  font-size: clamp(1.28rem, 2vw, 1.72rem);
  max-width: 16ch;
}
.title-card-showcase__caption {
  color: var(--text-soft);
  font-size: 1.3rem;
  line-height: 1.5;
  text-align: center;
}
.title-card-showcase__caption code {
  font-weight: 700;
}
.article-page__description, .section-head p { color: var(--text-soft); }
.article-page__content { display: grid; gap: 24px; margin-top: 28px; }
.article-page__meta {
  display: grid;
  gap: 14px;
}
.article-page__meta h1 {
  margin: 0 0 0.35rem;
  font-weight: 900;
}
.article-page__meta .meta-line {
  justify-content: flex-end;
  margin-bottom: 0.4rem;
}
.article-content { min-width: 0; }
.article-content img { border-radius: 16px; }
.article-content img {
  border: var(--content-image-border-width, 1px) solid color-mix(in srgb, var(--border) 78%, white 22%);
}
.article-content .article-image {
  margin: 1.8em 0;
  max-width: 100%;
  text-align: center;
}
.article-content .article-image__link {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  border-radius: 16px;
}
.article-content .article-image__link img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: var(--article-content-image-desktop-max-height, none);
  transition: transform 0.2s ease;
}
.article-content .article-image.article-image--natural {
  text-align: center;
}
.article-content .article-image.article-image--fullwidth .article-image__link {
  display: block;
  width: 100%;
}
.article-content .article-image.article-image--fullwidth .article-image__link img {
  width: 100%;
  height: var(--article-content-image-desktop-max-height, auto);
  max-height: var(--article-content-image-desktop-max-height, none);
  object-fit: var(--article-content-image-fullwidth-fit, initial);
}
.article-content .article-image__link:hover img {
  transform: scale(1.01);
}
.image-lightbox {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: rgba(10, 16, 24, 0.84);
  z-index: 9999;
}
.image-lightbox.is-open {
  display: flex;
}
.image-lightbox__backdrop {
  position: absolute;
  inset: 0;
}
.image-lightbox__dialog {
  position: relative;
  z-index: 1;
  width: min(92vw, 1320px);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.image-lightbox__image {
  max-width: 100%;
  max-height: calc(92vh - 5rem);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 1.6rem;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}
.image-lightbox__caption {
  max-width: min(92vw, 900px);
  color: rgba(245, 248, 252, 0.88);
  font-size: 1.35rem;
  line-height: 1.6;
  text-align: center;
}
.image-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 4rem;
  height: 4rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 2.4rem;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}
.image-lightbox__nav:hover {
  background: rgba(255, 255, 255, 0.2);
}
.image-lightbox__nav[hidden] {
  display: none;
}
.image-lightbox__nav--prev {
  left: 0;
}
.image-lightbox__nav--next {
  right: 0;
}
.image-lightbox__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 3.4rem;
  height: 3.4rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}
.image-lightbox__close:hover {
  background: rgba(255, 255, 255, 0.18);
}
.article-content a { color: var(--accent); }
.article-content > * { max-width: 100%; }
.article-content {
  color: color-mix(in srgb, var(--text) 95%, white 5%);
  font-size: 1.72rem;
  line-height: 1.9;
  letter-spacing: 0.01em;
}
.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
  margin: 1.9em 0 0.75em;
  line-height: 1.32;
  color: var(--foreground);
  font-weight: 700;
  letter-spacing: -0.018em;
  scroll-margin-top: 2rem;
}
.article-content > :first-child {
  margin-top: 0;
}
.article-content h1 { font-size: 2.6rem; padding-bottom: 0.35em; border-bottom: 1px solid var(--border); }
.article-content h2 { font-size: 2.2rem; padding-bottom: 0.3em; border-bottom: 1px solid color-mix(in srgb, var(--border) 72%, transparent 28%); }
.article-content h3 { font-size: 1.9rem; }
.article-content h4 { font-size: 1.72rem; }
.article-content h5,
.article-content h6 { font-size: 1.55rem; }
.article-content p,
.article-content ul,
.article-content ol,
.article-content blockquote,
.article-content pre,
.article-content table {
  margin: 0 0 1.4em;
}
.article-content p {
  overflow-wrap: break-word;
  text-align: left;
}
.article-content ul,
.article-content ol {
  padding-left: 1.65em;
}
.article-content li + li {
  margin-top: 0.42em;
}
.article-content li > p {
  margin-bottom: 0.6em;
}
.article-content ul ul,
.article-content ul ol,
.article-content ol ul,
.article-content ol ol {
  margin-top: 0.55em;
  margin-bottom: 0.8em;
}
.article-content hr {
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border), transparent);
  margin: 3.2rem 0;
}
.article-content blockquote {
  margin: 1.7em 0;
  padding: 1.25rem 1.5rem;
  border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--border) 82%);
  color: var(--markdown-quote);
  background: color-mix(in srgb, var(--card-muted) 88%, var(--accent-soft) 12%);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}
.article-content blockquote > :last-child {
  margin-bottom: 0;
}
.article-content blockquote p {
  text-align: left;
}
.article-content blockquote::before {
  content: "";
  display: block;
  width: 3.2rem;
  height: 0.35rem;
  margin-bottom: 0.95rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 72%, white 28%);
}
.article-content :not(pre) > code {
  display: inline;
  padding: 0.18em 0.42em;
  border-radius: 0.6rem;
  background: var(--markdown-code-bg);
  color: var(--accent-soft-text);
  font-size: 0.9em;
  overflow-wrap: anywhere;
  word-break: break-word;
  border: 1px solid color-mix(in srgb, var(--border) 65%, transparent 35%);
}
.article-content .code-block {
  position: relative;
  margin: 0 0 1.45em;
}
.article-content pre {
  position: relative;
  overflow-x: auto;
  overflow-y: auto;
  max-height: 400px;
  padding: 1.8rem 1.8rem;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--border) 82%, transparent 18%);
  background: var(--markdown-code-bg);
  -webkit-overflow-scrolling: touch;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
  scrollbar-color: var(--composer-scroll-thumb) var(--composer-scroll-track);
  scrollbar-width: thin;
}
.article-content pre::-webkit-scrollbar {
  height: 10px;
  width: 10px;
}
.article-content pre::-webkit-scrollbar-thumb {
  background: var(--composer-scroll-thumb);
  border-radius: 999px;
  border: 2px solid var(--composer-scroll-track);
}
.article-content pre::-webkit-scrollbar-track {
  background: var(--composer-scroll-track);
  border-radius: 999px;
}
.article-content pre code {
  display: block;
  min-width: 0;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
  font-size: 1em;
  line-height: 1.7;
}
.article-content .highlight {
  margin: 0 0 1.45em;
}
.article-content .highlight pre {
  margin: 0;
}
.article-content .lntable,
.article-content .lntd {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}
.article-content .lntable {
  border-spacing: 0 !important;
  width: auto !important;
  overflow: visible !important;
}
.article-content .lntd:first-child {
  padding-right: 1rem !important;
}
.article-content .lnt,
.article-content .ln {
  color: var(--muted);
  opacity: 0.75;
}
.article-content .copy-code-button {
  position: absolute;
  top: 1rem;
  right: 1rem;
  min-height: 3rem;
  padding: 0 1rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--card) 88%, transparent 12%);
  color: var(--text-soft);
  font-size: 1.2rem;
  cursor: pointer;
  z-index: 2;
}
.article-content .copy-code-button:hover {
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 35%, var(--border) 65%);
}
.article-content strong {
  font-weight: 700;
}
.article-content del {
  color: var(--muted);
}
.article-content mark {
  padding: 0.08em 0.2em;
  border-radius: 0.35rem;
  background: color-mix(in srgb, var(--hero-end) 72%, #fff 28%);
  color: inherit;
}
.article-content table thead th {
  font-weight: 700;
}
.article-content table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  -webkit-overflow-scrolling: touch;
  border-spacing: 0;
  border-radius: 14px;
}
.article-content th,
.article-content td {
  padding: 0.95rem 1.1rem;
  border: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}
.article-content th {
  background: color-mix(in srgb, var(--card-muted) 92%, #fff 8%);
}
.article-content tbody tr:nth-child(2n) {
  background: color-mix(in srgb, var(--card-muted) 42%, transparent 58%);
}
.article-content iframe,
.article-content video {
  max-width: 100%;
  border-radius: 16px;
}
.article-content figure {
  margin: 1.8em 0;
}
.article-content figcaption {
  margin-top: 0.9rem;
  color: var(--text-soft);
  font-size: 1.35rem;
  text-align: center;
}
.article-content .footnotes {
  margin-top: 2.8rem;
  padding-top: 1.8rem;
  border-top: 1px solid var(--border);
  color: var(--text-soft);
  font-size: 1.5rem;
}
.article-content .footnotes ol {
  padding-left: 1.4em;
}
.article-content .footnote-ref,
.article-content .footnote-backref {
  color: var(--accent);
  font-weight: 600;
}
.article-page__description {
  margin: 0;
  padding: 1rem 1.25rem;
  border: 1px solid color-mix(in srgb, var(--border) 84%, var(--accent) 16%);
  background: color-mix(in srgb, var(--card) 84%, var(--accent-soft) 16%);
  border-radius: 14px;
  font-size: 1.55rem;
  line-height: 1.7;
  margin-top: 0.4rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
  position: relative;
}
.article-page__description-label {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0.75rem;
  padding: 0.16rem 0.62rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  color: var(--accent);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.article-page__toc-mobile {
  display: none;
}
.article-toc, .widget-simple, .comments-card { padding: 18px; border: 1px solid var(--border); border-radius: 20px; background: var(--bg-elevated); }
.widget-simple { display: flex; flex-direction: column; gap: 14px; }
.widget-simple__title { margin: 0; font-size: 1.7rem; }
.widget-simple--search .widget-simple__title { font-size: 1.45rem; }
.widget-simple--categories .widget-simple__title {
  text-align: left;
  width: 100%;
}
.widget-simple--categories .widget-simple__tabs {
  justify-content: center;
}
.widget-simple--talk {
  position: relative;
  overflow: hidden;
}
.widget-talk {
  position: relative;
}
.widget-talk__head {
  display: block;
}
.widget-talk__identity {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
.widget-talk__avatar {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 999px;
  object-fit: cover;
  flex: 0 0 auto;
}
.widget-talk__meta {
  display: flex;
  align-items: baseline;
  gap: 0.7rem;
  min-width: 0;
  flex-wrap: wrap;
}
.widget-talk__handle,
.widget-talk__time {
  color: var(--text-soft);
  font-size: 1.3rem;
  white-space: nowrap;
}
.widget-talk__handle {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}
.widget-talk__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.widget-talk__icon svg {
  width: 1.25rem;
  height: 1.25rem;
}
.widget-talk__content {
  position: relative;
  max-height: 15.5rem;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 3rem;
  font-size: 1.45rem;
  line-height: 1.8;
  color: color-mix(in srgb, var(--text) 92%, white 8%);
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.widget-talk__content img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: 150px;
}
.widget-talk__content .article-image,
.widget-talk__content figure {
  max-width: 100%;
}
.widget-simple--talk .widget-talk__content .article-image {
  margin: 1rem 0 1.2rem;
  text-align: center;
}
.widget-simple--talk .widget-talk__content .article-image.article-image--fullwidth .article-image__link,
.widget-simple--talk .widget-talk__content .article-image__link {
  display: inline-block !important;
  width: 50% !important;
  max-width: 50%;
  border-radius: 14px;
  overflow: hidden;
  vertical-align: top;
}
.widget-simple--talk .widget-talk__content .article-image.article-image--fullwidth .article-image__link img,
.widget-simple--talk .widget-talk__content .article-image__link img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: none;
  max-height: 15rem !important;
  object-fit: contain;
  object-position: center;
}
.widget-simple--talk .widget-talk__content figcaption {
  margin-top: 0.7rem;
  font-size: 1.2rem;
  line-height: 1.5;
}
.widget-talk__content::-webkit-scrollbar {
  display: none;
}
.widget-talk__content > :last-child {
  margin-bottom: 0;
}
.widget-talk__details {
  margin-top: 1.2rem;
  position: relative;
}
.widget-talk__summary {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  height: 4.8rem;
  z-index: 2;
  pointer-events: none;
}
.widget-talk__summary-fade {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0), var(--bg-elevated));
  pointer-events: none;
}
.home-talk-mobile {
  display: none;
}
.widget-simple__list { display: flex; flex-direction: column; gap: 2px; }
.widget-simple__row { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border); color: var(--text-soft); }
.widget-simple__row:last-child { border-bottom: 0; }
.widget-simple--archives .widget-simple__row { font-size: 1.3rem; }
.widget-simple__tabs {display: flex;flex-wrap: wrap;gap: 10px;justify-content: center;}
.widget-simple__tab {
  display: inline-flex;
  align-items: center;
  min-height: 3.2rem;
  padding: 0 1rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--card) 84%, var(--accent-soft) 16%);
  color: var(--accent-soft-text);
  font-size: 1.3rem;
  line-height: 1;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.widget-simple__tab:hover {
  background: var(--accent-soft);
  border-color: color-mix(in srgb, var(--accent) 30%, var(--border) 70%);
  color: var(--accent);
  transform: translateY(-1px);
}
.widget-search input, .search-box input {
  width: 100%; min-height: 44px; padding: 0 14px; border: 1px solid var(--border); border-radius: 14px; background: transparent; color: var(--text);
}
.widget-search input::placeholder,
.search-box input::placeholder {
  color: transparent;
}
.sidebar-right { display: flex; flex-direction: column; gap: 20px; }
.widget-wechat {
  display: flex;
  justify-content: center;
}
.widget-wechat img {
  width: 110px;
  height: 110px;
  border-radius: 12px;
}
.widget-simple__row--related {
  justify-content: flex-start;
  border-bottom: 0;
  padding: 0;
  line-height: 1.6;
}
.widget-simple__row--related + .widget-simple__row--related {
  margin-top: 0.5rem;
}
.toc-widget {
  max-height: 52rem;
  overflow: auto;
  padding-right: 0.6rem;
}
.toc-widget ul,
.toc-widget ol {
  margin: 0;
  padding-left: 2.9rem;
  overflow: visible;
}
.toc-widget ol li::marker {
  font-size: 0.88em;
}
.toc-widget li + li {
  margin-top: 0.5rem;
}
.toc-widget li {
  line-height: 1.6;
  overflow: visible;
  padding-left: 0.45rem;
}
.toc-widget a {
  color: var(--text-soft);
}
.toc-widget a:hover {
  color: var(--accent);
}
.pagination {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  color: var(--text-soft);
  font-size: 1.3rem;
}
.pagination__link,
.pagination__current {
  padding: 0.5rem 0.95rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: color-mix(in srgb, var(--card) 88%, var(--accent-soft) 12%);
}
.pagination__link:hover {
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 30%, var(--border) 70%);
}
.pagination__current {
  min-width: 5.8rem;
  text-align: center;
}
.section-head { margin-bottom: 24px; }
.section-head__eyebrow { margin: 0 0 8px; color: var(--text-soft); text-transform: uppercase; letter-spacing: 0.08em; font-size: 1.2rem; }
.archive-year { margin-top: 28px; }
.archive-year__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.archive-year__list { display: flex; flex-direction: column; gap: 10px; }
.archive-entry { display: flex; justify-content: space-between; gap: 18px; color: var(--text-soft); }
.links-grid__items { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.friend-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--bg-elevated);
  box-shadow: var(--shadow);
}
.friend-card__media {
  height: 84px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.friend-card__media img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.friend-card__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: center;
  align-items: center;
}
.friend-card__body strong {
  font-size: 1.6rem;
  line-height: 1.4;
}
.friend-card__body span {
  color: var(--text-soft);
  font-size: 1.4rem;
  line-height: 1.65;
}
.search-results { display: grid; gap: 18px; margin-top: 20px; }
.search-result { padding: 18px; border: 1px solid var(--border); border-radius: 18px; }
.shortcode-note {
  margin: 1.6rem 0;
  padding: 1.4rem 1.6rem;
  border: 1px solid var(--border);
  border-left-width: 4px;
  border-radius: 1.4rem;
  background: color-mix(in srgb, var(--card) 86%, var(--accent-soft) 14%);
}
.shortcode-note--info {
  border-left-color: var(--accent);
}
.shortcode-note--tip {
  border-left-color: #1f9d55;
}
.shortcode-note--warn {
  border-left-color: #d97706;
}
.shortcode-note__title {
  margin-bottom: 0.8rem;
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--text);
}
.shortcode-note__body > :last-child {
  margin-bottom: 0;
}
.shortcode-badge {
  display: inline-flex;
  align-items: center;
  min-height: 2.6rem;
  padding: 0 0.9rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--card-muted);
  color: var(--accent-soft-text);
  font-size: 1.25rem;
  line-height: 1;
  vertical-align: middle;
}
.shortcode-badge--default {
  background: var(--card-muted);
}
.shortcode-badge--info {
  background: color-mix(in srgb, var(--accent) 14%, var(--card) 86%);
  color: var(--accent-soft-text);
}
.shortcode-badge--warn {
  background: color-mix(in srgb, #d97706 16%, var(--card) 84%);
  color: color-mix(in srgb, var(--text) 88%, #7c2d12 12%);
}
.shortcode-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.8rem;
  padding: 0 1.4rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-size: 1.38rem;
  text-decoration: none;
}
.shortcode-button--primary {
  background: var(--foreground);
  border-color: var(--foreground);
  color: var(--accent-contrast);
}
.shortcode-button--ghost {
  background: var(--card-muted);
  color: var(--text);
}
.shortcode-media {
  margin: 1.8rem 0;
}
.shortcode-media figcaption {
  margin-top: 0.8rem;
  color: var(--text-soft);
  font-size: 1.3rem;
  line-height: 1.6;
  text-align: center;
}
.shortcode-media video,
.shortcode-media audio {
  display: block;
  width: 100%;
  max-width: 100%;
}
.shortcode-media video {
  border-radius: 1.6rem;
  background: #000;
}
.shortcode-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 1.6rem;
  background: var(--markdown-code-bg);
}
.shortcode-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.shortcode-audio__title {
  margin-bottom: 0.8rem;
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--text);
}
.shortcode-timeline {
  display: grid;
  gap: 1.6rem;
  margin: 1.8rem 0;
}
.shortcode-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: 2.4rem 1fr;
  gap: 1rem;
}
.shortcode-timeline__rail {
  position: relative;
}
.shortcode-timeline__rail::before {
  content: "";
  position: absolute;
  top: 0.4rem;
  left: 0.9rem;
  bottom: -2rem;
  width: 1px;
  background: var(--border);
}
.shortcode-timeline__rail::after {
  content: "";
  position: absolute;
  top: 0.4rem;
  left: 0.45rem;
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 0.3rem color-mix(in srgb, var(--accent) 18%, transparent);
}
.shortcode-timeline__item:last-child .shortcode-timeline__rail::before {
  bottom: 0.4rem;
}
.shortcode-timeline__date {
  color: var(--text-soft);
  font-size: 1.25rem;
  line-height: 1.5;
}
.shortcode-timeline__title {
  margin-top: 0.2rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text);
}
.shortcode-timeline__body > :last-child {
  margin-bottom: 0;
}
.shortcode-columns {
  display: grid;
  gap: 1.4rem;
  margin: 1.8rem 0;
}
.shortcode-columns__item {
  min-width: 0;
  padding: 1.4rem 1.5rem;
  border: 1px solid var(--border);
  border-radius: 1.4rem;
  background: color-mix(in srgb, var(--card) 90%, var(--accent-soft) 10%);
}
.shortcode-columns__item > :last-child {
  margin-bottom: 0;
}
.shortcode-gallery {
  column-count: var(--gallery-columns, 3);
  column-gap: 0.9rem;
  margin: 1.5rem 0;
}
.article-content .shortcode-gallery .shortcode-gallery__item {
  break-inside: avoid;
  margin: 0 0 0.9rem;
}
.shortcode-gallery__link {
  display: block;
  overflow: hidden;
  border-radius: 1.6rem;
  border: 1px solid var(--card-border);
  background: color-mix(in srgb, var(--card) 90%, var(--accent-soft) 10%);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}
.article-content .shortcode-gallery .shortcode-gallery__link img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  border: 0;
  border-radius: 0;
  transition: transform 180ms ease, filter 180ms ease;
}
.article-content .shortcode-gallery .shortcode-gallery__link:hover img {
  transform: scale(1.02);
  filter: saturate(1.04);
}
/* Responsive and device-specific overrides across breakpoints. */
@media (min-width: 768px) {
  .shortcode-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .shortcode-columns__item--2 {
    grid-column: span 2;
  }
}
.site-footer { padding: 0 0 32px; color: var(--text-soft); font-size: 1.35rem; }
.site-footer p { margin: 0; text-align: center; }

#tcomment input,
#tcomment textarea,
#tcomment .tk-input,
#tcomment .tk-textarea,
#tcomment .el-input__inner,
#tcomment .el-textarea__inner {
  font-size: 16px !important;
  line-height: 1.5 !important;
  -webkit-text-size-adjust: 100%;
  transform: none !important;
}

#tcomment textarea,
#tcomment .tk-textarea,
#tcomment .el-textarea__inner {
  min-height: 8em;
  resize: vertical;
}

@media (max-width: 767px) {
  .shortcode-gallery {
    column-count: 2;
    column-gap: 0.75rem;
  }
  .site-header,
  .site-shell,
  .site-footer {
    width: min(calc(100% - 20px), var(--content-width));
  }

  .site-header {
    padding: 16px 0 14px;
  }

  .site-header__inner {
    padding: 16px;
    border-radius: 20px;
    gap: 12px;
  }

  .site-brand {
    gap: 12px;
    align-items: flex-start;
  }

  .site-brand__avatar img {
    width: 60px;
    height: 60px;
  }

  .site-brand__title {
    font-size: 2.2rem;
  }

  .site-brand__subtitle {
    margin-top: 4px;
    font-size: 1.3rem;
  }

  .site-brand__text {
    text-align: left;
    max-width: calc(100% - 132px);
  }

  .main-nav,
  .social-nav {
    gap: 8px;
  }

  .main-nav__link,
  .header-tool {
    min-height: 34px;
    padding: 0 11px;
    font-size: 1.25rem;
  }

  .header-tool--icon {
    width: 34px;
    min-width: 34px;
  }

  .header-tools {
    top: 16px;
    right: 16px;
    gap: 6px;
  }

  .translation-toggle__summary {
    padding: 0 11px;
  }

  .social-nav__link {
    width: 28px;
    height: 28px;
  }

  .social-nav__link svg {
    width: 14px;
    height: 14px;
  }

  .section-head {
    margin-bottom: 18px;
  }

  .section-head h1 {
    margin: 0;
    font-size: 2rem;
    line-height: 1.3;
  }

  .post-card {
    gap: 10px;
  }

  .post-card__title,
  .post-feed--home .post-card__title,
  .post-card--taxonomy .post-card__title {
    font-size: 1.42rem;
  }

  .post-card__meta,
  .meta-line,
  .post-card__categories a,
  .meta-categories a,
  .widget-simple__tab,
  .widget-simple__row {
    font-size: 1.22rem;
  }

  .post-card__meta,
  .meta-line {
    gap: 10px;
  }

  .article-page,
  .list-page,
  .archives-page,
  .search-page {
    padding: 18px;
    border-radius: 20px;
  }

  .article-page__meta h1 {
    font-size: 1.92rem;
  }

  .cover-fallback--card .cover-fallback__title,
  .cover-fallback--taxonomy .cover-fallback__title {
    font-size: clamp(1.6rem, 5.6vw, 2.2rem);
  }

  .post-feed--home .cover-fallback--card .cover-fallback__title {
    font-size: clamp(1.72rem, 6vw, 2.35rem);
  }

  .title-card-showcase__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .title-card-showcase__item .cover-fallback--card {
    min-height: 152px;
  }

  .article-page__toc-mobile {
    display: block;
    margin-top: 1.2rem;
  }

  .article-page__toc-mobile .toc-widget {
    max-height: 30rem;
  }

  .template-single .sidebar-right .widget-simple--toc {
    display: none;
  }

  .template-single .sidebar-right {
    position: static;
  }

  .talk-page {
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
  }

  .talk-page .section-head {
    padding: 0 4px;
  }

  .home-talk-mobile {
    display: block;
    margin-bottom: 2rem;
  }

  .widget-simple--talk-sidebar {
    display: none;
  }

  .widget-simple--talk-mobile .widget-talk__content {
    max-height: 13.2rem;
    padding-bottom: 3rem;
    font-size: 1.4rem;
  }

  .widget-simple--talk-mobile .widget-talk__content .article-image.article-image--fullwidth .article-image__link img,
  .widget-simple--talk-mobile .widget-talk__content .article-image__link img {
    max-height: 15.8rem !important;
  }

  .widget-simple--talk-mobile .widget-talk__head {
    gap: 1rem;
  }

  .widget-simple--talk-mobile .widget-talk__avatar {
    width: 2.8rem;
    height: 2.8rem;
  }

  .widget-simple--talk-mobile .widget-simple__title {
    font-size: 1.2rem;
  }

  .post-card--moment {
    padding: 16px 18px;
    border-radius: 18px;
  }

  .moment-content .article-content,
  .moment-content {
    font-size: 1.5rem;
  }

  .comments-card,
  #tcomment {
    position: relative;
    z-index: 2;
  }

  .article-page__description,
  .comments-card,
  .comments-card * ,
  .widget-simple__row--related,
  .widget-simple__row--related a {
    font-size: 1.4rem;
    line-height: 1.8;
  }

  .article-content {
    font-size: 1.4rem !important;
    line-height: 1.8;
  }

  .article-content .article-image__link img {
    max-height: var(--article-content-image-mobile-max-height, none);
  }

  .article-content .article-image.article-image--fullwidth .article-image__link img {
    height: var(--article-content-image-mobile-max-height, auto);
  }

  .image-lightbox {
    padding: 1.2rem;
  }

  .image-lightbox__dialog {
    width: 100%;
    max-height: 100%;
  }

  .image-lightbox__nav {
    width: 3.4rem;
    height: 3.4rem;
    font-size: 2rem;
  }

  .image-lightbox__nav--prev {
    left: 0.2rem;
  }

  .image-lightbox__nav--next {
    right: 0.2rem;
  }

  .image-lightbox__image {
    max-height: calc(100vh - 6rem);
    border-radius: 1.2rem;
  }

  .image-lightbox__close {
    top: -0.2rem;
    right: -0.2rem;
  }

  .article-content p {
    text-align: left !important;
  }

  .article-page__toc-mobile .toc-widget,
  .article-page__toc-mobile .toc-widget a,
  .article-page__toc-mobile .toc-widget li {
    font-size: 1.4rem;
    line-height: 1.7;
  }

  .article-page__toc-mobile .toc-widget ol {
    padding-left: 3.2rem;
  }

  .article-page__toc-mobile .toc-widget li {
    padding-left: 0.5rem;
  }

  .article-page__toc-mobile .toc-widget ol li::marker {
    font-size: 0.82em;
  }
}

@media (max-width: 479.98px) {
  .shortcode-gallery {
    column-count: 1;
  }
}

@media (min-width: 768px) and (max-width: 1023.98px) {
  .article-content .article-image__link img {
    max-height: var(--article-content-image-tablet-max-height, none);
  }

  .article-content .article-image.article-image--fullwidth .article-image__link img {
    height: var(--article-content-image-tablet-max-height, auto);
  }
}

@media (min-width: 768px) {
  .site-shell { flex-direction: row; align-items: flex-start; }
  .site-main { flex: 1 1 auto; }
  .sidebar-right { width: 320px; max-width: 320px; flex: 0 0 320px; position: sticky; top: 20px; }
  .home-talk-mobile { display: none; }
  .post-feed--home { grid-template-columns: 1fr; }
  .post-feed--taxonomy { grid-template-columns: 1fr; }
  .site-header__nav { flex-direction: row; align-items: center; justify-content: space-between; gap: 14px; }
  .main-nav, .social-nav, .header-tools { flex-wrap: nowrap; }
}

@media (min-width: 1080px) {
  html[data-layout-mode=double] .post-feed--home { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-layout-mode=double] .post-feed--taxonomy { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
  .widget-simple--archives {
    display: none;
  }
  .pagination {
    justify-content: center;
  }
  .site-header__nav {
    align-items: center;
  }
  .main-nav,
  .social-nav {
    justify-content: center;
  }
  .header-tools {
    justify-content: flex-end;
  }
  .site-header__inner { gap: 16px; }
  .site-brand { align-items: flex-start; }
  .site-brand__text { text-align: left; }
}
@media (max-width: 767px) {
  .article-content {
    font-size: 1.58rem;   /* 15.8px閿涘本鐦宀勬桨缁旑垳鈼㈢亸?*/
    line-height: 1.8;
  }
  .article-content p {
    text-align: left;     /* 閹靛婧€娑撳﹤鍙ч幒?justify */
  }
}

.post-card__excerpt {
  margin: 0;
  color: var(--text-soft);
  font-size: 1.42rem;
  line-height: 1.8;
}
.comments-card {
  margin-top: 32px;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: var(--bg-elevated);
  box-shadow: var(--shadow);
}
.back-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 42px;
  height: 42px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--hero-chip);
  color: var(--hero-chip-text);
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 30;
}
.back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
@media (max-width: 767px) {
  .back-to-top {
    right: 16px;
    bottom: 16px;
  }
}
/* Optional syntax highlighting colors for Hugo/Chroma code blocks. */
.article-content .chroma .k,
.article-content .chroma .kc,
.article-content .chroma .kd,
.article-content .chroma .kn,
.article-content .chroma .kp,
.article-content .chroma .kr,
.article-content .chroma .kt {
  color: #c792ea;
}

.article-content .chroma .s,
.article-content .chroma .sa,
.article-content .chroma .sb,
.article-content .chroma .sc,
.article-content .chroma .dl,
.article-content .chroma .sd,
.article-content .chroma .s1,
.article-content .chroma .s2,
.article-content .chroma .se,
.article-content .chroma .sh,
.article-content .chroma .si,
.article-content .chroma .sr,
.article-content .chroma .ss,
.article-content .chroma .sx {
  color: #ecc48d;
}

.article-content .chroma .m,
.article-content .chroma .mb,
.article-content .chroma .mf,
.article-content .chroma .mh,
.article-content .chroma .mi,
.article-content .chroma .mo {
  color: #f78c6c;
}

.article-content .chroma .c,
.article-content .chroma .c1,
.article-content .chroma .cm,
.article-content .chroma .ch,
.article-content .chroma .cs,
.article-content .chroma .cpf {
  color: #7f8c98;
  font-style: italic;
}

.article-content .chroma .na,
.article-content .chroma .nb,
.article-content .chroma .nc,
.article-content .chroma .nd,
.article-content .chroma .ne,
.article-content .chroma .nf,
.article-content .chroma .nl,
.article-content .chroma .nn,
.article-content .chroma .nt,
.article-content .chroma .nv,
.article-content .chroma .vc,
.article-content .chroma .vg,
.article-content .chroma .vi,
.article-content .chroma .vm {
  color: #82aaff;
}

.article-content .chroma .o,
.article-content .chroma .ow,
.article-content .chroma .p {
  color: color-mix(in srgb, var(--text) 78%, white 22%);
}

.article-content .chroma .err {
  color: #ff5370;
  background: transparent;
}
