/* ===== css/main/30-themes.css —— 主题与配色：圆形调色板 / 三套主题变体 / 盛夏调整 / 窄屏与手机端微调 =====
   · 2026-10-16 从 index.html 的 <style> 按【原顺序】切出：只切不重构，样式一个字符没改
   · 加载顺序（必须保持）：00-tokens → 10-layout → 20-components → 30-themes → 40-art
   · 本文件是第 4／5 段；删掉头部这 5 行，剩下的就是原文对应片段
   ===== */
    /* ---------- 圆形调色板按钮（左对齐内容区左缘 = 「昵称」正上方，零占位） ---------- */
    .palette-fab-wrap {
      position: absolute;
      top: 50%;
      /* 横向改为「左对齐」：left 相对 .subtitle-row 的内容区，
         而「昵称」标签也恰好从内容区左缘起排 → 圆盘正好落在昵称正上方，不再挤着标语。
         仍是绝对定位（脱离排版流）→ 标题/标语/公告栏图标/昵称位置全部不受影响。
         圆盘 36px 与下方 33px 宽的“调色板”二字都远窄于内容区，绝不可能超出网页。 */
      left: var(--palette-fab-inset);
      width: var(--palette-fab-size);
      height: var(--palette-fab-size);
      transform: translateY(-50%);   /* 圆盘竖向中心 = 标语文字中心 */
      z-index: 30;
    }

    .palette-fab {
      position: relative;
      display: block;
      width: 100%;
      height: 100%;
      padding: 0;
      border: 2px solid #ffffff;
      border-radius: 50%;
      /* 兜底纯色：个别老浏览器不支持 conic-gradient 时，仍是一枚完整可点的浅紫圆盘 */
      background-color: #ece2fb;
      /* 【本轮调整 2026-10-11】盘面：四格色轮 → 三格颜料色轮，与三套主题一一对应、各占 120° 均匀分布：
         紫霞 #5931F6（= 主题紫色降亮后的新主色，与全站「那一抹紫」严格同源）/
         秋意 #d9772f / 盛夏 #5aa87c（均为现有主题色卡中的代表色）。
         用「重复色标」的老写法，兼容更多内置浏览器内核 */
      background-image: conic-gradient(
        #5931F6 0deg,
        #5931F6 120deg,
        #d9772f 120deg,
        #d9772f 240deg,
        #5aa87c 240deg,
        #5aa87c 360deg
      );
      box-shadow: 0 2px 8px rgba(49, 38, 96, 0.26), inset 0 0 0 1px rgba(255, 255, 255, 0.45);
      cursor: pointer;
      transition: transform 0.2s ease;
      /* 【本轮调整】圆盘以自身圆心为基准整体缩小到 85%（原地缩小，不挪位、不改布局流，
         命中热区仍是原来的 36px 圆，好按不费劲）；悬停/按下的缩放也以 85% 为基准等比换算，
         保证任何状态下都不会跳回原尺寸 */
      transform: scale(0.85);
    }

    /* 正中央的留白小圆：更像一块真实的调色盘（纯 CSS，零图片依赖） */
    .palette-fab::after {
      content: '';
      position: absolute;
      left: 50%;
      top: 50%;
      width: 8px;
      height: 8px;
      margin: -4px 0 0 -4px;
      border-radius: 50%;
      background: #ffffff;
      box-shadow: 0 0 0 1px rgba(49, 38, 96, 0.10);
    }

    /* 【本轮调整】悬停/按下：以 85% 基准等比换算（0.85×1.07≈0.91，0.85×0.95≈0.81），
       与静止态的 scale(0.85) 衔接连续，绝不会跳变回原尺寸 */
    .palette-fab:hover { transform: scale(0.91); }
    .palette-fab:active { transform: scale(0.81); }

    .palette-fab.is-active {
      box-shadow: 0 0 0 3px var(--theme-accent-soft), 0 2px 8px rgba(49, 38, 96, 0.26);
    }

    .palette-fab:focus-visible {
      outline: 2px solid var(--theme-accent);
      outline-offset: 2px;
    }

    /* “调色板”三个字：绝对居中挂在圆盘正下方，不换行、不越界
       （宽约 33px，比它所在的圆盘区域还窄，因此一定落在网页内） */
    .palette-fab-label {
      position: absolute;
      top: calc(100% + 3px);
      left: 50%;
      transform: translateX(-50%);
      font-size: 10px;
      line-height: 1;
      letter-spacing: 1px;
      white-space: nowrap;
      color: var(--palette-fab-label-color, #9b8fc0);
      pointer-events: none;
    }

    /* ---------- 调色板面板：就地展开（不是独立弹窗），盖住大标题与标语 ---------- */
    .palette-panel {
      position: absolute;
      left: 0;
      right: 0;
      top: calc(-1 * var(--palette-panel-rise));
      z-index: 40;                     /* 高于按钮本体，低于公告弹窗（8000）与引导页（9999） */
      /* 【本轮】面板整体缩小：内边距 12/14 → 8/10，圆角 16 → 14（与下方字体、圆盘、间距同步缩） */
      padding: 8px 10px;
      border: 1px solid var(--theme-panel-border);
      border-radius: 14px;
      background: var(--theme-panel-bg);
      box-shadow: var(--theme-panel-shadow);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
      animation: palettePop 0.18s ease-out;
    }

    /* 双保险：面板隐藏态（全局 [hidden] 规则之外再加一层，绝不会露出半个面板） */
    .palette-panel[hidden] { display: none !important; }

    .palette-panel-head {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-bottom: 5px;
    }

    .palette-panel-title {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.8px;
      color: var(--theme-panel-title);
    }

    .palette-hint {
      font-size: 9.5px;
      letter-spacing: 0.3px;
      color: var(--theme-panel-text);
    }

    .palette-close {
      margin-left: auto;
      padding: 1px 8px;
      border: none;
      border-radius: 999px;
      background: var(--theme-accent-soft);
      color: var(--theme-accent);
      font-size: 11px;
      font-family: inherit;
      cursor: pointer;
    }

    /* 三张色卡：紫霞 / 秋意 / 盛夏（本轮新增第三个颜色） */
    .palette-options {
      display: flex;
      gap: 7px;
    }

    .palette-option {
      position: relative;   /* 【本轮】对勾标记改为绝对定位的基准：勾不再抢走文字宽度 */
      flex: 1 1 0;
      min-width: 0;
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 6px 7px;
      border: 1px solid var(--theme-option-border);
      border-radius: 10px;
      background: var(--theme-option-bg);
      font-family: inherit;
      text-align: left;
      cursor: pointer;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .palette-option:hover { transform: translateY(-1px); }
    .palette-option:active { transform: scale(0.98); }

    .palette-option.is-active {
      border-color: var(--theme-accent);
      box-shadow: 0 0 0 2px var(--theme-accent-soft);
    }

    /* 色卡圆盘：直接预览该主题的渐变感觉 */
    .palette-swatch {
      flex: none;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.85), 0 1px 4px rgba(40, 30, 70, 0.22);
    }

    .palette-swatch-purple {
      background-color: #b9a4ea;
      background-image: conic-gradient(
        #a18cd1 0deg, #a18cd1 120deg,
        #fbc2eb 120deg, #fbc2eb 240deg,
        #5931F6 240deg, #5931F6 360deg
      );
    }

    .palette-swatch-autumn {
      background-color: #e9c078;
      background-image: conic-gradient(
        #9fc0dd 0deg, #9fc0dd 110deg,
        #f3c463 110deg, #f3c463 250deg,
        #d9772f 250deg, #d9772f 360deg
      );
    }

    /* 【本轮新增】盛夏嫩绿：嫩芽绿 → 浅黄绿 → 深一点的叶绿（清爽但不刺眼） */
    .palette-swatch-summer {
      background-color: #a9d8a4;
      background-image: conic-gradient(
        #9eceb8 0deg, #9eceb8 110deg,
        #b9e2a4 110deg, #b9e2a4 250deg,
        #5aa87c 250deg, #5aa87c 360deg
      );
    }

    .palette-option-text {
      min-width: 0;
      line-height: 1.25;
    }

    .palette-option-name {
      display: block;
      font-size: 11px;
      font-weight: 700;
      color: var(--theme-option-name);
    }

    .palette-option-desc {
      display: block;
      font-size: 9.5px;
      letter-spacing: 0.4px;
      color: var(--theme-option-desc);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .palette-check {
      display: none;
      position: absolute;
      right: 5px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 10px;
      line-height: 1;
      color: var(--theme-accent);
      pointer-events: none;
    }

    .palette-option.is-active .palette-check { display: inline; }

    /* ---------- 窄屏微调（必须写在上面所有色卡基础规则之后，否则会被后者覆盖） ---------- */
    /* 窄屏（≤360px）：三张色卡并排更挤 → 圆盘 / 内边距 / 字距再收一档，
       经无头 Chrome 实测：三张色卡等宽，且“梦幻紫调 / 金黄落秋 / 盛夏嫩绿”四字描述仍完整可见 */
    @media (max-width: 360px) {
      .palette-panel { padding: 7px 7px; }
      .palette-option { gap: 4px; padding: 5px 5px; }
      .palette-swatch { width: 16px; height: 16px; }
      .palette-option-name { font-size: 10.5px; }
      .palette-option-desc { font-size: 9px; letter-spacing: 0; }
    }

    /* 极窄屏（≤300px，实测 280px）：三列并排已放不下描述短语 → 只留「色卡圆盘 + 名称」，
       面板同时更矮；这类宽度在真机上极少见，属纯兜底，不影响常见机型。 */
    @media (max-width: 300px) {
      .palette-option-desc { display: none; }
    }

    @keyframes palettePop {
      from { opacity: 0; transform: translateY(5px) scale(0.99); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }

    /* ============================================================
       秋意主题（body[data-theme="autumn"]）—— 新增，仅在选择「秋意」时生效
       取自两张参考照片的色温：
         天空蓝 #9fc0dd ｜ 满树金黄 #f2c162 ｜ 暖阳琥珀 #d99524
         枫叶砖橙 #c86a2a ｜ 阳光洒在米白墙面 #fffdf6 ｜ 暖褐文字 #7a4a22
       表现「微微惆怅的秋意」：整体偏暖、明度略降、蓝金互为补色。
       注意：这里的选择器都比上方原规则多一层 body[data-theme="autumn"]
             且书写位置更靠后，因此只覆盖颜色，不动任何结构。
    ============================================================ */
    body[data-theme="autumn"] {
      /* 调色板按钮 / 面板的主题跟随色 */
      --theme-accent: #b26a17;
      --theme-accent-soft: rgba(199, 137, 52, 0.20);
      --theme-panel-bg: rgba(255, 253, 246, 0.97);
      --theme-panel-border: rgba(199, 137, 52, 0.24);
      --theme-panel-shadow: 0 12px 30px rgba(96, 62, 22, 0.20), 0 2px 6px rgba(96, 62, 22, 0.10);
      --theme-panel-title: #7a4a22;
      --theme-panel-text: #9a8464;
      --theme-option-bg: rgba(199, 137, 52, 0.08);
      --theme-option-border: rgba(199, 137, 52, 0.22);
      --theme-option-name: #7a4a22;
      --theme-option-desc: #9a8464;
      --palette-fab-label-color: #ab7f4e;
      /* 原有变量（公告栏文字标签、弹窗滚动条）在秋意下的取值 */
      --notice-label-color: #ab7f4e;
      --notice-scrollbar-thumb: #e0bd88;
      --notice-scrollbar-track: rgba(199, 137, 52, 0.10);

      /* 页面底色：天空蓝 → 浅金 → 金黄 → 暖赭（秋风起、天高云淡） */
      background: linear-gradient(165deg, #9fc0dd 0%, #ddcfa5 26%, #f2c877 58%, #e2a45f 84%, #cf8f5d 100%);
      background-attachment: fixed;   /* 简写会重置该项，必须补回，保证滚动时背景不跳动 */
      color: #4a3f33;
    }

    /* 毛玻璃大卡片：换成暖白 */
    body[data-theme="autumn"] .container {
      background: rgba(255, 252, 243, 0.74);
      box-shadow: 0 8px 32px rgba(96, 66, 26, 0.14);
    }

    /* 标题 / 标语 / 公告栏图标 */
    body[data-theme="autumn"] .page-title { color: #7a4a22; }
    body[data-theme="autumn"] .page-subtitle { color: #ab7f4e; }
    body[data-theme="autumn"] .notice-bell { color: #c07a1e; }

    /* 留言表单 */
    body[data-theme="autumn"] .form-card label { color: #8a6234; }
    body[data-theme="autumn"] .form-card input,
    body[data-theme="autumn"] .form-card textarea {
      border-color: #e9dcc2;
      background: #fffdf8;
      color: #4a3f33;
    }
    body[data-theme="autumn"] .form-card input:focus,
    body[data-theme="autumn"] .form-card textarea:focus {
      border-color: #d9932f;
      box-shadow: 0 0 0 3px rgba(217, 147, 47, 0.18);
    }

    /* 主要按钮：金 → 砖橙渐变（提交 / 加载更多 / 引导卡按钮 / 引导页按钮 / 长文弹窗主按钮） */
    body[data-theme="autumn"] .submit-button,
    body[data-theme="autumn"] .load-more-button,
    body[data-theme="autumn"] .guide-card button,
    body[data-theme="autumn"] .intro-button,
    body[data-theme="autumn"] .long-tip-btn-primary {
      background: linear-gradient(135deg, #cf9022 0%, #a85a17 100%);
    }

    /* 历史留言区 */
    body[data-theme="autumn"] .history-section h2 {
      color: #7a4a22;
      border-bottom-color: rgba(199, 137, 52, 0.22);
    }
    body[data-theme="autumn"] .message-count { color: #ab7f4e; }
    body[data-theme="autumn"] .message-item {
      background: #fffdf8;
      box-shadow: 0 2px 8px rgba(120, 82, 34, 0.10);
    }
    body[data-theme="autumn"] .message-nickname { color: #c07a1e; }
    body[data-theme="autumn"] .message-time { color: #a5977f; }
    body[data-theme="autumn"] .message-content { color: #4a3f33; }
    body[data-theme="autumn"] .empty-tip { color: #bfae94; }

    /* 门禁引导卡片 */
    body[data-theme="autumn"] .guide-card {
      background: rgba(255, 252, 244, 0.92);
      box-shadow: 0 4px 16px rgba(120, 82, 34, 0.10);
    }
    body[data-theme="autumn"] .guide-card h2 { color: #c07a1e; }
    body[data-theme="autumn"] .guide-card p { color: #6b5c49; }

    /* 「查看历史留言」按钮 */
    body[data-theme="autumn"] .view-history-button {
      border-color: rgba(199, 137, 52, 0.36);
      background: rgba(255, 253, 247, 0.88);
      color: #b06a1c;
      box-shadow: 0 4px 16px rgba(120, 82, 34, 0.12);
    }

    /* 点赞按钮（已赞态保留原有暖红：本就在秋意色系内，无需改动） */
    body[data-theme="autumn"] .like-button {
      border-color: rgba(199, 137, 52, 0.30);
      background: rgba(255, 253, 247, 0.90);
      color: #b06a1c;
    }

    /* 楼中楼评论 */
    body[data-theme="autumn"] .comment-thread { background: rgba(205, 143, 52, 0.09); }
    body[data-theme="autumn"] .comment-row { border-left-color: rgba(199, 137, 52, 0.30); }
    body[data-theme="autumn"] .comment-nick { color: #c07a1e; }
    body[data-theme="autumn"] .comment-time { color: #bfae94; }
    body[data-theme="autumn"] .comment-text { color: #5a4c3c; }
    body[data-theme="autumn"] .comment-nick-input,
    body[data-theme="autumn"] .comment-content-input { border-color: #e9dcc2; }
    body[data-theme="autumn"] .comment-nick-input:focus,
    body[data-theme="autumn"] .comment-content-input:focus {
      border-color: #d9932f;
      box-shadow: 0 0 0 3px rgba(217, 147, 47, 0.15);
    }
    body[data-theme="autumn"] .comment-more-button { color: #b06a1c; }

    /* 「展开查看更多」/「收回全部」按钮 */
    body[data-theme="autumn"] .expand-more-button {
      border-color: rgba(199, 137, 52, 0.36);
      background: rgba(199, 137, 52, 0.12);
      color: #a85f16;
    }
    body[data-theme="autumn"] .expand-more-button:hover { background: rgba(199, 137, 52, 0.20); }
    body[data-theme="autumn"] .collapse-all-button {
      border-color: rgba(199, 137, 52, 0.26);
      background: rgba(199, 137, 52, 0.07);
      color: #a9834f;
    }
    body[data-theme="autumn"] .collapse-all-button:hover { background: rgba(199, 137, 52, 0.14); }

    /* 公告日志弹窗 / 长文阅读器 / 长文提示：遮罩与面板统一为暖褐调 */
    body[data-theme="autumn"] .notice-modal,
    body[data-theme="autumn"] .reader-modal { background: rgba(48, 34, 22, 0.62); }
    body[data-theme="autumn"] .long-tip-modal { background: rgba(48, 34, 22, 0.45); }
    body[data-theme="autumn"] .notice-panel,
    body[data-theme="autumn"] .reader-panel,
    body[data-theme="autumn"] .long-tip-panel { background: rgba(255, 253, 246, 0.97); }
    body[data-theme="autumn"] .notice-panel { box-shadow: 0 8px 32px rgba(96, 62, 22, 0.24); }
    body[data-theme="autumn"] .reader-panel { box-shadow: 0 8px 32px rgba(96, 62, 22, 0.26); }
    body[data-theme="autumn"] .long-tip-panel { box-shadow: 0 8px 32px rgba(96, 62, 22, 0.26); }
    body[data-theme="autumn"] .notice-title { color: #7a4a22; }
    body[data-theme="autumn"] .notice-close,
    body[data-theme="autumn"] .reader-close,
    body[data-theme="autumn"] .long-tip-close {
      background: rgba(199, 137, 52, 0.14);
      color: #b06a1c;
    }
    body[data-theme="autumn"] .notice-item { border-bottom-color: rgba(199, 137, 52, 0.20); }
    body[data-theme="autumn"] .notice-nick { color: #c07a1e; }
    body[data-theme="autumn"] .notice-time { color: #a5977f; }
    body[data-theme="autumn"] .notice-content { color: #4a3f33; }
    body[data-theme="autumn"] .notice-empty { color: #ab7f4e; }
    body[data-theme="autumn"] .reader-nick { color: #c07a1e; }
    body[data-theme="autumn"] .reader-meta { color: #bfae94; }
    body[data-theme="autumn"] .reader-body { color: #4a3f33; }
    body[data-theme="autumn"] .long-tip-text { color: #7a4a22; }
    body[data-theme="autumn"] .long-tip-btn {
      border-color: rgba(199, 137, 52, 0.38);
      background: rgba(199, 137, 52, 0.12);
      color: #a85f16;
    }

    /* 创立初衷引导页 */
    body[data-theme="autumn"] .intro-overlay { background: rgba(56, 38, 22, 0.72); }
    body[data-theme="autumn"] .intro-card {
      background: rgba(255, 252, 245, 0.94);
      box-shadow: 0 8px 32px rgba(96, 66, 26, 0.25);
    }
    body[data-theme="autumn"] .intro-title { color: #7a4a22; }
    body[data-theme="autumn"] .intro-text { color: #463a2c; }
    body[data-theme="autumn"] .intro-hint { color: #ab7f4e; }

    /* 背景柔光粒子：暖金 + 砖橙（含低帧率降档态 body.low-fps） */
    body[data-theme="autumn"]::before {
      background: radial-gradient(circle at center, rgba(255, 206, 108, 0.62), rgba(255, 206, 108, 0) 70%);
    }
    body[data-theme="autumn"]::after {
      background: radial-gradient(circle at center, rgba(214, 116, 60, 0.42), rgba(214, 116, 60, 0) 70%);
    }
    body[data-theme="autumn"].low-fps::before {
      background: radial-gradient(circle at center, rgba(255, 206, 108, 0.50), rgba(255, 206, 108, 0) 70%);
    }
    body[data-theme="autumn"].low-fps::after {
      background: radial-gradient(circle at center, rgba(214, 116, 60, 0.32), rgba(214, 116, 60, 0) 70%);
    }

    /* ============================================================
       盛夏主题（body[data-theme="summer"]）—— 本轮新增，仅在选择「盛夏」时生效
       色温取自「盛夏生机勃勃的嫩绿」：
         嫩芽黄绿 #b9e2a4 ｜ 薄荷青绿 #9eceb8 ｜ 叶绿 #5aa87c
         深绿文字 #2f6b4a ｜ 清透绿白底 #fbfffc ｜ 柔和边框 #d5e7db
       刻意压低饱和度（主强调色约 37%），明度保持柔和通透
         → 页面清爽有生机，但不会因为绿色过艳而显得刺眼、发亮。
       注意：与秋意完全同构 —— 选择器只多一层 body[data-theme="summer"]，
             且只覆盖颜色类属性，不涉及 display / 尺寸 / 层级
             → 切回紫霞或秋意时本段一律不匹配，不可能造成白屏、黑屏或布局错位。
    ============================================================ */
    body[data-theme="summer"] {
      /* 调色板按钮 / 面板的主题跟随色 */
      --theme-accent: #4f9d6b;
      --theme-accent-soft: rgba(122, 190, 148, 0.20);
      --theme-panel-bg: rgba(240, 246, 241, 0.97);   /* 【本轮调整 2026-10-13】亮度 −5%（调色板面板底） */
      --theme-panel-border: rgba(110, 175, 132, 0.26);
      --theme-panel-shadow: 0 12px 30px rgba(30, 70, 52, 0.20), 0 2px 6px rgba(30, 70, 52, 0.10);
      --theme-panel-title: #2f6b4a;
      --theme-panel-text: #7f9c8a;
      --theme-option-bg: rgba(110, 175, 132, 0.08);
      --theme-option-border: rgba(110, 175, 132, 0.24);
      --theme-option-name: #2f6b4a;
      --theme-option-desc: #7f9c8a;
      --palette-fab-label-color: #7f9c8a;
      /* 原有变量（公告栏文字标签、弹窗滚动条）在盛夏下的取值 */
      --notice-label-color: #7f9c8a;
      --notice-scrollbar-thumb: #a8cfb6;
      --notice-scrollbar-track: rgba(110, 175, 132, 0.10);

      /* 【本轮调整 2026-10-13】页面底色整体亮度 −10%（只压明度，色相/饱和度一字未动，仍是夏日嫩绿）
         改前：linear-gradient(165deg, #9eceb8 0%, #c6e3b6 26%, #9dd09a 58%, #82c094 84%, #70b492 100%)
         改法：每个色标三通道 ×0.9。要还原就换回上面那一行。 */
      background: linear-gradient(165deg, #8eb9a6 0%, #b2cca4 26%, #8dbb8b 58%, #75ad85 84%, #65a283 100%);
      background-attachment: fixed;   /* 简写会重置该项，必须补回，保证滚动时背景不跳动 */
      color: #33493d;
    }

    /* 毛玻璃大卡片：换成清透的绿白
       【本轮调整 2026-10-13】亮度 −5%：rgba(250,255,251,.74) → rgba(237,243,238,.78) */
    body[data-theme="summer"] .container {
      background: rgba(237, 243, 238, 0.78);
      box-shadow: 0 8px 32px rgba(34, 78, 58, 0.14);
    }

    /* 标题 / 标语 / 公告栏图标 */
    body[data-theme="summer"] .page-title { color: #2f6b4a; }
    body[data-theme="summer"] .page-subtitle { color: #7f9c8a; }
    body[data-theme="summer"] .notice-bell { color: #3f8f63; }

    /* 留言表单 */
    body[data-theme="summer"] .form-card label { color: #3d7458; }
    body[data-theme="summer"] .form-card input,
    body[data-theme="summer"] .form-card textarea {
      border-color: #d5e7db;
      background: #eff5f0;   /* 【本轮调整 2026-10-13】#fbfffc → #eff5f0（约 −5%，降低输入框反光） */
      color: #33493d;
    }
    body[data-theme="summer"] .form-card input:focus,
    body[data-theme="summer"] .form-card textarea:focus {
      border-color: #4f9d6b;
      box-shadow: 0 0 0 3px rgba(79, 157, 107, 0.18);
    }

    /* 主要按钮：嫩绿 → 叶绿渐变（提交 / 加载更多 / 引导卡按钮 / 引导页按钮 / 长文弹窗主按钮） */
    body[data-theme="summer"] .submit-button,
    body[data-theme="summer"] .load-more-button,
    body[data-theme="summer"] .guide-card button,
    body[data-theme="summer"] .intro-button,
    body[data-theme="summer"] .long-tip-btn-primary {
      /* 【本轮调整 2026-10-13】按钮亮度 −10%：#74c48e/#3f8f63 → #68b080/#398159 */
      background: linear-gradient(135deg, #68b080 0%, #398159 100%);
    }

    /* 历史留言区 */
    body[data-theme="summer"] .history-section h2 {
      color: #2f6b4a;
      border-bottom-color: rgba(110, 175, 132, 0.24);
    }
    body[data-theme="summer"] .message-count { color: #7f9c8a; }
    body[data-theme="summer"] .message-item {
      background: #eff5f0;   /* 【本轮调整 2026-10-13】#fbfffc → #eff5f0（约 −5%） */
      box-shadow: 0 2px 8px rgba(40, 90, 66, 0.10);
    }
    body[data-theme="summer"] .message-nickname { color: #3f8f63; }
    body[data-theme="summer"] .message-time { color: #8fae9c; }
    body[data-theme="summer"] .message-content { color: #33493d; }
    body[data-theme="summer"] .empty-tip { color: #a6c2b2; }

    /* 门禁引导卡片 */
    body[data-theme="summer"] .guide-card {
      background: rgba(238, 244, 239, 0.92);   /* 【本轮调整 2026-10-13】亮度 −5% */
      box-shadow: 0 4px 16px rgba(40, 90, 66, 0.10);
    }
    body[data-theme="summer"] .guide-card h2 { color: #3f8f63; }
    body[data-theme="summer"] .guide-card p { color: #4e6b5c; }

    /* 「查看历史留言」按钮 */
    body[data-theme="summer"] .view-history-button {
      border-color: rgba(110, 175, 132, 0.38);
      background: rgba(240, 246, 241, 0.88);   /* 【本轮调整 2026-10-13】亮度 −5% */
      color: #357a55;
      box-shadow: 0 4px 16px rgba(40, 90, 66, 0.12);
    }

    /* 点赞按钮（已赞态的暖红与嫩绿同属清透色系，无需改动） */
    body[data-theme="summer"] .like-button {
      border-color: rgba(110, 175, 132, 0.30);
      background: rgba(240, 246, 241, 0.90);   /* 【本轮调整 2026-10-13】亮度 −5% */
      color: #357a55;
    }

    /* 楼中楼评论 */
    body[data-theme="summer"] .comment-thread { background: rgba(110, 175, 132, 0.10); }
    body[data-theme="summer"] .comment-row { border-left-color: rgba(110, 175, 132, 0.30); }
    body[data-theme="summer"] .comment-nick { color: #3f8f63; }
    body[data-theme="summer"] .comment-time { color: #a6c2b2; }
    body[data-theme="summer"] .comment-text { color: #3f5c4c; }
    body[data-theme="summer"] .comment-nick-input,
    body[data-theme="summer"] .comment-content-input { border-color: #d5e7db; }
    body[data-theme="summer"] .comment-nick-input:focus,
    body[data-theme="summer"] .comment-content-input:focus {
      border-color: #4f9d6b;
      box-shadow: 0 0 0 3px rgba(79, 157, 107, 0.15);
    }
    body[data-theme="summer"] .comment-more-button { color: #357a55; }

    /* 「展开查看更多」/「收回全部」按钮 */
    body[data-theme="summer"] .expand-more-button {
      border-color: rgba(110, 175, 132, 0.38);
      background: rgba(110, 175, 132, 0.12);
      color: #2f7c52;
    }
    body[data-theme="summer"] .expand-more-button:hover { background: rgba(110, 175, 132, 0.20); }
    body[data-theme="summer"] .collapse-all-button {
      border-color: rgba(110, 175, 132, 0.26);
      background: rgba(110, 175, 132, 0.07);
      color: #6d8f7d;
    }
    body[data-theme="summer"] .collapse-all-button:hover { background: rgba(110, 175, 132, 0.14); }

    /* 公告日志弹窗 / 长文阅读器 / 长文提示：遮罩与面板统一为深绿调 */
    body[data-theme="summer"] .notice-modal,
    body[data-theme="summer"] .reader-modal { background: rgba(24, 48, 38, 0.62); }
    body[data-theme="summer"] .long-tip-modal { background: rgba(24, 48, 38, 0.45); }
    body[data-theme="summer"] .notice-panel,
    body[data-theme="summer"] .reader-panel,
    body[data-theme="summer"] .long-tip-panel { background: rgba(240, 246, 241, 0.97); }   /* 【本轮调整 2026-10-13】亮度 −5% */
    body[data-theme="summer"] .notice-panel { box-shadow: 0 8px 32px rgba(30, 70, 52, 0.24); }
    body[data-theme="summer"] .reader-panel { box-shadow: 0 8px 32px rgba(30, 70, 52, 0.26); }
    body[data-theme="summer"] .long-tip-panel { box-shadow: 0 8px 32px rgba(30, 70, 52, 0.26); }
    body[data-theme="summer"] .notice-title { color: #2f6b4a; }
    body[data-theme="summer"] .notice-close,
    body[data-theme="summer"] .reader-close,
    body[data-theme="summer"] .long-tip-close {
      background: rgba(110, 175, 132, 0.14);
      color: #357a55;
    }
    body[data-theme="summer"] .notice-item { border-bottom-color: rgba(110, 175, 132, 0.20); }
    body[data-theme="summer"] .notice-nick { color: #3f8f63; }
    body[data-theme="summer"] .notice-time { color: #8fae9c; }
    body[data-theme="summer"] .notice-content { color: #33493d; }
    body[data-theme="summer"] .notice-empty { color: #7f9c8a; }
    body[data-theme="summer"] .reader-nick { color: #3f8f63; }
    body[data-theme="summer"] .reader-meta { color: #a6c2b2; }
    body[data-theme="summer"] .reader-body { color: #33493d; }
    body[data-theme="summer"] .long-tip-text { color: #2f6b4a; }
    body[data-theme="summer"] .long-tip-btn {
      border-color: rgba(110, 175, 132, 0.38);
      background: rgba(110, 175, 132, 0.12);
      color: #2f7c52;
    }

    /* 创立初衷引导页 */
    body[data-theme="summer"] .intro-overlay { background: rgba(26, 56, 44, 0.72); }
    body[data-theme="summer"] .intro-card {
      background: rgba(238, 244, 239, 0.94);   /* 【本轮调整 2026-10-13】亮度 −5% */
      box-shadow: 0 8px 32px rgba(34, 78, 58, 0.25);
    }
    body[data-theme="summer"] .intro-title { color: #2f6b4a; }
    body[data-theme="summer"] .intro-text { color: #33493d; }
    body[data-theme="summer"] .intro-hint { color: #7f9c8a; }

    /* 背景柔光粒子：嫩芽黄绿 + 叶绿（含低帧率降档态 body.low-fps）
       【本轮调整 2026-10-13】透明度各降一档（0.58/0.38 → 0.50/0.32；降档态 0.46/0.28 → 0.40/0.24）：
       光晕本身就是加亮项，压一点可辅助降低整体刺眼感。 */
    body[data-theme="summer"]::before {
      background: radial-gradient(circle at center, rgba(178, 226, 172, 0.50), rgba(178, 226, 172, 0) 70%);
    }
    body[data-theme="summer"]::after {
      background: radial-gradient(circle at center, rgba(104, 190, 141, 0.32), rgba(104, 190, 141, 0) 70%);
    }
    body[data-theme="summer"].low-fps::before {
      background: radial-gradient(circle at center, rgba(178, 226, 172, 0.40), rgba(178, 226, 172, 0) 70%);
    }
    body[data-theme="summer"].low-fps::after {
      background: radial-gradient(circle at center, rgba(104, 190, 141, 0.24), rgba(104, 190, 141, 0) 70%);
    }

    /* ---------- 手机端（≤600px）微调 ---------- */
    @media (max-width: 600px) {
      /* 手机端圆盘略小、面板上抬高度略降（仍恰好盖住大标题，不侵入下方表单） */
      :root {
        --palette-fab-size: 34px;
        --palette-fab-inset: 0px;
        --palette-panel-rise: 50px;
      }

      /* 移动端本就关闭毛玻璃，这里把秋意主题的纯色底同步过去（优先级高于上方移动端规则） */
      body[data-theme="autumn"] .container { background-color: rgba(255, 252, 245, 0.95); }
      body[data-theme="autumn"] .intro-overlay { background-color: rgba(48, 32, 18, 0.92); }

      /* 盛夏主题同样同步纯色底（清透绿白，避免毛玻璃关闭后失去主题感） */
      body[data-theme="summer"] .container { background-color: rgba(238, 244, 239, 0.95); }   /* 【本轮调整 2026-10-13】亮度 −5% */
      body[data-theme="summer"] .intro-overlay { background-color: rgba(26, 52, 42, 0.92); }
    }

    /* 用户系统开启「减弱动效」时，调色板相关的动画/过渡一并关闭 */
    @media (prefers-reduced-motion: reduce) {
      .palette-panel,
      .palette-fab,
      .palette-option {
        animation: none;
        transition: none;
      }
    }

    /* ============================================================
       【本轮新增 2026-10-07】书写感标题字体（只换"门面文字"，正文不动）
       作用范围：大标题 / 副标题 / 开屏引导页文案 / 引导卡标题。
       留言正文、表单、按钮维持系统字体 → 长文阅读清晰度不受影响。
       字体链：'LXGW WenKai Screen'（CDN 按需切片）→ 楷体（本机）→ 系统字体。
       稳定性：整段只新增、不修改上方任何既有规则；整段删除即可完全还原。
       ============================================================ */
    :root {
      --font-display: 'LXGW WenKai Screen', 'Kaiti SC', 'STKaiti', 'KaiTi', '楷体',
        system-ui, -apple-system, 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', sans-serif;
    }

    .page-title,
    .page-subtitle,
    .intro-title,
    .intro-text,
    .intro-hint,
    .guide-card h2 {
      font-family: var(--font-display);
    }

