/* 官网视觉增强：基础色板与导航定义在 site.css，本文件只维护展示页组件。 */
.engine-home {
    --titan-cyan: #6ddce3;
    --titan-blue: #2fb7c5;
    --titan-violet: #7896a2;
    --titan-accent-rgb: 47, 183, 197;
    --titan-accent-deep: #086b78;
    --titan-accent-light: #8ce3e7;
    --titan-accent-highlight: #42bdc9;
    --titan-brand-shadow-rgb: 7, 70, 80;
    --titan-feature-1-rgb: 47, 183, 197;
    --titan-feature-2-rgb: 48, 133, 178;
    --titan-feature-3-rgb: 126, 139, 164;
    --titan-feature-4-rgb: 54, 151, 117;
    --titan-feature-5-rgb: 190, 139, 67;
    --titan-feature-6-rgb: 132, 105, 151;
    --titan-card: rgba(15, 25, 42, .86);
    --titan-shadow: 0 24px 64px rgba(0, 0, 0, .28);
    --hero-bg-start: #020913;
    --hero-bg-mid: #061a27;
    --hero-bg-end: #02101a;
    --hero-text: #f2f8fa;
    --hero-muted: #9eafbd;
    --hero-accent-rgb: 53, 212, 214;
    --hero-accent-strong: #35d4d6;
    --hero-accent-soft: #8ff4f0;
    --hero-accent-deep: #1598aa;
    --hero-panel-bg: rgba(4, 18, 29, .7);
    --hero-panel-line: rgba(89, 178, 188, .24);
    --hero-dot-rgb: 73, 224, 226;
    --hero-map-rgb: 38, 175, 190;
    --hero-glow-rgb: 35, 220, 215;
    background:
        radial-gradient(circle at 72% 6%, rgba(47, 183, 197, .12), transparent 28rem),
        linear-gradient(180deg, #070b13, #0a101b 48%, #070b13);
}

html[data-theme="light"] .engine-home {
    --titan-cyan: #20aebc;
    --titan-blue: #087f90;
    --titan-violet: #5f8591;
    --titan-accent-rgb: 8, 127, 144;
    --titan-accent-deep: #075f6b;
    --titan-accent-light: #087786;
    --titan-accent-highlight: #27a9b6;
    --titan-brand-shadow-rgb: 20, 74, 82;
    --titan-feature-1-rgb: 8, 127, 144;
    --titan-feature-2-rgb: 36, 110, 153;
    --titan-feature-3-rgb: 99, 110, 139;
    --titan-feature-4-rgb: 40, 130, 98;
    --titan-feature-5-rgb: 166, 112, 45;
    --titan-feature-6-rgb: 112, 82, 132;
    --titan-card: rgba(255, 255, 255, .88);
    --titan-shadow: 0 24px 60px rgba(33, 57, 96, .12);
    --hero-bg-start: #f4fafb;
    --hero-bg-mid: #dceef1;
    --hero-bg-end: #edf7f8;
    --hero-text: #15313c;
    --hero-muted: #506d78;
    --hero-accent-rgb: 8, 127, 144;
    --hero-accent-strong: #087f90;
    --hero-accent-soft: #1597a6;
    --hero-accent-deep: #075f6b;
    --hero-panel-bg: rgba(255, 255, 255, .58);
    --hero-panel-line: rgba(8, 127, 144, .2);
    --hero-dot-rgb: 8, 127, 144;
    --hero-map-rgb: 23, 119, 139;
    --hero-glow-rgb: 7, 154, 171;
    background: linear-gradient(180deg, #f8faff, #f1f5fb 50%, #f8faff);
}

.engine-home::before {
    opacity: .16;
    background-image:
        linear-gradient(rgba(var(--titan-accent-rgb), .13) 1px, transparent 1px),
        linear-gradient(90deg, rgba(var(--titan-accent-rgb), .13) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(180deg, #000, transparent 76%);
}

.engine-home::after { display: none; }

.engine-home ::selection { color: #fff; background: var(--titan-blue); }
.engine-home :focus-visible { outline: 3px solid rgba(var(--titan-accent-rgb), .62); outline-offset: 3px; }
.engine-home .container { width: min(1200px, calc(100% - 48px)); }
.engine-home {
    --home-motion-fast: .32s;
    --home-motion-medium: .46s;
    --home-motion-ease: cubic-bezier(.16, 1, .3, 1);
}

/* 顶部导航 */
.engine-home .site-header {
    isolation: isolate;
    height: 72px;
    background: var(--nav);
    border-bottom-color: rgba(var(--titan-accent-rgb), .18);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
    backdrop-filter: blur(20px) saturate(1.2);
    -webkit-backdrop-filter: blur(20px) saturate(1.2);
    transition: border-color var(--home-motion-fast) ease, box-shadow var(--home-motion-fast) ease, background-color var(--home-motion-fast) ease;
}

.engine-home .site-header::before {
    display: none;
}

.engine-home .site-header.scrolled {
    background: var(--nav);
    border-bottom-color: rgba(var(--titan-accent-rgb), .18);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
    backdrop-filter: blur(20px) saturate(1.2);
    -webkit-backdrop-filter: blur(20px) saturate(1.2);
}

.engine-home .nav-wrap { position: relative; z-index: 1; height: 72px; }
.engine-home .brand-logo { max-width: 196px; max-height: 48px; }

.engine-home .nav-menu { gap: 2px; }

.engine-home .nav-menu a {
    position: relative;
    height: 72px;
    padding: 0 11px;
    color: var(--muted);
    background: transparent;
    border-radius: 0;
    font-size: 13px;
    font-weight: 700;
    transition: color var(--home-motion-fast) ease;
}

.engine-home .nav-menu a::after {
    position: absolute;
    right: 11px;
    bottom: 0;
    left: 11px;
    height: 3px;
    content: "";
    background: linear-gradient(90deg, var(--titan-blue), var(--titan-cyan));
    border-radius: 3px 3px 0 0;
    transform: scaleX(0);
    transform-origin: center bottom;
    transition: transform var(--home-motion-fast) var(--home-motion-ease);
}

.engine-home .nav-menu a:hover,
.engine-home .nav-menu a.active {
    color: var(--text);
    background: transparent;
}

.engine-home .nav-menu a:hover::after,
.engine-home .nav-menu a.active::after { transform: scaleX(1); }

.engine-home .theme-toggle,
.engine-home .mobile-toggle {
    border-color: var(--line);
    background: rgba(var(--titan-accent-rgb), .06);
    border-radius: 9px;
    transition: transform var(--home-motion-fast) var(--home-motion-ease), border-color var(--home-motion-fast) ease, background-color var(--home-motion-fast) ease;
}

.engine-home .theme-toggle:hover,
.engine-home .mobile-toggle:hover {
    border-color: var(--line-strong);
    background: rgba(var(--titan-accent-rgb), .1);
}

.engine-home .download-pill {
    height: 42px;
    padding: 0 17px;
    background: linear-gradient(135deg, var(--nav-action-start), var(--nav-action-end));
    border: 1px solid rgba(var(--accent-rgb), .38);
    transition: transform var(--home-motion-fast) var(--home-motion-ease), box-shadow var(--home-motion-fast) ease, filter var(--home-motion-fast) ease;
    border-radius: 9px;
    box-shadow: 0 10px 24px rgba(var(--accent-rgb), .24);
}

.engine-home .download-pill:hover {
    color: #fff;
    filter: brightness(1.08);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(var(--accent-rgb), .32);
}

/* 首屏 */
.engine-home .hero {
    isolation: isolate;
    min-height: 0;
    padding: 108px 0 52px;
    overflow: hidden;
    color: var(--hero-text);
    background:
        radial-gradient(ellipse at 71% 94%, rgba(var(--hero-glow-rgb), .18), transparent 30%),
        radial-gradient(circle at 77% 30%, rgba(var(--hero-map-rgb), .16), transparent 34rem),
        linear-gradient(122deg, var(--hero-bg-start) 0%, var(--hero-bg-mid) 52%, var(--hero-bg-end) 100%);
    border-bottom: 1px solid rgba(var(--hero-accent-rgb), .22);
}

.engine-home .hero::before {
    position: absolute;
    z-index: 1;
    inset: 0;
    content: "";
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(1, 8, 16, .34), transparent 42%, rgba(1, 8, 14, .06)),
        radial-gradient(ellipse at center, transparent 44%, rgba(1, 7, 13, .58) 112%);
}

html[data-theme="light"] .engine-home .hero::before {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .38), transparent 44%, rgba(255, 255, 255, .08)),
        radial-gradient(ellipse at center, transparent 54%, rgba(25, 93, 103, .12) 125%);
}

.engine-home .hero::after {
    position: absolute;
    z-index: 1;
    right: -6%;
    bottom: -105px;
    left: 34%;
    height: 260px;
    content: "";
    pointer-events: none;
    background: radial-gradient(ellipse at center, rgba(var(--hero-glow-rgb), .2), rgba(var(--hero-glow-rgb), .06) 42%, transparent 72%);
    filter: blur(18px);
}

.engine-home .hero-grid {
    position: relative;
    z-index: 2;
    grid-template-columns: minmax(360px, .76fr) minmax(600px, 1.24fr);
    align-items: stretch;
    gap: clamp(24px, 3.5vw, 52px);
}

.engine-home .hero-copy-wrap { position: relative; align-self: center; }

.engine-home .hero-copy-wrap::before {
    position: absolute;
    z-index: -1;
    top: 12%;
    left: -28%;
    width: 520px;
    height: 520px;
    content: "";
    background: radial-gradient(circle, rgba(var(--hero-map-rgb), .14), transparent 68%);
    pointer-events: none;
}

.engine-home .eyebrow {
    min-height: 34px;
    padding: 0 13px;
    color: var(--hero-accent-soft);
    background: rgba(var(--hero-map-rgb), .13);
    border-color: rgba(var(--hero-accent-rgb), .32);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.engine-home .pulse {
    background: var(--green);
    box-shadow: 0 0 0 0 rgba(69, 214, 161, .45);
}

.engine-home .hero h1 {
    max-width: 680px;
    margin: 28px 0 22px;
    font-size: clamp(50px, 5.2vw, 68px);
    line-height: 1.02;
    letter-spacing: -.045em;
    color: var(--hero-text);
    text-shadow: 0 18px 44px rgba(0, 0, 0, .32);
}

.engine-home .hero h1 span {
    margin-top: 7px;
    background: linear-gradient(115deg, var(--hero-accent-soft) 4%, var(--hero-accent-strong) 56%, var(--hero-accent-deep));
    -webkit-background-clip: text;
    background-clip: text;
    filter: drop-shadow(0 18px 30px rgba(var(--titan-accent-rgb), .16));
    white-space: nowrap;
}

.engine-home .hero-copy {
    max-width: 610px;
    color: var(--hero-muted);
    font-size: 16px;
    line-height: 1.9;
}

.engine-home .hero-actions { gap: 12px; margin-top: 32px; }

.engine-home .btn {
    min-height: 48px;
    padding: 0 21px;
    border-radius: 9px;
    font-size: 14px;
    transition: transform var(--home-motion-fast) var(--home-motion-ease), border-color var(--home-motion-fast) ease, background-color var(--home-motion-fast) ease, box-shadow var(--home-motion-fast) ease, filter var(--home-motion-fast) ease;
}

.engine-home .btn:active { transform: scale(.98); }

.engine-home .btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--primary-action-start), var(--primary-action-end));
    border-color: rgba(var(--primary-action-rgb), .34);
    box-shadow: 0 16px 30px rgba(var(--primary-action-rgb), .24);
}

.engine-home .btn-primary:hover {
    background: linear-gradient(135deg, var(--primary-action-start), var(--primary-action-end));
    border-color: rgba(var(--primary-action-rgb), .68);
    filter: brightness(1.08);
    transform: translateY(-1px);
    box-shadow: 0 20px 38px rgba(var(--primary-action-rgb), .32);
}

.engine-home .btn-ghost {
    color: var(--hero-text);
    background: rgba(var(--hero-map-rgb), .1);
    border-color: rgba(var(--hero-accent-rgb), .24);
}

.engine-home .btn-ghost:hover {
    background: rgba(var(--titan-accent-rgb), .1);
    border-color: var(--line-strong);
}

/* 首页数据 */
.engine-home .hero-stats {
    max-width: 650px;
    gap: 0;
    margin-top: 42px;
    overflow: hidden;
    background: var(--hero-panel-bg);
    border: 1px solid var(--hero-panel-line);
    border-radius: 12px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.engine-home .stat-chip {
    min-height: 92px;
    display: grid;
    place-content: center;
    padding: 15px 20px;
    text-align: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.engine-home .stat-chip + .stat-chip { border-left: 1px solid var(--line); }

.engine-home .stat-chip strong {
    color: var(--hero-accent-strong);
    font-size: 27px;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.035em;
}

.engine-home .stat-chip span {
    margin-top: 9px;
    color: var(--hero-muted);
    font-size: 12px;
}

/* Hero 产品图 */
.engine-home .hero-panel {
    --hero-device-angle: 4.1deg;
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: stretch;
    justify-content: center;
    margin: 0;
}

.engine-home .hero-panel::before,
.engine-home .hero-panel::after {
    position: absolute;
    z-index: 0;
    left: 50%;
    content: "";
    pointer-events: none;
    transform: translateX(-46%) rotate(var(--hero-device-angle));
    transform-origin: center;
}

.engine-home .hero-panel::before {
    bottom: -1%;
    width: 82%;
    height: 16%;
    background: radial-gradient(ellipse at center, rgba(var(--hero-glow-rgb), .34), rgba(var(--hero-glow-rgb), .1) 42%, transparent 72%);
    filter: blur(18px);
}

.engine-home .hero-panel::after {
    bottom: 6.5%;
    width: 72%;
    height: 5px;
    background: rgba(var(--hero-glow-rgb), .84);
    border-radius: 50%;
    box-shadow:
        0 0 12px rgba(var(--hero-glow-rgb), .9),
        0 0 34px 10px rgba(var(--hero-glow-rgb), .5),
        0 0 72px 24px rgba(var(--hero-glow-rgb), .2);
    filter: blur(2px);
}

.engine-home .hero-engine-visual {
    position: relative;
    z-index: 1;
    width: auto;
    max-width: none;
    height: 100%;
    max-height: 620px;
    aspect-ratio: 1434 / 1097;
    margin-left: 0;
    object-fit: contain;
    filter:
        drop-shadow(0 42px 48px rgba(0, 0, 0, .48))
        drop-shadow(0 18px 30px rgba(20, 187, 195, .14));
    transform: translate3d(0, 0, 0);
    transition: transform .7s var(--home-motion-ease), filter .7s ease;
}

.engine-home .hero-panel:hover .hero-engine-visual {
    filter:
        drop-shadow(0 48px 56px rgba(0, 0, 0, .54))
        drop-shadow(0 22px 38px rgba(20, 187, 195, .2));
    transform: translate3d(0, -4px, 0);
}

/* 内容区 */
.engine-home .section { padding: 68px 0; }

.engine-home .section.alt {
    background:
        linear-gradient(180deg, rgba(var(--titan-accent-rgb), .035), transparent 28%, transparent 72%, rgba(var(--titan-accent-rgb), .035)),
        rgba(7, 12, 21, .34);
    border-block: 1px solid rgba(var(--titan-accent-rgb), .08);
}

html[data-theme="light"] .engine-home .section.alt { background: rgba(235, 245, 246, .72); }

.engine-home .section-head {
    align-items: flex-end;
    margin-bottom: 28px;
}

.engine-home .section-kicker {
    color: var(--titan-blue);
    font-size: 11px;
    letter-spacing: .18em;
}

.engine-home .section h2 {
    font-size: clamp(32px, 4vw, 44px);
    letter-spacing: -.035em;
}

.engine-home .section-desc { color: var(--muted); line-height: 1.85; }
.engine-home .section-more { color: var(--gold-2); }

.engine-home .release-card,
.engine-home .tool-card,
.engine-home .feature-card,
.engine-home .doc-panel,
.engine-home .log-panel {
    background: var(--titan-card);
    border-color: var(--line);
    border-radius: 14px;
    box-shadow: var(--titan-shadow);
}

.engine-home #download .section-head {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(360px, 1.2fr);
    align-items: end;
    max-width: none;
}

.engine-home #download .section-desc {
    max-width: 620px;
    margin: 0 0 4px auto;
}

.engine-home .download-grid {
    grid-template-columns: minmax(0, 1.32fr) minmax(350px, .68fr);
    align-items: stretch;
    gap: 20px;
}

.engine-home .release-card {
    position: relative;
    min-width: 0;
    grid-template-columns: 196px minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
    min-height: 364px;
    padding: 0;
    overflow: hidden;
    background:
        linear-gradient(112deg, rgba(var(--titan-accent-rgb), .09), transparent 46%),
        var(--titan-card);
    border-color: rgba(var(--titan-accent-rgb), .25);
    isolation: isolate;
    transition: border-color var(--home-motion-medium) ease, box-shadow var(--home-motion-medium) var(--home-motion-ease);
}

.engine-home .release-card:hover {
    border-color: rgba(var(--titan-accent-rgb), .42);
    box-shadow: 0 28px 70px rgba(var(--titan-brand-shadow-rgb), .18);
}

.engine-home .tool-card {
    min-width: 0;
    min-height: 342px;
    padding: 26px 24px 20px;
    background:
        linear-gradient(180deg, rgba(var(--titan-accent-rgb), .055), transparent 42%),
        var(--titan-card);
}

.engine-home .release-copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 44px 48px 40px;
}

.engine-home .release-card h3 {
    max-width: 600px;
    margin-bottom: 16px;
    font-size: clamp(30px, 3.15vw, 40px);
    letter-spacing: -.025em;
}

.engine-home .release-card p { max-width: 560px; color: var(--muted); line-height: 2; }
.engine-home .release-actions {
    align-items: center;
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
}
.engine-home .release-actions .btn-primary { min-width: 168px; }

.engine-home .tag {
    color: var(--gold-2);
    background: rgba(var(--titan-accent-rgb), .08);
    border-color: rgba(var(--titan-accent-rgb), .22);
    border-radius: 7px;
}

.engine-home .release-badge {
    position: relative;
    z-index: 1;
    width: auto;
    height: auto;
    display: grid;
    place-items: center;
    margin: 0;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 20% 18%, rgba(143, 244, 240, .24), transparent 11rem),
        linear-gradient(155deg, var(--titan-accent-deep), #064653 76%);
    border: 0;
    border-right: 1px solid rgba(var(--titan-accent-rgb), .3);
    border-radius: 0;
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, .06);
}

.engine-home .release-badge::before {
    position: absolute;
    inset: 0;
    content: "";
    background:
        linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
    background-size: 36px 36px;
    mask-image: linear-gradient(155deg, #000, transparent 82%);
}

.engine-home .release-badge div {
    position: relative;
    z-index: 1;
    max-width: 160px;
    color: rgba(224, 251, 250, .72);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .15em;
    line-height: 1.25;
    text-align: left;
    text-transform: uppercase;
}

.engine-home .release-badge span {
    margin-bottom: 14px;
    color: #fff;
    font-size: clamp(32px, 3.2vw, 40px);
    letter-spacing: -.05em;
    line-height: .95;
    overflow-wrap: anywhere;
    text-shadow: 0 10px 30px rgba(0, 0, 0, .24);
}

.engine-home .tool-card-head { padding-bottom: 18px; border-color: var(--line); }
.engine-home .tool-card-head h3 { font-size: 22px; }
.engine-home .tool-card-head a { color: var(--gold-2); }
.engine-home .tool-icon {
    color: var(--titan-blue);
    background: rgba(var(--titan-accent-rgb), .09);
    border-color: rgba(var(--titan-accent-rgb), .2);
    border-radius: 10px;
}

.engine-home .tool-line {
    margin-inline: -10px;
    gap: 14px;
    min-height: 68px;
    padding: 12px 10px;
    border-color: var(--line);
    border-radius: 10px;
}

.engine-home .tool-line > div:last-child { min-width: 0; }

.engine-home .tool-line h3 { font-size: 15px; }
.engine-home .tool-line p {
    display: -webkit-box;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.engine-home .tool-line .tool-icon {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
}

.engine-home .tool-line .tool-icon .icon { width: 20px; height: 20px; }
.engine-home .tool-line .tool-icon-1 {
    color: var(--titan-cyan);
    background: rgba(var(--titan-feature-1-rgb), .1);
    border-color: rgba(var(--titan-feature-1-rgb), .24);
}
.engine-home .tool-line .tool-icon-2 {
    color: #70b9df;
    background: rgba(var(--titan-feature-2-rgb), .1);
    border-color: rgba(var(--titan-feature-2-rgb), .24);
}
.engine-home .tool-line .tool-icon-3 {
    color: #72d2ad;
    background: rgba(var(--titan-feature-4-rgb), .1);
    border-color: rgba(var(--titan-feature-4-rgb), .24);
}

.engine-home .tool-link:hover {
    background: rgba(var(--titan-accent-rgb), .065);
    border-color: transparent;
    transform: translateX(2px);
}
.engine-home .tool-link { transition: transform var(--home-motion-fast) var(--home-motion-ease), background-color var(--home-motion-fast) ease, border-color var(--home-motion-fast) ease; }

/* 核心能力卡片：沿用 play-foundry 的抬升、顶光和角落柔光逻辑。 */
.engine-home .features-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
}

.engine-home .feature-section-head {
    display: block;
}

.engine-home .feature-section-head .section-desc {
    max-width: 680px;
    margin-top: 14px;
}

.engine-home .feature-card {
    --card-rgb: var(--titan-feature-1-rgb);
    --card-accent: rgb(var(--card-rgb));
    --card-soft: rgba(var(--card-rgb), .14);
    --card-motion: .62s;
    --card-icon-motion: .72s;
    --card-motion-ease: cubic-bezier(.22, .61, .36, 1);
    position: relative;
    display: flex;
    grid-column: span 4;
    min-height: 318px;
    flex-direction: column;
    padding: 26px 24px;
    overflow: hidden;
    isolation: isolate;
    transform: translate3d(0, var(--card-hover-y, 0), 0);
    transition: transform var(--card-motion) var(--card-motion-ease), border-color var(--card-motion) ease, box-shadow var(--card-motion) var(--card-motion-ease);
}

.engine-home .feature-card:nth-child(1) { --card-rgb: var(--titan-feature-1-rgb); }
.engine-home .feature-card:nth-child(2) { --card-rgb: var(--titan-feature-2-rgb); }
.engine-home .feature-card:nth-child(3) { --card-rgb: var(--titan-feature-3-rgb); }
.engine-home .feature-card:nth-child(4) { --card-rgb: var(--titan-feature-4-rgb); }
.engine-home .feature-card:nth-child(5) { --card-rgb: var(--titan-feature-5-rgb); }
.engine-home .feature-card:nth-child(6) { --card-rgb: var(--titan-feature-6-rgb); }

.engine-home .feature-card::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 2px;
    content: "";
    background: linear-gradient(90deg, transparent, var(--card-accent), transparent);
    opacity: 0;
    transform: scaleX(.42);
    transition: opacity var(--card-motion) ease, transform var(--card-motion) var(--card-motion-ease);
}

.engine-home .feature-card::after {
    position: absolute;
    z-index: -1;
    right: -62px;
    bottom: -74px;
    width: 170px;
    height: 170px;
    content: "";
    background: radial-gradient(circle, var(--card-soft), transparent 70%);
    border-radius: 50%;
    opacity: .68;
    transform: scale(.72);
    transition: transform var(--card-motion) var(--card-motion-ease), opacity var(--card-motion) ease;
}

.engine-home .feature-card:hover {
    --card-hover-y: -4px;
    border-color: color-mix(in srgb, var(--card-accent) 52%, transparent);
    box-shadow: 0 22px 52px rgba(0, 0, 0, .22);
}

.engine-home .feature-card:hover::before { opacity: 1; transform: scaleX(1); }
.engine-home .feature-card:hover::after { opacity: 1; transform: scale(1); }

.engine-home .feature-card .tool-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 0;
    color: var(--card-accent);
    background: var(--card-soft);
    border-color: color-mix(in srgb, var(--card-accent) 24%, transparent);
    border-radius: 11px;
    transition: color var(--card-motion) ease, background-color var(--card-motion) ease, transform var(--card-icon-motion) var(--card-motion-ease), box-shadow var(--card-icon-motion) ease;
}

.engine-home .feature-card:hover .tool-icon {
    color: #fff;
    background: var(--card-accent);
    box-shadow: 0 12px 26px color-mix(in srgb, var(--card-accent) 25%, transparent);
    transform: scale(1.06) rotate(-3deg);
}

.engine-home .feature-card-head {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-right: 4px;
}

.engine-home .feature-card h3 {
    margin-bottom: 0;
    color: var(--text);
    font-size: 19px;
    letter-spacing: -.015em;
}

.engine-home .feature-card p { color: var(--muted); line-height: 1.72; }

.engine-home .feature-problem {
    margin: 18px 0 22px;
    font-size: 14px;
}

.engine-home .feature-solution {
    margin-top: auto;
    padding: 18px 18px 17px;
    background: rgba(var(--card-rgb), .065);
    border-left: 2px solid color-mix(in srgb, var(--card-accent) 58%, transparent);
    border-radius: 0 8px 8px 0;
}

.engine-home .feature-solution-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
    color: var(--card-accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
}

.engine-home .feature-solution-title .icon {
    width: 15px;
    height: 15px;
}

.engine-home .feature-solution h4 {
    margin-bottom: 6px;
    color: var(--text);
    font-size: 16px;
    line-height: 1.45;
}

.engine-home .feature-solution p { font-size: 13px; }

/* 更新、服务卡片 */
.engine-home .log-doc-grid {
    grid-template-columns: minmax(0, 1.14fr) minmax(390px, .86fr);
    align-items: start;
    gap: 18px;
}

.engine-home .log-panel {
    position: relative;
    min-height: 0;
    padding: 34px;
    overflow: hidden;
    background:
        linear-gradient(145deg, rgba(var(--titan-accent-rgb), .085), transparent 52%),
        var(--titan-card);
    border-color: rgba(var(--titan-accent-rgb), .22);
}

.engine-home .log-panel::after {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 120px;
    height: 120px;
    content: "";
    background: radial-gradient(circle at 100% 100%, rgba(var(--titan-accent-rgb), .16), transparent 68%);
    pointer-events: none;
}

.engine-home .timeline { gap: 0; }

.engine-home .timeline-item {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    column-gap: 24px;
    padding: 0 0 28px;
}

.engine-home .timeline-item:last-child { padding-bottom: 0; }

.engine-home .timeline-item::before {
    top: 7px;
    left: 100px;
    width: 9px;
    height: 9px;
    background: var(--titan-blue);
    box-shadow: 0 0 0 5px rgba(var(--titan-accent-rgb), .11);
}

.engine-home .timeline-item::after {
    top: 23px;
    bottom: 4px;
    left: 104px;
    background: linear-gradient(180deg, rgba(var(--titan-accent-rgb), .38), var(--line));
}

.engine-home .timeline-item time {
    grid-row: 1 / span 2;
    color: var(--gold-2);
    font-variant-numeric: tabular-nums;
}

.engine-home .timeline-item h3,
.engine-home .timeline-item p { grid-column: 2; }

.engine-home .timeline-item h3 { margin-bottom: 7px; font-size: 18px; }
.engine-home .timeline-item h3 a { transition: color var(--home-motion-fast) ease; }
.engine-home .timeline-item h3 a:hover { color: var(--titan-blue); }
.engine-home .timeline-item p { line-height: 1.78; }

.engine-home .doc-panel {
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    gap: 14px;
}

.engine-home .doc-card {
    --card-rgb: var(--titan-feature-1-rgb);
    --card-accent: rgb(var(--card-rgb));
    --card-soft: rgba(var(--card-rgb), .14);
    --card-motion: .62s;
    --card-icon-motion: .72s;
    --card-motion-ease: cubic-bezier(.22, .61, .36, 1);
    position: relative;
    min-height: 188px;
    display: flex;
    flex-direction: column;
    padding: 23px;
    overflow: hidden;
    isolation: isolate;
    background:
        linear-gradient(145deg, rgba(var(--card-rgb), .075), transparent 65%),
        var(--titan-card);
    border: 1px solid rgba(var(--card-rgb), .16);
    border-radius: 14px;
    box-shadow: 0 15px 34px rgba(var(--titan-brand-shadow-rgb), .07);
    transform: translate3d(0, var(--card-hover-y, 0), 0);
    transition: transform var(--card-motion) var(--card-motion-ease), border-color var(--card-motion) ease, box-shadow var(--card-motion) var(--card-motion-ease);
}

.engine-home .doc-card:nth-child(1) { --card-rgb: var(--titan-feature-1-rgb); }
.engine-home .doc-card:nth-child(2) { --card-rgb: var(--titan-feature-2-rgb); }
.engine-home .doc-card:nth-child(3) { --card-rgb: var(--titan-feature-4-rgb); }
.engine-home .doc-card:nth-child(4) { --card-rgb: var(--titan-feature-5-rgb); }

.engine-home .doc-card::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 2px;
    content: "";
    background: linear-gradient(90deg, transparent, var(--card-accent), transparent);
    opacity: 0;
    transform: scaleX(.42);
    transition: opacity var(--card-motion) ease, transform var(--card-motion) var(--card-motion-ease);
}

.engine-home .doc-card::after {
    position: absolute;
    z-index: -1;
    right: -54px;
    bottom: -64px;
    width: 148px;
    height: 148px;
    content: "";
    background: radial-gradient(circle, var(--card-soft), transparent 70%);
    border-radius: 50%;
    opacity: .64;
    transform: scale(.72);
    transition: transform var(--card-motion) var(--card-motion-ease), opacity var(--card-motion) ease;
}

.engine-home .doc-card:hover {
    --card-hover-y: -4px;
    border-color: color-mix(in srgb, var(--card-accent) 52%, transparent);
    box-shadow: 0 22px 52px rgba(0, 0, 0, .22);
}

.engine-home .doc-card:hover::before { opacity: 1; transform: scaleX(1); }
.engine-home .doc-card:hover::after { opacity: 1; transform: scale(1); }

.engine-home .doc-card .tool-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    color: var(--card-accent);
    background: var(--card-soft);
    border-color: color-mix(in srgb, var(--card-accent) 24%, transparent);
    transition: color var(--card-motion) ease, background-color var(--card-motion) ease, transform var(--card-icon-motion) var(--card-motion-ease), box-shadow var(--card-icon-motion) ease;
}

.engine-home .doc-card:hover .tool-icon {
    color: #fff;
    background: var(--card-accent);
    box-shadow: 0 12px 26px color-mix(in srgb, var(--card-accent) 25%, transparent);
    transform: scale(1.06) rotate(-3deg);
}

.engine-home .doc-card h3 { margin-top: 17px; color: var(--text); font-size: 18px; }
.engine-home .doc-card p { line-height: 1.72; }
.engine-home .doc-card-action {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
    padding-top: 14px;
    color: var(--card-accent);
    font-size: 14px;
    font-weight: 800;
}
.engine-home .doc-card-action .icon { width: 15px; height: 15px; transition: transform .52s var(--card-motion-ease); }
.engine-home .doc-card:hover .doc-card-action .icon { transform: translateX(2px); }

.engine-home .shop-band {
    position: relative;
    overflow: hidden;
    padding: 36px;
    background:
        radial-gradient(circle at 92% 20%, rgba(109, 220, 227, .17), transparent 18rem),
        linear-gradient(130deg, rgba(21, 126, 140, .24), rgba(13, 24, 42, .92));
    border-color: rgba(var(--titan-accent-rgb), .3);
    border-radius: 16px;
    box-shadow: var(--titan-shadow);
}

html[data-theme="light"] .engine-home .shop-band {
    background:
        radial-gradient(circle at 92% 20%, rgba(109, 220, 227, .16), transparent 18rem),
        linear-gradient(130deg, #eaf6f7, #fff);
}

.engine-home .shop-band h2 { font-size: 32px; letter-spacing: -.025em; }

/* 客服与页脚 */
.engine-home .hero-contact-card {
    right: var(--contact-right);
    bottom: var(--contact-bottom);
    width: var(--contact-width);
    min-height: var(--contact-height);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    background:
        linear-gradient(145deg,rgba(10,20,34,.96),rgba(13,32,45,.92)) padding-box,
        linear-gradient(135deg,rgba(140,227,231,.72),rgba(47,183,197,.22) 48%,rgba(140,227,231,.5)) border-box;
    border-radius: 11px;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .28);
    transition: opacity var(--home-motion-fast) ease, visibility var(--home-motion-fast) ease, transform var(--home-motion-medium) var(--home-motion-ease), border-color var(--home-motion-fast) ease, box-shadow var(--home-motion-medium) ease, background-color var(--home-motion-fast) ease;
}

.engine-home .hero-contact-card.is-contact-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.engine-home .hero-contact-card.is-contact-visible:hover {
    transform: translateY(-3px);
}

html[data-theme="light"] .engine-home .hero-contact-card {
    background:
        linear-gradient(145deg,rgba(255,255,255,.97),rgba(235,248,250,.94)) padding-box,
        linear-gradient(135deg,rgba(8,127,144,.55),rgba(8,127,144,.15) 48%,rgba(8,127,144,.42)) border-box;
}

.engine-home .site-footer { background: rgba(7, 12, 21, .65); border-color: var(--line); }
html[data-theme="light"] .engine-home .site-footer { background: rgba(255, 255, 255, .7); }

@media (max-width: 1080px) {
    .engine-home .nav-menu a { padding-inline: 8px; font-size: 12px; }
    .engine-home .hero-grid { grid-template-columns: minmax(330px, .8fr) minmax(500px, 1.2fr); gap: 22px; }
    .engine-home .hero-engine-visual { width: 110%; height: auto; margin-left: -3%; }
}

@media (max-width: 980px) {
    .engine-home .nav-menu {
        top: 82px;
        display: grid;
        gap: 4px;
        padding: 14px;
        background: var(--surface);
        border-radius: 12px;
    }

    .engine-home .nav-menu a { height: 44px; padding: 0 14px; border-radius: 7px; }
    .engine-home .nav-menu a::after { display: none; }
    .engine-home .nav-menu a:hover,
    .engine-home .nav-menu a.active { background: rgba(var(--titan-accent-rgb), .1); }
    .engine-home .hero { padding-top: 104px; }
    .engine-home .hero-grid { grid-template-columns: 1fr; }
    .engine-home .hero-copy-wrap { max-width: 720px; }
    .engine-home .hero-panel { max-width: 680px; }
    .engine-home .hero-engine-visual { width: min(100%, 680px); height: auto; margin-left: 0; }
    .engine-home .download-grid,
    .engine-home .log-doc-grid { grid-template-columns: 1fr; }
    .engine-home .release-card { grid-template-columns: 184px minmax(0, 1fr); }
    .engine-home .feature-card,
    .engine-home .feature-card:nth-child(n) { grid-column: span 6; }
    .engine-home .hero-contact-card { right: 20px; bottom: 22px; }
}

@media (max-width: 680px) {
    .engine-home .container { width: min(100% - 28px, 1200px); }
    .engine-home .brand-logo { max-width: 164px; }
    .engine-home .hero { min-height: 0; padding: 96px 0 44px; }
    .engine-home .hero h1 { font-size: clamp(40px, 12vw, 54px); }
    .engine-home .hero h1 span { white-space: normal; }
    .engine-home .hero-copy { font-size: 15px; }
    .engine-home .hero-grid,
    .engine-home .hero-grid > *,
    .engine-home .hero-copy-wrap,
    .engine-home .hero-panel,
    .engine-home .hero-engine-visual { min-width: 0; max-width: 100%; }
    .engine-home .hero-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .engine-home .hero-actions .btn { min-width: 0; padding-inline: 12px; }
    .engine-home .hero-actions .btn:last-child { grid-column: 1 / -1; }
    .engine-home .hero-stats { grid-template-columns: 1fr; }
    .engine-home .stat-chip { min-height: 78px; }
    .engine-home .stat-chip + .stat-chip { border-top: 1px solid var(--line); border-left: 0; }
    .engine-home .hero-engine-visual { width: 100%; margin-left: 0; }
    .engine-home .section { padding: 52px 0; }
    .engine-home .section-head { margin-bottom: 24px; }
    .engine-home .section-head { align-items: flex-start; }
    .engine-home #download .section-head { display: block; }
    .engine-home #download .section-desc { margin: 14px 0 0; }
    .engine-home .download-grid,
    .engine-home .log-doc-grid { grid-template-columns: 1fr; }
    .engine-home .release-card { grid-template-columns: 1fr; padding: 0; }
    .engine-home .release-copy { padding: 30px 22px 24px; }
    .engine-home .release-badge {
        width: 100%;
        min-height: 118px;
        margin: 0;
        border-right: 0;
        border-bottom: 1px solid rgba(var(--titan-accent-rgb), .3);
    }
    .engine-home .release-badge div {
        display: flex;
        align-items: baseline;
        justify-content: center;
        max-width: calc(100% - 40px);
    }
    .engine-home .release-badge span { display: inline; margin: 0 12px 0 0; }
    .engine-home .release-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .engine-home .release-actions .btn { min-width: 0; padding-inline: 12px; }
    .engine-home .feature-card,
    .engine-home .feature-card:nth-child(n) { grid-column: 1 / -1; min-height: 0; }
    .engine-home .feature-card-head { align-items: flex-start; }
    .engine-home .doc-panel { grid-template-columns: 1fr; }
    .engine-home .timeline-item {
        grid-template-columns: 1fr;
        padding-left: 26px;
    }
    .engine-home .timeline-item::before { left: 0; }
    .engine-home .timeline-item::after { left: 4px; }
    .engine-home .timeline-item time { grid-row: auto; margin-bottom: 5px; }
    .engine-home .timeline-item h3,
    .engine-home .timeline-item p { grid-column: 1; }
    .engine-home .shop-band { padding: 28px 22px; }
    .engine-home .hero-contact-card {
        right: 16px;
        bottom: 18px;
        width: 54px;
        min-height: 54px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .engine-home .hero-engine-visual,
    .engine-home .feature-card,
    .engine-home .feature-card::before,
    .engine-home .feature-card::after,
    .engine-home .feature-card .tool-icon,
    .engine-home .doc-card,
    .engine-home .doc-card::before,
    .engine-home .doc-card::after,
    .engine-home .doc-card .tool-icon,
    .engine-home .doc-card-action .icon { transition: none; }
}

/* --------------------------------------------------------------------------
   官网内容内页：复用首页的冷青品牌体系，保留各页面原有内容与业务结构。
   -------------------------------------------------------------------------- */
body:not(.engine-home):not(.doc-shell-body) {
    --inner-accent-rgb: 47, 183, 197;
    --inner-card: rgba(15, 25, 42, .88);
    --inner-shadow: 0 22px 58px rgba(0, 0, 0, .24);
    --inner-card-motion: .52s;
    --inner-card-motion-ease: cubic-bezier(.22, .61, .36, 1);
    background:
        radial-gradient(circle at 12% 4%, rgba(47, 183, 197, .11), transparent 28rem),
        radial-gradient(circle at 88% 8%, rgba(48, 133, 178, .08), transparent 30rem),
        linear-gradient(180deg, #070b13, #0a111d 52%, #070b13);
}

html[data-theme="light"] body:not(.engine-home):not(.doc-shell-body) {
    --inner-accent-rgb: 8, 127, 144;
    --inner-card: rgba(255, 255, 255, .9);
    --inner-shadow: 0 20px 52px rgba(33, 57, 96, .1);
    background:
        radial-gradient(circle at 12% 4%, rgba(8, 127, 144, .1), transparent 28rem),
        linear-gradient(180deg, #f4f7fc, #edf4f8 52%, #f4f7fc);
}

body:not(.engine-home):not(.doc-shell-body)::before {
    opacity: .13;
    background-image:
        linear-gradient(rgba(var(--inner-accent-rgb), .09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(var(--inner-accent-rgb), .09) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(180deg, #000, transparent 72%);
}

body:not(.engine-home):not(.doc-shell-body)::after { display: none; }
body:not(.engine-home):not(.doc-shell-body) ::selection { color: #fff; background: var(--ember); }
body:not(.engine-home):not(.doc-shell-body) :focus-visible { outline: 3px solid rgba(var(--inner-accent-rgb), .56); outline-offset: 3px; }

body:not(.engine-home) .site-header {
    height: 72px;
    background: var(--nav);
    border-bottom-color: rgba(var(--inner-accent-rgb), .18);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
    backdrop-filter: blur(20px) saturate(1.2);
}

body:not(.engine-home) .nav-wrap { height: 72px; }
body:not(.engine-home) .brand-logo { max-width: 196px; max-height: 48px; }
body:not(.engine-home) .nav-menu { gap: 2px; }
body:not(.engine-home) .nav-menu a {
    position: relative;
    height: 72px;
    padding: 0 11px;
    color: var(--muted);
    background: transparent;
    border-radius: 0;
    font-size: 13px;
    font-weight: 700;
}
body:not(.engine-home) .nav-menu a::after {
    position: absolute;
    right: 11px;
    bottom: 0;
    left: 11px;
    height: 3px;
    content: "";
    background: linear-gradient(90deg, #2fb7c5, #6ddce3);
    border-radius: 3px 3px 0 0;
    transform: scaleX(0);
    transition: transform .18s ease;
}
body:not(.engine-home) .nav-menu a:hover,
body:not(.engine-home) .nav-menu a.active { color: var(--text); background: transparent; }
body:not(.engine-home) .nav-menu a:hover::after,
body:not(.engine-home) .nav-menu a.active::after { transform: scaleX(1); }
body:not(.engine-home) .theme-toggle,
body:not(.engine-home) .mobile-toggle {
    border-color: var(--line);
    background: rgba(var(--inner-accent-rgb), .06);
    border-radius: 9px;
}
body:not(.engine-home) .download-pill,
body:not(.engine-home):not(.doc-shell-body) .btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--nav-action-start), var(--nav-action-end));
    border-color: rgba(var(--accent-rgb), .38);
    box-shadow: 0 10px 24px rgba(var(--accent-rgb), .24);
}

body:not(.engine-home):not(.doc-shell-body) .page-main { padding: 116px 0 82px; }
body:not(.engine-home):not(.doc-shell-body) .page-main .container { width: min(1200px, calc(100% - 48px)); }
body:not(.engine-home):not(.doc-shell-body) .page-hero {
    position: relative;
    max-width: 820px;
    margin-bottom: 34px;
    padding: 8px 0 18px;
}
body:not(.engine-home):not(.doc-shell-body) .page-hero::after {
    display: block;
    width: 72px;
    height: 2px;
    margin-top: 22px;
    content: "";
    background: linear-gradient(90deg, var(--ember), transparent);
}
body:not(.engine-home):not(.doc-shell-body) .page-hero .breadcrumb { margin-bottom: 15px; color: var(--faint); }
body:not(.engine-home):not(.doc-shell-body) .page-hero .breadcrumb a { color: var(--gold-2); }
body:not(.engine-home):not(.doc-shell-body) .page-hero h1 {
    margin-bottom: 12px;
    font-size: clamp(36px, 4.5vw, 52px);
    letter-spacing: -.025em;
}
body:not(.engine-home):not(.doc-shell-body) .page-hero p { color: var(--muted); font-size: 15px; line-height: 1.8; }

/* 引擎版本：稳定的大块横向选择区。 */
body:not(.engine-home):not(.doc-shell-body) .download-version-list { gap: 16px; }
body:not(.engine-home):not(.doc-shell-body) .download-version-card {
    min-height: 206px;
    padding: 30px 32px;
    border-color: rgba(var(--inner-accent-rgb), .22);
    border-radius: 14px;
    background:
        radial-gradient(circle at 8% 16%, rgba(var(--inner-accent-rgb), .13), transparent 18rem),
        linear-gradient(135deg, rgba(var(--inner-accent-rgb), .055), transparent 58%),
        var(--inner-card);
    box-shadow: var(--inner-shadow);
    transition: transform var(--inner-card-motion) var(--inner-card-motion-ease), border-color var(--inner-card-motion) ease, box-shadow var(--inner-card-motion) var(--inner-card-motion-ease);
}
body:not(.engine-home):not(.doc-shell-body) .download-version-card::before {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--ember), transparent);
    opacity: .72;
    transform: scaleX(.36);
    transition: transform var(--inner-card-motion) var(--inner-card-motion-ease), opacity var(--inner-card-motion) ease;
}
body:not(.engine-home):not(.doc-shell-body) .download-version-card:hover {
    border-color: var(--line-strong);
    box-shadow: 0 26px 62px rgba(0, 0, 0, .26);
    transform: translateY(-4px);
}
body:not(.engine-home):not(.doc-shell-body) .download-version-card:hover::before { opacity: 1; transform: scaleX(1); }
body:not(.engine-home):not(.doc-shell-body) .download-version-card h2 { font-size: clamp(24px, 3vw, 32px); letter-spacing: -.02em; }
body:not(.engine-home):not(.doc-shell-body) .download-version-rec {
    color: #eaffff;
    background: rgba(var(--inner-accent-rgb), .24);
    border: 1px solid rgba(var(--inner-accent-rgb), .52);
    box-shadow: none;
}
html[data-theme="light"] body:not(.engine-home):not(.doc-shell-body) .download-version-rec {
    color: #075f6b;
    background: #d9f3f5;
    border-color: rgba(8, 127, 144, .32);
}
body:not(.engine-home):not(.doc-shell-body) .download-version-info span,
body:not(.engine-home):not(.doc-shell-body) .download-version-tags span {
    color: var(--muted);
    background: rgba(var(--inner-accent-rgb), .055);
    border-color: rgba(var(--inner-accent-rgb), .16);
}
body:not(.engine-home):not(.doc-shell-body) .download-version-tags span { color: var(--gold-2); }
body:not(.engine-home):not(.doc-shell-body) .download-version-action .btn { min-width: 132px; min-height: 52px; }

/* 工具库：使用首页功能卡的主题色、顶光和抬升反馈。 */
body:not(.engine-home):not(.doc-shell-body) .tools-library { width: 100%; }
body:not(.engine-home):not(.doc-shell-body) .tools-category-nav { max-width: none; margin-bottom: 24px; }
body:not(.engine-home):not(.doc-shell-body) .tools-category-nav a {
    min-height: 38px;
    padding-inline: 14px 10px;
    color: var(--muted);
    background: rgba(var(--inner-accent-rgb), .045);
    border-color: rgba(var(--inner-accent-rgb), .16);
}
body:not(.engine-home):not(.doc-shell-body) .tools-category-nav a.active {
    color: #fff;
    background: linear-gradient(135deg, #2fb7c5, #086b78);
    border-color: rgba(var(--inner-accent-rgb), .4);
    box-shadow: 0 12px 28px rgba(var(--inner-accent-rgb), .2);
}
body:not(.engine-home):not(.doc-shell-body) .tools-category-nav em {
    color: var(--gold-2);
    background: rgba(var(--inner-accent-rgb), .09);
    border-color: rgba(var(--inner-accent-rgb), .16);
}
body:not(.engine-home):not(.doc-shell-body) .tools-category-nav a.active em { color: #d9fbff; background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.18); }
body:not(.engine-home):not(.doc-shell-body) .tools-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
body:not(.engine-home):not(.doc-shell-body) .tool-library-card {
    --tool-card-rgb: 47, 183, 197;
    position: relative;
    width: auto;
    min-height: 292px;
    border-color: rgba(var(--tool-card-rgb), .2);
    border-radius: 14px;
    background:
        radial-gradient(circle at 10% 0%, rgba(var(--tool-card-rgb), .13), transparent 13rem),
        var(--inner-card);
    box-shadow: var(--inner-shadow);
    isolation: isolate;
    transition: transform var(--inner-card-motion) var(--inner-card-motion-ease), border-color var(--inner-card-motion) ease, box-shadow var(--inner-card-motion) var(--inner-card-motion-ease);
}
body:not(.engine-home):not(.doc-shell-body) .tool-library-card:nth-child(3n + 2) { --tool-card-rgb: 48, 133, 178; }
body:not(.engine-home):not(.doc-shell-body) .tool-library-card:nth-child(3n + 3) { --tool-card-rgb: 54, 151, 117; }
body:not(.engine-home):not(.doc-shell-body) .tool-library-card::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 2px;
    content: "";
    background: linear-gradient(90deg, transparent, rgb(var(--tool-card-rgb)), transparent);
    opacity: 0;
    transform: scaleX(.4);
    transition: transform var(--inner-card-motion) var(--inner-card-motion-ease), opacity var(--inner-card-motion) ease;
}
body:not(.engine-home):not(.doc-shell-body) .tool-library-card:hover {
    border-color: rgba(var(--tool-card-rgb), .48);
    box-shadow: 0 26px 58px rgba(0, 0, 0, .26);
    transform: translateY(-4px);
}
body:not(.engine-home):not(.doc-shell-body) .tool-library-card:hover::before { opacity: 1; transform: scaleX(1); }
body:not(.engine-home):not(.doc-shell-body) .tool-library-linkarea { padding: 22px; }
body:not(.engine-home):not(.doc-shell-body) .tool-library-icon {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
    color: rgb(var(--tool-card-rgb));
    background: rgba(var(--tool-card-rgb), .11);
    border-color: rgba(var(--tool-card-rgb), .26);
    border-radius: 12px;
}
body:not(.engine-home):not(.doc-shell-body) .tool-library-card h2 { color: var(--text); font-size: 18px; }
body:not(.engine-home):not(.doc-shell-body) .tool-library-card p { height: auto; min-height: 44px; color: var(--muted); }
body:not(.engine-home):not(.doc-shell-body) .tool-library-meta span,
body:not(.engine-home):not(.doc-shell-body) .tool-library-flags span {
    color: var(--muted);
    background: rgba(var(--tool-card-rgb), .06);
    border-color: rgba(var(--tool-card-rgb), .15);
}
body:not(.engine-home):not(.doc-shell-body) .tool-library-flags .is-rec { color: #d8fbf5; background: rgba(69,214,161,.12); border-color: rgba(69,214,161,.26); }
body:not(.engine-home):not(.doc-shell-body) .tool-library-foot { border-top-color: rgba(var(--tool-card-rgb), .14); }
body:not(.engine-home):not(.doc-shell-body) .tool-library-foot em { color: rgb(var(--tool-card-rgb)); }

/* 更新日志：提高正文可读性，保留原时间轴与加载逻辑。 */
body:not(.engine-home):not(.doc-shell-body) .changelog-tree { max-width: 1040px; }
body:not(.engine-home):not(.doc-shell-body) .changelog-tree::before { background: linear-gradient(180deg, transparent, var(--line-strong) 8%, var(--line) 88%, transparent); }
body:not(.engine-home):not(.doc-shell-body) .changelog-tree-date { color: var(--gold-2); font-variant-numeric: tabular-nums; }
body:not(.engine-home):not(.doc-shell-body) .changelog-tree-node::before {
    background: var(--ember);
    box-shadow: 0 0 0 6px rgba(var(--inner-accent-rgb), .12), 0 0 22px rgba(var(--inner-accent-rgb), .28);
}
body:not(.engine-home):not(.doc-shell-body) .changelog-tree-content,
body:not(.engine-home):not(.doc-shell-body) .article-panel {
    border-color: rgba(var(--inner-accent-rgb), .2);
    border-radius: 14px;
    background: var(--inner-card);
    box-shadow: var(--inner-shadow);
}
body:not(.engine-home):not(.doc-shell-body) .changelog-tree-content {
    padding: 28px 30px;
    transition: transform var(--inner-card-motion) var(--inner-card-motion-ease), border-color var(--inner-card-motion) ease, background-color var(--inner-card-motion) ease, box-shadow var(--inner-card-motion) var(--inner-card-motion-ease);
}
body:not(.engine-home):not(.doc-shell-body) .changelog-tree-item:hover .changelog-tree-content { border-color: var(--line-strong); transform: translateY(-4px); }
body:not(.engine-home):not(.doc-shell-body) .changelog-tree-content h2 { margin-bottom: 16px; font-size: 22px; }
body:not(.engine-home):not(.doc-shell-body) .changelog-md-body,
body:not(.engine-home):not(.doc-shell-body) .article-panel .md-body { color: var(--text); line-height: 1.9; }
body:not(.engine-home):not(.doc-shell-body) .changelog-md-body h1,
body:not(.engine-home):not(.doc-shell-body) .changelog-md-body h2,
body:not(.engine-home):not(.doc-shell-body) .changelog-md-body h3,
body:not(.engine-home):not(.doc-shell-body) .article-panel .md-body h1,
body:not(.engine-home):not(.doc-shell-body) .article-panel .md-body h2,
body:not(.engine-home):not(.doc-shell-body) .article-panel .md-body h3 { color: var(--gold-2); }
body:not(.engine-home):not(.doc-shell-body) .changelog-md-body p { color: var(--muted); }
body:not(.engine-home):not(.doc-shell-body) .article-panel { max-width: 960px; padding: 38px 42px; }
body:not(.engine-home):not(.doc-shell-body) .article-back { color: var(--gold-2); }
body:not(.engine-home):not(.doc-shell-body) .changelog-load-more {
    border-color: var(--line-strong);
    background: rgba(var(--inner-accent-rgb), .09);
    border-radius: 10px;
}

/* 工具详情：共享页面材质和青色状态组件。 */
body:not(.engine-home):not(.doc-shell-body) .tool-detail-hero,
body:not(.engine-home):not(.doc-shell-body) .tool-detail-downloads {
    border-color: rgba(var(--inner-accent-rgb), .2);
    border-radius: 14px;
    background:
        radial-gradient(circle at 8% 10%, rgba(var(--inner-accent-rgb), .1), transparent 20rem),
        var(--inner-card);
    box-shadow: var(--inner-shadow);
}
body:not(.engine-home):not(.doc-shell-body) .tool-detail-hero { padding: 30px; gap: 26px; }
body:not(.engine-home):not(.doc-shell-body) .tool-detail-icon {
    width: 72px;
    height: 72px;
    flex-basis: 72px;
    color: var(--gold-2);
    background: rgba(var(--inner-accent-rgb), .1);
    border-color: rgba(var(--inner-accent-rgb), .28);
    border-radius: 14px;
}
body:not(.engine-home):not(.doc-shell-body) .tool-detail-meta span,
body:not(.engine-home):not(.doc-shell-body) .tool-version-meta span,
body:not(.engine-home):not(.doc-shell-body) .tool-source-note span {
    color: var(--muted);
    background: rgba(var(--inner-accent-rgb), .055);
    border-color: rgba(var(--inner-accent-rgb), .15);
}
body:not(.engine-home):not(.doc-shell-body) .tool-detail-intro { border-top-color: var(--line); }
body:not(.engine-home):not(.doc-shell-body) .tool-detail-intro h2,
body:not(.engine-home):not(.doc-shell-body) .tool-detail-downloads h2 { color: var(--text); }
body:not(.engine-home):not(.doc-shell-body) .tool-detail-rich a,
body:not(.engine-home):not(.doc-shell-body) .tool-detail-video a { color: var(--gold-2); }
body:not(.engine-home):not(.doc-shell-body) .tool-version-block {
    padding: 18px;
    border-color: rgba(var(--inner-accent-rgb), .16);
    border-radius: 11px;
    background: rgba(var(--inner-accent-rgb), .035);
}
body:not(.engine-home):not(.doc-shell-body) .tool-version-block.is-latest {
    border-color: var(--line-strong);
    background: linear-gradient(135deg, rgba(var(--inner-accent-rgb), .11), rgba(var(--inner-accent-rgb), .025));
}
body:not(.engine-home):not(.doc-shell-body) .tool-version-head span {
    color: #eaffff;
    background: rgba(var(--inner-accent-rgb), .24);
    border: 1px solid rgba(var(--inner-accent-rgb), .48);
}
html[data-theme="light"] body:not(.engine-home):not(.doc-shell-body) .tool-version-head span {
    color: #075f6b;
    background: #d9f3f5;
    border-color: rgba(8, 127, 144, .3);
}
body:not(.engine-home):not(.doc-shell-body) .tool-source-button {
    color: var(--gold-2);
    background: rgba(var(--inner-accent-rgb), .08);
    border-color: rgba(var(--inner-accent-rgb), .22);
}
body:not(.engine-home):not(.doc-shell-body) .tool-source-button:hover,
body:not(.engine-home):not(.doc-shell-body) .tool-source-menu a:hover { color: #fff; background: linear-gradient(135deg, #2fb7c5, #086b78); }
body:not(.engine-home):not(.doc-shell-body) .tool-source-menu { background: rgba(10, 18, 30, .98); border-color: var(--line); }

/* 悬浮客服由公共 header 模板提供，所有官网页面复用同一组件。 */
.hero-contact-card {
    right: var(--contact-right);
    bottom: var(--contact-bottom);
    width: var(--contact-width);
    min-height: var(--contact-height);
    padding: var(--contact-padding);
    border-color: transparent;
    border-radius: 11px;
    background:
        linear-gradient(145deg,rgba(10,20,34,.96),rgba(13,32,45,.92)) padding-box,
        linear-gradient(135deg,rgba(140,227,231,.72),rgba(47,183,197,.22) 48%,rgba(140,227,231,.5)) border-box;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .28);
    backdrop-filter: blur(18px) saturate(1.2);
}
.hero-contact-card:hover {
    border-color: rgba(var(--titan-accent-rgb, var(--inner-accent-rgb)), .58);
    box-shadow: 0 24px 56px rgba(0,0,0,.34), 0 0 0 4px rgba(var(--titan-accent-rgb, var(--inner-accent-rgb)), .08);
}
html[data-theme="light"] .hero-contact-card {
    border-color: transparent;
    background:
        linear-gradient(145deg,rgba(255,255,255,.97),rgba(235,248,250,.94)) padding-box,
        linear-gradient(135deg,rgba(8,127,144,.55),rgba(8,127,144,.15) 48%,rgba(8,127,144,.42)) border-box;
    box-shadow: 0 18px 42px rgba(33,57,96,.13), inset 0 1px 0 #fff;
}

/* 在线文档保留工作区布局，仅替换为官网品牌令牌。 */
body.doc-shell-body {
    --inner-accent-rgb: 47, 183, 197;
    --doc-bg: #070b13;
    --doc-side-bg: #0e1724;
    --doc-side-hover: #152435;
    --doc-content-bg: #101a2a;
    --doc-content-soft: #152238;
    --doc-border: rgba(99, 180, 190, .18);
    --doc-border-strong: rgba(47, 183, 197, .48);
    --doc-text: #f3f7ff;
    --doc-muted: #98a7bd;
    --doc-faint: #718198;
    --doc-accent: #8ce3e7;
    --doc-primary: #2fb7c5;
    --doc-code-bg: #07101b;
    --doc-code-text: #dcecf3;
    --doc-inline-code-bg: rgba(47, 183, 197, .1);
    --doc-inline-code-text: #8ce3e7;
    --doc-topbar-bg: rgba(7, 11, 19, .95);
    --doc-topbar-border: rgba(47, 183, 197, .18);
    --doc-back-bg: #101a2a;
    --doc-back-hover: #152b3b;
    --doc-focus-shadow: rgba(47, 183, 197, .16);
    --doc-button-shadow: rgba(47, 183, 197, .24);
    --doc-shadow: 0 18px 52px rgba(0,0,0,.25);
    background:
        radial-gradient(circle at 14% 2%, rgba(47,183,197,.11), transparent 28rem),
        linear-gradient(180deg, #070b13, #0a111d 54%, #070b13);
}
html[data-theme="light"] body.doc-shell-body {
    --inner-accent-rgb: 8, 127, 144;
    --doc-bg: #f4f7fc;
    --doc-side-bg: #f7fafc;
    --doc-side-hover: #e9f4f6;
    --doc-content-bg: #ffffff;
    --doc-content-soft: #f2f8fa;
    --doc-border: rgba(29,93,104,.14);
    --doc-border-strong: rgba(8,127,144,.38);
    --doc-text: #172238;
    --doc-muted: #617087;
    --doc-faint: #7d899b;
    --doc-accent: #087786;
    --doc-primary: #087f90;
    --doc-topbar-bg: rgba(255,255,255,.96);
    --doc-topbar-border: rgba(29,93,104,.14);
    --doc-back-bg: #ffffff;
    --doc-back-hover: #edf7f8;
    --doc-shadow: 0 12px 34px rgba(33,57,96,.09);
    background: linear-gradient(180deg, #f4f7fc, #edf4f8);
}
body.doc-shell-body .doc-topbar { backdrop-filter: blur(18px); }
body.doc-shell-body .doc-side,
body.doc-shell-body .doc-content { border: 1px solid var(--doc-border); border-radius: 14px; }
body.doc-shell-body .doc-search input { border-radius: 9px; }
body.doc-shell-body .doc-link.active { color: var(--doc-text); background: linear-gradient(90deg, rgba(47,183,197,.16), rgba(47,183,197,.05)); }
body.doc-shell-body .doc-content .md-body h2 { border-bottom-color: var(--doc-border); }
body.doc-shell-body .hero-contact-card { display: grid; place-items: center; }

@media (max-width: 980px) {
    body:not(.engine-home) .nav-menu {
        top: 82px;
        display: grid;
        gap: 4px;
        padding: 14px;
        background: var(--surface);
        border-radius: 12px;
    }
    body:not(.engine-home) .nav-menu a { height: 44px; padding: 0 14px; border-radius: 7px; }
    body:not(.engine-home) .nav-menu a::after { display: none; }
    body:not(.engine-home) .nav-menu a:hover,
    body:not(.engine-home) .nav-menu a.active { background: rgba(var(--inner-accent-rgb), .1); }
    body:not(.engine-home):not(.doc-shell-body) .tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.doc-shell-body .doc-side {
        background: var(--doc-side-bg);
        border-color: var(--doc-border);
    }
    html[data-theme="light"] body.doc-shell-body .doc-side {
        box-shadow: 0 22px 56px rgba(33, 57, 96, .16);
    }
    body.doc-shell-body .doc-side::before,
    body.doc-shell-body .doc-search,
    html[data-theme="light"] body.doc-shell-body .doc-search {
        color: var(--doc-text);
        background: var(--doc-side-bg);
        border-bottom-color: var(--doc-border);
    }
    body.doc-shell-body .doc-search,
    html[data-theme="light"] body.doc-shell-body .doc-search {
        margin: 0;
        padding: 14px 12px 12px;
    }
    body.doc-shell-body .doc-tree { background: var(--doc-side-bg); }
    body.doc-shell-body .doc-cat,
    html[data-theme="light"] body.doc-shell-body .doc-cat {
        color: var(--doc-muted);
        background: transparent;
    }
    body.doc-shell-body .doc-cat:hover,
    body.doc-shell-body .doc-link:hover {
        color: var(--doc-text);
        background: var(--doc-side-hover);
    }
    body.doc-shell-body .doc-link.active,
    html[data-theme="light"] body.doc-shell-body .doc-link.active {
        color: var(--doc-primary);
        background: linear-gradient(90deg, rgba(var(--inner-accent-rgb), .16), rgba(var(--inner-accent-rgb), .045));
        box-shadow: inset 3px 0 0 var(--doc-primary);
    }
    body.doc-shell-body .doc-drawer-mask {
        background: rgba(5, 15, 24, .52);
        backdrop-filter: blur(3px);
    }
    html[data-theme="light"] body.doc-shell-body .doc-drawer-mask { background: rgba(31, 48, 66, .3); }
    html.doc-drawer-open body.doc-shell-body .hero-contact-card,
    html.doc-drawer-open body.doc-shell-body .doc-scroll-top {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(8px);
    }
}

@media (max-width: 680px) {
    body:not(.engine-home):not(.doc-shell-body) .page-main { padding: 96px 0 64px; }
    body:not(.engine-home):not(.doc-shell-body) .page-main .container { width: calc(100% - 28px); }
    body:not(.engine-home):not(.doc-shell-body) .page-hero { margin-bottom: 24px; }
    body:not(.engine-home):not(.doc-shell-body) .page-hero h1 { font-size: 34px; }
    body:not(.engine-home):not(.doc-shell-body) .download-version-card,
    body:not(.engine-home):not(.doc-shell-body) .tool-detail-hero,
    body:not(.engine-home):not(.doc-shell-body) .tool-detail-downloads,
    body:not(.engine-home):not(.doc-shell-body) .article-panel { padding: 22px 18px; }
    body:not(.engine-home):not(.doc-shell-body) .tools-grid { grid-template-columns: 1fr; }
    body:not(.engine-home):not(.doc-shell-body) .tools-library { padding: 0; }
    body:not(.engine-home):not(.doc-shell-body) .tool-library-card { min-height: 260px; }
    body:not(.engine-home):not(.doc-shell-body) .changelog-tree-content { padding: 20px 18px; }
    .hero-contact-card { right: var(--contact-right); bottom: var(--contact-bottom); width: var(--contact-width); min-height: var(--contact-height); padding: var(--contact-padding); }
    body.doc-shell-body .hero-contact-card { bottom: var(--contact-bottom); }
}

@media (prefers-reduced-motion: reduce) {
    body:not(.engine-home):not(.doc-shell-body) .download-version-card,
    body:not(.engine-home):not(.doc-shell-body) .download-version-card::before,
    body:not(.engine-home):not(.doc-shell-body) .tool-library-card,
    body:not(.engine-home):not(.doc-shell-body) .tool-library-card::before,
    body:not(.engine-home):not(.doc-shell-body) .changelog-tree-content { transition: none; }
}

/* 工具详情下载菜单：主题自适应，并消除触发按钮的重复焦点描边。 */
body:not(.engine-home):not(.doc-shell-body) .tool-source-dropdown{
    z-index:24;
}
body:not(.engine-home):not(.doc-shell-body) .tool-source-toggle:focus,
body:not(.engine-home):not(.doc-shell-body) .tool-source-toggle:focus-visible{
    outline:0;
    border-color:rgba(var(--inner-accent-rgb),.62);
    box-shadow:0 0 0 3px rgba(var(--inner-accent-rgb),.14),0 12px 28px rgba(var(--inner-accent-rgb),.2);
}
body:not(.engine-home):not(.doc-shell-body) .tool-source-menu{
    width:max-content;
    min-width:190px;
    padding:6px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:10px;
    background:rgba(10,18,30,.98);
    box-shadow:0 18px 42px rgba(0,0,0,.28);
}
body:not(.engine-home):not(.doc-shell-body) .tool-source-menu a{
    min-height:42px;
    padding:9px 12px;
    border-radius:7px;
    background:transparent;
    color:var(--text);
    transition:background-color .16s ease,color .16s ease;
}
body:not(.engine-home):not(.doc-shell-body) .tool-source-menu a + a{
    border-top:0;
}
body:not(.engine-home):not(.doc-shell-body) .tool-source-menu a:hover,
body:not(.engine-home):not(.doc-shell-body) .tool-source-menu a:focus-visible{
    outline:0;
    color:var(--text);
    background:rgba(var(--inner-accent-rgb),.12);
}
body:not(.engine-home):not(.doc-shell-body) .tool-source-menu small{
    color:var(--muted);
}
body:not(.engine-home):not(.doc-shell-body) .tool-source-menu a:hover small,
body:not(.engine-home):not(.doc-shell-body) .tool-source-menu a:focus-visible small{
    color:var(--muted);
}
html[data-theme="light"] body:not(.engine-home):not(.doc-shell-body) .tool-source-menu{
    border-color:rgba(29,93,104,.16);
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 40px rgba(33,57,96,.14);
}
html[data-theme="light"] body:not(.engine-home):not(.doc-shell-body) .tool-source-menu a{
    color:#172238;
}
html[data-theme="light"] body:not(.engine-home):not(.doc-shell-body) .tool-source-menu a:hover,
html[data-theme="light"] body:not(.engine-home):not(.doc-shell-body) .tool-source-menu a:focus-visible{
    color:#075f6b;
    background:rgba(8,127,144,.09);
}

/* 版本区下载属于次级操作，与顶部主下载按钮保持清晰层级。 */
body:not(.engine-home):not(.doc-shell-body) .tool-detail-downloads .tool-source-button{
    border:1px solid rgba(var(--inner-accent-rgb),.28);
    background:rgba(var(--inner-accent-rgb),.055);
    color:var(--gold-2);
    box-shadow:none;
    filter:none;
    transform:none;
    transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
body:not(.engine-home):not(.doc-shell-body) .tool-detail-downloads .tool-source-button:hover,
body:not(.engine-home):not(.doc-shell-body) .tool-detail-downloads .tool-source-button:focus-visible{
    outline:0;
    border-color:rgba(var(--inner-accent-rgb),.52);
    background:rgba(var(--inner-accent-rgb),.12);
    color:var(--text);
    box-shadow:0 9px 22px rgba(var(--inner-accent-rgb),.12);
    filter:none;
    transform:translateY(-1px);
}
body:not(.engine-home):not(.doc-shell-body) .tool-detail-downloads .tool-source-button:active{
    background:rgba(var(--inner-accent-rgb),.16);
    box-shadow:none;
    transform:scale(.98);
}
html[data-theme="light"] body:not(.engine-home):not(.doc-shell-body) .tool-detail-downloads .tool-source-button{
    background:rgba(8,127,144,.045);
    color:#087786;
}
html[data-theme="light"] body:not(.engine-home):not(.doc-shell-body) .tool-detail-downloads .tool-source-button:hover,
html[data-theme="light"] body:not(.engine-home):not(.doc-shell-body) .tool-detail-downloads .tool-source-button:focus-visible{
    border-color:rgba(8,127,144,.44);
    background:rgba(8,127,144,.1);
    color:#075f6b;
    box-shadow:0 9px 22px rgba(33,57,96,.11);
}

/* 版本中心：参考稿采用更轻的浅色内容编排，覆盖通用展示页的宽松间距。 */
body:not(.engine-home):not(.doc-shell-body) .versions-page .container,
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .container {
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .page-hero {
    max-width: 820px;
    margin-bottom: 28px;
    padding: 4px 0 18px;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .page-hero .breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: var(--faint);
    font-size: 13px;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .page-hero .breadcrumb a {
    color: var(--gold-2);
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .page-hero h1 {
    margin-bottom: 12px;
    font-size: clamp(38px, 4vw, 50px);
    line-height: 1.15;
    letter-spacing: 0;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .page-hero p {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.8;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .page-hero::after {
    width: 70px;
    margin-top: 24px;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-library {
    padding: 22px;
    border-radius: 8px;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-toolbar {
    display: block;
    margin-bottom: 22px;
    padding-bottom: 18px;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-toolbar-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-search {
    display: flex;
    align-items: center;
    width: 100%;
    height: 52px;
    margin-bottom: 18px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(255, 255, 255, .035);
    transition: border-color .18s ease, box-shadow .18s ease;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-search:focus-within {
    border-color: rgba(var(--primary-action-rgb), .58);
    box-shadow: 0 0 0 3px rgba(var(--primary-action-rgb), .12);
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-search input {
    min-width: 0;
    flex: 1;
    height: 100%;
    padding: 0 18px;
    border: 0;
    outline: 0;
    color: var(--text);
    background: transparent;
    font: inherit;
    font-size: 14px;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-search input::placeholder {
    color: var(--faint);
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-search button {
    height: 100%;
    min-width: 92px;
    padding: 0 22px;
    border: 0;
    color: #fff;
    background: linear-gradient(135deg, #087f90, #075f6b);
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition: filter .18s ease;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-search button:hover {
    filter: brightness(1.08);
}
html[data-theme="light"] body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-search {
    background: rgba(255, 255, 255, .58);
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-category-nav a {
    min-height: 38px;
    padding: 7px 15px;
    background: rgba(255, 255, 255, .42);
}
html[data-theme="light"] body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-category-nav a {
    background: rgba(255, 255, 255, .58);
    border-color: rgba(28, 102, 115, .18);
}
html[data-theme="light"] body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-category-nav a.active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #087f90, #075f6b);
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-category-nav a.active {
    color: #fff;
    background: linear-gradient(135deg, #087f90, #075f6b);
    box-shadow: 0 8px 18px rgba(var(--primary-action-rgb), .2);
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid {
    gap: 16px;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .version-card {
    border-radius: 8px;
    box-shadow: 0 8px 22px rgba(25, 65, 91, .05);
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .version-card-cover {
    aspect-ratio: 2 / 1;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .version-card-cover img {
    object-fit: cover;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .version-card-body {
    min-height: 84px;
    gap: 8px;
    padding: 15px 15px 14px;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .version-card-body h2 {
    font-size: 17px;
    line-height: 1.35;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid:not(.is-list) .version-card-summary {
    display: none;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .version-list-meta {
    display: flex;
    align-items: center;
    gap: 0;
    margin-top: auto;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .version-list-meta > div {
    display: flex;
    align-items: center;
    gap: 4px;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .version-list-meta dt {
    margin: 0;
    color: var(--faint);
    font-size: 12px;
    font-weight: 500;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .version-list-meta dd,
body:not(.engine-home):not(.doc-shell-body) .versions-page .version-list-meta dd time {
    color: var(--faint);
    font-size: 12px;
    font-weight: 500;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid:not(.is-list) .version-meta-size {
    display: none;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .version-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 30px rgba(25, 65, 91, .12);
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .version-card:hover .version-card-cover img {
    transform: none;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-breadcrumb {
    padding: 20px 0 16px;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-summary {
    grid-template-columns: minmax(360px, .82fr) minmax(0, 1.18fr);
    gap: 28px;
    padding: 22px;
    border-radius: 8px;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-cover.has-cover {
    aspect-ratio: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-cover.has-cover img {
    width: 100%;
    height: auto;
    object-fit: contain;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-intro h1 {
    font-size: clamp(34px, 3.2vw, 44px);
    letter-spacing: 0;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-intro > p {
    margin-top: 14px;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-meta,
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-tags {
    margin-top: 18px;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-tags {
    align-items: center;
    gap: 8px;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-tags span,
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-tags span:first-child {
    min-height: 29px;
    padding: 4px 11px;
    border: 1px solid rgba(8, 127, 144, .24);
    border-radius: 999px;
    color: #087f90;
    background: rgba(8, 127, 144, .07);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-actions {
    gap: 18px;
    margin-top: 24px;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    padding: 0 22px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: #9aadb0;
    box-shadow: 0 12px 22px rgba(94, 122, 127, .16);
    font-size: 14px;
    font-weight: 900;
    cursor: not-allowed;
    opacity: 1;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-download[href] {
    background: var(--primary-action-start);
    cursor: pointer;
    transition: filter .18s ease, transform .18s ease, box-shadow .18s ease;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-download[href]:hover,
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-download[href]:focus-visible {
    color: #fff;
    filter: brightness(1.08);
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(var(--accent-rgb), .28);
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-download .icon {
    width: 16px;
    height: 16px;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-back {
    font-size: 13px;
}

@media (max-width: 680px) {
    body:not(.engine-home):not(.doc-shell-body) .versions-page .container,
    body:not(.engine-home):not(.doc-shell-body) .version-detail-page .container {
        width: calc(100% - 28px);
    }
    body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-library {
        padding: 18px 14px;
    }
    body:not(.engine-home):not(.doc-shell-body) .versions-page .page-hero h1 {
        font-size: 34px;
    }
    body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-summary {
        grid-template-columns: 1fr;
        padding: 14px;
    }
    body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-download {
        width: 100%;
    }
}

/* 列表视图右侧信息收拢为一个上下两行的元信息块。 */
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-list-meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: max-content;
    min-width: 180px;
    max-width: 240px;
    margin: 0;
    justify-self: end;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-card-body {
    grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr);
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-card-body h2 {
    grid-column: 1;
    grid-row: 1;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-card-summary {
    grid-column: 1;
    grid-row: 2;
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.65;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-card-body .version-list-meta {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    max-width: 340px;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-list-meta > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    column-gap: 9px;
    min-width: 0;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-list-meta dt {
    margin: 0;
    color: var(--faint);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-list-meta dd,
body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-list-meta dd time {
    margin: 0;
    color: var(--text);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.35;
    text-align: right;
}
@media (max-width: 680px) {
    body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-card-body {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-card-body h2,
    body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-card-summary,
    body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-card-body .version-list-meta {
        grid-column: 1;
        grid-row: auto;
    }
    body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-list-meta {
        grid-template-columns: 1fr;
        gap: 12px;
        width: 100%;
        max-width: none;
    }
    body:not(.engine-home):not(.doc-shell-body) .versions-page .versions-grid.is-list .version-list-meta > div {
        grid-template-columns: auto minmax(0, 1fr);
    }
}

/* 详情内容中的配图需要比正文更宽，充分利用内容卡片的可视空间。 */
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-rich > p:has(img),
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-rich figure {
    max-width: 1080px !important;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-rich figure img {
    width: 100% !important;
    max-height: 820px !important;
}

/* 封面源图比例不参与首屏布局；模糊背景补足横竖图的剩余空间。 */
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-cover.has-cover {
    position: relative;
    display: grid;
    aspect-ratio: 5 / 3;
    align-items: center;
    justify-items: center;
    isolation: isolate;
    background: #10222d;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-cover-backdrop {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-cover-backdrop::after {
    position: absolute;
    inset: 0;
    content: "";
    background: rgba(9, 24, 33, .42);
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-cover-backdrop img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(18px) saturate(.9);
    opacity: .78;
    transform: scale(1.1);
}
body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-cover.has-cover .version-detail-cover-image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
@media (max-width: 680px) {
    body:not(.engine-home):not(.doc-shell-body) .version-detail-page .version-detail-cover.has-cover {
        aspect-ratio: 4 / 3;
    }
}
