/* 本站的新界面以参考站的紧凑目录与双栏工具布局为基础，使用本地字体和主题变量。 */
@font-face{font-family:Display;src:url('/fonts/display.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:UI;src:url('/fonts/ui.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Mono;src:url('/fonts/mono.woff2') format('woff2');font-weight:100 800;font-display:swap}
/* 品牌统一使用靛蓝与蓝灰色；成功、删除和错误仍保留各自的语义颜色。 */
:root{color-scheme:light;--paper:#f7f8fa;--surface:#fff;--raised:#e9edf7;--ink:#202a44;--soft:#53627a;--muted:#5d6a82;--line:#dde3f0;--strong:#7d8da8;--accent:#4f46e5;--accent-bg:#eeedff;--on-accent:#fff;--error:#b91c3c;--error-bg:#fff0f3;--added:#e7f5ed;--removed:#ffeaef;--warning:#805610;--warning-bg:#fff4d4}
:root[data-theme=dark]{color-scheme:dark;--paper:#101526;--surface:#192138;--raised:#242f4a;--ink:#edf2ff;--soft:#bbc7df;--muted:#96a6c2;--line:#303e5b;--strong:#607396;--accent:#aaa5ff;--accent-bg:#2c2d59;--on-accent:#13152c;--error:#ffadb8;--error-bg:#43253a;--added:#153a33;--removed:#452638;--warning:#f2d98a;--warning-bg:#393321}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 UI,system-ui,sans-serif;min-height:100dvh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button,select,input{max-width:100%}button{color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Display,UI,system-ui,sans-serif;letter-spacing:-.025em;line-height:1.2}h1{font-size:32px;font-weight:700}h2{font-size:23px;font-weight:650}h3{font-size:18px;font-weight:650}ul,ol{padding-left:22px}svg{width:18px;height:18px;flex-shrink:0;vertical-align:middle}.wrap{width:min(1152px,100%);margin-inline:auto;padding-inline:24px}.site-header{border-bottom:1px solid var(--line)}.header-inner{min-height:54px;display:flex;align-items:center;gap:22px}.brand{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-family:Display,UI,sans-serif;font-size:18px;font-weight:750;letter-spacing:-.5px}.brand-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--accent);color:var(--on-accent);font-size:18px;font-weight:750}.category-nav{display:flex;gap:2px;align-items:center}.category-nav a{border-radius:5px;padding:7px 10px;white-space:nowrap;font-size:14px;color:var(--soft);font-weight:550}.category-nav a:hover,.category-nav a[aria-current=page]{background:var(--raised);color:var(--ink)}.theme-toggle{margin-left:auto;border:0;background:none;display:grid;place-items:center;width:40px;height:40px;border-radius:6px}.theme-toggle:hover{background:var(--raised)}.theme-toggle .sun{display:none}[data-theme=dark] .theme-toggle .sun{display:block}[data-theme=dark] .theme-toggle .moon{display:none}.skip-link{position:fixed;top:-60px;left:16px;z-index:20;background:var(--accent);color:var(--on-accent);padding:10px}.skip-link:focus{top:10px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}main{flex:1}.home-intro{padding-top:40px;max-width:780px}.home-intro h1{font-size:44px;line-height:1.12;letter-spacing:-1.5px}.home-intro p{font-size:16px;line-height:1.7;color:var(--soft);max-width:760px;margin-top:18px}.home-intro strong{font-weight:600;color:var(--ink)}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.quick-section{margin-top:28px}.quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 13px;border-radius:6px;border:1px solid var(--strong);background:var(--surface);font-weight:600;font-size:13px;line-height:1.4;min-height:37px}.btn:hover:not(:disabled){border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-ghost{border-color:transparent;background:transparent;color:var(--soft)}.btn-ghost:hover:not(:disabled){background:var(--raised);border-color:transparent}.quick-links .btn{font-size:14px;padding:10px 13px}.arrow{color:var(--muted);font-size:18px;line-height:1}.collections{margin-top:36px}.section-heading{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:12px}.collection-grid,.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.collection-card,.tool-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:19px;transition:border-color .15s}.collection-card:hover,.tool-card:hover{border-color:var(--accent)}.collection-card h2{font-size:19px}.collection-card p,.tool-card p{color:var(--soft);font-size:13.5px;line-height:1.55;margin-top:8px}.collection-card .count{margin-top:auto;padding-top:16px;font:11px Mono,monospace;color:var(--muted)}.collection-card{min-height:150px}.privacy-summary{margin:32px 0 8px;display:flex;flex-wrap:wrap;gap:12px 32px;color:var(--soft);font-size:13px}.privacy-summary span{display:flex;align-items:center;gap:8px}.intro-copy{max-width:800px;margin-top:14px;color:var(--soft);line-height:1.75}.page-content{padding-top:20px;padding-bottom:20px}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:10px;display:flex;gap:7px;flex-wrap:wrap}.breadcrumb a:hover{color:var(--accent)}.tool-heading h1{font-size:30px}.tool-heading p{margin-top:8px;color:var(--soft);max-width:820px}.tool-grid{margin-top:28px}.tool-card h2{font-size:17px}.tool-card .arrow{margin-left:4px}.category-detail{margin-top:32px;max-width:820px}.category-detail p{margin-top:12px;color:var(--soft)}.tool-workspace{margin-top:20px}.options{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:0 0 14px;min-width:0}.option{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:550;color:var(--soft);min-width:0}.option:has(textarea){flex:1 1 100%;align-items:flex-start;flex-direction:column}.option:has(input[type=text]){flex-wrap:wrap}.option label{white-space:normal}.option input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;margin:0}.control{background:var(--surface);color:var(--ink);border:1px solid var(--strong);border-radius:5px;padding:6px 9px;min-height:34px;min-width:0}.option input[type=number]{width:90px}.option input[type=text]{width:180px}.option textarea{width:100%;min-height:68px;font-family:Mono,monospace}.option-help{font-size:12px;color:var(--muted);flex-basis:100%}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.editor-grid.single{grid-template-columns:minmax(0,1fr)}.editor-label{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;min-height:25px;margin-bottom:7px;font-size:13px;font-weight:600;color:var(--soft)}.editor-label .count{font-family:Mono,monospace;font-size:11px;font-weight:400;color:var(--muted)}.editor-panel{min-width:0}.editor{display:block;width:100%;min-height:270px;height:clamp(270px,36vh,440px);resize:vertical;background:var(--surface);color:var(--ink);border:1px solid var(--strong);border-radius:7px;padding:14px;font:13.5px/1.65 Mono,ui-monospace,monospace;tab-size:2;overflow:auto}.editor::placeholder{color:var(--muted)}.editor:focus{outline:2px solid var(--accent);outline-offset:1px}.editor-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.editor-actions .push{margin-left:auto}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.result-status{font-size:13px;min-height:24px;margin:9px 0;color:var(--soft)}.result-status.error{color:var(--error);background:var(--error-bg);border-radius:6px;padding:10px}.result-status.pending{color:var(--muted)}.metrics{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:14px}.metric{padding:14px 18px;background:var(--surface);flex:1;min-width:120px}.metric strong{display:block;font:600 25px/1.3 Display,sans-serif}.metric span{font-size:12px;color:var(--muted)}.result-extra{margin-top:16px}.preview{border:1px solid var(--line);border-radius:8px;padding:18px;background:var(--surface);overflow:auto;max-height:460px;overflow-wrap:anywhere}.preview a{color:var(--accent);text-decoration:underline}.preview pre{white-space:pre-wrap}.preview img{max-width:100%}.preview table{border-collapse:collapse}.preview th,.preview td{border:1px solid var(--line);padding:6px}.preview h1,.preview h2,.preview h3{margin:14px 0}.diff-output{font:13px/1.8 Mono,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);padding:14px;border:1px solid var(--line);border-radius:7px;max-height:440px;overflow:auto}.diff-added{background:var(--added);text-decoration:none}.diff-removed{background:var(--removed);text-decoration:line-through}.diff-split{display:grid;grid-template-columns:1fr 1fr}.diff-cell{white-space:pre-wrap;overflow-wrap:anywhere;padding:3px 10px;border-bottom:1px solid var(--line);min-width:0}.data-table-wrap{overflow:auto;max-height:450px;border:1px solid var(--line);border-radius:7px}.data-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface)}.data-table th,.data-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top;max-width:400px;overflow-wrap:anywhere}.data-table th{background:var(--raised);position:sticky;top:0;font-weight:600;z-index:1}.warnings{background:var(--warning-bg);color:var(--warning);border-radius:6px;padding:10px 14px;margin:10px 0;font-size:13px}.variants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.variant{padding:14px;border:1px solid var(--line);border-radius:7px;min-width:0;background:var(--surface)}.variant-head{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:13px;color:var(--soft)}.variant p{font-size:22px;overflow-wrap:anywhere;margin-top:8px}.tool-docs{max-width:860px;margin-top:42px}.tool-docs section{margin-top:32px}.tool-docs h2{font-size:22px;margin-bottom:12px}.tool-docs p,.tool-docs li{color:var(--soft);line-height:1.8}.tool-docs a,.prose a{color:var(--accent);text-decoration:underline}.steps{counter-reset:steps;list-style:none;padding:0}.steps li{counter-increment:steps;display:flex;gap:12px;margin:10px 0}.steps li:before{content:counter(steps);display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;background:var(--raised);border-radius:5px;font:12px Mono,monospace}.faq details{border-top:1px solid var(--line);padding:14px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-weight:600;cursor:pointer}.faq p{margin-top:8px}.related-tools{margin-top:32px}.examples{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.file-field{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;margin-bottom:12px}.file-field input{max-width:100%;font-size:13px}.file-field input::file-selector-button{border:1px solid var(--strong);border-radius:5px;background:var(--surface);color:var(--ink);padding:7px 12px;margin-right:12px;cursor:pointer}.site-footer{margin-top:44px;border-top:1px solid var(--line)}.footer-grid{padding-block:28px;display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:44px}.footer-grid p{max-width:290px;font-size:13px;color:var(--muted);margin-top:12px}.footer-grid nav ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px;font-size:13px;color:var(--soft)}.footer-grid .category-list{grid-template-columns:1fr 1fr;gap:9px 14px}.footer-grid a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);padding-block:14px;color:var(--muted);font-size:12px}.footer-bottom .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.footer-bottom .technical{font-family:Mono,monospace;font-size:11px}.prose{max-width:820px;margin-top:22px;color:var(--soft);line-height:1.8}.prose h2{font-size:21px;color:var(--ink);margin:25px 0 10px}.prose p{margin-bottom:14px}.empty-state{padding:40px 20px;text-align:center;border:1px dashed var(--strong);border-radius:8px;color:var(--muted)}.rules-editor,.grid-editor{flex-basis:100%;min-width:0}.rules-list{display:grid;gap:10px;margin-top:8px}.rule-row{display:grid;grid-template-columns:22px 1fr 1fr auto;gap:8px;align-items:center;border:1px solid var(--line);padding:10px;border-radius:6px}.rule-flags{grid-column:2/-1;display:flex;gap:15px;flex-wrap:wrap}.rule-flags label{display:flex;gap:6px;align-items:center;font-size:12px}.rule-actions{display:flex;gap:3px}.rule-actions button{min-height:30px;padding:4px 8px}.grid-sheet{overflow:auto;max-height:340px;margin-top:10px}.grid-sheet table{border-collapse:collapse;width:100%}.grid-sheet td,.grid-sheet th{border:1px solid var(--line);padding:3px;background:var(--surface);min-width:130px}.grid-sheet input{width:100%;border:0;background:transparent;color:var(--ink);padding:6px;font-size:13px}.grid-sheet select{width:100%;border:0;background:var(--raised);color:var(--soft);padding:4px;font-size:12px}.tree-view{font:13px/1.7 Mono,monospace;max-height:450px;overflow:auto;padding:15px;border:1px solid var(--line);background:var(--surface);border-radius:7px}.tree-view details{margin-left:16px}.tree-view summary{cursor:pointer}.tree-leaf{margin-left:16px;overflow-wrap:anywhere}.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}[hidden]{display:none!important}.mono{font-family:Mono,monospace}.muted{color:var(--muted)}.mt{margin-top:24px}
/* 窄屏将分类导航放到第二行，保持原有网址可直接点击；编辑器按自然文档流排列。 */
@media(max-width:850px){.header-inner{flex-wrap:wrap;gap:0;justify-content:space-between;padding-top:8px}.category-nav{order:3;flex-basis:100%;overflow:auto;margin-top:8px;margin-inline:-8px;padding-bottom:7px}.theme-toggle{margin-left:auto}.category-nav a{padding:8px 10px}.collection-grid,.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{gap:24px}.editor-grid{gap:12px}.home-intro h1{font-size:38px}}
@media(max-width:650px){.wrap{padding-inline:16px}.home-intro{padding-top:28px}.home-intro h1{font-size:34px}.home-intro p{font-size:15px}.quick-section{margin-top:22px}.collections{margin-top:28px}.collection-grid,.tool-grid{grid-template-columns:1fr}.collection-card{min-height:0;padding:17px}.collection-card .count{padding-top:12px}.editor-grid{grid-template-columns:minmax(0,1fr)}.editor{font-size:16px;min-height:230px;height:280px}.tool-heading h1{font-size:27px}.tool-heading p{font-size:14px}.options{gap:12px}.control{font-size:16px;min-height:40px}.btn{min-height:44px}.quick-links .btn{font-size:13px}.editor-actions{position:sticky;bottom:0;z-index:2;background:var(--paper);padding:9px 0;border-top:1px solid var(--line)}.metric{min-width:42%;padding:12px}.variants{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-grid>div{grid-column:1/-1}.footer-grid p{max-width:100%}.rule-row{grid-template-columns:24px 1fr auto}.rule-row input[data-field=replace]{grid-column:2/3}.rule-row .rule-actions{grid-column:3;grid-row:1/3;flex-direction:column}.rule-flags{grid-column:1/-1}.privacy-summary{gap:12px 20px}.tool-docs{margin-top:28px}}
/* 静态示例保留输入输出的换行和空格；窄屏按列堆叠，长内容只在代码框内滚动。 */
.worked-example{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.worked-example h3{font-size:17px;line-height:1.5}
.example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px}
.example-grid>div{min-width:0}.example-grid h4{font-size:13px;color:var(--soft)}
.example-grid pre{margin:8px 0 0;padding:12px;overflow:auto;border-radius:5px;background:var(--raised);font:13px/1.7 Mono,monospace;tab-size:2}
.example-grid code{font:inherit}
.example-grid pre+h4{margin-top:16px}
.case-links{margin-top:28px}.case-links h2{font-size:22px}.case-links p{margin-top:10px;color:var(--soft)}
.case-links ul{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:4px 20px}
.case-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);text-decoration:underline}
.category-detail li{margin-top:16px;color:var(--soft)}.guide-links{margin-top:4px;line-height:2}.guide-links a{color:var(--accent);text-decoration:underline}
@media(max-width:650px){.example-grid{grid-template-columns:minmax(0,1fr)}.worked-example{padding:14px}.guide-links a{display:inline-block;min-height:44px;line-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* 首页在常见桌面高度内呈现六个分类入口；手机端仍以可读性优先自然滚动。 */
@media(min-width:851px){.home-intro{padding-top:32px}.home-intro h1{font-size:40px}.home-intro p{margin-top:14px}.quick-section{margin-top:20px}.quick-links .btn{padding:8px 12px}.collections{margin-top:24px}.collection-card{min-height:124px;padding:16px}.collection-card .count{padding-top:10px}}
@media(max-width:650px){.category-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin-inline:0;gap:0;width:100%}.category-nav a{text-align:center;padding:7px 5px}}
/* 品牌色集中应用于标题、入口和选中态，不依赖彩色大背景区分工具。 */
.site-header{background:var(--surface)}
.tool-card h2{color:var(--ink)}
.category-nav a[aria-current=page],.category-nav a:hover{color:var(--accent);background:var(--accent-bg)}
.quick-links .btn{border-color:var(--line);color:var(--ink)}
.quick-links .btn:hover,.collection-card:hover,.tool-card:hover{background:var(--accent-bg);border-color:var(--accent)}
.collection-card .arrow,.tool-card .arrow{color:var(--accent)}
/* 已确认的首页设计：四个等宽快捷入口、两列分类、紧凑页脚。
   首页样式限定在 home-page 内，避免影响工具页的输入框和结果区。 */
.wrap{width:min(1280px,100%)}
.header-inner{min-height:64px;gap:24px}
.brand{font-size:20px;gap:10px}
.brand-mark{width:36px;height:36px;border-radius:9px}
.brand-mark svg{width:24px;height:24px}
.category-nav{margin-left:auto}
.theme-toggle{margin-left:0}
.home-page .home-intro{padding-top:40px;max-width:none}
.home-page h1,.home-page h2,.home-page h3{font-family:UI,system-ui,sans-serif;color:var(--ink)}
.home-page .home-intro h1{font-size:40px;font-weight:750;line-height:1.15;letter-spacing:-1.3px}
.home-page .home-intro p{max-width:none;margin-top:8px;font-size:17px;line-height:1.6}
.home-page .quick-section{margin-top:24px}
.home-page .quick-section h2{font-size:14px;line-height:1.5;letter-spacing:0;font-weight:650;color:var(--soft)}
.home-page .quick-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:8px}
.quick-tool{display:flex;align-items:center;gap:14px;min-height:54px;min-width:0;padding:12px 20px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:16px;font-weight:600;line-height:1.4;transition:background-color .15s,border-color .15s}
.quick-tool span{min-width:0}
.quick-tool svg{width:22px;height:22px;color:var(--ink)}
.quick-tool:hover,.quick-tool:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--accent-bg)}
.quick-tool:hover svg,.quick-tool:focus-visible svg{color:var(--accent)}
.home-page .collections{margin-top:30px}
.home-page .section-heading{margin-bottom:14px;gap:12px}
.home-page .section-heading h2{font-size:27px;font-weight:750;letter-spacing:-.65px}
.collection-total{font-size:13px;color:var(--soft);white-space:nowrap}
.home-page .collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.home-page .collection-card{display:grid;grid-template-columns:56px minmax(0,1fr) auto 16px;align-items:center;gap:14px;min-height:100px;padding:16px;border-radius:9px}
.collection-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:8px;background:var(--raised);color:var(--ink)}
.collection-icon svg{width:30px;height:30px}
.collection-copy{min-width:0}
.home-page .collection-copy h3{font-size:18px;line-height:1.3;font-weight:700;letter-spacing:-.4px}
.home-page .collection-copy p{margin-top:5px;font-size:13.5px;line-height:1.45;color:var(--soft)}
.home-page .collection-card .count{align-self:center;margin:0;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--soft);font:600 12px/1.4 UI,system-ui,sans-serif;white-space:nowrap}
.collection-arrow{color:var(--soft);display:flex;align-items:center}
.collection-arrow svg{width:16px;height:16px}
.home-page .collection-card:hover .collection-arrow{color:var(--accent)}
.home-page .privacy-summary{justify-content:center;gap:24px;margin:24px 0;font-size:13px}
.home-page .privacy-summary svg{width:20px;height:20px;color:var(--soft)}
/* 常见任务作为次级导航，共享一个浅色面板；每个链接单独可聚焦，不把整组做成可点击卡片。 */
.home-page .common-tasks{margin-top:28px}
.home-page .common-tasks h2{margin-bottom:12px;font-size:14px;font-weight:650;line-height:1.5;letter-spacing:0;color:var(--soft)}
.task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.task-group{min-width:0;padding:18px 20px}
.task-group+.task-group{border-left:1px solid var(--line)}
.home-page .task-group h3{display:flex;align-items:center;gap:9px;font-size:16px;line-height:1.4;font-weight:650;letter-spacing:-.2px}
.task-group h3 svg{width:20px;height:20px;color:var(--accent)}
.task-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;list-style:none;padding:0;margin:8px 0 0}
.task-links li{min-width:0}
.task-links a{display:inline-flex;align-items:center;min-height:32px;font-size:13px;line-height:1.5;color:var(--soft);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.task-links a:hover,.task-links a:focus-visible{color:var(--accent);text-decoration-color:currentColor}
.compact-footer{background:var(--surface);margin-top:24px}
.footer-inner{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--soft);font-size:12px}
.footer-inner nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.footer-inner a{display:inline-flex;align-items:center;min-height:44px}
.footer-inner a:hover{color:var(--accent)}
/* 高屏幕把额外空间分配给标题、区块和分类卡片，避免留白集中在页脚前。
   增量限制在 40px；矮屏仍使用原有紧凑尺寸，手机不随屏幕高度拉伸。 */
@media(min-width:851px) and (min-height:900px){
  .home-page{--home-air:clamp(0px,calc(10.5dvh - 94.5px),40px)}
  .home-page .home-intro{padding-top:calc(40px + var(--home-air))}
  .home-page .quick-section{margin-top:calc(24px + var(--home-air)/2)}
  .home-page .collections{margin-top:calc(30px + var(--home-air)/2)}
  .home-page .collection-grid{row-gap:calc(14px + var(--home-air)/4)}
  .home-page .collection-card{min-height:calc(100px + var(--home-air)/2)}
  .home-page .common-tasks{margin-top:calc(28px + var(--home-air)/2)}
  .home-page .privacy-summary{margin-block:calc(24px + var(--home-air)/4)}
}
/* 平板缩小图标与横向留白，保持四个快捷入口；手机端采用两列快捷入口和单列分类。 */
@media(min-width:651px) and (max-width:1000px){
  .home-page .collection-card{grid-template-columns:42px minmax(0,1fr) auto 12px;gap:10px;padding:14px}
  .collection-icon{width:42px;height:48px}
  .collection-icon svg{width:26px;height:26px}
  .home-page .collection-copy h3{font-size:16px}
  .quick-tool{padding:12px;gap:10px;font-size:14px}
  .task-group{padding:16px 14px}
}
@media(max-width:850px){
  .header-inner{gap:0;padding-top:8px}
  .theme-toggle{margin-left:auto}
  .category-nav{margin-left:0}
}
@media(max-width:650px){
  .home-page .home-intro{padding-top:28px}
  .home-page .home-intro h1{font-size:32px;letter-spacing:-.9px}
  .home-page .home-intro p{font-size:15px;margin-top:10px}
  .home-page .quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .quick-tool{padding:12px 10px;gap:8px;min-height:52px;font-size:13px}
  .quick-tool svg{width:20px;height:20px}
  .home-page .collections{margin-top:26px}
  .home-page .section-heading{align-items:flex-start;flex-wrap:wrap;gap:5px 12px}
  .home-page .section-heading h2{font-size:24px}
  .collection-total{font-size:12px;align-self:center}
  .home-page .collection-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .home-page .collection-card{grid-template-columns:44px minmax(0,1fr) 14px;gap:8px 12px;padding:14px;min-height:110px}
  .collection-icon{width:44px;height:48px;grid-column:1;grid-row:1/3}
  .collection-icon svg{width:27px;height:27px}
  .collection-copy{grid-column:2;grid-row:1}
  .home-page .collection-copy h3{font-size:17px}
  .home-page .collection-copy p{font-size:13px}
  .home-page .collection-card .count{grid-column:2;grid-row:2;justify-self:start;font-size:11px;padding:3px 7px}
  .collection-arrow{grid-column:3;grid-row:1/3}
  .home-page .privacy-summary{gap:10px 18px;justify-content:flex-start;font-size:12px}
  .task-grid{grid-template-columns:minmax(0,1fr)}
  .task-group{padding:16px}
  .task-group+.task-group{border-left:0;border-top:1px solid var(--line)}
  .task-links{margin-top:4px}
  .task-links a{min-height:44px}
  .footer-inner{flex-wrap:wrap;padding-block:12px;gap:2px 16px}
  .footer-inner nav{gap:20px}
}

/* 任务说明沿用正文宽度，单列排列便于手机阅读；仅增加标题层级和场景之间的间距。 */
.use-cases h3{font-size:17px;margin-bottom:6px}
.use-cases article+article{margin-top:20px}

/* 首屏隐私提示使用较小字号，避免挤占工具操作空间；链接用下划线明确标识。 */
.tool-heading .tool-privacy{font-size:13px;line-height:1.55;color:var(--muted)}
.tool-privacy a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}

/* 教程代码只在容器内横向滚动；长链接可换行，手机整页不被代码撑宽。 */
.guide-article .prose{max-width:820px;overflow-wrap:anywhere}
.guide-article pre{max-width:100%;overflow-x:auto;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font:13px/1.65 Mono,monospace;white-space:pre;overflow-wrap:normal}
.guide-article .guide-meta{margin-top:12px;font-size:13px}
.guide-article h2,.guide-article h3{scroll-margin-top:20px}

.guide-code .example-grid{grid-template-columns:minmax(0,1fr)}
