/*
 * 免费工具页（/tools/ 总页与 /tools/<slug>/ 单页，design.md §16）：后端 seo_articles public_tools 输出固定 DOM，
 * 页头 / 页脚沿用 pages.css。版式按 r3（Canva 式：首屏工具名 + 可改输入框 + 开始按钮 + 大主视觉，往下大图说明交替、
 * 三步、行业示例、FAQ、相关工具），尺寸落在 §3 / §16 现有档位：版心 1600、页边 64 / 16，不写颜色与 px 字号字面量。
 * 标题用正文无衬线：工具名等是动态内容，不在 Site Serif 子集里，混排会出现两套字形。
 */
.tools-wrap{padding:0 var(--mx)}
.tools-page .site-ft{margin-top:0}

/* ── 面包屑 + 全部工具切换（原生 details，无 JS 可用） ── */
.tools-crumbrow{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--ds-sys-space-lg);padding-top:var(--ds-sys-space-xl)}
.tools-crumb{display:flex;flex-wrap:wrap;gap:var(--ds-sys-space-xs) 6px;min-width:0;font-size:var(--ds-font-body-small-size);color:var(--ds-color-home-muted)}
.tools-crumb a{color:var(--ds-color-home-ink-secondary)}
.tools-crumb a:hover{color:var(--ds-color-home-ink)}
.tools-switch{position:relative;flex:none}
.tools-switch summary{list-style:none;display:inline-flex;align-items:center;gap:var(--ds-sys-space-sm);height:36px;padding:0 var(--ds-sys-space-md);border:1px solid var(--ds-color-home-line-secondary);font-size:var(--ds-font-body-small-size);color:var(--ds-color-home-ink-secondary);white-space:nowrap;cursor:pointer;transition:border-color .2s,color .2s}
.tools-switch summary::-webkit-details-marker{display:none}
.tools-switch summary::after{content:"";width:6px;height:6px;margin:-3px 2px 0 2px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.tools-switch[open] summary::after{margin-top:3px;transform:rotate(-135deg)}
.tools-switch summary:hover,.tools-switch[open] summary{border-color:var(--ds-color-home-ink);color:var(--ds-color-home-ink)}
.tools-switch-pop{position:absolute;right:0;top:calc(100% + var(--ds-sys-space-sm));z-index:20;width:min(620px,calc(100vw - 2 * var(--m)));padding:var(--ds-sys-space-lg) var(--ds-sys-space-xl);background:var(--ds-color-home-surface);border:1px solid var(--ds-color-home-line-secondary);box-shadow:0 18px 40px -18px var(--ds-color-site-shadow)}
.tools-switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-sys-space-lg) var(--ds-sys-space-xxl)}
.tools-switch-grid .tools-switch-label{margin:0 0 var(--ds-sys-space-xs);padding-bottom:6px;border-bottom:1px solid var(--ds-color-home-line);font-family:var(--ds-typeface-code);font-weight:400;font-size:var(--ds-font-label-small-size);letter-spacing:.14em;color:var(--ds-color-home-muted)}
.tools-switch-grid ul{list-style:none;margin:0;padding:0}
.tools-switch-grid li a{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ds-sys-space-sm);padding:6px 0;font-size:var(--ds-font-body-medium-size);color:var(--ds-color-home-ink-secondary)}
.tools-switch-grid li a:hover{color:var(--ds-color-home-ink)}
.tools-switch-grid li a[aria-current=page]{font-weight:600;color:var(--ds-color-home-ink)}
.tools-switch-grid li a em{flex:none;font-style:normal;font-family:var(--ds-typeface-code);font-size:var(--ds-font-label-small-size);letter-spacing:.06em;color:var(--ds-color-home-faint)}
.tools-switch-ft{display:flex;justify-content:flex-end;margin-top:var(--ds-sys-space-md);padding-top:var(--ds-sys-space-md);border-top:1px solid var(--ds-color-home-line)}
.tools-switch-ft a,.tools-more{display:inline-flex;gap:6px;padding:3px 0;font-size:var(--ds-font-body-medium-size);color:var(--ds-color-home-ink);border-bottom:1px solid var(--ds-color-home-line-strong);white-space:nowrap;transition:border-color .2s}
.tools-switch-ft a:hover,.tools-more:hover{border-color:var(--ds-color-home-ink)}

/* ── 单页首屏：左文（工具名 · 简介 · 可改输入框 · 开始）右大图 ── */
.tool-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--ds-sys-space-4xl);align-items:center;padding:28px 0 40px}
.tool-hero h1{font-weight:600;font-size:var(--ds-font-display-large-size);line-height:1.15;letter-spacing:-.015em;text-wrap:balance;overflow-wrap:anywhere}
.tool-intro{margin-top:18px;max-width:30em;font-size:var(--ds-font-title-large-size);line-height:1.7;color:var(--ds-color-home-ink-secondary)}
.tool-ask{margin-top:28px}
.tool-ask label{display:block;margin-bottom:var(--ds-sys-space-sm);font-size:var(--ds-font-body-small-size);font-weight:500;color:var(--ds-color-home-ink-secondary)}
.tool-ask textarea{display:block;width:100%;height:106px;resize:none;padding:11px 14px;border:1px solid var(--ds-color-home-line-strong);border-radius:var(--ds-corner-none);background:var(--ds-color-home-surface);color:var(--ds-color-home-ink);font:inherit;font-size:var(--ds-font-body-large-size);line-height:1.75;outline:none;transition:border-color .2s}
.tool-ask textarea:focus{border-color:var(--ds-color-home-ink)}
.tool-try{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--ds-sys-space-xs) 14px;margin-top:10px;font-size:var(--ds-font-body-small-size)}
.tool-try>span{color:var(--ds-color-home-muted)}
.tool-try button{padding:2px 0;font-size:var(--ds-font-body-small-size);color:var(--ds-color-home-ink-secondary);border-bottom:1px solid var(--ds-color-home-line-strong);transition:color .15s,border-color .15s}
.tool-try button:hover,.tool-try button[aria-pressed=true]{color:var(--ds-color-home-ink);border-color:var(--ds-color-home-ink)}
.tool-go{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-sys-space-md) 18px;margin-top:22px}
.tool-go small{font-size:var(--ds-font-body-small-size);line-height:1.6;color:var(--ds-color-home-muted)}
.tool-noscript{flex-basis:100%;font-size:var(--ds-font-body-small-size);line-height:1.6;color:var(--ds-color-home-ink-secondary)}
.tool-hero-media{height:540px;min-width:0;border-radius:var(--ds-corner-medium);overflow:hidden;background:var(--ds-color-home-soft-secondary)}
.tool-hero-media img,.tool-highlight-media img,.tool-step-media img,.tool-use-case-media img,.tools-card-media img{display:block;width:100%;height:100%;object-fit:cover}
/* 主视觉与亮点是内容侧上传的合成效果图：完整显示在浅底画框里，不裁掉图里的界面与文字 */
.tool-hero-media img,.tool-highlight-media img{object-fit:contain}

/* ── 亮点：大图与说明左右交替 ── */
.tool-highlight{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:72px;align-items:center;padding:56px 0;border-top:1px solid var(--ds-color-home-line)}
.tool-highlight:first-child{border-top-color:var(--ds-color-home-ink)}
.tool-highlight--rev{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.tool-highlight--rev .tool-highlight-media{order:2}
.tool-highlight-media{height:440px;min-width:0;border-radius:var(--ds-corner-medium);overflow:hidden;background:var(--ds-color-home-soft-secondary)}
.tool-highlight-text h2{font-weight:600;font-size:var(--ds-font-headline-large-size);line-height:1.3;text-wrap:balance}
.tool-highlight-text p{margin-top:var(--ds-sys-space-lg);max-width:26em;font-size:var(--ds-font-body-large-size);line-height:1.85;color:var(--ds-color-home-ink-secondary)}

/* ── 区块通用 ── */
.tools-sec,.tools-table-sec,.tools-faq-sec{margin-top:var(--ds-sys-space-5xl)}
.tools-sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ds-sys-space-xl);margin-bottom:20px}
.tools-sec-h h2{font-weight:600;font-size:var(--ds-font-headline-medium-size);line-height:1.35}
.tools-sec-h p{margin-top:var(--ds-sys-space-xs);font-size:var(--ds-font-body-medium-size);color:var(--ds-color-home-muted)}

/* 三步 */
.tool-steps{list-style:none;margin:0;padding:var(--ds-sys-space-xxl) 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ds-sys-space-xxl);border-top:1px solid var(--ds-color-home-ink)}
.tool-step{min-width:0}
.tool-step-media{aspect-ratio:4/3;border-radius:var(--ds-corner-medium);overflow:hidden;background:var(--ds-color-home-soft-secondary)}
.tool-step-n{display:block;margin-top:18px;font-family:var(--ds-typeface-code);font-size:var(--ds-font-label-small-size);letter-spacing:.06em;color:var(--ds-color-site-accent)}
.tool-step-n::before{content:"0"}
.tool-step h3{margin-top:6px;font-weight:600;font-size:var(--ds-font-title-large-size);line-height:1.45}
.tool-step p{margin-top:6px;font-size:var(--ds-font-body-medium-size);line-height:1.75;color:var(--ds-color-home-ink-secondary)}

/* 行业示例画廊 */
.tool-use-cases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ds-sys-space-xxl) var(--ds-sys-space-xl)}
.tool-use-case{min-width:0;margin:0}
.tool-use-case-media{aspect-ratio:4/5;border-radius:var(--ds-corner-medium);overflow:hidden;background:var(--ds-color-home-soft-secondary)}
.tool-use-case h3{margin-top:var(--ds-sys-space-md);font-weight:600;font-size:var(--ds-font-body-medium-size)}
.tool-use-case p{margin-top:2px;font-size:var(--ds-font-body-small-size);line-height:1.6;color:var(--ds-color-home-muted)}

/* 正文（安全渲染的 markdown） */
.tool-body{max-width:46em}
.tool-body :is(img,picture,video){max-width:100%;height:auto}
.tool-body h2{font-weight:600;font-size:var(--ds-font-headline-medium-size);line-height:1.4}
.tool-body h3{margin-top:var(--ds-sys-space-xl);font-weight:600;font-size:var(--ds-font-title-medium-size)}
.tool-body p{margin-top:var(--ds-sys-space-md);font-size:var(--ds-font-body-large-size);line-height:1.9;color:var(--ds-color-home-ink-secondary)}
.tool-body :is(ul,ol){margin:10px 0 0;padding-left:1.25em;display:grid;gap:6px;font-size:var(--ds-font-body-large-size);line-height:1.8;color:var(--ds-color-home-ink-secondary)}
.tool-body a{color:var(--ds-color-home-ink);text-decoration:underline;text-decoration-color:var(--ds-color-home-line-strong);text-underline-offset:3px}
.tool-body strong{color:var(--ds-color-home-ink)}

/* 常见问题：编号 · 问题 · 回答（总页与单页同一 DOM） */
.tool-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--ds-sys-space-4xl);border-top:1px solid var(--ds-color-home-ink)}
.tools-faq-item{display:grid;grid-template-columns:48px minmax(0,1fr);row-gap:var(--ds-sys-space-sm);padding:var(--ds-sys-space-xl) 0;border-bottom:1px solid var(--ds-color-home-line)}
.tools-faq-n{grid-row:1/span 2;font-family:var(--ds-typeface-code);font-size:var(--ds-font-label-small-size);letter-spacing:.06em;line-height:2.6;color:var(--ds-color-site-accent)}
.tools-faq-item h3{font-weight:600;font-size:var(--ds-font-title-medium-size);line-height:1.5}
.tools-faq-item p{grid-column:2;font-size:var(--ds-font-body-medium-size);line-height:1.85;color:var(--ds-color-home-ink-secondary)}

/* 工具卡（总页分组、单页相关工具；首页同 DOM 的样式在 LandingPage.css） */
.tools-grid,.tool-related{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ds-sys-space-xxl) var(--ds-sys-space-xl)}
.tools-card{position:relative;display:flex;flex-direction:column;min-width:0}
.tools-card-media{aspect-ratio:4/3;border-radius:var(--ds-corner-medium);overflow:hidden;background:var(--ds-color-home-soft-secondary)}
.tools-card-media img{transition:transform .5s var(--ds-easing-standard)}
.tools-card:hover .tools-card-media img{transform:scale(1.03)}
.tools-card h3{margin-top:var(--ds-sys-space-md);font-weight:600;font-size:var(--ds-font-title-medium-size);line-height:1.45;overflow-wrap:anywhere}
.tools-card h3 a::after{content:"";position:absolute;inset:0}
.tools-card:hover h3 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.tools-card-arrow{margin-left:var(--ds-sys-space-xs);font-weight:400;color:var(--ds-color-home-faint);transition:color .2s}
.tools-card:hover .tools-card-arrow{color:var(--ds-color-home-ink)}
.tools-card p{margin-top:var(--ds-sys-space-xs);font-size:var(--ds-font-body-medium-size);line-height:1.65;color:var(--ds-color-home-ink-secondary)}
.tool-related-guides{margin-top:40px;border-top:1px solid var(--ds-color-home-line-strong)}
.tool-related-guides h3{margin:20px 0 6px;font-weight:500;font-size:var(--ds-font-body-small-size);color:var(--ds-color-home-muted)}
.tool-related-guides ul{list-style:none;margin:0;padding:0}
.tool-related-guides a{display:flex;justify-content:space-between;gap:var(--ds-sys-space-lg);padding:var(--ds-sys-space-md) 0;border-bottom:1px solid var(--ds-color-home-line);font-size:var(--ds-font-body-large-size);color:var(--ds-color-home-ink)}
.tool-related-guides a::after{content:"→";color:var(--ds-color-home-faint)}
.tool-related-guides a:hover{text-decoration:underline;text-underline-offset:4px}

/* 结尾 CTA */
.tools-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-sys-space-xl);margin:var(--ds-sys-space-5xl) 0;padding:var(--ds-sys-space-xxl) 0;border-top:1px solid var(--ds-color-home-ink)}
.tools-cta p{font-weight:600;font-size:var(--ds-font-headline-small-size);line-height:1.4}
.tools-cta small{display:block;margin-top:6px;font-weight:400;font-size:var(--ds-font-body-medium-size);color:var(--ds-color-home-ink-secondary)}
.tools-cta small a,.tools-answer a{color:var(--ds-color-home-ink);text-decoration:underline;text-decoration-color:var(--ds-color-home-line-strong);text-underline-offset:3px}

/* ── 总页：首屏答案 + 数量、分组目录、四组大图卡、五列总表 ── */
.tools-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--ds-sys-space-4xl);align-items:end;padding:56px 0 var(--ds-sys-space-xxl);border-bottom:1px solid var(--ds-color-home-ink)}
.tools-eyebrow{margin-bottom:var(--ds-sys-space-lg);font-family:var(--ds-typeface-code);font-size:var(--ds-font-label-small-size);letter-spacing:.14em;text-transform:uppercase;color:var(--ds-color-site-accent)}
.tools-hero h1{font-weight:600;font-size:var(--ds-font-display-large-size);line-height:1.2;letter-spacing:-.01em;overflow-wrap:anywhere;text-wrap:balance}
.tools-answer{margin-top:20px;max-width:660px;font-size:var(--ds-font-title-large-size);line-height:1.75;color:var(--ds-color-home-ink-secondary)}
.tools-answer b{font-weight:600;color:var(--ds-color-home-ink)}
.tools-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--ds-sys-space-xs);text-align:right}
.tools-meta-num{font-family:var(--ds-typeface-code);font-weight:600;font-size:var(--ds-font-site-display-md);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.tools-meta-label{font-size:var(--ds-font-body-small-size);color:var(--ds-color-home-muted)}
.tools-meta-sub{margin-top:10px;font-size:var(--ds-font-body-small-size);color:var(--ds-color-home-ink-secondary);white-space:nowrap}
.tools-bar{margin-top:var(--ds-sys-space-sm);box-shadow:inset 0 -1px 0 var(--ds-color-home-line)}
.tools-tabs{display:flex;gap:var(--ds-sys-space-xl);min-width:0;overflow-x:auto;scrollbar-width:none}
.tools-tabs::-webkit-scrollbar{display:none}
.tools-tabs a{flex:none;display:inline-flex;align-items:center;gap:var(--ds-sys-space-xs);padding:14px 0 13px;border-bottom:1px solid transparent;font-size:var(--ds-font-body-medium-size);color:var(--ds-color-home-ink-secondary);white-space:nowrap;transition:color .2s,border-color .2s}
.tools-tabs a span{font-size:var(--ds-font-body-small-size);color:var(--ds-color-home-muted);font-variant-numeric:tabular-nums}
.tools-tabs a:hover{color:var(--ds-color-home-ink)}
.tools-tabs a[aria-current=true]{color:var(--ds-color-home-ink);border-bottom-color:var(--ds-color-home-ink)}
.tools-group{padding:44px 0 var(--ds-sys-space-sm);scroll-margin-top:104px}
.tools-group+.tools-group{border-top:1px solid var(--ds-color-home-line-strong)}
.tools-group-h{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ds-sys-space-lg);margin-bottom:22px}
.tools-group-h h2{font-weight:600;font-size:var(--ds-font-headline-medium-size);line-height:1.35}
.tools-group-h p{margin-top:var(--ds-sys-space-xs);font-size:var(--ds-font-body-medium-size);color:var(--ds-color-home-muted)}
.tools-group-c{flex:none;font-family:var(--ds-typeface-code);font-size:var(--ds-font-label-small-size);letter-spacing:.1em;color:var(--ds-color-home-faint)}
.tools-group-en{margin-top:var(--ds-sys-space-5xl);border-top:1px solid var(--ds-color-home-line-strong)}
.tools-table-scroll{overflow-x:auto;border-top:1px solid var(--ds-color-home-ink)}
.tools-table{width:100%;min-width:900px;border-collapse:collapse;font-size:var(--ds-font-body-medium-size)}
.tools-table :is(th,td){padding:14px 20px 14px 0;border-bottom:1px solid var(--ds-color-home-line);text-align:left;vertical-align:top;line-height:1.6}
.tools-table thead th{padding-block:12px;font-family:var(--ds-typeface-code);font-weight:400;font-size:var(--ds-font-label-small-size);letter-spacing:.14em;color:var(--ds-color-home-muted)}
.tools-table tbody th{font-weight:600;color:var(--ds-color-home-ink);white-space:nowrap}
.tools-table tbody th a:hover{text-decoration:underline;text-underline-offset:4px}
.tools-table td{color:var(--ds-color-home-ink-secondary)}
.tools-table td.tools-table-say{min-width:240px;color:var(--ds-color-home-ink)}

/* ── 窄桌面 / 平板 ── */
@media (max-width:1023px){
  .tool-hero{grid-template-columns:1fr;gap:var(--ds-sys-space-xxl)}
  .tool-highlight,.tool-highlight--rev{grid-template-columns:1fr;gap:28px}
  .tool-highlight--rev .tool-highlight-media{order:0}
  .tools-grid,.tool-related,.tool-use-cases{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ── 手机（<768）：首屏输入框与按钮留在第一屏，卡片两列，总表在容器内横滑 ── */
@media (max-width:767px){
  .tools-crumbrow{padding-top:var(--ds-sys-space-lg)}
  .tools-crumbrow:has(.tools-switch) .tools-crumb :is([aria-current],span[aria-hidden]:nth-last-child(2)){display:none}
  .tools-switch{position:static}
  .tools-switch summary{height:32px;padding:0 10px}
  .tools-switch-pop{left:0;right:0;width:auto;padding:var(--ds-sys-space-lg)}
  .tools-switch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-sys-space-md) var(--ds-sys-space-lg)}
  .tools-switch-grid li a{padding:5px 0;font-size:var(--ds-font-body-small-size)}
  .tool-hero{padding:18px 0 var(--ds-sys-space-xl);gap:28px}
  .tool-hero h1{font-size:var(--ds-font-headline-large-size);line-height:1.25;word-break:keep-all}
  .tool-intro{margin-top:10px;font-size:var(--ds-font-body-medium-size)}
  .tool-ask{margin-top:18px}
  .tool-ask textarea{height:104px;padding:10px 12px}
  .tool-go{margin-top:var(--ds-sys-space-lg)}
  .tool-go .ds-btn{width:100%}
  .tool-hero-media{height:440px;margin-inline:calc(-1 * var(--m));border-radius:var(--ds-corner-none)}
  .tool-highlight{padding:40px 0}
  .tool-highlight-media{height:auto;aspect-ratio:4/3}
  .tool-highlight-text h2{font-size:var(--ds-font-headline-medium-size)}
  .tool-highlight-text p{font-size:var(--ds-font-body-medium-size)}
  .tools-sec,.tools-table-sec,.tools-faq-sec{margin-top:var(--ds-sys-space-4xl)}
  .tools-sec-h{display:block}
  .tools-sec-h .tools-more{margin-top:var(--ds-sys-space-sm)}
  .tool-steps{grid-template-columns:1fr;gap:28px}
  .tool-step-media{aspect-ratio:16/10}
  .tools-grid,.tool-related,.tool-use-cases{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-sys-space-xl) 14px}
  .tools-card h3{font-size:var(--ds-font-body-medium-size)}
  .tools-card p{font-size:var(--ds-font-body-small-size)}
  .tool-faq{grid-template-columns:1fr}
  .tools-faq-item{grid-template-columns:36px minmax(0,1fr);padding:20px 0}
  .tool-related-guides a{flex-direction:column;gap:2px}
  .tools-cta{flex-direction:column;align-items:flex-start;margin:var(--ds-sys-space-4xl) 0}
  .tools-cta p{font-size:var(--ds-font-title-large-size)}
  .tools-hero{grid-template-columns:1fr;gap:var(--ds-sys-space-lg);align-items:start;padding:28px 0 20px}
  .tools-hero h1{font-size:var(--ds-font-headline-large-size);line-height:1.25}
  .tools-answer{margin-top:var(--ds-sys-space-md);font-size:var(--ds-font-body-medium-size)}
  .tools-meta{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:var(--ds-sys-space-xs) var(--ds-sys-space-sm);text-align:left}
  .tools-meta-num{font-size:var(--ds-font-headline-large-size)}
  .tools-meta-sub{margin:0 0 0 var(--ds-sys-space-sm)}
  .tools-tabs{margin-inline:calc(-1 * var(--m));padding-inline:var(--m)}
  .tools-group{scroll-margin-top:76px}
  .tools-group-h{display:block}
  .tools-group-c{display:block;margin-top:6px}
}
