/* 已审核公开页面的视觉覆盖层；中文来源与多语言页面共用，品牌提案页不加载。 */
body.public-redesign {
    --bg: #0b1020;
    --bg-soft: #131c31;
    --panel: rgba(22, 31, 51, .86);
    --panel-solid: #161f33;
    --text: #f3f6ff;
    --muted: #abb7ce;
    --line: rgba(175, 195, 234, .16);
    --purple: #7450df;
    --blue: #285cda;
    --link: #acbeff;
    --highlight: #93e0ec;
    --control: #1b2740;
    --logo-bg: #f1f4ff;
    --card-shadow: 0 8px 26px rgba(0, 0, 0, .12);
    --hover-shadow: 0 18px 40px rgba(0, 0, 0, .26);
    --shadow: 0 12px 36px rgba(0, 0, 0, .16);
    --shell: min(1400px, calc(100% - 48px));
    --reading-scroll-offset: 112px;
    color-scheme: dark;
    isolation: isolate;
    background: var(--bg);
    color: var(--text);
}

:root[data-theme="light"] body.public-redesign {
    --bg: #f7f8fe;
    --bg-soft: #edf0fb;
    --panel: rgba(255, 255, 255, .92);
    --panel-solid: #fff;
    --text: #182033;
    --muted: #59657b;
    --line: rgba(69, 86, 137, .15);
    --link: #5145b5;
    --highlight: #3c539e;
    --control: #f1f3fc;
    --logo-bg: #f7f8fe;
    --card-shadow: 0 5px 22px rgba(43, 56, 111, .045);
    --hover-shadow: 0 18px 38px rgba(65, 71, 129, .13);
    --shadow: 0 10px 32px rgba(54, 63, 116, .065);
    color-scheme: light;
}

body.public-redesign .site-atmosphere {
    z-index: -1;
    background: none;
}

body.public-redesign .site-atmosphere i { opacity: .15; }
body.public-redesign .site-atmosphere i:nth-child(3) { opacity: .08; }
:root[data-theme="light"] body.public-redesign .site-atmosphere i { opacity: .095; }
:root[data-theme="light"] body.public-redesign .site-atmosphere i:nth-child(3) { opacity: .045; }
body.public-redesign .glass { box-shadow: var(--card-shadow); }
body.public-redesign .shell { width: var(--shell); }
body.public-redesign :is(.tool-grid, .news-grid, .reading-layout, .reading-sidebar, .reading-meta) > * { min-width: 0; }
body.public-redesign :is(a, button, input, select, summary):focus-visible {
    outline: 3px solid var(--link);
    outline-offset: 4px;
}
body.public-redesign :is(.tool-card, .news-card) .card-link:focus-visible { outline: none; }
body.public-redesign [hidden] { display: none !important; }

/* 明暗主题共用尺寸，控件颜色不再继承旧版深色半透明背景。 */
body.public-redesign .site-header { padding: 16px 0; }
body.public-redesign .nav-shell { height: 72px; padding-inline: 22px; border-radius: 20px; box-shadow: var(--shadow); }
body.public-redesign .main-nav a { padding: 10px 18px; }
body.public-redesign .main-nav a:is(:hover, :focus-visible, [aria-current="page"]) { background: var(--control); color: var(--text); }
body.public-redesign .language-picker select {
    min-height: 42px;
    background: var(--control);
    color: var(--text);
    border-color: var(--line);
    cursor: pointer;
}
body.public-redesign .language-picker option { background: var(--panel-solid); color: var(--text); }
body.public-redesign .brand { direction: ltr; }
body.public-redesign .chip span { margin-left: 0; margin-inline-start: 5px; }
body.public-redesign :is(.theme-toggle, .mobile-menu) { min-width: 42px; height: 42px; background: var(--control); }
body.public-redesign :is(.theme-toggle, .mobile-menu):hover { border-color: var(--link); }
body.public-redesign .develop-review-bar { background: #293d74; }
body.public-redesign .develop-review-inner { min-height: 32px; }
body.public-redesign .develop-nav-badge { color: var(--highlight); border-color: var(--line); background: var(--control); }
body.public-redesign :is(.eyebrow, .kicker, .snapshot-head > a, .section-head > a, .snapshot-meta, .snapshot-date, .price, .news-copy > strong, .source-card a) { color: var(--highlight); }

/* 首页保持紧凑，列表页缩短首屏前的空白。 */
body.public-redesign .hero { padding: 30px 0 26px; }
body.public-redesign .hero::before { background: none; }
body.public-redesign .hero h1 { font-size: clamp(38px, 4.8vw, 62px); line-height: 1.17; letter-spacing: -.045em; }
body.public-redesign .hero-copy > p { line-height: 1.75; }
:root[data-theme="light"] body.public-redesign .hero h1 em {
    background-image: linear-gradient(105deg, #6847cd, #355dc6 58%, #08768b);
}
body.public-redesign .hero-search { min-height: 58px; margin-top: 22px; border-radius: 17px; box-shadow: var(--shadow); }
body.public-redesign .hero-search:focus-within { border-color: var(--link); }
body.public-redesign .hero-search input { min-height: 42px; }
body.public-redesign .hero-search input:focus-visible { outline-offset: -2px; border-radius: 8px; }
body.public-redesign :is(.button, .hero-search button) { min-height: 44px; transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease; }
body.public-redesign .button.ghost { background: var(--panel-solid); }
body.public-redesign .button.primary { box-shadow: 0 8px 18px rgba(74, 63, 192, .2); }
body.public-redesign .hero-bottom-row { margin-top: 17px; }
body.public-redesign .stats { gap: 34px; }
body.public-redesign .stats strong { font-size: 24px; font-variant-numeric: tabular-nums; }
body.public-redesign .stats span { margin-top: 4px; font-size: 11px; letter-spacing: .03em; }
body.public-redesign .section { padding-block: 46px; }
body.public-redesign .compact-section { padding-top: 24px; }
body.public-redesign .section-head { margin-bottom: 24px; }
body.public-redesign .section-head h2 { font-size: clamp(28px, 3.2vw, 40px); line-height: 1.25; }
body.public-redesign .page-hero { padding: 42px 0 22px; }
body.public-redesign .page-hero h1 { font-size: clamp(38px, 4.5vw, 56px); line-height: 1.2; margin-block: 12px; }
body.public-redesign .page-hero > p { font-size: 16px; line-height: 1.85; }
body.public-redesign .page-hero .hero-search { margin-top: 24px; }
body.public-redesign .filters { padding-block: 18px 8px; gap: 10px; }
body.public-redesign .chip { color: var(--muted); background: var(--panel-solid); padding: 9px 15px; }
body.public-redesign .chip span { opacity: 1; }
body.public-redesign .chip:is(:hover, .active) { color: #fff; background: linear-gradient(135deg, var(--purple), var(--blue)); }

body.public-redesign .home-snapshot { gap: 18px; margin-top: 0; margin-bottom: 12px; }
body.public-redesign .snapshot-panel { padding: 21px 22px; border-radius: 22px; }
body.public-redesign .snapshot-head { margin-bottom: 12px; }
body.public-redesign .snapshot-head h2 { font-size: 22px; }
body.public-redesign .snapshot-head .kicker { font-size: 10px; }
body.public-redesign .snapshot-row { min-height: 73px; gap: 13px; padding: 10px 4px; }
body.public-redesign .snapshot-row:hover { padding-inline: 4px; background: var(--control); }
body.public-redesign .snapshot-copy strong { font-size: 14px; line-height: 1.65; }
body.public-redesign .snapshot-copy small { font-size: 12px; max-width: none; line-height: 1.75; }
body.public-redesign .snapshot-meta { font-size: 10px; padding: 5px 8px; }
body.public-redesign .snapshot-empty {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 140px;
    padding: 22px 0 12px;
    color: var(--muted);
    border-top: 1px solid var(--line);
}
body.public-redesign .snapshot-empty strong { font-size: 16px; color: var(--text); }
body.public-redesign .snapshot-empty p { margin: 8px 0 0; font-size: 14px; line-height: 1.8; }
body.public-redesign .snapshot-empty a { align-self: flex-start; margin-top: 15px; color: var(--link); font-size: 13px; font-weight: 650; }

/* 图标使用固定方框，图片和名称缩写共享同一个网格格子，加载前后不跳动。 */
body.public-redesign :is(.snapshot-logo, .tool-logo, .detail-logo) {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    isolation: isolate;
    background: var(--logo-bg);
    color: #384170;
    border: 1px solid rgba(78, 97, 160, .16);
    box-shadow: 0 3px 8px rgba(19, 27, 54, .04);
    overflow: hidden;
}
body.public-redesign .snapshot-logo { width: 48px; height: 48px; border-radius: 13px; font-size: 14px; }
body.public-redesign .tool-logo { width: 72px; height: 72px; border-radius: 19px; font-size: 23px; transition: transform 220ms ease; }
body.public-redesign .detail-logo { width: 112px; height: 112px; border-radius: 28px; font-size: 33px; }
body.public-redesign :is(.snapshot-logo, .tool-logo, .detail-logo) > :is(img, span) { grid-area: 1 / 1; }
body.public-redesign :is(.snapshot-logo, .tool-logo, .detail-logo) img {
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 4px;
    object-fit: contain;
    border-radius: inherit;
    background: var(--logo-bg);
}
body.public-redesign .snapshot-logo img { padding: 2px; }
body.public-redesign .detail-logo img { padding: 7px; }
body.public-redesign .logo-fallback { font-weight: 850; letter-spacing: -.03em; line-height: 1; }
body.public-redesign .logo-loaded .logo-fallback { visibility: hidden; }
body.public-redesign .logo-unavailable .logo-fallback { visibility: visible; }

/* 卡片由正常文档流撑高，底部信息通过自动外边距对齐。 */
body.public-redesign .tool-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
body.public-redesign .tool-card {
    display: flex;
    flex-direction: column;
    min-height: 316px;
    padding: 24px;
    border-radius: 24px;
    box-shadow: var(--card-shadow);
}
body.public-redesign :is(.tool-card, .news-card, .category-card) {
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
body.public-redesign :is(.tool-card, .news-card)::before {
    width: 180px;
    height: 180px;
    right: -70px;
    top: -95px;
    opacity: .12;
    pointer-events: none;
}
:root[data-theme="light"] body.public-redesign :is(.tool-card, .news-card)::before { opacity: .07; }
body.public-redesign .tool-top { gap: 14px; align-items: flex-start; }
body.public-redesign .price { max-width: 55%; margin-top: 3px; padding: 5px 9px; font-size: 11px; letter-spacing: .025em; text-align: center; }
body.public-redesign .tool-card :is(h2, h3),
body.public-redesign .news-copy :is(h2, h3) {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
    font-size: 19px;
    line-height: 1.5;
    letter-spacing: -.015em;
}
body.public-redesign .tool-card :is(h2, h3) { margin: 19px 0 9px; }
body.public-redesign :is(.tool-card, .news-copy) > p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
}
body.public-redesign .tool-card .card-meta {
    position: static;
    inset: auto;
    margin-top: auto;
    padding-top: 23px;
    gap: 12px;
    font-size: 12px;
    letter-spacing: 0;
}
body.public-redesign .card-meta > span { min-width: 0; overflow-wrap: anywhere; }
body.public-redesign .tool-card .card-meta > span:last-child { color: var(--link); white-space: nowrap; font-weight: 650; }
body.public-redesign .category-grid { gap: 16px; }
body.public-redesign .category-card { padding: 19px 17px; border-radius: 19px; gap: 12px; }
body.public-redesign .category-card > :is(div, span:not(.category-icon)) { min-width: 0; }
body.public-redesign .category-icon { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; }
body.public-redesign .category-card small { margin-top: 2px; font-size: 12px; }
:root[data-theme="light"] body.public-redesign .category-icon { color: color-mix(in srgb, var(--card-accent, #7450df) 48%, #182033); }
body.public-redesign :is(.tool-card, .news-card, .category-card):focus-within {
    transform: translateY(-5px);
    border-color: var(--link);
    box-shadow: var(--hover-shadow);
    outline: 3px solid var(--link);
    outline-offset: 3px;
}

/* 新闻封面保留图像亮度，缺图时采用几何线条占位。 */
body.public-redesign .news-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
body.public-redesign .news-card { display: flex; flex-direction: column; border-radius: 24px; box-shadow: var(--card-shadow); }
body.public-redesign .news-visual {
    height: 190px;
    flex: 0 0 auto;
    overflow: hidden;
    background: linear-gradient(140deg, #2e3563, #132e45);
}
:root[data-theme="light"] body.public-redesign .news-visual { background: linear-gradient(135deg, #e8e7fb, #dfedf8); }
body.public-redesign .news-visual img { opacity: 1; }
body.public-redesign .news-visual:has(img:not([hidden])) i { display: none; }
body.public-redesign .news-visual::after { background: linear-gradient(180deg, rgba(11, 16, 32, .13), transparent 55%, rgba(11, 16, 32, .12)); pointer-events: none; }
body.public-redesign .news-visual span { color: #fff; background: rgba(18, 27, 49, .83); border-color: rgba(255, 255, 255, .25); }
body.public-redesign .news-visual i { width: 105px; height: 105px; border-color: rgba(165, 191, 255, .6); box-shadow: 0 0 0 26px rgba(128, 149, 245, .08), 0 0 0 52px rgba(128, 149, 245, .04); }
:root[data-theme="light"] body.public-redesign .news-visual i { border-color: rgba(91, 106, 180, .4); }
body.public-redesign .news-copy { display: flex; flex-direction: column; flex: 1; padding: 23px; }
body.public-redesign .news-copy .card-meta { gap: 12px; font-size: 11px; }
body.public-redesign .news-copy > strong { display: block; margin-top: auto; padding-top: 20px; font-size: 13px; }
body.public-redesign .lead-news .news-visual { height: 270px; }
body.public-redesign .lead-news .news-copy h3 { font-size: 25px; }
body.public-redesign .article-cover { height: auto; aspect-ratio: 16 / 8; max-width: 1050px; margin: 0 auto 28px; border-radius: 24px; border: 1px solid var(--line); }

body.public-redesign .empty-state { padding: 46px 24px; border-radius: 24px; }
body.public-redesign .empty-state > span { color: var(--link); }
body.public-redesign .empty-state p { color: var(--muted); max-width: 580px; margin-inline: auto; }
body.public-redesign .empty-state.compact { padding: 24px; }
body.public-redesign .pagination { flex-wrap: wrap; gap: 10px; }
body.public-redesign .pagination a { min-width: 44px; width: auto; height: 44px; padding-inline: 10px; background: var(--panel-solid); }
body.public-redesign .pagination a:is(.active, :hover) { background: linear-gradient(135deg, var(--purple), var(--blue)); color: #fff; }
body.public-redesign .trust-banner { margin-block: 30px 60px; padding: 30px; border-radius: 24px; }

/* 阅读正文与侧栏分开排布，滚动目录不改变存储的正文内容。 */
body.public-redesign .detail-hero { padding: 34px 0 24px; }
body.public-redesign .back-link { color: var(--muted); margin-bottom: 18px; font-size: 14px; }
body.public-redesign .back-link:hover { color: var(--link); }
body.public-redesign .detail-title { padding: 36px; gap: 28px; border-radius: 28px; }
body.public-redesign .detail-title > div { min-width: 0; }
body.public-redesign .detail-title::after { opacity: .09; pointer-events: none; }
body.public-redesign .detail-title h1 { font-size: clamp(30px, 4vw, 50px); line-height: 1.25; letter-spacing: -.03em; overflow-wrap: anywhere; }
body.public-redesign .detail-title p { font-size: 17px; line-height: 1.85; max-width: 880px; }
body.public-redesign .detail-actions { flex-wrap: wrap; }
body.public-redesign .reading-layout {
    display: flex;
    flex-direction: column;
    gap: 22px;
    align-items: stretch;
    padding: 0 0 42px;
}
body.public-redesign .reading-sidebar { display: contents; }
body.public-redesign .article-body {
    order: 1;
    min-width: 0;
    padding: clamp(24px, 3.5vw, 48px);
    border-radius: 24px;
    font-size: 17px;
    line-height: 1.95;
    overflow-wrap: anywhere;
    overflow: visible;
}
/* 固定阅读宽度不随子元素字号变化，标题、段落、引用和 FAQ 保持同一左边缘。 */
body.public-redesign .article-body > * { max-width: min(100%, 760px); margin-inline: auto; }
body.public-redesign .article-body :is(h2, h3) { color: var(--text); scroll-margin-top: var(--reading-scroll-offset); line-height: 1.45; letter-spacing: -.02em; }
body.public-redesign .article-body h2 { font-size: 28px; margin-top: 40px; margin-bottom: 16px; }
body.public-redesign .article-body h3 { font-size: 22px; margin-top: 30px; margin-bottom: 12px; }
body.public-redesign .article-body > :first-child { margin-top: 0; }
body.public-redesign .article-body :is(p, li) { color: var(--text); }
body.public-redesign .article-body p { margin-block: 0 20px; }
body.public-redesign .article-body :is(ul, ol) { padding-inline-start: 26px; margin-block: 18px 24px; }
body.public-redesign .article-body li + li { margin-top: 7px; }
body.public-redesign .article-body a { color: var(--link); text-decoration-thickness: 1px; text-underline-offset: 4px; }
body.public-redesign .article-body img { max-width: 100%; height: auto; border: 1px solid var(--line); margin-block: 26px; border-radius: 16px; }
body.public-redesign .article-body :is(figure, video, iframe) { max-width: min(100%, 760px); }
body.public-redesign .article-body figure { margin-block: 26px; }
body.public-redesign .article-body figcaption { margin-top: 10px; text-align: center; font-size: 13px; color: var(--muted); }
body.public-redesign .article-body blockquote { padding: 17px 22px; margin-block: 28px; border: 0; border-inline-start: 3px solid var(--link); background: var(--control); border-radius: 0 14px 14px 0; }
body.public-redesign .article-body blockquote p:last-child { margin-bottom: 0; }
body.public-redesign .article-body hr { margin-block: 34px; border: 0; border-top: 1px solid var(--line); }
body.public-redesign .article-body pre { overflow-x: auto; max-width: min(100%, 760px); padding: 20px; border-radius: 14px; background: var(--control); font-size: 14px; white-space: pre; }
body.public-redesign .article-body :not(pre) > code { background: var(--control); padding: 2px 5px; border-radius: 5px; font-size: .88em; }
body.public-redesign .article-body .table-scroll { max-width: min(100%, 760px); overflow-x: auto; overscroll-behavior-inline: contain; margin-block: 26px; border: 1px solid var(--line); border-radius: 14px; }
body.public-redesign .article-body table { display: block; max-width: min(100%, 760px); overflow-x: auto; border-collapse: collapse; font-size: 14px; line-height: 1.8; }
body.public-redesign .article-body .table-scroll table { display: table; min-width: 100%; margin: 0; overflow: visible; }
body.public-redesign .article-body :is(th, td) { min-width: 130px; padding: 13px 16px; text-align: start; vertical-align: top; border-bottom: 1px solid var(--line); }
body.public-redesign .article-body th { font-weight: 750; color: var(--text); background: var(--control); }
body.public-redesign .article-body tr:last-child td { border-bottom: 0; }
body.public-redesign .direct-answer { padding: 23px; border-color: var(--line); background: linear-gradient(130deg, var(--control), var(--panel-solid)); margin-bottom: 30px; }
body.public-redesign .direct-answer strong { color: var(--highlight); font-size: 12px; letter-spacing: .08em; }
body.public-redesign .direct-answer p { font-size: 17px; line-height: 1.9; margin: 8px 0 0; }
body.public-redesign .faq { margin-top: 42px; }
body.public-redesign .faq details { padding-block: 18px; }
body.public-redesign .faq summary { gap: 20px; line-height: 1.65; }
body.public-redesign .faq summary::after { flex: 0 0 auto; color: var(--link); }
body.public-redesign .faq details p { color: var(--muted); padding-top: 14px; margin-bottom: 0; font-size: 16px; }

body.public-redesign .article-toc {
    order: 0;
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 21px;
    background: var(--panel-solid);
    box-shadow: var(--card-shadow);
}
body.public-redesign .article-toc > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; font-weight: 750; font-size: 15px; list-style: none; }
body.public-redesign .article-toc > summary::-webkit-details-marker { display: none; }
body.public-redesign .article-toc > summary::after { content: "+"; color: var(--link); font-size: 19px; font-weight: 500; }
body.public-redesign .article-toc[open] > summary::after { content: "−"; }
body.public-redesign .article-toc nav { margin-top: 16px; max-height: min(45vh, 480px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding: 4px; margin-inline: -4px; }
body.public-redesign .article-toc ol { list-style: none; margin: 0; padding: 0; }
body.public-redesign .article-toc li + li { margin-top: 3px; }
body.public-redesign .article-toc a { display: block; padding: 8px 10px; border-inline-start: 2px solid transparent; border-radius: 0 8px 8px 0; font-size: 13px; line-height: 1.7; color: var(--muted); overflow-wrap: anywhere; }
body.public-redesign .article-toc .is-subheading a { padding-inline-start: 22px; font-size: 12px; }
body.public-redesign .article-toc a:is(:hover, [aria-current="location"]) { color: var(--link); background: var(--control); border-inline-start-color: var(--link); }
body.public-redesign .article-toc a[aria-current="location"] { font-weight: 700; }
body.public-redesign .reading-meta { order: 2; display: grid; grid-template-columns: 1fr; gap: 14px; position: static; }
body.public-redesign .side-card { border-radius: 20px; padding: 21px; }
body.public-redesign .side-card > span { font-size: 12px; letter-spacing: .04em; }
body.public-redesign .side-card li { font-size: 13px; line-height: 1.8; }
body.public-redesign .side-card li span { color: var(--highlight); }
body.public-redesign .source-card > div { min-width: 0; }
body.public-redesign .source-card a { overflow-wrap: anywhere; }
body.public-redesign .news-article { padding-top: 34px; }
body.public-redesign .article-header { max-width: 1050px; margin-bottom: 30px; }
body.public-redesign .article-header h1 { font-size: clamp(32px, 4.3vw, 58px); line-height: 1.3; letter-spacing: -.035em; overflow-wrap: anywhere; }
body.public-redesign .article-header > p { font-size: 18px; line-height: 1.9; }
body.public-redesign .article-byline { gap: 10px 22px; font-size: 12px; }

body.public-redesign .site-footer { background: var(--bg-soft); padding-block: 44px 24px; margin-top: 16px; }
body.public-redesign .footer-grid { gap: 30px; }
body.public-redesign .footer-grid p { font-size: 14px; line-height: 1.9; }
body.public-redesign .footer-bottom { margin-top: 30px; gap: 10px; }

/* 响应式断点以视窗宽度为准，旧样式的 760px / 1050px 规则不改变卡片列数。 */
@media (min-width: 640px) {
    body.public-redesign .tool-grid,
    body.public-redesign .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.public-redesign .reading-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
    body.public-redesign .tool-grid,
    body.public-redesign .news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    body.public-redesign .reading-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; }
    body.public-redesign .reading-layout > .article-body { order: 0; }
    body.public-redesign .reading-sidebar { display: grid; gap: 16px; position: sticky; top: var(--reading-scroll-offset); max-height: calc(100vh - var(--reading-scroll-offset) - 20px); overflow-y: auto; scrollbar-width: thin; border-radius: 21px; }
    body.public-redesign .reading-meta { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 1200px) {
    body.public-redesign .tool-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    body.public-redesign .reading-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 26px; }
}
@media (max-width: 1199px) {
    body.public-redesign .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    body.public-redesign .category-card { padding: 17px; }
    body.public-redesign .tool-card { padding: 22px; }
}
@media (max-width: 959px) {
    body.public-redesign .mobile-menu { display: grid; place-items: center; margin-inline-start: auto !important; margin-inline-end: 0 !important; }
    body.public-redesign .develop-nav-badge { display: none; }
    body.public-redesign .main-nav { display: none; position: absolute; inset-inline: 24px; top: 92px; flex-direction: column; padding: 10px; background: var(--panel-solid); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }
    body.public-redesign .main-nav.open { display: flex; }
    body.public-redesign .detail-title { gap: 22px; padding: 28px; }
    body.public-redesign .article-toc nav { max-height: 290px; }
    body.public-redesign .hero h1 { max-width: 780px; }
    body.public-redesign .snapshot-panel { padding: 18px; }
    body.public-redesign .snapshot-row { gap: 10px; }
    body.public-redesign .snapshot-meta { display: none; }
}
@media (max-width: 760px) {
    body.public-redesign { --shell: calc(100% - 32px); --reading-scroll-offset: 94px; }
    body.public-redesign .site-header { padding: 10px 0; }
    body.public-redesign .nav-shell { height: 64px; padding-inline: 12px; border-radius: 17px; gap: 8px; }
    body.public-redesign .main-nav { top: 76px; left: 16px; right: 16px; }
    body.public-redesign .brand { flex: 0 1 auto; }
    body.public-redesign .language-picker select { width: 42px; padding: 0; color: transparent; }
    body.public-redesign .language-picker option { color: var(--text); }
    body.public-redesign .language-picker::after { color: var(--text); }
    body.public-redesign .hero { padding: 22px 0; }
    body.public-redesign .hero h1 { font-size: clamp(34px, 8.5vw, 46px); }
    body.public-redesign .hero-copy > p { font-size: 15px; }
    body.public-redesign .hero-search { margin-top: 18px; min-height: 56px; }
    body.public-redesign .hero-bottom-row { flex-wrap: wrap; gap: 18px; }
    body.public-redesign .stats { gap: 25px; }
    body.public-redesign .stats strong { font-size: 22px; }
    body.public-redesign .home-snapshot { grid-template-columns: 1fr; gap: 14px; }
    body.public-redesign .snapshot-meta { display: block; }
    body.public-redesign .snapshot-empty { min-height: 100px; padding-top: 18px; }
    body.public-redesign .section { padding-block: 32px; }
    body.public-redesign .compact-section { padding-top: 20px; }
    body.public-redesign .section-head { gap: 16px; margin-bottom: 20px; }
    body.public-redesign .section-head p { font-size: 14px; }
    body.public-redesign .page-hero { padding: 25px 0 18px; }
    body.public-redesign .page-hero h1 { font-size: 38px; }
    body.public-redesign .page-hero > p { font-size: 15px; }
    body.public-redesign .filters { padding-top: 12px; padding-bottom: 10px; scrollbar-width: thin; }
    body.public-redesign .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.public-redesign .category-card { padding: 15px 13px; gap: 10px; }
    body.public-redesign .category-icon { width: 40px; height: 40px; }
    body.public-redesign .category-card strong { font-size: 14px; }
    body.public-redesign .category-card small { font-size: 11px; }
    body.public-redesign .trust-banner { margin-block: 20px 38px; padding: 23px; gap: 16px; }
    body.public-redesign .trust-banner h2 { font-size: 22px; }
    body.public-redesign .trust-banner p { font-size: 14px; }
    body.public-redesign .detail-hero { padding-top: 22px; padding-bottom: 20px; }
    body.public-redesign .detail-title { grid-template-columns: 1fr; padding: 26px 23px; gap: 16px; }
    body.public-redesign .detail-logo { width: 88px; height: 88px; border-radius: 23px; font-size: 28px; }
    body.public-redesign .detail-title h1 { font-size: 32px; }
    body.public-redesign .detail-title p { font-size: 15px; }
    body.public-redesign .detail-title .eyebrow { font-size: 11px; letter-spacing: .07em; }
    body.public-redesign .reading-layout { gap: 18px; padding-bottom: 24px; }
    body.public-redesign .article-body { padding: 24px; font-size: 16px; border-radius: 21px; }
    body.public-redesign .article-body h2 { font-size: 25px; }
    body.public-redesign .article-body h3 { font-size: 20px; }
    body.public-redesign .direct-answer { padding: 18px; }
    body.public-redesign .direct-answer p { font-size: 16px; }
    body.public-redesign .news-article { padding-top: 24px; }
    body.public-redesign .article-header h1 { font-size: 34px; }
    body.public-redesign .article-header > p { font-size: 16px; }
    body.public-redesign .article-cover { border-radius: 20px; aspect-ratio: 16 / 10; }
    body.public-redesign .site-footer { padding-top: 34px; }
}
@media (max-width: 639px) {
    body.public-redesign .tool-card { min-height: 302px; padding: 24px; }
    body.public-redesign .tool-grid { gap: 16px; }
    body.public-redesign .tool-card :is(h2, h3) { font-size: 20px; }
    body.public-redesign .tool-card .card-meta { padding-top: 22px; }
    body.public-redesign .news-visual { height: 205px; }
    body.public-redesign .lead-news .news-visual { height: 220px; }
    body.public-redesign .lead-news .news-copy h3 { font-size: 22px; }
}
@media (max-width: 480px) {
    body.public-redesign .brand { font-size: 14px; gap: 6px; }
    body.public-redesign .brand-mark { width: 33px; height: 33px; }
    body.public-redesign .nav-actions { gap: 5px; }
    body.public-redesign .nav-shell { gap: 5px; padding-inline: 10px; }
    body.public-redesign :is(.theme-toggle, .mobile-menu) { min-width: 38px; width: 38px; height: 40px; }
    body.public-redesign .language-picker select { width: 38px; min-height: 40px; }
    body.public-redesign .hero h1 { font-size: 36px; }
    body.public-redesign .hero-bottom-row { gap: 17px; }
    body.public-redesign .hero-actions .button { padding-inline: 13px; font-size: 13px; }
    body.public-redesign .hero-search input { width: 100%; padding-inline: 4px; font-size: 14px; }
    body.public-redesign .hero-search button { flex: 0 0 auto; padding-inline: 13px; }
    body.public-redesign .snapshot-panel { padding: 18px 16px; }
    body.public-redesign .snapshot-copy strong { font-size: 13px; }
    body.public-redesign .snapshot-copy small { font-size: 11px; }
    body.public-redesign .snapshot-meta { display: none; }
    body.public-redesign .snapshot-row { grid-template-columns: auto minmax(0, 1fr); }
    body.public-redesign .snapshot-row .snapshot-arrow { display: none; }
    body.public-redesign .category-card { gap: 8px; }
    body.public-redesign .category-card > i { display: none; }
    body.public-redesign .article-body { padding: 22px 20px; }
    body.public-redesign .detail-title h1 { font-size: 30px; }
    body.public-redesign .article-header h1 { font-size: 31px; }
    body.public-redesign .article-header { margin-bottom: 24px; }
    body.public-redesign .article-toc { padding: 18px; }
    body.public-redesign .footer-bottom { font-size: 11px; }
}

/* 仅支持悬停的设备启用位移，触屏使用按压反馈；减少动态效果时统一关闭。 */
@media (hover: hover) and (pointer: fine) {
    body.public-redesign :is(.tool-card, .news-card, .category-card):hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--link) 58%, var(--line)); box-shadow: var(--hover-shadow); }
    body.public-redesign .tool-card:hover .tool-logo { transform: scale(1.045); }
}
@media (hover: none), (pointer: coarse) {
    body.public-redesign :is(.tool-card, .news-card, .category-card):hover { transform: none; box-shadow: var(--card-shadow); border-color: var(--line); }
    body.public-redesign :is(.tool-card, .news-card, .category-card):active { transform: scale(.988); border-color: var(--link); }
}
@media (prefers-reduced-motion: reduce) {
    /* 减少动态效果只保留短暂的表面渐变，避免一刀切关闭悬停反馈。 */
    body.public-redesign *, body.public-redesign *::before, body.public-redesign *::after {
        animation: none !important;
        transition-property: color, background-color, border-color, box-shadow, opacity !important;
        transition-duration: 160ms !important;
        transition-delay: 0s !important;
        transition-timing-function: ease-out !important;
        scroll-behavior: auto !important;
    }
    body.public-redesign :is(.tool-card, .news-card, .category-card, .tool-logo, .button, .brand-mark):is(:hover, :active, :focus-within) { transform: none !important; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    body.public-redesign .glass { background: var(--panel-solid); }
}
@media (forced-colors: active) {
    body.public-redesign :is(.tool-card, .news-card, .category-card, .article-toc, .glass) { border: 1px solid CanvasText; }
    body.public-redesign .hero h1 em { color: CanvasText; background: none; }
    body.public-redesign :is(.chip, .price, .snapshot-meta) { border: 1px solid CanvasText; }
    body.public-redesign .article-toc a[aria-current="location"] { border-inline-start-color: Highlight; }
}

/* 阿拉伯语沿用相同信息顺序，文字和阅读边框随书写方向排布，英文品牌保持顺序。 */
:root[dir="rtl"] body.public-redesign :is(h1, h2, h3, .eyebrow, .kicker, .price, .stats span, .article-byline) { letter-spacing: normal; }
:root[dir="rtl"] body.public-redesign .article-toc a { border-radius: 8px 0 0 8px; }
:root[dir="rtl"] body.public-redesign .article-body blockquote { border-radius: 14px 0 0 14px; }
:root[dir="rtl"] body.public-redesign .page-hero .hero-search { text-align: start; }
