        /* 列表页专用：与首页 --ed-* 纸色一致，参考稿结构 + page-blog.js 所需控件 */
        #blog-root {
            color: var(--ed-ink);
            padding-bottom: clamp(64px, 10vw, 120px);
        }

        #blog-root .font-serif {
            font-family: 'Fraunces', 'Playfair Display', 'Noto Serif SC', Georgia, serif;
        }

        #blog-root .blog-j-hero {
            background: linear-gradient(145deg, #faf6ef 0%, #efe6d8 48%, #e8dcc8 100%);
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            padding-left: max(24px, env(safe-area-inset-left));
            padding-right: max(24px, env(safe-area-inset-right));
        }

        #blog-root .decoration-line {
            width: 1px;
            height: 100px;
            flex-shrink: 0;
            background: linear-gradient(to bottom, rgba(20, 18, 15, 0.22), transparent);
        }

        #blog-root .hero-heading {
            font-size: clamp(2.5rem, 7vw, 4rem);
            letter-spacing: -0.03em;
            line-height: 1.1;
            color: var(--ed-ink);
        }

        #blog-root .tag-pill {
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            padding: 4px 10px;
            background: rgba(20, 18, 15, 0.06);
            border-radius: 999px;
            color: rgba(92, 86, 76, 0.85);
        }

        #blog-root .featured-image-container {
            aspect-ratio: 16 / 9;
            background: rgba(20, 18, 15, 0.04);
            overflow: hidden;
            border-radius: 24px;
        }

        #blog-root .featured-image-container img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.75s var(--ed-ease);
        }

        #blog-root a.group:hover .featured-image-container img {
            transform: scale(1.03);
        }

        #blog-root .blog-card {
            background: transparent;
            border-top: 1px solid rgba(20, 18, 15, 0.08);
            text-decoration: none;
            color: inherit;
            transition:
                background 0.45s cubic-bezier(0.22, 1, 0.36, 1),
                border-color 0.45s ease;
        }

        #blog-root .blog-card:hover {
            background: rgba(255, 255, 255, 0.45);
            border-top-color: transparent;
        }

        #blog-root .blog-j-feat.blog-card {
            border-top: 1px solid rgba(20, 18, 15, 0.12);
        }

        #blog-root .blog-j-toolbar {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 16px 24px;
            margin-bottom: clamp(32px, 5vw, 48px);
        }

        #blog-root .blg-ref-tabrail {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 5px;
            border-radius: 9999px;
            background: #f2f0ed;
            border: 1px solid rgba(0, 0, 0, 0.06);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
        }

        #blog-root .blg-ref-tab {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 40px;
            padding: 6px 18px;
            border-radius: 9999px;
            font-family: inherit;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            border: 2px solid transparent;
            background: transparent;
            color: #1d1d1f;
            transition:
                background 0.2s ease,
                color 0.2s ease,
                border-color 0.2s ease,
                box-shadow 0.2s ease;
        }

        #blog-root .blg-ref-tab:hover:not(.blg-ref-tab--active) {
            color: #1d1d1f;
            background: rgba(255, 255, 255, 0.45);
        }

        #blog-root .blg-ref-tab:focus-visible {
            outline: 2px solid #2563eb;
            outline-offset: 2px;
        }

        #blog-root .blg-ref-tab--active {
            background: #fff;
            color: #1d1d1f;
            font-weight: 700;
            border-color: #2563eb;
            box-shadow:
                0 1px 2px rgba(0, 0, 0, 0.06),
                0 4px 12px rgba(37, 99, 235, 0.12);
        }

        #blog-root .blg-ref-tab__ico {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        #blog-root .blg-ref-tab__ico svg,
        #blog-root .blg-ref-tab__ico i {
            width: 18px;
            height: 18px;
        }

        #blog-root .blg-ref-tab__ico svg {
            stroke-width: 2;
        }

        #blog-root .blg-ref-tab:not(.blg-ref-tab--active) .blg-ref-tab__ico {
            color: #1d1d1f;
            opacity: 0.72;
        }

        #blog-root .blg-ref-tab--active .blg-ref-tab__ico {
            color: #2563eb;
            opacity: 1;
        }

        #blog-root .blg-ref-search {
            position: relative;
            width: 100%;
            max-width: 320px;
        }

        #blog-root .blg-ref-search__ico {
            position: absolute;
            left: 14px;
            top: 50%;
            transform: translateY(-50%);
            display: flex;
            color: rgba(92, 86, 76, 0.55);
            pointer-events: none;
        }

        #blog-root .blg-ref-search__input {
            width: 100%;
            padding: 12px 14px 12px 44px;
            font-size: 15px;
            font-family: inherit;
            color: var(--ed-ink);
            background: rgba(255, 255, 255, 0.55);
            border: 1px solid rgba(20, 18, 15, 0.1);
            border-radius: 999px;
            outline: none;
            transition:
                border-color 0.2s ease,
                box-shadow 0.2s ease;
        }

        #blog-root .blg-ref-search__input::placeholder {
            color: rgba(92, 86, 76, 0.55);
        }

        #blog-root .blg-ref-search__input:focus {
            border-color: rgba(13, 92, 77, 0.45);
            box-shadow: 0 0 0 3px var(--ed-accent-soft);
        }

        #blog-root .blg-ref-search-empty {
            margin: 24px 0 16px;
            padding: 24px 20px;
            text-align: center;
            border-radius: 20px;
            border: 1px dashed rgba(20, 18, 15, 0.2);
            background: rgba(255, 255, 255, 0.5);
        }

        #blog-root .blg-ref-search-empty__msg {
            margin: 0 0 12px;
            font-size: 15px;
            color: var(--ed-muted);
        }

        #blog-root .blog-pager {
            margin-top: 40px;
            padding: 16px;
        }

        #blog-root .blog-pager[hidden] {
            display: none !important;
        }

        #blog-root .blog-pager__bar {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 14px 20px;
        }

        #blog-root .blog-pager__goto {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 8px 10px;
            padding: 10px 16px;
            background: rgba(255, 255, 255, 0.6);
            border: 1px dashed rgba(20, 18, 15, 0.2);
            border-radius: 16px;
        }

        #blog-root .blog-pager__goto-text,
        #blog-root .blog-pager__goto-total {
            font-size: 15px;
            font-weight: 600;
            color: var(--ed-muted);
        }

        #blog-root .blog-pager__input {
            width: 4em;
            padding: 8px;
            font-size: 15px;
            font-weight: 700;
            text-align: center;
            font-family: inherit;
            color: var(--ed-ink);
            background: #fff;
            border: 1px solid rgba(20, 18, 15, 0.15);
            border-radius: 10px;
            -moz-appearance: textfield;
        }

        #blog-root .blog-pager__input::-webkit-outer-spin-button,
        #blog-root .blog-pager__input::-webkit-inner-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }

        #blog-root .blog-pager__btn {
            padding: 10px 18px;
            font-size: 15px;
            font-weight: 600;
            font-family: inherit;
            color: var(--ed-ink);
            background: #fff;
            border: 1px solid rgba(20, 18, 15, 0.18);
            border-radius: 999px;
            cursor: pointer;
            transition:
                background 0.2s ease,
                transform 0.15s ease;
        }

        #blog-root .blog-pager__btn:hover:not(:disabled) {
            background: var(--ed-paper2);
        }

        #blog-root .blog-pager__btn:disabled {
            opacity: 0.4;
            cursor: not-allowed;
        }

        #blog-root .blog-j-cta {
            position: relative;
            border-radius: 40px;
            padding: clamp(48px, 8vw, 96px) clamp(24px, 5vw, 48px);
            text-align: center;
            overflow: hidden;
            background: var(--ed-ink);
            color: #fcf9f4;
        }

        #blog-root .blog-j-cta__water {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            pointer-events: none;
            opacity: 0.08;
            font-size: clamp(4rem, 30vw, 14rem);
            font-family: 'Fraunces', Georgia, serif;
            font-weight: 700;
            line-height: 1;
        }

        #blog-root .blog-j-cta__inner {
            position: relative;
            z-index: 1;
        }

        #blog-root .blog-j-cta__lead {
            color: rgba(252, 249, 244, 0.45);
        }

        #blog-root .blog-j-cta .btn-primary {
            background: #fcf9f4;
            color: var(--ed-ink);
            border-radius: 999px;
            padding: 14px 28px;
            font-weight: 700;
            font-size: 14px;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.2s ease;
        }

        #blog-root .blog-j-cta .btn-primary:hover {
            transform: scale(1.03);
        }

        #blog-root .blog-j-cta .blog-j-cta__ghost {
            color: #fcf9f4;
            font-weight: 700;
            font-size: 14px;
            text-decoration: none;
            border-bottom: 1px solid rgba(252, 249, 244, 0.25);
            padding-bottom: 2px;
        }

        #blog-root .blog-j-cta .blog-j-cta__ghost:hover {
            border-bottom-color: #fcf9f4;
        }

        #blog-root .no-scrollbar::-webkit-scrollbar {
            display: none;
        }

        #blog-root .no-scrollbar {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        @media (prefers-reduced-motion: reduce) {
            #blog-root .blog-card,
            #blog-root .featured-image-container img,
            #blog-root .blog-j-cta .btn-primary {
                transition: none;
            }
            #blog-root a.group:hover .featured-image-container img {
                transform: none;
            }
        }

        /* 原 page-blog.css：固定顶栏下主区上边距（列表页） */
        #page-blog.page-main {
            padding-top: 84px;
        }
        @media (max-width: 768px) {
            #page-blog.page-main {
                padding-top: 76px;
            }
        }
