    /* ====== 傳統色主題：月白 × 鴉青（與首頁一致） ====== */
    :root {
      --moon-50:  #E4F0F0;
      --moon-100: #D8EAEA;
      --moon-200: #C6DEDE;
      --moon-300: #B6D5D5;
      --lapis-50:  #E4F0F0;
      --lapis-100: #C6DEDE;
      --lapis-300: #8CA4A7;
      --lapis-500: #63797D;
      --lapis-700: #46565A;  /* 鴉青 */
      --lapis-800: #3B4A4E;
      --lapis-900: #313F43;
      --lapis-950: #272F32;
      --ink-300: #94A6A9;
      --ink-500: #4F5D61;
      --ink-700: #3A474C;
      --ink-900: #2D3538;
      --white:   #F3F8F8;
      /* 水色（輔助色，正文 em 強調等使用） */
      --water-500: #3E8E96;
      --water-700: #2E6E78;
    }

    .nav__brand-tagline {
      display: inline-block;
      margin-left: 14px;
      padding-left: 14px;
      border-left: 1px solid rgba(66,76,80,0.25);
      font-size: 0.82rem;
      letter-spacing: 0.14em;
      color: var(--lapis-500);
      white-space: nowrap;
      vertical-align: middle;
      transform: translateY(-1px);
    }
    @media (max-width: 640px) {
      .nav__brand-tagline { display: none; }
    }
    /* 導航連結：鴉青 */
    .nav__link,
    .nav__link:visited { color: var(--lapis-700); font-weight: 600; }
    .nav__link:hover { color: var(--lapis-500); }
    .nav__link::after { background: var(--lapis-500); }
    .nav__link[aria-current="page"] { color: var(--lapis-900); }
    .nav__link[aria-current="page"]::after { background: #C9A45C; }

    /* 聯繫方式 CTA：金色實心鈕（品牌暖色點綴，與首頁一致） */
    .nav__cta {
      background: linear-gradient(160deg, var(--gold-300) 0%, var(--gold-500) 60%, var(--gold-600) 100%);
      color: var(--lapis-950);
      border-color: var(--gold-600);
      font-weight: 600;
      box-shadow: 0 4px 16px rgba(212, 168, 75, 0.3);
    }
    .nav__cta:hover {
      background: linear-gradient(160deg, #F0D68E 0%, var(--gold-400) 60%, var(--gold-500) 100%);
      color: var(--lapis-950);
      box-shadow: 0 6px 22px rgba(212, 168, 75, 0.45);
      transform: translateY(-1px);
    }
    .nav__cta svg { stroke: var(--lapis-950); color: var(--lapis-950); }

    /* ====== 專欄頁 ====== */
    .column {
      background:
        radial-gradient(ellipse 60% 40% at 50% 100%, rgba(182, 213, 213, 0.20), transparent 70%),
        linear-gradient(180deg, #EAF3F3 0%, #E4F0F0 55%, #D9E9EA 100%);
      padding: var(--s-10) 0 var(--s-8);
    }
    .column .container { max-width: 1100px; }

    /* ---- 兩欄佈局：左欄固定資訊 / 右欄文章列表（置頂） ---- */
    .column__layout {
      display: grid;
      grid-template-columns: 340px minmax(0, 1fr);
      gap: clamp(40px, 4vw, 56px);
      align-items: start;
    }
    /* 防止長文/長標題把欄位撐破 */
    .column__aside,
    .column__list { min-width: 0; }

    @media (max-width: 959px) {
      .column__layout {
        grid-template-columns: 1fr;
        gap: clamp(36px, 7vw, 56px);
      }
      /* 移動端：文章列表優先（提到介紹之前），介紹/聲明等往下排 */
      .column__aside { order: 2; }
      .column__list { order: 1; }
    }

    .column__head {
      text-align: center;
      margin-bottom: clamp(28px, 4.5vw, 48px);
    }
    .column__title {
      font-family: var(--font-serif-cn, "Songti TC", "Noto Serif TC", serif);
      font-size: clamp(2rem, 5vw, 2.8rem);
      font-weight: 700;
      letter-spacing: 0.3em;
      color: var(--lapis-900);
    }
    .column__sub {
      margin-top: 16px;
      font-size: 0.88rem;
      letter-spacing: 0.12em;
      line-height: 2.1;
      color: var(--ink-500);
    }

    /* ---- 專欄目的（正文感，克制留白）---- */
    .column__intro {
      max-width: 640px;
      margin: 0 0 clamp(40px, 6vw, 64px) 0;
      text-align: left;
      font-family: var(--font-serif-cn, "Songti TC", "Noto Serif TC", serif);
      font-size: 1rem;
      line-height: 2.3;
      letter-spacing: 0.05em;
      color: var(--ink-500);
    }
    .column__intro p { margin: 0; }
    .column__intro p + p { margin-top: 1.35em; }

    /* ---- 安全聲明（寫在門口的話，沿用專欄引言體例）---- */
    .column__notice {
      max-width: 640px;
      margin: -14px 0 clamp(40px, 6vw, 64px) 0;
      text-align: left;
      font-family: var(--font-serif-cn, "Songti TC", "Noto Serif TC", serif);
      font-size: 0.9rem;
      line-height: 2.2;
      letter-spacing: 0.05em;
      color: var(--ink-500);
    }
    .column__notice p { margin: 0; }
    .column__notice p + p { margin-top: 1.15em; }

    /* ---- 站長介紹（輕卡片，與正文感形成層次）---- */
    .column__author {
      max-width: 640px;
      margin: 0 0 clamp(36px, 5vw, 56px) 0;
      padding: clamp(26px, 4.5vw, 38px) clamp(24px, 5vw, 46px);
      background: rgba(255, 255, 255, 0.5);
      border: 1px solid rgba(66, 76, 80, 0.12);
      border-radius: 18px;
      text-align: left;
    }
    .column__author p {
      margin: 0;
      font-size: 0.94rem;
      line-height: 2.15;
      letter-spacing: 0.04em;
      color: var(--ink-700);
    }
    .column__author p + p { margin-top: 1.15em; }
    .column__author-role {
      margin-top: 24px;
      padding-top: 20px;
      border-top: 1px solid rgba(66, 76, 80, 0.14);
      font-size: 0.82rem;
      letter-spacing: 0.08em;
      line-height: 2;
      color: var(--lapis-500);
    }
    .column__author-name {
      font-family: var(--font-serif-cn, "Songti TC", "Noto Serif TC", serif);
      font-size: 1.02rem;
      font-weight: 600;
      letter-spacing: 0.1em;
      color: var(--lapis-900);
    }
    .column__intro a,
    .column__author-name a {
      color: inherit;
      text-decoration: none;
      border-bottom: 1px solid currentColor;
    }

    /* ---- 訂閱新文章（低調的一行，不喧囂）---- */
    .column__subscribe {
      max-width: 640px;
      margin: 0 0 clamp(44px, 6vw, 64px) 0;
      padding: 16px 20px;
      background: rgba(255, 255, 255, 0.4);
      border: 1px solid rgba(66, 76, 80, 0.1);
      border-radius: 14px;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px 16px;
    }
    .column__subscribe-label {
      font-size: 0.8rem;
      font-weight: 600;
      letter-spacing: 0.14em;
      color: var(--lapis-700);
    }
    .sub-form {
      display: flex;
      align-items: center;
      gap: 10px;
      flex: 1 1 260px;
    }
    .sub-form input {
      flex: 1;
      min-width: 150px;
      padding: 9px 13px;
      font-family: inherit;
      font-size: 0.86rem;
      color: var(--lapis-900);
      background: rgba(255, 255, 255, 0.85);
      border: 1px solid rgba(66, 76, 80, 0.16);
      border-radius: 9px;
      outline: none;
      box-sizing: border-box;
      transition: border-color 0.3s, box-shadow 0.3s;
    }
    .sub-form input:focus {
      border-color: rgba(66, 76, 80, 0.42);
      box-shadow: 0 0 0 3px rgba(66, 76, 80, 0.07);
    }
    .sub-form__btn {
      padding: 9px 20px;
      font-family: inherit;
      font-size: 0.84rem;
      font-weight: 600;
      letter-spacing: 0.14em;
      color: var(--lapis-950);
      background: linear-gradient(160deg, var(--gold-300) 0%, var(--gold-500) 60%, var(--gold-600) 100%);
      border: 1px solid var(--gold-600);
      border-radius: 999px;
      cursor: pointer;
      white-space: nowrap;
      transition: transform 0.3s, box-shadow 0.3s, opacity 0.3s;
    }
    .sub-form__btn:hover { box-shadow: 0 5px 16px rgba(212, 168, 75, 0.35); transform: translateY(-1px); }
    .sub-form__btn:disabled { opacity: 0.55; cursor: wait; transform: none; }
    .sub-form__hint {
      font-size: 0.72rem;
      letter-spacing: 0.06em;
      color: rgba(66, 76, 80, 0.45);
    }
    .sub-form__msg {
      width: 100%;
      font-size: 0.78rem;
      letter-spacing: 0.04em;
      min-height: 1.3em;
    }
    .sub-form__msg--ok { color: #4A7A5E; }
    .sub-form__msg--err { color: #A05252; }

    .column__list {
      display: grid;
      gap: 20px;
    }

    /* ---- 文章卡 ---- */
    .art {
      background: rgba(255, 255, 255, 0.66);
      border: 1px solid rgba(66, 76, 80, 0.1);
      border-radius: 16px;
      overflow: hidden;
      transition: border-color 0.4s var(--ease-inout, ease), box-shadow 0.4s var(--ease-inout, ease);
    }
    .art:hover { border-color: rgba(66, 76, 80, 0.28); }
    .art.is-open {
      background: rgba(255, 255, 255, 0.88);
      border-color: rgba(66, 76, 80, 0.3);
      box-shadow: 0 20px 64px rgba(66, 76, 80, 0.12);
    }
    .art__entry {
      display: block;
      padding: 26px 30px 22px;
      cursor: pointer;
      user-select: none;
    }
    .art__entry--link {
      text-decoration: none;
      color: inherit;
    }
    .art__entry--link:hover .art__title { color: var(--lapis-700); }
    .art__date {
      font-size: 0.74rem;
      letter-spacing: 0.16em;
      color: var(--lapis-300);
    }
    .art__title {
      margin-top: 8px;
      font-family: var(--font-serif-cn, "Songti TC", "Noto Serif TC", serif);
      font-size: 1.28rem;
      font-weight: 600;
      letter-spacing: 0.06em;
      color: var(--lapis-900);
      line-height: 1.6;
    }
    .art__summary {
      margin-top: 10px;
      font-size: 0.88rem;
      line-height: 1.95;
      color: var(--ink-500);
    }
    .art__summary-fav {
      display: inline-block;
      margin-left: 8px;
      padding: 1px 9px;
      font-size: 0.7rem;
      letter-spacing: 0.06em;
      color: var(--lapis-700);
      background: rgba(198, 222, 222, 0.4);
      border: 1px solid rgba(70, 86, 90, 0.22);
      border-radius: 999px;
      vertical-align: middle;
    }
    .art__toggle {
      margin-top: 14px;
      font-size: 0.76rem;
      letter-spacing: 0.22em;
      color: var(--lapis-500);
    }
    .art__body {
      display: none;
      padding: 6px 30px 30px;
      border-top: 1px dashed rgba(66, 76, 80, 0.14);
      font-size: 1.06rem;
      line-height: 2.15;
      letter-spacing: 0.03em;
      color: var(--ink-700);
    }
    .art.is-open .art__body { display: block; }
    .art.is-open .art__toggle { display: none; }
    .art__text {
      white-space: pre-wrap;
      word-break: break-word;
    }
    /* ---- 富文本（HTML）正文排版 ---- */
    .art__text--rich { white-space: normal; }
    .art__text--rich p { margin: 0 0 1.1em; }
    .art__text--rich h3 {
      margin: 1.7em 0 0.7em;
      font-family: var(--font-serif-cn, "Songti TC", "Noto Serif TC", serif);
      font-size: 1.12rem;
      font-weight: 600;
      letter-spacing: 0.1em;
      color: var(--lapis-800);
    }
    .art__text--rich strong { color: var(--lapis-900); font-weight: 600; }
    .art__text--rich em { color: var(--water-700); font-style: normal; }
    .art__text--rich ul, .art__text--rich ol { margin: 0 0 1.1em; padding-left: 1.5em; }
    .art__text--rich li { margin: 0.4em 0; }
    .art__text--rich blockquote {
      margin: 1.4em 0;
      padding: 0.85em 1.2em;
      border-left: 3px solid rgba(201, 164, 92, 0.6);
      background: rgba(198, 222, 222, 0.18);
      border-radius: 0 10px 10px 0;
      color: var(--ink-700);
    }
    .art__text--rich blockquote p { margin: 0; }
    .art__text--rich .lq-fig {
      margin: 1.6em 0;
      text-align: center;
    }
    .art__text--rich .lq-fig svg {
      max-width: 100%;
      height: auto;
      border: 1px solid rgba(66, 76, 80, 0.12);
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.5);
    }
    .art__text--rich .lq-fig img {
      max-width: 100%;
      height: auto;
      display: block;
      margin: 0 auto;
      border-radius: 14px;
    }
    .art__text--rich .lq-cover img {
      border-radius: 16px;
      box-shadow: 0 4px 18px rgba(66, 76, 80, 0.10);
    }
    .art__text--rich .lq-fig figcaption {
      margin-top: 0.6em;
      font-size: 0.78rem;
      letter-spacing: 0.08em;
      color: var(--lapis-500);
    }
    .art__text--rich hr {
      border: none;
      border-top: 1px dashed rgba(66, 76, 80, 0.16);
      margin: 1.6em 0;
    }
    /* ---- 重點標記（提高重視度） ---- */
    .art__text--rich .lq-hl {
      color: var(--lapis-900);
      font-weight: 700;
      background: linear-gradient(transparent 60%, rgba(201, 164, 92, 0.32) 40%);
      padding: 0 2px;
    }
    .art__text--rich .lq-red {
      color: #A63D3D;
      font-weight: 700;
    }
    .art__text--rich .lq-underline {
      text-decoration: underline;
      text-underline-offset: 0.22em;
      text-decoration-color: rgba(201, 164, 92, 0.75);
      text-decoration-thickness: 1.5px;
    }
    .art__text--rich .lq-wave {
      text-decoration: underline wavy;
      text-underline-offset: 0.28em;
      text-decoration-color: rgba(201, 164, 92, 0.85);
      text-decoration-thickness: 1.5px;
    }
    .art__text--rich .lq-big {
      font-size: 1.16em;
      font-weight: 600;
    }
    /* ---- 正文互鏈：其他文章標題自動成鏈（鴉青 + 底線，與設計語言一致） ---- */
    .art__xlink {
      color: var(--lapis-700);
      text-decoration: none;
      border-bottom: 1px solid rgba(70, 86, 90, 0.32);
      padding-bottom: 1px;
      cursor: pointer;
      transition: color 0.25s, border-color 0.25s, background 0.25s;
    }
    .art__xlink:hover {
      color: var(--lapis-900);
      border-bottom-color: var(--lapis-900);
      background: rgba(198, 222, 222, 0.28);
    }

    /* ---- 導讀條（列頂：看到最新 + 按順序讀） ---- */
    .column__guide {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      flex-wrap: wrap;
      margin: 0 0 20px;
      padding: 14px 18px;
      background: rgba(198, 222, 222, 0.20);
      border: 1px solid rgba(70, 86, 90, 0.14);
      border-radius: 12px;
    }
    .column__guide-text {
      font-size: 0.9rem;
      line-height: 1.7;
      color: var(--ink-700);
    }
    .column__guide-link {
      flex-shrink: 0;
      font-size: 0.88rem;
      font-weight: 600;
    }
    /* ---- 序號標籤（第 N 篇） ---- */
    .art__num {
      display: inline-block;
      margin-right: 10px;
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.06em;
      color: #C9A45C;
    }
    /* ---- 上一篇 / 下一篇 導航 ---- */
    .art__prevnext {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin-top: 22px;
      padding-top: 14px;
      border-top: 1px dashed rgba(66, 76, 80, 0.16);
    }
    .art__pn-link {
      font-size: 0.86rem;
      max-width: 48%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .art__pn-link.is-disabled {
      color: var(--lapis-300);
      cursor: default;
      border-bottom: none;
    }
    .art__pn-link.is-disabled:hover {
      color: var(--lapis-300);
      background: none;
    }

    /* ---- 卡片熱度（vlog 感）---- */
    .art__meta {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 12px;
      font-size: 0.76rem;
      letter-spacing: 0.1em;
      color: var(--lapis-500);
    }
    .art__meta-item { display: inline-flex; align-items: center; gap: 5px; }
    .art__meta-view { color: var(--lapis-500); }
    .art__meta-heart { color: var(--gold-500); }
    .art__meta-sep { opacity: 0.4; }

    /* ---- 正文內互動區 ---- */
    .art__interact {
      margin-top: 26px;
      padding-top: 22px;
      border-top: 1px dashed rgba(66, 76, 80, 0.14);
    }
    .art__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }
    /* 動作按鈕基礎樣式（五顆同尺寸、同 hover、同高亮邏輯） */
    .art__act {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 9px 18px;
      font-family: inherit;
      font-size: 0.88rem;
      letter-spacing: 0.06em;
      color: var(--lapis-700);
      background: rgba(255, 255, 255, 0.7);
      border: 1px solid rgba(66, 76, 80, 0.2);
      border-radius: 999px;
      cursor: pointer;
      transition: color 0.3s, border-color 0.3s, background 0.3s, box-shadow 0.3s, transform 0.3s;
    }
    .art__act:hover { border-color: rgba(66, 76, 80, 0.45); transform: translateY(-1px); }
    .art__act:disabled { opacity: 0.6; cursor: wait; transform: none; }
    .art__act svg { flex-shrink: 0; }

    /* 點讚：金色（已有） */
    .art__like .heart { color: var(--lapis-300); transition: color 0.3s, transform 0.3s; font-size: 1.02rem; }
    .art__like:hover { border-color: rgba(212, 168, 75, 0.7); color: var(--gold-700); }
    .art__like.is-liked {
      color: var(--gold-700);
      border-color: rgba(212, 168, 75, 0.55);
      background: rgba(244, 229, 194, 0.3);
      box-shadow: 0 4px 16px rgba(212, 168, 75, 0.18);
    }
    .art__like.is-liked .heart { color: var(--gold-500); transform: scale(1.12); }

    /* 收藏：鴉青（個人書籤，不顯示數量） */
    .art__fav .bookmark { color: var(--lapis-300); transition: color 0.3s, fill 0.3s, transform 0.3s; }
    .art__fav:hover { border-color: rgba(70, 86, 90, 0.5); color: var(--lapis-800); }
    .art__fav.is-faved {
      color: var(--lapis-800);
      border-color: rgba(70, 86, 90, 0.45);
      background: rgba(198, 222, 222, 0.4);
      box-shadow: 0 4px 16px rgba(70, 86, 90, 0.15);
    }
    .art__fav.is-faved .bookmark { color: var(--lapis-800); fill: currentColor; }

    /* 分享 / 評論：中性 */
    .art__share .share-ico,
    .art__comment .com-ico { color: var(--lapis-300); }

    /* 收起卡片上的「分享 N」可點擊 → 彈分享面板 */
    .art__meta-share { cursor: pointer; transition: color 0.2s; }
    .art__meta-share:hover { color: var(--gold-600); }

    /* ---- 評論區 ---- */
    .art__comments { margin-top: 24px; }
    .art__comments-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      margin-bottom: 16px;
      padding-bottom: 12px;
      border-bottom: 1px solid rgba(66, 76, 80, 0.12);
    }
    .art__comments-title {
      font-family: var(--font-serif-cn, "Songti TC", "Noto Serif TC", serif);
      font-size: 0.98rem;
      font-weight: 600;
      letter-spacing: 0.16em;
      color: var(--lapis-800);
    }
    .art__comments-count { font-size: 0.76rem; letter-spacing: 0.12em; color: rgba(66, 76, 80, 0.5); }
    .art__comments-list { display: grid; gap: 12px; }
    .art__c {
      padding: 14px 16px 12px;
      background: rgba(255, 255, 255, 0.55);
      border: 1px solid rgba(66, 76, 80, 0.09);
      border-radius: 12px;
    }
    .art__c-head { display: flex; align-items: center; gap: 9px; margin-bottom: 6px; }
    .art__c-avatar {
      width: 28px;
      height: 28px;
      display: grid;
      place-items: center;
      font-family: var(--font-serif-cn, "Songti TC", "Noto Serif TC", serif);
      font-size: 0.82rem;
      font-weight: 600;
      color: var(--lapis-700);
      background: rgba(198, 222, 222, 0.5);
      border-radius: 50%;
      flex-shrink: 0;
    }
    .art__c-name { font-size: 0.82rem; font-weight: 600; letter-spacing: 0.06em; color: var(--lapis-800); }
    .art__c-time { margin-left: auto; font-size: 0.68rem; letter-spacing: 0.06em; color: rgba(66, 76, 80, 0.4); }
    .art__c-body {
      font-size: 0.88rem;
      line-height: 1.95;
      letter-spacing: 0.03em;
      color: var(--ink-500);
      white-space: pre-wrap;
      word-break: break-word;
    }
    .art__comments-empty {
      padding: 26px 16px;
      text-align: center;
      font-size: 0.84rem;
      letter-spacing: 0.12em;
      color: rgba(66, 76, 80, 0.45);
      border: 1px dashed rgba(66, 76, 80, 0.16);
      border-radius: 12px;
    }
    .art__comments-loading {
      padding: 18px;
      text-align: center;
      font-size: 0.8rem;
      letter-spacing: 0.16em;
      color: rgba(66, 76, 80, 0.4);
    }

    /* ---- 評論表單 ---- */
    .art__form {
      margin-top: 18px;
      padding: 16px 18px 14px;
      background: rgba(255, 255, 255, 0.5);
      border: 1px solid rgba(66, 76, 80, 0.12);
      border-radius: 14px;
    }
    .art__form input,
    .art__form textarea {
      width: 100%;
      padding: 10px 12px;
      font-family: inherit;
      font-size: 0.9rem;
      line-height: 1.8;
      color: var(--lapis-900);
      background: rgba(255, 255, 255, 0.85);
      border: 1px solid rgba(66, 76, 80, 0.16);
      border-radius: 9px;
      outline: none;
      box-sizing: border-box;
      transition: border-color 0.3s, box-shadow 0.3s;
    }
    .art__form textarea { min-height: 84px; resize: vertical; }
    .art__form input:focus,
    .art__form textarea:focus {
      border-color: rgba(66, 76, 80, 0.42);
      box-shadow: 0 0 0 3px rgba(66, 76, 80, 0.07);
    }
    .art__form .row { display: grid; gap: 10px; margin-bottom: 10px; }
    .art__form .row--name { max-width: 260px; }
    .art__form-foot { display: flex; align-items: center; gap: 14px; margin-top: 12px; flex-wrap: wrap; }
    .art__form-submit {
      padding: 9px 26px;
      font-family: inherit;
      font-size: 0.86rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      color: var(--lapis-950);
      background: linear-gradient(160deg, var(--gold-300) 0%, var(--gold-500) 60%, var(--gold-600) 100%);
      border: 1px solid var(--gold-600);
      border-radius: 999px;
      cursor: pointer;
      transition: transform 0.3s, box-shadow 0.3s, opacity 0.3s;
    }
    .art__form-submit:hover { box-shadow: 0 6px 20px rgba(212, 168, 75, 0.4); transform: translateY(-1px); }
    .art__form-submit:disabled { opacity: 0.55; cursor: wait; transform: none; }
    .art__form-msg { font-size: 0.8rem; letter-spacing: 0.04em; min-height: 1.3em; }
    .art__form-msg--ok { color: #4A7A5E; }
    .art__form-msg--err { color: #A05252; }

    .column__empty {
      padding: 72px 24px;
      text-align: center;
      font-size: 0.9rem;
      letter-spacing: 0.14em;
      line-height: 2.2;
      color: rgba(66, 76, 80, 0.42);
    }
    .column__empty span {
      display: block;
      margin-bottom: 14px;
      font-family: var(--font-serif-cn, serif);
      font-size: 2rem;
      color: rgba(66, 76, 80, 0.26);
    }

    .column__loading {
      padding: 56px;
      text-align: center;
      font-size: 0.85rem;
      letter-spacing: 0.2em;
      color: rgba(66, 76, 80, 0.4);
    }

    /* ---- 分享浮層 ---- */
    .share-pop {
      position: fixed;
      z-index: 300;
      display: none;
      width: 250px;
      padding: 16px;
      background: rgba(255, 255, 255, 0.97);
      border: 1px solid rgba(66, 76, 80, 0.16);
      border-radius: 14px;
      box-shadow: 0 16px 48px rgba(66, 76, 80, 0.18);
    }
    .share-pop.is-open { display: block; }
    .share-pop__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 12px;
    }
    .share-pop__title {
      font-family: var(--font-serif-cn, "Songti TC", "Noto Serif TC", serif);
      font-size: 0.9rem;
      font-weight: 600;
      letter-spacing: 0.1em;
      color: var(--lapis-800);
    }
    .share-pop__close {
      border: none;
      background: none;
      font-size: 1.15rem;
      line-height: 1;
      color: rgba(66, 76, 80, 0.45);
      cursor: pointer;
      padding: 2px 7px;
      border-radius: 6px;
      transition: color 0.25s, background 0.25s;
    }
    .share-pop__close:hover { color: var(--lapis-900); background: rgba(66, 76, 80, 0.08); }
    .share-pop__actions { display: grid; gap: 8px; }
    .share-pop__btn {
      padding: 9px 12px;
      font-family: inherit;
      font-size: 0.84rem;
      letter-spacing: 0.08em;
      text-align: left;
      color: var(--lapis-800);
      background: rgba(255, 255, 255, 0.8);
      border: 1px solid rgba(66, 76, 80, 0.16);
      border-radius: 9px;
      cursor: pointer;
      transition: border-color 0.25s, background 0.25s, transform 0.25s;
    }
    .share-pop__btn:hover {
      border-color: rgba(66, 76, 80, 0.4);
      background: rgba(198, 222, 222, 0.25);
      transform: translateY(-1px);
    }
    .share-pop__wechat {
      margin-top: 12px;
      padding-top: 10px;
      border-top: 1px dashed rgba(66, 76, 80, 0.14);
      font-size: 0.72rem;
      line-height: 1.7;
      letter-spacing: 0.04em;
      color: rgba(66, 76, 80, 0.5);
    }

    /* ---- Toast ---- */
    .toast {
      position: fixed;
      left: 50%;
      bottom: 48px;
      transform: translate(-50%, 12px);
      z-index: 400;
      padding: 10px 22px;
      font-size: 0.82rem;
      letter-spacing: 0.08em;
      color: var(--white);
      background: rgba(49, 63, 67, 0.92);
      border-radius: 999px;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s, transform 0.3s;
    }
    .toast.is-show { opacity: 1; transform: translate(-50%, 0); }

    /* ---- Footer ---- */
    .footer {
      background: var(--moon-50);
      color: var(--lapis-500);
    }
    .footer__bottom { border-top: 1px solid rgba(66, 76, 80, 0.08); }
    .footer__bottom a { color: var(--lapis-700); }
    .footer__bottom a:hover { color: var(--lapis-500); }
