/* SF Pro 全局字体（拉丁子集 woff2，中文回落系统中文字体） */
@font-face{
  font-family:"SF Pro";
  src:url('/fonts/sf-pro-latin.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}

@font-face{
  font-family:"PingFang SC";
  src:url('/fonts/pingfang-sc.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}

@font-face{
  font-family:"SF Pro";
  src:url('/fonts/sf-pro-latin.woff2') format('woff2');
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"SF Pro";
  src:url('/fonts/sf-pro-latin.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;
}


:root{
  background:var(--bg);
  --bg:#f0f0f4;
  --text:#1e293b;
  --muted:#64748b;
  --poem-c1:#60a5fa;
  --poem-c2:rgba(96,165,250,0.10);
}
.dark{
  --bg:#000000;
  --text:#e2e8f0;
  --muted:#94a3b8;
  --poem-c1:#2563eb;
  --poem-c2:rgba(37,99,235,0.12);
}

/* HDR / 广色域增强：支持 P3 的屏幕显示更鲜艳的主题蓝，普通屏自动回退 sRGB */
@media (color-gamut: p3), (dynamic-range: high) {
  :root {
    --poem-c1:color(display-p3 0.38 0.60 1.0);
    --poem-c2:color(display-p3 0.38 0.60 1.0 / 0.12);
  }
  .dark {
    --poem-c1:color(display-p3 0.16 0.34 1.0);
    --poem-c2:color(display-p3 0.16 0.34 1.0 / 0.15);
  }
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:"SF Pro","PingFang SC","Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;
  box-sizing:content-box;
  background:var(--bg);min-height:calc(100vh / var(--z,1));min-height:calc(100dvh / var(--z,1));
  transition:background .3s;
}
/* 首屏容器：正好一屏高，内容居中；灰块在它下方（同一文档流，滚动自然可见） */
.screen{
  height:calc(100vh / var(--z,1));height:calc(100dvh / var(--z,1));
  position:relative; /* .site 定位基准：固定在首屏底部 */
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:32px;box-sizing:border-box;
}
/* 下滑引导弱提示：固定在视口底部中央，不干扰布局；滚动后隐藏 */
.scroll-hint{
  position:fixed;bottom:calc(8vh / var(--z,1));left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:8px;
  color:var(--muted);opacity:.5;
  font-size:13px;letter-spacing:3px;
  animation:hintFloat 2.2s ease-in-out 1; /* 只播一次，不循环 */
  transition:opacity .8s,transform .8s; /* 消失动画：淡出+下移（慢一点） */
  z-index:10;
}
.scroll-hint [data-lang]{display:none}
.scroll-hint [data-lang].show{display:inline}
.scroll-hint .arr{font-size:16px;line-height:1}

/* HDR 徽标：仅 HDR/广色域屏显示（动态检测），普通屏隐藏 */
.scroll-hint .hdr{
  display:none;
  font-size:10px;letter-spacing:1px;
  border:1px solid currentColor;border-radius:4px;
  padding:1px 5px;opacity:.95;vertical-align:1px;
  text-shadow:0 0 6px currentColor;
  box-shadow:0 0 8px color(display-p3 0.38 0.60 1.0 / 0.35);
}
@media (color-gamut: p3), (dynamic-range: high) {
  .scroll-hint .hdr{display:inline-block}
}
@keyframes hintFloat{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}
/* 页脚（原底部预留灰块）：灰色区域，顶部间隔线；初始在视口外，下滑才显示 */

.from-hint{
  text-align:center;
  font-size:12px;
  color:var(--muted);
  letter-spacing:1px;
  padding:10px 0 0;
  margin:0;
}
.bottom{
  min-height:calc(32vh / var(--z,1));min-height:calc(32dvh / var(--z,1));height:auto; /* 高度随内容撑开，至少 32vh（千问 2026-08-12 建议） */
  background:#f5f5f7;
  border-top:1px solid #cbd5e1;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start; /* 内容从顶部排，防向上溢出 */
}
.dark .bottom{background:#1b1b1b;border-top-color:#2e3138}
.bottom .fp{
  margin:0;font-size:14px;color:#64748b;letter-spacing:1px;
  padding:0 24px;text-align:center;line-height:1.8;
}
.dark .bottom .fp{color:#9aa0a8}
.bottom [data-lang]{display:none}
.bottom [data-lang].show{display:inline}
.bottom .mail{margin-top:6px;font-size:14px}
.bottom .mail a{color:var(--poem-c1);text-decoration:none;border-bottom:1px dashed var(--poem-c1)}
.bottom .mail a:hover{opacity:.8}
/* 滚动条：主题字体色 */
/* 滚动条：默认隐藏，滚动时出现（html.scrolling 由 JS 控制） */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:transparent;border-radius:5px;transition:background .2s}
html.scrolling ::-webkit-scrollbar-thumb{background:var(--poem-c1)}
html.scrolling ::-webkit-scrollbar-thumb:hover{opacity:.8}
html{scrollbar-color:transparent transparent;scrollbar-width:thin;overflow-anchor:none} /* 禁用滚动锚定：语言切换时页面不跳动 */
html.scrolling{scrollbar-color:var(--poem-c1) transparent}
.c{text-align:center;width:100%;max-width:1100px;transform:translateY(calc(-12vh / var(--z,1)))}  /* 2026-10-06 音心：整体再上提 */
.egg{
  font-size:44px;color:#f472b6;font-weight:bold;
  display:inline-block;margin-bottom:20px;
  animation:b 2.4s ease-in-out infinite;
  text-shadow:0 2px 12px rgba(244,114,182,0.4);
}
@keyframes b{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* 首页搜索框（2026-10-06 音心）：诗句上方——更长胶囊，同选项卡材质（果冻 + 玻璃丝 + 折射） */
.sbox-wrap{
  position:relative;z-index:100;
  width:min(560px, calc(100vw - 64px));
  margin:0 auto 80px;
  transition:width .3s cubic-bezier(.3,1.45,.5,1);  /* 拉长带回弹（音心） */
}
.sbox-wrap:focus-within{width:min(820px, calc(100vw - 48px))}  /* 进入输入状态：拉更长（音心） */
.sbox{
  position:relative;display:flex;align-items:center;gap:10px;
  width:100%;
  height:44px;
  padding:0 18px;
  border-radius:999px;
  background:rgba(255,255,255,0.6);
  -webkit-backdrop-filter:blur(14px) saturate(190%);
  backdrop-filter:blur(14px) saturate(190%);
  -webkit-backdrop-filter:blur(2px) saturate(190%) url(#segLens);
  backdrop-filter:blur(2px) saturate(190%) url(#segLens);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), inset 0 0 0 1px rgba(0,0,0,.055);
  transition:transform .22s cubic-bezier(.25,.1,.25,1), background .3s ease;
  -webkit-tap-highlight-color:transparent;
}
.sbox:hover:not(:focus-within){transform:scale(1.06)}
.sbox-shine{
  position:absolute;inset:0;border-radius:inherit;overflow:hidden;
  pointer-events:none;opacity:0;transition:opacity .28s ease;z-index:0;
  background:radial-gradient(circle 260px at var(--mx,50%) var(--my,50%),
    rgba(255,255,255,0.42) 0%, rgba(255,255,255,0.16) 40%, rgba(255,255,255,0) 72%);
}
.sbox:hover .sbox-shine{opacity:1}
.dark .sbox-shine{
  background:radial-gradient(circle 260px at var(--mx,50%) var(--my,50%),
    rgba(255,255,255,0.22) 0%, rgba(255,255,255,0.08) 42%, rgba(255,255,255,0) 72%);
}
.sbox-btn,.sbox-in{position:relative;z-index:1}
.sbox-sugg{
  position:absolute;left:10px;right:10px;top:calc(100% + 10px);
  transform-origin:50% 0;  /* 从上面向下面弹开（音心） */
  padding:6px;border-radius:22px;
  background:rgba(255,255,255,0.62);
  -webkit-backdrop-filter:blur(14px) saturate(190%);
  backdrop-filter:blur(14px) saturate(190%);
  -webkit-backdrop-filter:blur(2px) saturate(190%) url(#segLens);
  backdrop-filter:blur(2px) saturate(190%) url(#segLens);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), inset 0 0 0 1px rgba(0,0,0,.055), 0 14px 34px rgba(15,23,42,.10);
  z-index:6;
}
.dark .sbox-sugg{
  background:rgba(30,30,30,0.68);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), inset 0 0 0 1px rgba(255,255,255,.075), 0 14px 34px rgba(0,0,0,.5);
}
.sbox-sugg-item{
  padding:9px 14px;border-radius:999px;font-size:13.5px;line-height:1.35;
  color:var(--text);cursor:pointer;text-align:left;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.sbox-sugg-item:hover,.sbox-sugg-item.on{background:rgba(0,0,0,.06)}
.dark .sbox-sugg-item:hover,.dark .sbox-sugg-item.on{background:rgba(255,255,255,.08)}  /* 果冻：弹簧放大、移开弹回 */
.dark .sbox{
  background:rgba(40,40,40,0.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), inset 0 0 0 1px rgba(255,255,255,.075);
}
.sbox-btn{
  flex:none;display:flex;align-items:center;justify-content:center;
  width:16px;height:16px;padding:0;border:0;background:transparent;
  cursor:pointer;color:var(--muted);opacity:.9;
}
.sbox-btn svg{width:16px;height:16px}
.sbox-in{
  flex:1 1 auto;min-width:0;height:100%;
  border:0;outline:0;background:transparent;
  font:inherit;font-size:14px;letter-spacing:.5px;color:var(--text);
}
.sbox-in::placeholder{color:var(--muted)}
.sbox-in::-webkit-search-cancel-button,.sbox-in::-webkit-search-decoration{-webkit-appearance:none;appearance:none}
.poem{display:block}
.poem [data-lang]{
  display:none;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  column-gap:18px;
}
.poem [data-lang].show{display:flex}
.poem .line{white-space:nowrap;display:flex;align-items:center;justify-content:center}
.poem [data-lang="zh"] .line{gap:8px}
.poem [data-lang="en"] .line{gap:0.25em}
.poem [data-lang].show .line{flex-basis:100%}
.poem [data-lang="zh"]{
  font-weight:700;
  line-height:2;
}
.poem [data-lang="en"]{
  font-weight:600;
  line-height:2;
}
.ch{
  display:inline-block;
  color:var(--poem-c1);
  opacity:0;
  text-shadow:0 4px 18px rgba(37,99,235,0.35);
}
.poem [data-lang].show .ch{
  animation:rise 5s ease-out forwards;
  animation-delay:calc(var(--i) * 0.22s);
}
@keyframes rise{
  0%{opacity:0;transform:translateY(34px)}
  15%{opacity:1;transform:translateY(0)}
  100%{opacity:1;transform:translateY(0)}
}
.greet{
  margin-top:16px;
  font-size:15px;
  letter-spacing:2px;
  color:var(--muted);
  opacity:0;
}
.greet .place{
  color:#f472b6;
  text-shadow:0 2px 10px rgba(244,114,182,.35);
}
.greet[data-lang="en"]{letter-spacing:1px}
.greet.show{
  animation:greetUp 1.2s ease-out forwards;
}
@keyframes greetUp{
  0%{opacity:0;transform:translateY(18px)}
  60%{opacity:.95}
  100%{opacity:.85;transform:translateY(0)}
}
.greet .greet-cursor{
  display:inline-block;
  width:5px;height:5px;
  border-radius:50%;
  background:var(--poem-c1);
  margin-left:2px;
  vertical-align:2px;
  box-shadow:0 0 6px var(--poem-c1);
  animation:greetBlink .7s step-end infinite;
}
@keyframes greetBlink{
  0%,100%{opacity:1}
  50%{opacity:.15}
}
.site{
  position:absolute;bottom:0;left:0;right:0; /* 19:06（音心）：贴底——刚好在页脚正上方 */
  text-align:center;color:var(--muted);font-size:14px;
  letter-spacing:6px;
}
.site [data-lang]{display:none}
.site [data-lang].show{display:inline}
.site [data-lang="en"]{letter-spacing:1px}
.site .dash{letter-spacing:0;margin-right:6px}
.site .sig{color:#f472b6;letter-spacing:1px}
.tk{
  position:fixed;bottom:0;left:0;
  pointer-events:none;user-select:none;
}
/* 导航栏玻璃层（iOS 26 Liquid Glass 质感）：顶部横条，模糊下方滑动内容；不拦截点击 */
.glass{
  position:fixed;top:0;left:0;right:0;
  height:64px;
  z-index:998; /* 在时钟/功能区(999)之下，内容之上 */
  pointer-events:auto; /* 玻璃拦截点击，防止穿透点到下层元素 */
  background:transparent; /* 玻璃不改颜色：无背景色（18:12 音心：模糊用选项卡那种玻璃效果） */
  /* 回退（不支持 url() 折射时）：普通毛玻璃 */
  -webkit-backdrop-filter:blur(14px) saturate(190%);
  backdrop-filter:blur(14px) saturate(190%);
  /* 支持时：轻微模糊 + 折射扭曲（与选项卡同材质） */
  -webkit-backdrop-filter:blur(2px) saturate(190%) url(#segLens);
  backdrop-filter:blur(2px) saturate(190%) url(#segLens);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.12); /* 顶部微高光 */
}

.clock{
  position:fixed;top:16px;right:16px;
  z-index:999; /* 永远最顶层 */
  text-align:right;user-select:none;
}
.clock .cd{
  font-size:12px;color:var(--muted);letter-spacing:1px;line-height:1.4;
}
.clock .ct{
  font-size:22px;font-weight:700;color:var(--poem-c1); /* 跟随主题：浅色浅蓝、深色深蓝 */
  font-variant-numeric:tabular-nums;line-height:1.2;margin-top:2px;
  text-shadow:0 2px 10px rgba(37,99,235,0.25);
}
.clock .ct.sync{animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.sw{
  position:fixed;top:16px;left:16px;
  z-index:999; /* 永远最顶层 */
  width:36px;height:36px;border-radius:50%;
  border:2px solid var(--poem-c1);background:transparent;
  cursor:pointer;font-size:18px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  padding-top:1px; /* 内圆（◐）视觉微调对齐 */
  transition:all .3s;color:var(--poem-c1);
}
.sw:hover{background:var(--poem-c1);color:var(--bg)}
.lg{
  position:fixed;top:16px;left:60px;
  z-index:999; /* 永远最顶层 */
  height:36px;line-height:32px;
  width:64px;padding:0;
  border-radius:20px;
  border:2px solid var(--poem-c1);background:transparent;
  cursor:pointer;font-size:14px;font-weight:600;
  color:var(--poem-c1);letter-spacing:2px;transition:all .3s;
  text-align:center;
}
.lg:hover{background:#2563eb;color:var(--bg)}

@media (orientation:portrait){
  .c{transform:translateY(calc(-9vh / var(--z,1)));transition:transform .32s cubic-bezier(.3,1.2,.4,1)}
  /* 竖屏点搜索框：整组上滑给键盘让位；退出恢复原位置（音心 2026-10-06） */
  html.sbox-open .c{transform:translateY(calc(-9vh / var(--z,1) - 120px))}
  .egg{font-size:34px;margin-bottom:14px}
  .sbox-wrap{width:min(520px, calc(100% - 64px));margin-bottom:26px}  /* 起点收窄：给聚焦拉长留空间（音心 10-07） */
  .sbox-wrap:focus-within{width:min(820px, 100%)}  /* 竖屏聚焦：撑满内容区、两边留白相等（音心 10-07：拉长后不居中→改按容器宽度算） */
  .sbox{height:42px}
  .poem [data-lang="zh"]{font-size:clamp(19px, 5.6vw, 26px)}
  .poem [data-lang="zh"] .line{gap:clamp(16px, 4vw, 26px)}
  .poem [data-lang="en"]{font-size:clamp(19px, 5.6vw, 26px)}
  .site{font-size:12px;letter-spacing:4px}
  .clock{top:12px;right:12px}
  .clock .cd{font-size:11px}
  .clock .ct{font-size:18px}
  .sw{top:12px;left:12px;width:32px;height:32px;font-size:16px}
  .lg{top:12px;left:52px;height:32px;line-height:28px;width:56px;font-size:13px}
  /* 移动端减负：折射滤镜太吃 GPU，换轻量磨砂（桌面端保留折射）——2026-10-06 音心反馈「卡」 */
  .sbox, .sbox-sugg{
    -webkit-backdrop-filter: blur(12px) saturate(180%);
    backdrop-filter: blur(12px) saturate(180%);
  }
}
@media (orientation:landscape){
  .screen{padding:24px 20px}
  .poem [data-lang="zh"]{font-size:min(3.2vw, 36px);flex-wrap:nowrap;column-gap:clamp(28px, 4.5vw, 56px)}
  .poem [data-lang="zh"] .line{gap:clamp(18px, 2.8vw, 34px)}
  .poem [data-lang="en"]{font-size:min(3.2vw, 36px)}
  .poem [data-lang].show .line{flex-basis:auto}
}

/* 页脚更新日志：日期+版本+标题，整条可点，双语随切换 */
.bottom .changelog{margin-bottom:14px;text-align:center}
.bottom .cl-head{
  display:inline-block;font-size:13px;color:var(--poem-c1);
  text-decoration:none;letter-spacing:2px;margin-bottom:8px;
  border-bottom:1px dashed var(--poem-c1);padding-bottom:2px;
  white-space:nowrap; /* 标题不换行 */
  margin-left:0; /* 手机端居中；桌面端 media 里恢复 64px 对齐版本号列 */
}
.bottom .cl-head:hover{opacity:.8}
.bottom .cl-item{
  display:flex;flex-wrap:wrap;max-width:420px;margin:5px auto;padding:4px 14px;text-align:left; /* 条目左对齐，日期成竖线（音心 2026-08-12 定） */
  font-size:12.5px;color:#64748b;text-decoration:none;line-height:1.5;
  border-radius:8px;transition:background .2s,color .2s;
  align-items:flex-start;
}
.dark .bottom .cl-item{color:#9aa0a8}
.bottom .cl-item:hover{background:rgba(0,0,0,.05);color:var(--poem-c1)}
.dark .bottom .cl-item:hover{background:rgba(255,255,255,.06)}
.bottom .cl-date{display:inline-block;min-width:44px;color:#94a3b8;font-variant-numeric:tabular-nums;flex-shrink:0;margin-right:6px}
.dark .bottom .cl-date{color:#6b7280}
.bottom .cl-ver{
  display:inline-block;min-width:34px;margin:0 6px;padding:0 5px;
  font-size:11px;color:var(--poem-c1);border:1px solid var(--poem-c1);
  border-radius:4px;line-height:1.5;vertical-align:1px;flex-shrink:0;
}
.bottom .cl-txt{letter-spacing:.5px;flex:1;min-width:0;align-self:flex-start} /* flex 悬挂：换行从内容文字下面对齐（千问 2026-08-12 建议） */
.bottom .cl-item [data-lang]{display:none}
.bottom .cl-item [data-lang].show{display:inline}

/* ===== 点击小波纹：圆A实心 + 圆B空心环，淡蓝 ===== */
.ripple{
  position:fixed;z-index:9999;pointer-events:none;
  width:0;height:0;transform:translate(-50%,-50%);
}
.ripple::before{ /* 圆A 实心 */
  content:'';position:absolute;left:0;top:0;
  width:0;height:0;border-radius:50%;
  background:rgba(0,122,255,0.40); /* 淡蓝实心 */
  transform:translate(-50%,-50%); /* 圆心钉死在点击点 */
  animation:rippleA 1.9s ease-out forwards;
}
.ripple::after{ /* 圆B 空心环，在 A 外侧 */
  content:'';position:absolute;left:0;top:0;
  width:0;height:0;border-radius:50%;
  border:2px solid rgba(0,122,255,0.80);
  transform:translate(-50%,-50%); /* 圆心钉死在点击点 */
  animation:rippleB 1.9s ease-out forwards;
  animation-delay:0.3s;
}
.dark .ripple::before{ background:rgba(10,132,255,0.50); } /* 苹果 systemBlue 深色版 */
.dark .ripple::after{ border:2px solid rgba(10,132,255,0.35); }
@keyframes rippleA{
  0%{width:0;height:0;opacity:1}
  100%{width:48px;height:48px;opacity:0}
}
@keyframes rippleB{
  0%{width:0;height:0;opacity:1}
  100%{width:92px;height:92px;opacity:0}
}

/* ===== 页脚整体布局：电脑端左右分栏利用宽度（2026-08-12）===== */
.bottom-inner{
  width:100%;margin:0 auto; /* 移动端占满；桌面端 media 里 fit-content 自适应 */
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:32px;padding:36px 24px;box-sizing:border-box;
}
/* 手机端顺序（音心 2026-08-12 定）：快捷工具 → 更新日志 → 弦音之镜 */
.bottom-inner > .quick-tools{order:1;width:100%;max-width:420px}
.bottom-inner > .changelog{order:2;width:100%;max-width:420px}
.bottom-inner > .bottom-info{order:3;width:100%;max-width:420px}
.bottom .bottom-info{display:flex;flex-direction:column;align-items:center;gap:6px}
.bottom .home-link{
  display:inline-flex;align-items:center;gap:10px;
  font-size:16px;color:var(--poem-c1);text-decoration:none;letter-spacing:1px;
  border-bottom:none;padding-bottom:0;
}
.bottom .home-link:hover{opacity:.85}
.bottom .home-ico{width:36px;height:36px;border-radius:8px;vertical-align:middle}
.bottom .home-name{
  color:var(--poem-c1);font-weight:400;font-size:17px;letter-spacing:2px;
}
@media (min-width:900px){
  .bottom{min-height:calc(32vh / var(--z,1));min-height:calc(32dvh / var(--z,1));height:auto;justify-content:center} /* 高度随内容撑开，防内容溢出底部露白（2026-08-31 音心反馈页脚没贴底） */
  .bottom-inner{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:40px;width:100%;max-width:1500px;margin:0 auto;padding-right:60px}
  .bottom-inner > .quick-tools,
  .bottom-inner > .changelog,
  .bottom-inner > .bottom-info{order:0;width:auto;max-width:none;flex-shrink:0;min-width:0} /* 高特异性覆盖移动端 order/宽度（音心 2026-08-12 反馈电脑端被带偏） */
  .bottom .bottom-info{align-items:flex-start;text-align:left}
  .bottom .changelog{text-align:left;margin-bottom:0}
  .bottom .cl-head{margin-left:64px} /* 桌面端对齐版本号列 */
}

/* 快捷工具区块（与更新日志同款排版，2026-08-12） */
.bottom .quick-tools{text-align:center;margin-bottom:14px} /* 手机端居中；桌面端 media 里恢复 left */
.bottom .qt-head{margin-left:0} /* 移动端居中；桌面端 media 里对齐 TOOL 列 */
@media (min-width:900px){
  .bottom .quick-tools{margin-bottom:0;text-align:left}
  .bottom .qt-head{margin-left:64px} /* 快捷工具标题与 TOOL 列对齐（音心 2026-08-12 定） */}
}

/* 右侧组：更新日志 + 快捷工具并排（2026-08-12，保持原本两区块布局） */
.bottom .right-group{
  display:flex;flex-direction:column;gap:20px;
  width:100%;max-width:680px;
}
@media (min-width:900px){
  .bottom .right-group{flex-direction:row;gap:48px;width:auto;max-width:none;align-items:flex-start}
  .bottom .quick-tools{margin-bottom:0}
}

/* 视觉隐藏（SEO 标题用；CSP 禁内联样式后改类名隐藏，2026-10-05） */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
