@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#edf6ed;
  --paper:#fbfff8;
  --ink:#123426;
  --muted:#6f8579;
  --line:#cfe0d4;
  --accent:#0f5f3d;
  --green:#2f8a5f;
  --shadow:0 10px 30px rgba(22,70,47,.09);
  /* 顶栏内容区高度；安全区单独用 --safe-top（可由 shell 在 WebView 双计时置 0） */
  --header-bar-h:66px;
  --safe-top:env(safe-area-inset-top, 0px);
  --header-offset:calc(var(--header-bar-h) + var(--safe-top));
}
*{box-sizing:border-box}
html[data-locale="en"] [data-lang-only="zh"]{display:none!important}
html[data-locale="en"] [data-lang-only="en"]{display:unset!important}
html[data-locale="zh"] [data-lang-only="en"]{display:none!important}
html{
  scroll-behavior:smooth;
  /* 移动端上下滑时避免整页被拖着左右晃 */
  overflow-x:hidden;
  overscroll-behavior-x:none;
  max-width:100%;
  /* 与顶栏同色，WebView / 安全区回弹时不透出杂色 */
  background:var(--bg);
}
body{
  margin:0;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overscroll-behavior-x:none;
  position:relative;
  background:var(--bg);
  color:var(--ink);
  font-family:"DM Sans","Noto Sans SC",sans-serif;
  /* fixed 顶栏总高度 = 栏高 + 安全区（仅计一次） */
  padding-top:var(--header-offset);
}
/* 媒体/长词不撑破视口；可横滑区域自己 overflow-x:auto */
img,video,iframe,canvas,svg{max-width:100%;height:auto}
pre,code{max-width:100%;overflow-x:auto}
.dialog-locked{position:fixed;left:0;right:0;width:100%;overflow:hidden}button,input{font:inherit}button,a{color:inherit}a{text-decoration:none}button{cursor:pointer}/* 顶导固定置顶，滚动始终跟随在最上层 */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:200;
  border-bottom:1px solid var(--line);
  /* 实底：TG 内置浏览器半透明顶栏下不透出底层画面 */
  background:var(--bg);
  /* 延伸进安全区，避免刘海/状态栏下方露缝（与 body 共用 --safe-top，不双计） */
  padding-top:var(--safe-top);
}
/* 文章页阅读进度条：贴视口顶边，参照细顶条样式，站内 accent 色 */
.reading-progress{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:220;
  height:3px;
  margin:0;
  padding:0;
  pointer-events:none;
  background:transparent;
  overflow:hidden
}
.reading-progress-bar{
  display:block;
  height:100%;
  width:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:var(--accent);
  will-change:transform
}
body.dark .reading-progress-bar{
  background:color-mix(in srgb,var(--accent) 75%,#7dcea0)
}
@media (prefers-reduced-motion: reduce){
  .reading-progress-bar{transition:none}
}

/* 与 main 同宽同左右内边距，避免 LOGO / 用户区超出正文列 */
.header-inner{max-width:1100px;height:66px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:34px;box-sizing:border-box;width:100%}
.brand{display:flex;align-items:center;gap:4px;white-space:nowrap}.brand-bracket,.brand-dot{display:none}.brand-copy{display:flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1.05;min-width:0}.brand b{font-size:17px;letter-spacing:-.4px}.brand-tagline{display:block;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.02em;line-height:1.2;margin:2px 0 0;white-space:nowrap}.desktop-nav{display:flex;gap:6px}.desktop-nav a{padding:9px 13px;border-radius:7px;color:var(--muted);font-size:13px}.desktop-nav a:hover,.desktop-nav .active{background:var(--paper);color:var(--ink);box-shadow:0 2px 9px rgba(0,0,0,.04)}.header-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.header-actions button{height:36px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.lang-switch{
  display:inline-flex;align-items:stretch;flex:0 0 auto;height:32px;padding:2px;
  border:1px solid var(--line);border-radius:999px;background:var(--paper);
  box-shadow:0 1px 2px rgba(16,24,20,.04);overflow:hidden
}
.lang-switch-opt{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;padding:0 11px;border:0;border-radius:999px;
  color:#8a8478;background:transparent;font-size:13px;font-weight:700;
  line-height:1;letter-spacing:.02em;text-decoration:none;box-shadow:none
}
.lang-switch-opt:hover{color:var(--ink);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.lang-switch-opt.is-active,
.lang-switch-opt.is-active:hover{
  color:#fff;background:#e04a2f;box-shadow:none
}
body.dark .lang-switch{background:var(--paper);border-color:var(--line)}
body.dark .lang-switch-opt{color:var(--muted)}
body.dark .lang-switch-opt.is-active{color:#fff;background:#e04a2f}.search-trigger{display:grid;place-items:center;width:40px;height:40px;min-width:40px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink)}.search-trigger:hover{background:transparent!important;color:var(--accent)}.search-trigger .search-icon{font-size:30px;line-height:1;font-weight:700;transform:none}.search-trigger .search-text{display:none}.theme-button{font-size:18px;line-height:1}.theme-button{width:36px}.menu-button{display:none;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:18px;line-height:1;align-items:center;justify-content:center;padding:0;flex:0 0 auto}
/* 顶导「关于」二级菜单：与工具下拉同一套交互，样式独立以免挡住工具注入 */
body:has(.about-nav-item) .site-header,
body:has(.about-nav-item) .header-inner,
body:has(.about-nav-item) .desktop-nav{overflow:visible!important}
.about-nav-item{position:relative;display:inline-flex;align-items:center;z-index:240}
.desktop-nav .about-nav-trigger,
.about-nav-trigger{
  display:inline-flex;align-items:center;padding:9px 13px;border-radius:7px;border:0;
  background:transparent!important;color:var(--muted);font:inherit;font-size:13px;font-weight:inherit;
  white-space:nowrap;box-shadow:none!important;box-sizing:border-box;cursor:pointer
}
.desktop-nav .about-nav-trigger:hover:not(.active),
.desktop-nav .about-nav-item:hover .about-nav-trigger:not(.active),
.desktop-nav .about-nav-item:focus-within .about-nav-trigger:not(.active),
.desktop-nav .about-nav-item.is-open .about-nav-trigger:not(.active){
  background:color-mix(in srgb,var(--accent) 14%,transparent)!important;color:var(--accent)!important
}
.desktop-nav .about-nav-trigger.active,
.desktop-nav .about-nav-trigger.active:hover,
.desktop-nav .about-nav-item:hover .about-nav-trigger.active,
.desktop-nav .about-nav-item:focus-within .about-nav-trigger.active,
.desktop-nav .about-nav-item.is-open .about-nav-trigger.active{
  background:var(--paper)!important;color:var(--ink)!important;box-shadow:0 2px 9px rgba(0,0,0,.04)!important
}
.about-nav-menu{
  position:absolute;top:100%;left:0;min-width:148px;margin:0;padding:8px;
  border:1px solid var(--line);border-radius:12px;background:var(--paper);
  box-shadow:0 16px 40px rgba(22,70,47,.16);opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(4px);transition:opacity .12s ease,transform .12s ease,visibility .12s;z-index:500
}
.about-nav-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.about-nav-item:hover .about-nav-menu,
.about-nav-item:focus-within .about-nav-menu,
.about-nav-item.is-open .about-nav-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.about-nav-link,
.desktop-nav .about-nav-menu a{
  display:block;padding:10px 12px;border-radius:8px;color:var(--ink);font-size:13px;font-weight:600;
  text-decoration:none;white-space:nowrap;box-shadow:none;background:transparent
}
.about-nav-link:hover:not(.is-active),
.desktop-nav .about-nav-menu a:hover:not(.is-active){
  background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);box-shadow:none
}
.about-nav-link.is-active,.about-nav-link.is-active:hover,
.desktop-nav .about-nav-menu a.is-active,.desktop-nav .about-nav-menu a.is-active:hover{
  background:color-mix(in srgb,var(--accent) 10%,var(--paper));color:var(--accent);box-shadow:none
}
.about-mobile-block{display:flex;flex-direction:column;width:100%}
.about-mobile-title{
  display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
  padding:15px 20px;margin:0;border:0;border-bottom:1px solid var(--line);color:var(--ink);
  font-size:17px;font-weight:400;font-family:inherit;text-align:left;background:transparent;cursor:pointer
}
.about-mobile-title:hover,.about-mobile-title:active{
  background:color-mix(in srgb,var(--accent) 8%,var(--paper));color:var(--accent)
}
.about-mobile-chevron{
  width:8px;height:8px;margin-right:2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);transition:transform .18s ease;opacity:.7
}
.about-mobile-block.is-open .about-mobile-chevron{transform:rotate(-135deg);margin-top:4px}
.about-mobile-panel{display:none;flex-direction:column;width:100%;border-bottom:1px solid var(--line)}
.about-mobile-block.is-open .about-mobile-panel{display:flex}
.about-mobile-link{
  display:block;width:100%;padding:12px 20px;border-radius:0;font-size:14px;font-weight:400
}
.about-mobile-link + .about-mobile-link{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.about-mobile-link.is-active,.about-mobile-link.is-active:hover{
  background:color-mix(in srgb,var(--accent) 12%,var(--paper));color:var(--accent)
}
body.dark .desktop-nav .about-nav-trigger:hover:not(.active),
body.dark .desktop-nav .about-nav-item.is-open .about-nav-trigger:not(.active){
  background:color-mix(in srgb,var(--accent) 18%,transparent)!important;color:var(--accent)!important
}
body.dark .desktop-nav .about-nav-trigger.active,
body.dark .desktop-nav .about-nav-trigger.active:hover{
  background:#20211d!important;color:var(--ink)!important
}
body.dark .about-nav-menu{background:#20211d;border-color:#343b32}

main{max-width:1100px;width:100%;margin:auto;padding:0 24px;min-width:0}.hero{padding:54px 0 28px}.hero h1.home-title,.seo-crawl-block{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.65}
.seo-crawl-list{margin:6px 0 0;padding-left:1.2em}
.seo-crawl-list a{color:var(--ink)}
.home-title{margin:8px 0 0;font-size:22px;line-height:1.28;letter-spacing:-.4px;font-weight:750;color:var(--ink)}
.article-ssr{max-width:720px;margin:0 auto;padding:28px 0 64px}
.article-ssr-head h1{margin:0 0 12px;font-size:28px;line-height:1.28;letter-spacing:-.6px}
.article-ssr-summary{margin:0 0 22px;color:var(--muted);font-size:16px;line-height:1.7}
.article-ssr-body h2{margin:28px 0 10px;font-size:20px}
.article-ssr-body h3{margin:22px 0 8px;font-size:17px}
.article-ssr-body p,.article-ssr-body li{line-height:1.75}
.article-ssr-body img{max-width:100%;height:auto;border-radius:10px}
@media (max-width:720px){.home-title{font-size:18px}.article-ssr{padding:18px 0 48px}.article-ssr-head h1{font-size:22px}}
.eyebrow,.section-kicker{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--accent)}.eyebrow span{display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--accent)}.hero h1{margin:19px 0 6px;font-size:42px;letter-spacing:-1.8px}.hero h1 em{color:var(--accent);font-style:normal}.hero-copy{margin:0;color:var(--muted);font-size:14px}.section-kicker{color:var(--muted)}.featured-card{position:relative;min-height:286px;margin-top:14px;overflow:hidden;border-radius:18px;background:linear-gradient(130deg,#321919,#2b1717 57%,#181315);color:#fff;cursor:pointer}.featured-glow{position:absolute;width:520px;height:300px;left:-80px;bottom:-230px;border-radius:50%;background:#e15c3f;filter:blur(70px);opacity:.48}.featured-content{position:relative;z-index:2;max-width:760px;padding:88px 38px 32px}.pills{display:flex;flex-wrap:wrap;gap:7px;font-size:10px;color:#ddd}.pills span{padding:5px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07)}.pills .free{color:#b7f0c6;border-color:#41815b}.featured h2{max-width:710px;margin:18px 0 9px;font-size:27px;line-height:1.3;letter-spacing:-.6px}.featured p{margin:0 0 16px;color:#c6bebe;font-size:13px}.featured time{color:#a89e9b;font-size:11px}.watermark{position:absolute;right:30px;top:24px;color:rgba(255,255,255,.065);font-size:58px}
.news-section{padding:24px 0 72px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.section-heading h2{margin:8px 0 0;font-size:22px}.filters{display:flex;flex-wrap:wrap;gap:6px}.filters button{padding:7px 11px;border:1px solid transparent;border-radius:999px;background:none;color:var(--muted);font-size:12px}.filters button:hover,.filters .active{border-color:var(--line);background:var(--paper);color:var(--ink)}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.article-card{display:block;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--paper);transition:.2s;cursor:pointer}.article-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-art{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;overflow:hidden;background:var(--art);color:var(--art-text,#fff)}.card-art::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.16))}.art-label{position:relative;z-index:1;padding:20px;text-align:center;font-size:26px;font-weight:800;line-height:1.05;letter-spacing:-1px}.art-label small{display:block;margin-top:7px;font-size:9px;font-weight:500;letter-spacing:.12em;opacity:.7}.status{position:absolute;z-index:2;left:10px;top:10px;padding:6px 10px;border-radius:11px;background:linear-gradient(135deg,#38a96f,#1f7a50);color:white;font-size:11px;font-weight:900;line-height:1;border:1px solid rgba(0,0,0,.72);box-shadow:0 5px 14px rgba(15,95,61,.14)}.premium-status{background:linear-gradient(135deg,#070706 0%,#19140b 48%,#3a2b10 100%);color:#ffe39a;border-color:#000;box-shadow:0 5px 16px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,232,163,.22)}.card-body{padding:16px}.card-source{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.card-source b{color:var(--category);font-weight:600}.card-body h3{min-height:46px;margin:10px 0 8px;font-size:16px;font-weight:400;line-height:1.45}.article-card .card-body h3,.brief-card .brief-body h3,.briefs-grid .brief-body h3{font-weight:400}.card-body p{min-height:38px;margin:0;color:var(--muted);font-size:12px;line-height:1.6}.card-foot{display:flex;align-items:center;gap:5px;margin-top:14px}.tag{padding:3px 6px;border:1px solid var(--line);border-radius:4px;color:#918b81;font-size:9px}.card-foot time{margin-left:auto;color:#aaa399;font-size:9px}.load-more{display:block;margin:28px auto 0;padding:11px 20px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:12px}.load-more span{margin-left:8px}
.newsletter{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:72px;padding:38px 42px;border-radius:15px;background:#123426;color:#fff}.newsletter span{color:#a8d8b9;font-size:10px;letter-spacing:.14em}.newsletter h2{margin:8px 0;font-size:24px}.newsletter p{margin:0;color:#c3d3c8;font-size:12px}.newsletter form{display:flex;min-width:380px}.newsletter input{min-width:0;flex:1;padding:13px;border:0;border-radius:7px 0 0 7px;outline:none}.newsletter button{padding:0 18px;border:0;border-radius:0 7px 7px 0;background:var(--accent);color:#fff;font-weight:700}
.community-section{max-width:920px;margin:72px auto 0;padding:0 24px 54px}.community-section .section-kicker{color:var(--accent);letter-spacing:.16em}.community-section h1,.community-section h2{max-width:780px;margin:12px 0 18px;color:var(--ink);font-size:42px;line-height:1.14;letter-spacing:-1.2px}.community-lead{max-width:760px;margin:0 0 28px;color:var(--muted);font-size:17px;line-height:1.9}.community-cards{display:grid;gap:16px}.community-card{padding:24px 24px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 12px 30px rgba(22,70,47,.05)}.community-card h3{margin:0 0 12px;color:var(--ink);font-size:18px}.community-card p{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.85}.community-subscribe,.community-button-row{display:flex;flex-wrap:wrap;gap:10px;max-width:620px}.community-subscribe input{min-width:0;flex:1;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);outline:none}.community-subscribe button,.community-button,.community-id{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--accent);font-weight:850}.community-id{color:var(--muted);font-weight:700}.community-subscribe button{border-color:var(--accent);background:var(--accent);color:#fff}.community-button:hover{border-color:var(--accent);box-shadow:0 8px 20px rgba(22,70,47,.08)}
footer{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:flex-start;
  gap:0;
  max-width:1100px;
  margin:auto;
  padding:48px 24px 88px;
  border-top:1px solid var(--line);
  font-size:12px;
  text-align:left;
  box-sizing:border-box;
  width:100%;
}
footer>div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
  text-align:left;
  min-width:0;
  flex:0 0 auto;
}
/* LOGO 靠左；信息 + 保持联系 靠右；中间无竖线分隔 */
.footer-brand,
.footer-info,
.footer-note{
  padding:4px 0 8px;
  border-left:0;
  align-items:flex-start;
  text-align:left;
  justify-content:flex-start;
  flex:0 0 auto;
  max-width:280px;
}
.footer-brand{
  padding-left:0;
  padding-right:24px;
  gap:14px;
  align-items:flex-start;
  max-width:320px;
  margin-right:auto; /* 把右侧两列顶到最右 */
}
.footer-info{
  padding-left:28px;
  padding-right:28px;
}
.footer-note{
  padding-left:0;
  padding-right:0;
  max-width:340px;
}
.footer-contact-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:9px;
  width:100%;
}
.footer-contact-list li{
  margin:0;
  padding:0;
  line-height:inherit;
}
/* 与「信息」列按钮同款：继承页脚字号，不加重 */
.footer-contact-list a{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  text-align:left;
  color:var(--muted);
  font:inherit;
  font-weight:400;
  cursor:pointer;
}
.footer-contact-list a:hover,
.footer-contact-list a:focus-visible{
  color:var(--accent);
}
footer strong{margin-bottom:5px;text-align:left}
footer a,footer p{margin:0;color:var(--muted);text-align:left}
.footer-brand-top{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  width:100%;
}
.footer-brand .brand-footer{
  align-items:flex-start;
  justify-content:flex-start;
  text-decoration:none;
  color:inherit;
  text-align:left;
}
.footer-brand .brand-footer .brand-copy{align-items:flex-start}
.footer-brand .brand-footer .brand-copy b{font-size:28px;letter-spacing:-.6px}
.footer-brand .brand-footer .brand-tagline{font-size:12px;text-align:left}
.footer-brand .brand-footer .brand-bracket,
.footer-brand .brand-footer .brand-dot{display:none!important}
.footer-brand-sub{line-height:1.8;color:var(--muted);text-align:left}
.footer-admin-link{
  display:inline;
  margin-left:10px;
  padding:0;
  border:0;
  background:none;
  color:var(--accent);
  font:inherit;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer
}
.footer-admin-link:hover{text-decoration:underline}
.footer-admin-link[hidden]{display:none!important}
.footer-info,.footer-note{align-items:flex-start;text-align:left}
.footer-info a,.footer-info button,.footer-note a,.footer-note p{text-align:left}
.footer-note p{font-size:11px}
footer>small{position:absolute;bottom:24px;left:24px;color:#a49f96;text-align:left}
.mobile-menu,.scrim{display:none}.search-dialog,.article-dialog{width:min(620px,calc(100% - 30px));border:1px solid var(--line);border-radius:15px;background:var(--paper);color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(12,38,27,.45);backdrop-filter:blur(3px)}.search-dialog{padding:26px}.search-dialog form{float:right}.search-dialog form button{border:0;background:none;font-size:25px}.search-dialog label{display:block;margin-bottom:13px;font-weight:700;font-size:20px}.search-dialog input{width:100%;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg);outline:none}.search-hint{color:var(--muted);font-size:12px}.result-item{display:block;padding:12px 0;border-top:1px solid var(--line);font-size:13px;cursor:pointer}.article-dialog{padding:0;max-height:min(86vh,780px);overflow:auto;overscroll-behavior:contain}.article-close{position:absolute;right:16px;top:14px;z-index:3;display:grid;place-items:center;width:42px;height:42px;border:2px solid rgba(255,255,255,.95);border-radius:999px;background:#fff;color:#123426;font-size:30px;font-weight:800;line-height:1;box-shadow:0 10px 24px rgba(0,0,0,.28)}.article-close:hover{transform:scale(1.04);background:var(--accent);border-color:var(--accent);color:#fff}.detail-cover{padding:62px 34px 28px;background:#123426;color:#fff}.detail-cover span{font-size:11px;color:#a8d8b9}.detail-cover h2{margin:12px 0 0;font-size:28px}.detail-copy{padding:30px 34px;color:var(--muted);line-height:1.85}.toast{position:fixed;z-index:50;left:50%;bottom:25px;transform:translate(-50%,100px);padding:12px 18px;border-radius:8px;background:#123426;color:#fff;font-size:12px;transition:.25s}.toast.show{transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body.dark{--bg:#151512;--paper:#21211d;--ink:#f1eee5;--muted:#a6a198;--line:#373630;--shadow:0 10px 30px rgba(0,0,0,.25)}
@media(max-width:800px){
  :root{
    --header-bar-h:56px;
  }
  .desktop-nav,.search-trigger .search-text{display:none}
  .menu-button{display:grid}
  body{padding-top:var(--header-offset)}
  /* 全站统一移动顶导（首页 / 列表 / 正文同一套，勿按页面改） */
  .header-inner{
    height:var(--header-bar-h);
    padding:0 12px;
    gap:6px;
    overflow:visible;
  }
  .site-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:200;
    background:var(--bg);
    padding-top:var(--safe-top);
  }
  /* 情报左右箭头仅 PC 显示 */
  .briefs-section .rail-button{display:none!important}
  /* 左：菜单 + Logo；右：搜索 + 头像（最右） */
  .header-actions{
    margin-left:auto;
    gap:6px;
    flex:0 0 auto;
    align-items:center;
  }
  .brand{
    margin-left:0;
    flex:0 1 auto;
    min-width:0;
    gap:0;
    align-items:center;
  }
  .brand b{font-size:17px;letter-spacing:-.3px}
  .brand-tagline{display:block!important}
  /* 菜单三横 / 搜索：同尺寸圆形触控 */
  .header-actions button{
    width:52px;
    height:52px;
    min-width:52px;
    padding:0;
    border:0!important;
    border-radius:50%;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--ink);
    display:grid;
    place-items:center;
  }
  .header-actions button:hover,
  .header-actions button:active{
    background:color-mix(in srgb,var(--accent) 10%,transparent)!important;
  }
  .search-trigger{
    padding:0!important;
    order:1;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .search-trigger .search-icon{
    font-size:30px;
    font-weight:700;
    transform:none;
    line-height:1;
  }
  .lang-switch{
    order:1;
    height:32px;
    min-width:0;
    align-self:center;
  }
  .lang-switch-opt{
    min-width:30px;
    padding:0 9px;
    font-size:12px;
  }
  .search-trigger{order:0}
  .account-button{order:2}
  .menu-button{
    display:grid;
    place-items:center;
    margin:0 2px 0 0;
    font-size:36px;
    line-height:1;
    font-weight:700;
    width:52px;
    height:52px;
    min-width:52px;
    padding:0;
    border:0!important;
    border-radius:50%;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--ink);
    -webkit-tap-highlight-color:transparent;
  }
  .menu-button:hover,
  .menu-button:active{
    background:color-mix(in srgb,var(--accent) 10%,transparent)!important;
  }
  /* 头像略小 */
  .account-button{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    padding:0!important;
    gap:0;
    overflow:hidden;
    border-radius:50%!important;
  }
  .account-button .account-name,
  .account-button .member-crown,
  .account-button .account-label{display:none!important}
  .account-button .account-avatar,
  .account-button .account-avatar-fallback,
  .account-button .account-avatar-guest{
    width:30px;
    height:30px;
    border-radius:50%;
    font-size:12px;
    font-weight:800;
  }
  .account-button .account-avatar-guest svg{
    width:16px;
    height:16px;
  }
  .account-button.member{
    border:0!important;
    background:transparent!important;
    color:inherit!important;
  }
  .hero{padding-top:38px}
  .hero h1{font-size:34px}
  .article-grid{grid-template-columns:repeat(2,1fr)}
  .newsletter{align-items:stretch;flex-direction:column}
  .newsletter form{min-width:0}
  .community-section{margin-top:52px}
  .community-section h1,.community-section h2{font-size:34px}
  /* 侧滑菜单：从左侧滑出 */
  .mobile-menu{
    position:fixed;
    display:flex;
    /*
     * 层级（从低到高）：
     * 返回条 90 < FAB 180 < 顶栏 200 < 进度条 220
     * < 遮罩 500 < 侧栏 510
     * 侧栏必须高于顶栏，否则打开后会被顶导压住顶部菜单项。
     */
    z-index:510;
    left:0;
    right:auto;
    top:0;
    bottom:0;
    width:min(300px,82vw);
    /* 顶对齐：仅保留安全区与少许顶距；无关闭按钮 */
    padding:calc(12px + var(--safe-top)) 0 max(24px,env(safe-area-inset-bottom,0px));
    flex-direction:column;
    justify-content:flex-start;
    align-items:stretch;
    gap:0;
    background:var(--paper);
    transform:translateX(-100%);
    transition:transform .25s ease;
    box-shadow:8px 0 28px rgba(0,0,0,.12);
    /* 内容超出时可上下滑动 */
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y;
  }
  .mobile-menu.open{transform:translateX(0)}
  /* 一级项：左对齐、字号偏大、字重偏细，底色贯通全宽 */
  .mobile-menu > a{
    display:block;
    flex:0 0 auto;
    padding:15px 20px;
    border-bottom:1px solid var(--line);
    border-radius:0;
    font-size:17px;
    font-weight:400;
    letter-spacing:.01em;
    text-align:left;
    color:var(--ink);
    background:transparent;
  }
  .mobile-menu > a:last-of-type{border-bottom:0}
  .mobile-menu > a.active,
  .mobile-menu > a:active{
    background:color-mix(in srgb,var(--accent) 12%,var(--paper));
    color:var(--accent);
    font-weight:500;
  }
  .mobile-menu a{text-decoration:none}
  /* 关闭按钮已移除 */
  .mobile-menu .menu-close{display:none!important}
  .scrim{
    position:fixed;
    display:block;
    z-index:500;
    inset:0;
    background:rgba(0,0,0,.36);
    opacity:0;
    pointer-events:none;
    transition:.25s;
  }
  .scrim.open{opacity:1;pointer-events:auto}
  html.mobile-nav-open,body.mobile-nav-open{overflow:hidden;touch-action:none}
  /* 打开时：顶栏保持默认 200（在遮罩下），勿抬高，否则会盖住侧栏顶部 */
  html.mobile-nav-open .article-floating-tools,
  body.mobile-nav-open .article-floating-tools{
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    z-index:0;
  }
  html.mobile-nav-open .site-fab,
  body.mobile-nav-open .site-fab{
    visibility:hidden;
    pointer-events:none;
  }
  /* 首页：移动端收起旧 intro，焦点双卡改纵向堆叠 */
  .home-intro{display:none!important}
}
@media(max-width:560px){
  main{padding:0 16px}
  .header-inner{padding:0 12px}
  .hero h1{font-size:30px}
  .featured h2{font-size:23px}
  .watermark{font-size:43px}
  .section-heading{align-items:flex-start;flex-direction:column}
  .article-grid{grid-template-columns:1fr}
  .article-card{display:grid;grid-template-columns:42% 58%}
  .card-art{height:100%;aspect-ratio:auto}
  .art-label{font-size:18px}
  .card-body h3{min-height:0}
  .card-body p{display:none}
  .newsletter{padding:28px 20px}
  .newsletter form,.community-subscribe{flex-direction:column;gap:8px}
  .newsletter input,.newsletter button,.community-subscribe input,.community-subscribe button{height:44px;border-radius:7px}
  .community-section{padding:0 0 42px}
  .community-section h1,.community-section h2{font-size:28px}
  .community-card{padding:20px}
  .community-button{width:100%;justify-content:flex-start;overflow:hidden;text-overflow:ellipsis}
  footer{grid-template-columns:1fr}
  .footer-brand{grid-column:auto}
  .footer-note{display:flex!important}
  /* 移动端焦点已隐藏，无需额外 padding */
}

.account-button{display:flex;align-items:center;gap:8px;max-width:260px;padding:0;font-weight:600;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink)}.account-label,.account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-meta{display:inline-flex;flex-direction:row;align-items:center;gap:6px;min-width:0}.account-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:0 0 auto}.account-avatar-fallback{display:grid;place-items:center;background:var(--accent);color:#fff;font-size:11px;font-weight:800}.account-avatar-guest{display:grid;place-items:center;background:#fff;color:#5a6b62;border:1px solid var(--line);box-sizing:border-box}.account-avatar-guest svg{display:block;width:15px;height:15px}.account-button .account-avatar-guest{width:28px;height:28px}.account-member-tag{display:inline-block;padding:2px 7px;border-radius:4px;background:linear-gradient(135deg,#f0d78c,#c9a227);color:#15120b;font-size:10px;font-weight:800;line-height:1.25;letter-spacing:.02em;flex:0 0 auto}.member-crown{display:none}.account-button.member{border:0!important;background:transparent!important;color:var(--ink)!important;box-shadow:none!important}
@media(min-width:801px){
  .account-button{min-height:40px;height:auto;padding:4px 4px 4px 2px;background:transparent!important;border:0!important}
  .account-button:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)!important}
  .account-button .account-name{font-size:13px;font-weight:700;color:var(--ink);max-width:120px}
  .account-button.member .account-name{color:var(--ink)}
  .header-actions .account-button{border:0!important;background:transparent!important}
}
@media(max-width:800px){
  .account-meta,.account-member-tag{display:none!important}
  .site-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:200;
    background:var(--bg);
    padding-top:var(--safe-top);
  }
}
/* 弹窗打开时锁定页面背景滚动（由 JS 加 .modal-scroll-lock） */
html.modal-scroll-lock,body.modal-scroll-lock{overflow:hidden!important;overscroll-behavior:none}
body.modal-scroll-lock{position:fixed;left:0;right:0;width:100%}
/* 通用 dialog：矮屏内容可滚，不把滚动传给背景 */
dialog.search-dialog,dialog.share-dialog,dialog.site-confirm-dialog,dialog.article-dialog{
  max-width:calc(100vw - 24px);
  max-height:min(92dvh,920px);
  margin:auto;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch
}
/* 账户弹窗：外壳不滚 + 绝对定位关闭钮；内容在 .auth-panel 内滚，避免 sticky/float 失效与滑动穿透 */
.auth-dialog{
  position:relative;
  width:min(520px,calc(100% - 30px));
  max-width:calc(100vw - 24px);
  max-height:min(92dvh,920px);
  margin:auto;
  padding:0;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 24px 70px rgba(22,70,47,.16);
  overflow:hidden;
  overscroll-behavior:none
}
.auth-dialog[open]{
  display:flex;
  flex-direction:column
}
.auth-close{
  position:absolute;
  top:8px;
  right:8px;
  z-index:20;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  margin:0;
  padding:0;
  border:0;
  border-radius:999px;
  background:color-mix(in srgb,var(--paper) 94%,var(--bg));
  color:var(--muted);
  font-size:26px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 1px 0 color-mix(in srgb,var(--line) 70%,transparent);
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent
}
.auth-close:hover{color:var(--ink);background:var(--bg)}
.auth-close:active{transform:scale(.96)}
.auth-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.auth-panel{
  flex:1 1 auto;
  min-height:0;
  /* 直接限制面板高度，避免仅 max-height 的 flex 容器在移动端不收缩、内容拖不动 */
  max-height:min(92dvh,920px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  padding:44px 28px 28px;
  scrollbar-gutter:stable
}
.auth-panel h2{margin:10px 0 24px;font-size:28px}
.auth-panel>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6}
/* 站内确认：第二个 modal dialog，叠在账户弹窗 top layer 之上 */
.site-confirm-dialog{width:min(420px,calc(100% - 32px));max-width:calc(100vw - 32px);padding:0;border:0;border-radius:18px;background:transparent;color:var(--ink);box-shadow:none}
.site-confirm-dialog::backdrop{background:rgba(12,38,27,.52);backdrop-filter:blur(4px)}
.site-confirm-card{padding:26px 24px 22px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 24px 60px rgba(22,70,47,.22)}
.site-confirm-kicker{margin:0 0 8px}
.site-confirm-title{margin:0 0 12px;color:var(--ink);font-size:22px;line-height:1.3;letter-spacing:-.3px}
.site-confirm-body{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.75;white-space:pre-wrap}
.site-confirm-body[hidden]{display:none}
.site-confirm-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.site-confirm-cancel,.site-confirm-ok{min-height:42px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:800;cursor:pointer}
.site-confirm-cancel{border:1px solid var(--line);background:var(--paper);color:var(--muted)}
.site-confirm-cancel:hover{border-color:var(--accent);color:var(--ink)}
.site-confirm-ok{border:0;background:var(--accent);color:#fff;box-shadow:0 10px 22px rgba(15,95,61,.18)}
.site-confirm-ok:hover{filter:brightness(.97)}
.site-confirm-dialog.is-danger .site-confirm-ok{background:linear-gradient(180deg,#c94b3d,#a83228);box-shadow:0 10px 22px rgba(168,50,40,.18)}
.site-confirm-dialog.is-danger .site-confirm-title{color:#8a2a22}
body.dark .site-confirm-card{background:var(--paper);border-color:var(--line)}
body.dark .site-confirm-dialog.is-danger .site-confirm-title{color:#ffb4a8}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:20px;border:1px solid var(--line);border-radius:13px;overflow:hidden}.auth-tabs button{height:48px;border:0;background:transparent;color:var(--muted);font-weight:800}.auth-tabs button.active{background:var(--ink);color:var(--paper)}.signup-benefits{margin-bottom:18px;padding:16px 18px;border:1px solid #b9d9c7;border-radius:13px;background:#f1faf5;color:#2d895b;font-size:14px;line-height:1.7}.signup-benefits p{margin:0}
.social-login-buttons{display:grid;gap:10px;margin:18px 0 0}
.google-login-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 18px;border:0;border-radius:999px;font-size:17px;font-weight:800;cursor:pointer;background:var(--accent);color:#fff;box-shadow:0 10px 24px rgba(223,84,55,.18)}
.google-login-button:hover{filter:brightness(.97)}
.social-login-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:800;line-height:1;box-shadow:0 1px 5px rgba(0,0,0,.12)}
.social-login-icon-google{background:#fff;color:#4285f4}
.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--muted);font-size:13px}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.auth-form{display:grid;gap:12px}.auth-form input{height:54px;padding:0 18px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font-size:17px}.auth-message{display:block;min-height:20px;margin-top:12px;color:var(--green)}
.auth-form button,.magic-link-button,.subscribe-button{padding:13px 18px;border:0;border-radius:999px;background:var(--accent);color:#fff;font-weight:800}.auth-form button{margin-top:4px;background:var(--paper);color:var(--ink);border:1px solid var(--line)}.magic-link-button{width:100%;margin-top:12px;background:var(--paper);color:var(--ink);border:1px solid var(--line)}.forgot-password-button{display:block;margin:14px auto 0;border:0;background:none;color:var(--muted);font-weight:700}.auth-switch-line{margin:22px 0 0;padding-top:20px;border-top:1px solid var(--line);color:var(--accent);font-weight:800}.auth-switch-line button{border:0;background:none;color:inherit;font-weight:inherit}
.membership-card{display:flex;flex-direction:column;gap:0;margin:18px 0;padding:12px 16px 14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 70%,var(--bg)),var(--bg));box-shadow:0 8px 22px rgba(22,70,47,.05)}
.membership-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:0}
.membership-member-rows[hidden]{display:none}
.membership-member-rows:not([hidden]){border-top:1px solid color-mix(in srgb,var(--line) 85%,transparent);margin-top:4px;padding-top:2px}
.membership-member-rows .membership-row{border-bottom:1px solid color-mix(in srgb,var(--line) 85%,transparent)}
.membership-member-rows .membership-row:last-child{border-bottom:0}
.membership-plan-row{padding-top:4px;padding-bottom:10px}
.membership-card .subscribe-button{margin:6px 0 2px;width:100%;line-height:1.35}
.membership-card .subscribe-button[hidden]{display:none!important}
.membership-card .subscribe-button .subscribe-price{font-weight:700;opacity:.92}
.membership-row-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.membership-row-label{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em}
.membership-status,.membership-expiry,.membership-renewal-note{color:var(--ink);font-size:15px;font-weight:800;line-height:1.3}
.membership-renewal-note[data-state="off"]{color:var(--muted);font-weight:700}
.member-actions{display:grid;gap:10px;margin-top:4px}
.member-footer-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding-top:4px}
.delete-account-button{margin:0;padding:0;border:0;background:none;color:var(--muted);font-size:12px;font-weight:500;opacity:.55;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.delete-account-button:hover{opacity:.85;color:var(--muted)}
.delete-account-button:disabled{opacity:.4;cursor:wait}
.member-footer-row .signout-button{width:auto;margin:0;min-height:auto;padding:8px 4px 8px 12px;font-size:13px}
.member-manage-link{flex:0 0 auto;margin:0;padding:0;border:0;background:none;color:var(--muted);font-size:12px;font-weight:600;line-height:1.35;opacity:.58;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-align:right;white-space:nowrap}
.member-manage-link:hover{opacity:1;color:var(--accent)}
.member-manage-link:disabled{opacity:.4;cursor:wait;text-decoration:none}
/* 个人中心：取消/恢复自动续订互斥，避免被其它 display 规则顶掉 hidden */
.cancel-renewal-button[hidden],
.resume-renewal-button[hidden],
.cancel-membership-button[hidden]{
  display:none!important
}
.member-btn-primary,.member-btn-ghost{width:100%;min-height:48px;padding:13px 18px;border-radius:999px;font-size:15px;font-weight:800;cursor:pointer;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}
.member-btn-primary{border:0;background:var(--accent);color:#fff;box-shadow:0 12px 28px rgba(15,95,61,.18)}
.member-btn-primary:hover{filter:brightness(.96);transform:translateY(-1px)}
.member-btn-ghost{border:0;background:transparent;color:var(--muted);min-height:42px;font-weight:700;box-shadow:none}
.member-btn-ghost:hover{color:var(--ink)}
.member-btn-primary:disabled{opacity:.55;cursor:wait;transform:none}
.member-manage-message{display:flex;align-items:flex-start;gap:10px;margin:4px 0 8px;padding:12px 14px;border-radius:12px;font-size:13px;font-weight:700;line-height:1.65;white-space:pre-wrap;box-sizing:border-box}
.member-manage-message[hidden]{display:none!important}
.member-manage-message:not([hidden]):empty{display:none}
.member-manage-message-icon{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;margin-top:1px}
.member-manage-message-text{flex:1;min-width:0}
.member-manage-message.is-loading{border:1.5px dashed color-mix(in srgb,var(--green) 55%,var(--line));background:color-mix(in srgb,#eef8f1 88%,var(--paper));color:#2d7a52}
.member-manage-message.is-loading .member-manage-message-icon{color:#2f8a5f}
.member-manage-message.is-success{border:1px solid color-mix(in srgb,var(--green) 42%,var(--line));background:linear-gradient(180deg,#eef9f2,#e2f4e9);color:#1a6b42;box-shadow:0 6px 16px rgba(15,95,61,.08)}
.member-manage-message.is-success .member-manage-message-icon{color:#1f8a52}
.member-manage-message.is-error{border:1px solid #e2a09a;background:linear-gradient(180deg,#fff8f7,#ffefed);color:#9b1c1c;box-shadow:0 6px 16px rgba(155,28,28,.08)}
.member-manage-message.is-error .member-manage-message-icon{color:#c0392b}
.member-panel .member-manage-message.is-loading{border-color:color-mix(in srgb,#c7902d 40%,var(--line));background:color-mix(in srgb,rgba(247,215,122,.12) 70%,var(--paper));color:#8a6a20}
.member-panel .member-manage-message.is-loading .member-manage-message-icon{color:#b8922e}
.member-panel .member-manage-message.is-success{border-color:color-mix(in srgb,#c7902d 35%,var(--line));background:linear-gradient(180deg,rgba(247,215,122,.18),color-mix(in srgb,var(--bg) 75%,#fff8e8));color:#8a6518}
.member-panel .member-manage-message.is-success .member-manage-message-icon{color:#a67c1a}
.member-panel .member-manage-message.is-error{border-color:rgba(255,140,120,.55);background:rgba(90,24,18,.1);color:#b42318}
.member-panel .member-manage-message.is-error .member-manage-message-icon{color:#c94b3d}
.subscribe-button,.signout-button{width:100%}
.signout-button{margin-top:0}
.member-head{display:flex;align-items:center;gap:16px;margin:2px 0 6px}
.member-avatar-slot{flex:0 0 auto}
.member-avatar-lg{display:block;width:68px;height:68px;border-radius:50%;object-fit:cover;box-shadow:0 8px 20px rgba(22,70,47,.14);border:2px solid color-mix(in srgb,var(--paper) 70%,#fff)}
.member-avatar-lg.member-avatar-fallback{display:grid;place-items:center;background:var(--accent);color:#fff;font-size:26px;font-weight:800}
.member-avatar-slot.is-member .member-avatar-lg{box-shadow:0 0 0 3px rgba(15,95,61,.18),0 10px 24px rgba(22,70,47,.16)}
.member-head-text{min-width:0;flex:1}
.member-head-text .eyebrow{margin:0 0 4px}
.member-display-name{margin:0 0 4px!important;font-size:24px!important;line-height:1.2}
.member-email{margin:0;color:var(--muted);font-size:13px;word-break:break-all}
.account-identities{margin:0 0 16px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--bg);box-shadow:0 8px 22px rgba(22,70,47,.04)}
.account-identities-label{display:block;margin:0 0 12px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.account-linked-list{display:flex;flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;width:100%}
.account-linked-list:empty{display:none}
.account-linked-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink)}
.account-linked-row[data-provider="google"]{border-color:#c6d4f5}
.account-linked-row[data-provider="x"],.account-linked-row[data-provider="twitter"]{border-color:#cfd3d6}
.account-linked-row[data-provider="email"]{border-color:#c9e2d4}
.account-linked-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.account-linked-title{font-size:14px;font-weight:800;line-height:1.25;color:var(--ink)}
.account-linked-account{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;font-weight:600;line-height:1.3}
.account-linked-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:8px}
.account-change-password-button,.account-unlink-button{flex:0 0 auto;margin:0;padding:8px 14px;border:1px solid color-mix(in srgb,var(--ink) 12%,var(--line));border-radius:999px;background:var(--bg);color:var(--muted);font-size:12px;font-weight:800;cursor:pointer;line-height:1.2;white-space:nowrap}
.account-change-password-button{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--paper))}
.account-change-password-button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--paper))}
.account-unlink-button:hover{border-color:var(--accent);color:var(--accent);background:var(--paper)}
.account-unlink-button:disabled,.account-change-password-button:disabled{opacity:.5;cursor:wait}
.account-unlink-placeholder{flex:0 0 52px}
@media(max-width:420px){
  .account-linked-actions{flex-wrap:wrap;justify-content:flex-end}
}
.account-link-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:4px 0 6px}
.account-link-actions .link-identity-button,.account-password-submit{width:100%;min-height:42px;padding:10px 12px;border:1.5px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.04)}
.account-link-actions .link-identity-button:hover,.account-password-submit:hover{border-color:var(--accent);color:var(--accent)}
.account-link-actions .link-identity-button:disabled,.account-password-submit:disabled{opacity:.45;cursor:default;border-color:var(--line);color:var(--muted);box-shadow:none}
.account-link-actions .link-identity-button[hidden]{display:none}
.account-password-box{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.account-password-email{margin:0 0 8px;color:var(--ink);font-size:13px;font-weight:700}
.account-password-hint,.account-password-no-email{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.55}
.account-password-success{margin:0 0 4px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--green) 35%,var(--line));border-radius:14px;background:linear-gradient(180deg,#f1faf5,#e8f6ee)}
.account-password-success-title{margin:0 0 6px;color:var(--accent);font-size:15px;font-weight:800;line-height:1.35}
.account-password-success-desc{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.6}
.account-password-change-btn{margin:0;padding:0;border:0;background:none;color:var(--accent);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.account-password-change-btn:hover{opacity:.85}
.account-password-inline-change{display:block;margin:4px 0 12px;padding:0;border:0;background:none;color:var(--accent);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.account-password-inline-change:hover{opacity:.85}
.account-password-inline-change[hidden]{display:none!important}
.account-password-form{display:grid;gap:8px}
.account-password-form input{width:100%;box-sizing:border-box;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font-size:14px}
.account-password-form input:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:1px}
.account-password-submit{margin-top:2px;background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(15,95,61,.14)}
.account-password-submit:hover{filter:brightness(.97);color:#fff;border-color:transparent}
.account-password-cancel{margin-top:4px;padding:10px 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.account-password-cancel:hover{color:var(--ink)}
.account-password-cancel[hidden]{display:none!important}
.account-password-box:not([hidden]){scroll-margin-bottom:24px}
.account-password-message{display:block;min-height:1.2em;margin-top:10px;color:var(--green);font-size:12px;line-height:1.55;white-space:pre-wrap}
.account-password-message.is-success{color:var(--green)}
.account-password-message.is-error{padding:10px 12px;border:1px solid #e2a09a;border-radius:10px;background:#fff5f4;color:#9b1c1c;font-weight:600}
.member-panel .account-password-success{border-color:color-mix(in srgb,#c7902d 30%,var(--line));background:linear-gradient(180deg,rgba(247,215,122,.14),color-mix(in srgb,var(--bg) 70%,#fff8e8))}
.member-panel .account-password-success-title{color:#8a6518}
.member-panel .account-password-change-btn{color:#8a6518}
.account-link-message{display:flex;align-items:flex-start;gap:10px;margin:16px 0 14px;padding:13px 14px;border-radius:12px;font-size:13px;font-weight:700;line-height:1.65;white-space:pre-wrap;box-sizing:border-box}
.account-link-message[hidden]{display:none!important}
.account-link-message-icon{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;margin-top:1px}
.account-link-message-text{flex:1;min-width:0}
.account-link-msg-svg{display:block}
.account-link-msg-svg-loading{animation:account-link-spin .8s linear infinite}
@keyframes account-link-spin{to{transform:rotate(360deg)}}
/* 进行中：淡绿虚线框 + loading */
.account-link-message.is-loading{border:1.5px dashed color-mix(in srgb,var(--green) 55%,var(--line));background:color-mix(in srgb,#eef8f1 88%,var(--paper));color:#2d7a52;box-shadow:none}
.account-link-message.is-loading .account-link-message-icon{color:#2f8a5f}
/* 成功：绿色底 + 对勾 */
.account-link-message.is-success{border:1px solid color-mix(in srgb,var(--green) 42%,var(--line));background:linear-gradient(180deg,#eef9f2,#e2f4e9);color:#1a6b42;box-shadow:0 6px 16px rgba(15,95,61,.08)}
.account-link-message.is-success .account-link-message-icon{color:#1f8a52}
/* 失败：红底 + 叉 */
.account-link-message.is-error{border:1px solid #e2a09a;background:linear-gradient(180deg,#fff8f7,#ffefed);color:#9b1c1c;box-shadow:0 6px 16px rgba(155,28,28,.08)}
.account-link-message.is-error .account-link-message-icon{color:#c0392b}
.account-link-hint{margin:0;padding-top:2px;color:var(--muted);font-size:12px;line-height:1.55;font-weight:400}
.member-panel .account-link-message.is-loading{border-color:color-mix(in srgb,#c7902d 40%,var(--line));background:color-mix(in srgb,rgba(247,215,122,.12) 70%,var(--paper));color:#8a6a20}
.member-panel .account-link-message.is-loading .account-link-message-icon{color:#b8922e}
.member-panel .account-link-message.is-success{border-color:color-mix(in srgb,#c7902d 35%,var(--line));background:linear-gradient(180deg,rgba(247,215,122,.18),color-mix(in srgb,var(--bg) 75%,#fff8e8));color:#8a6518}
.member-panel .account-link-message.is-success .account-link-message-icon{color:#a67c1a}
.member-panel .account-link-message.is-error{border-color:rgba(255,140,120,.55);background:rgba(90,24,18,.12);color:#b42318}
.member-panel .account-link-message.is-error .account-link-message-icon{color:#c94b3d}
/* 登录态弹窗：站内绿系纸面风格；外壳不滚，.logged-in-panel 内滚，关闭钮始终钉在右上角 */
.auth-dialog.member-mode{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:0 28px 80px rgba(22,70,47,.22);
  overflow:hidden;
  overscroll-behavior:none
}
.auth-dialog.member-mode .auth-close{
  top:12px;
  right:12px;
  color:var(--muted);
  background:color-mix(in srgb,var(--paper) 96%,transparent);
  box-shadow:0 2px 10px rgba(22,70,47,.1)
}
.auth-dialog.member-mode .auth-close:hover{color:var(--ink);background:var(--paper)}
.auth-dialog.member-mode .logged-in-panel{
  margin:0;
  padding:48px 26px 22px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 18px 48px rgba(22,70,47,.1);
  flex:1 1 auto;
  min-height:0;
  max-height:min(92dvh,920px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y
}
/* 会员：轻量金色点缀，仍沿用站内卡片语言 */
.member-panel{background:
  radial-gradient(circle at 12% 0,rgba(247,215,122,.16),transparent 36%),
  linear-gradient(180deg,color-mix(in srgb,var(--paper) 92%,#fff8e8),var(--paper));
}
.member-panel .membership-card{
  border-color:color-mix(in srgb,#c7902d 28%,var(--line));
  background:linear-gradient(180deg,rgba(247,215,122,.12),color-mix(in srgb,var(--bg) 80%,#fff8e8));
  box-shadow:0 10px 24px rgba(77,54,12,.06);
}
.member-panel .membership-status{color:#8a6518}
.member-panel .membership-renewal-note[data-state="on"]{color:var(--accent)}
.member-panel .member-avatar-slot.is-member .member-avatar-lg{box-shadow:0 0 0 3px rgba(199,144,45,.28),0 10px 24px rgba(22,70,47,.12)}
.member-panel .account-identities{background:var(--bg)}
.member-panel .member-btn-primary{background:linear-gradient(180deg,#0f5f3d,#0b4d31);box-shadow:0 12px 28px rgba(15,95,61,.2)}
.member-panel .member-manage-link:hover{color:#8a6518}
@media(max-width:420px){
  .account-link-actions{grid-template-columns:1fr}
  .member-head{gap:12px}
  .member-avatar-lg{width:56px;height:56px}
  .member-display-name{font-size:20px!important}
  .membership-row{align-items:flex-start}
  .member-manage-link{padding-top:2px}
}
.premium-gate{margin:25px -5px 0;padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--bg);text-align:center}.premium-gate h3{margin:0 0 8px;color:var(--ink)}.premium-gate p{font-size:13px}.premium-gate button{padding:12px 18px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:700}
.premium-preview{position:relative;max-height:min(560px,52vh);overflow:hidden}.premium-preview::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(180deg,rgba(251,255,248,0),var(--paper) 86%);pointer-events:none}.premium-preview+.premium-gate{position:relative;z-index:2;margin-top:18px}
/* 正文打开中 / 错误：居中 + SVG loading */
.article-state{display:flex;align-items:center;justify-content:center;min-height:min(62vh,560px);padding:48px 28px;text-align:center}
.article-state-inner{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:420px;margin:0 auto}
.article-loading-text{margin:0;color:var(--muted);font-size:15px;letter-spacing:.02em}
.article-loading-svg{display:block;color:var(--accent)}
.article-loading-track{stroke:color-mix(in srgb,var(--accent) 18%,var(--line));opacity:.9}
.article-loading-arc{stroke:var(--accent);stroke-dasharray:70 113;transform-origin:24px 24px;animation:article-spin .85s linear infinite}
@keyframes article-spin{to{transform:rotate(360deg)}}
.article-shell.article-error{border:0;background:transparent;box-shadow:none;border-radius:0}
.article-error h1{margin:0;color:var(--ink);font-size:clamp(26px,5vw,34px);font-weight:900;letter-spacing:-.4px}
.article-error p{display:none}
.article-error .page-back-button{margin-top:8px;pointer-events:auto}
body.dark .article-loading-track{stroke:rgba(79,203,125,.22)}
@media(prefers-reduced-motion:reduce){.article-loading-arc{animation:none;stroke-dasharray:90 113;opacity:.75}}

/* 全站 404 / 错误页：无底框，原图圆形裁切 */
.error-page{display:flex;align-items:center;justify-content:center;padding:36px 18px 72px;min-height:min(68vh,640px)}
.error-panel,.article-error .article-state-inner{position:relative;width:min(480px,100%);margin:0 auto;padding:12px;border:0;background:transparent;box-shadow:none;text-align:center}
.error-panel::before{display:none}
.error-mascot-ring{position:relative;display:block;width:min(168px,42vw);height:min(168px,42vw);margin:0 auto 20px;border-radius:50%;overflow:hidden;border:2px solid color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:0 8px 24px rgba(22,70,47,.1)}
.error-mascot{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;border-radius:50%}
.error-panel h1,.article-error h1{position:relative;margin:0 0 18px;color:var(--ink);font-size:clamp(28px,5.5vw,38px);line-height:1.2;letter-spacing:-.6px;font-weight:900}
.error-home-link{display:inline-block;color:var(--accent);font-size:15px;font-weight:700;text-decoration:none;border:0;background:none;padding:0;box-shadow:none}
.error-home-link:hover{text-decoration:underline;color:#0b3f29}
body.dark .error-mascot-ring{border-color:rgba(79,203,125,.35);box-shadow:0 10px 28px rgba(0,0,0,.3)}
body.dark .error-home-link{color:#4fcb7d}
body.dark .error-home-link:hover{color:#7ee0a4}
@media(max-width:560px){
  .error-mascot-ring{width:148px;height:148px}
}

/* 正文版块统一间距（试读 + 会员正文同一 stack，01/02 之间也有 gap） */
/* 分节间距由 .md-section + .md-section 顶部分割控制（阶段 B） */
.md-body.article-md-stack{display:flex;flex-direction:column;gap:0}
.md-body.premium-free-teaser+.premium-gate{margin-top:22px!important}
.article-highlights+.md-body{margin-top:0}
.article-highlights+.premium-gate{margin-top:22px!important}
.premium-gate+.reference-sources{margin-top:28px}
.card-art.with-image{background-image:linear-gradient(135deg,rgba(10,42,28,.64),rgba(10,42,28,.2)),var(--image);background-size:cover;background-position:center}.card-art.with-image .art-label{text-shadow:0 3px 16px rgba(0,0,0,.45)}
.card-source time{margin-left:auto;color:#aaa399;font-size:10px}.card-art.with-image{background-image:linear-gradient(135deg,rgba(255,255,255,.1),rgba(15,95,61,.06)),var(--image)}.card-art.with-image::after{background:linear-gradient(135deg,transparent,rgba(255,255,255,.08))}
.featured-hero{padding:42px 0 32px}.card-art.with-image{background-image:var(--image)}.card-art.with-image::after{display:none}
.featured-card{background:linear-gradient(130deg,#0b2f23,#0f5f3d 58%,#123426)}.featured-glow{background:#4fcb7d}.featured-card h2{max-width:710px;margin:18px 0 9px;font-size:27px;line-height:1.3;letter-spacing:-.6px}.featured-card p{margin:0 0 16px;color:#d7eadc;font-size:13px}.featured-card time{color:#b9e6c7;font-size:11px}
.featured-hero{padding:16px 0 12px;overflow-x:clip;max-width:100%}.featured-card{display:grid;grid-template-columns:minmax(0,1fr) 430px;min-height:210px;margin-top:7px;max-width:100%}.featured-content{display:flex;flex-direction:column;justify-content:center;max-width:none;padding:34px 38px}.featured-card h2{max-width:620px;margin:16px 0 9px;font-size:25px}.featured-card p{max-width:650px;margin-bottom:14px}.featured-image{position:relative;z-index:1;min-height:210px;margin-left:-180px;background:var(--image);background-size:cover;background-position:center;opacity:.9;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.05) 10%,rgba(0,0,0,.32) 28%,#000 58%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.05) 10%,rgba(0,0,0,.32) 28%,#000 58%)}.featured-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,95,61,.9) 0%,rgba(15,95,61,.5) 26%,rgba(15,95,61,.12) 54%,rgba(255,255,255,.05) 100%)}.news-section{padding-top:12px}
.featured-card.featured-carousel{display:block;min-height:210px;background:transparent;cursor:default}.featured-track{display:flex;height:100%;transition:transform .45s cubic-bezier(.22,.72,.18,1);will-change:transform}
.featured-card.featured-duo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  min-height:0;
  margin-top:8px;
  background:transparent;
  cursor:default;
}
.featured-card.featured-duo .featured-slide{
  grid-template-columns:1fr;
  min-height:118px;
  cursor:pointer;
}
.featured-card.featured-duo .featured-content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:14px 16px;
  gap:0;
}
.featured-card.featured-duo .featured-image{
  position:absolute;
  inset:0;
  z-index:0;
  min-height:0;
  margin:0;
  width:100%;
  height:100%;
  opacity:.8;
  -webkit-mask-image:none;
  mask-image:none;
}
.featured-card.featured-duo .featured-slide .featured-image::after{
  background:linear-gradient(
    180deg,
    rgba(var(--feat-rgb,15,95,61),.42) 0%,
    rgba(var(--feat-rgb,15,95,61),.28) 45%,
    rgba(var(--feat-rgb,15,95,61),.55) 100%
  );
}
.featured-card.featured-duo .featured-slide h2,
.featured-card.featured-duo .featured-card h2{
  max-width:none;
  margin:0;
  font-size:22px;
  font-weight:800;
  line-height:1.25;
  letter-spacing:-.4px;
  text-align:center;
  text-shadow:0 1px 2px rgba(0,0,0,.35),0 6px 16px rgba(0,0,0,.28);
}
.featured-card.featured-duo .featured-content{
  min-height:118px;
}
.featured-card.featured-duo .feat-member{
  position:absolute;
  top:8px;
  right:8px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  margin:0;
  padding:2px 8px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(0,0,0,.28);
  color:#ffe39a;
  font-size:11px;
  font-weight:700;
  letter-spacing:0;
  vertical-align:middle;
  white-space:nowrap;
}
.featured-card.featured-duo .feat-sub{
  display:block;
  margin:6px 0 0;
  color:var(--feat-time,#d7eadc);
  font-size:12px;
  font-weight:650;
  line-height:1.35;
  letter-spacing:.01em;
  text-align:center;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  font-variant-numeric:tabular-nums;
}
.featured-card.featured-duo .featured-slide p:not(.feat-sub){display:none}
@media(max-width:760px){
  .featured-card.featured-duo{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .featured-card.featured-duo .featured-slide{
    display:grid;
    grid-template-columns:1fr;
    aspect-ratio:auto;
    min-height:96px;
    height:auto;
    max-height:none;
  }
  .featured-card.featured-duo .featured-content{
    position:relative;
    z-index:2;
    inset:auto;
    padding:10px 8px;
    background:none;
    justify-content:center;
    text-align:center;
  }
  .featured-card.featured-duo .featured-image{
    position:absolute;
    inset:0;
    min-height:0;
    margin:0;
    width:100%;
    height:100%;
    -webkit-mask-image:none;
    mask-image:none;
  }
  .featured-card.featured-duo .featured-slide h2{
    font-size:16px;
    padding-right:0;
    -webkit-line-clamp:2;
  }
  .featured-card.featured-duo .feat-sub{font-size:11px;margin-top:4px}
}
/* 今日焦点：渐变/遮罩/文字优先用封面 LOGO 主色（--feat-*），无图时回退站点绿 */
.featured-slide{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  flex:0 0 100%;
  min-height:210px;
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(130deg,var(--feat-c1,#0b2f23),var(--feat-c2,#0f5f3d) 58%,var(--feat-c3,#123426));
  color:var(--feat-fg,#fff);
  text-decoration:none;
  transition:background .35s ease,color .25s ease
}
.featured-slide .featured-glow{
  background:var(--feat-glow,#4fcb7d);
  opacity:.48
}
.featured-slide .featured-image::after{
  /* 遮罩尽量贴 LOGO 主色，左侧更实、向右淡出 */
  background:linear-gradient(
    90deg,
    rgba(var(--feat-rgb,15,95,61),.94) 0%,
    rgba(var(--feat-rgb,15,95,61),.72) 22%,
    rgba(var(--feat-rgb,15,95,61),.38) 48%,
    rgba(var(--feat-rgb,15,95,61),.10) 72%,
    rgba(255,255,255,.03) 100%
  )
}
.featured-slide h2{
  color:var(--feat-title,#fff)
}
.featured-slide p{
  color:var(--feat-desc,#d7eadc)
}
.featured-slide time{
  color:var(--feat-time,#b9e6c7)
}
.featured-slide .pills{
  color:var(--feat-pill-fg,#ddd)
}
.featured-slide .pills span{
  color:var(--feat-pill-fg,#ddd);
  border-color:var(--feat-pill-border,rgba(255,255,255,.18));
  background:var(--feat-pill-bg,rgba(255,255,255,.07))
}
.featured-slide .pills .free{
  color:var(--feat-title,#b7f0c6);
  border-color:var(--feat-pill-border,#41815b)
}
.featured-slide:focus-visible{outline:3px solid rgba(var(--feat-rgb,15,107,71),.55);outline-offset:4px}
/* 轮播指示：仅小圆点，无箭头 */
.featured-card.featured-carousel{
  --feat-fg:#fff
}
.featured-dots{
  position:absolute;
  right:16px;
  bottom:14px;
  z-index:4;
  display:flex;
  align-items:center;
  gap:6px;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  pointer-events:auto
}
.featured-dots button{
  width:6px;
  height:6px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.4);
  box-shadow:0 0 0 1px rgba(0,0,0,.12);
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,opacity .2s ease
}
.featured-dots button:hover{
  background:rgba(255,255,255,.7)
}
.featured-dots button.active{
  width:6px;
  height:6px;
  background:#fff;
  transform:scale(1.35);
  box-shadow:0 0 0 1px rgba(0,0,0,.18)
}
.featured-card.feat-dark-text .featured-dots button{
  background:rgba(0,0,0,.28);
  box-shadow:0 0 0 1px rgba(255,255,255,.2)
}
.featured-card.feat-dark-text .featured-dots button.active{
  background:var(--feat-title,#123)
}
@media(max-width:760px){
  /*
   * 以下为方案 D 样式保留（若日后重新开启移动端焦点可直接用）
   */
  .featured-hero{padding:10px 0 8px}
  .featured-card,
  .featured-card.featured-carousel{
    display:block;
    min-height:0;
    margin-top:6px;
  }
  .featured-track{
    min-height:0;
  }
  .featured-slide{
    display:block;
    position:relative;
    /* 矮横幅，图为主、高度克制 */
    aspect-ratio:16/9;
    min-height:0;
    max-height:none;
    height:auto;
    overflow:hidden;
    border-radius:14px;
    background:linear-gradient(160deg,var(--feat-c1,#0b2f23),var(--feat-c2,#0f5f3d) 55%,var(--feat-c3,#123426));
  }
  .featured-slide .featured-glow{
    display:none;
  }
  /* 封面绝对铺满 */
  .featured-image{
    display:block;
    position:absolute;
    inset:0;
    z-index:0;
    min-height:0;
    margin:0;
    width:100%;
    height:100%;
    opacity:1;
    background-size:cover;
    background-position:center;
    -webkit-mask-image:none;
    mask-image:none;
    border-radius:inherit;
  }
  /* 轻遮罩：上半更透，中下略压暗方便叠字 */
  .featured-slide .featured-image::after{
    background:linear-gradient(
      180deg,
      rgba(0,0,0,.06) 0%,
      rgba(0,0,0,.04) 40%,
      rgba(var(--feat-rgb,15,95,61),.35) 72%,
      rgba(var(--feat-rgb,15,95,61),.62) 100%
    );
  }
  /* 标题叠在图中下部（杂志感），非厚底条 */
  .featured-content{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    top:auto;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:stretch;
    gap:0;
    max-width:none;
    min-height:0;
    padding:28px 14px 14px;
    box-sizing:border-box;
    background:linear-gradient(
      180deg,
      transparent 0%,
      rgba(0,0,0,.12) 45%,
      rgba(0,0,0,.38) 100%
    );
  }
  /* D：几乎无 pill，干净叠字；会员标仍保留 */
  .featured-slide .pills span:not(.free){
    display:none;
  }
  .featured-slide .pills:not(:has(.free)){
    display:none;
  }
  .featured-slide .pills{
    margin:0 0 6px;
  }
  .featured-slide .pills span.free{
    padding:3px 7px;
    font-size:9px;
    backdrop-filter:blur(8px);
    background:rgba(0,0,0,.32);
    border-color:rgba(255,255,255,.22);
    color:#ffe39a;
  }
  .featured-card h2,
  .featured-slide h2{
    max-width:none;
    margin:0;
    padding:0;
    padding-right:48px; /* 圆点 */
    font-size:16px;
    font-weight:700;
    line-height:1.32;
    letter-spacing:-.25px;
    color:#fff;
    text-shadow:
      0 1px 2px rgba(0,0,0,.45),
      0 2px 14px rgba(0,0,0,.4);
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    overflow:hidden;
  }
  .featured-slide p,
  .featured-slide time,
  .featured-card p,
  .featured-card time{
    display:none;
  }
  .featured-slide .watermark{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:36px;
    opacity:.18;
    z-index:0;
  }
  .featured-dots{
    right:10px;
    bottom:10px;
    gap:5px
  }
  .featured-dots button{
    width:5px;
    height:5px;
    background:rgba(255,255,255,.5);
    box-shadow:0 0 0 1px rgba(0,0,0,.18)
  }
  .featured-dots button.active{
    width:5px;
    height:5px;
    background:#fff;
    transform:scale(1.4)
  }
  .featured-card.featured-duo{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .featured-card.featured-duo .featured-slide{
    display:grid;
    grid-template-columns:1fr;
    aspect-ratio:auto;
    min-height:96px;
    height:auto;
  }
  .featured-card.featured-duo .featured-content{
    position:relative;
    z-index:2;
    left:auto;
    right:auto;
    bottom:auto;
    top:auto;
    padding:10px 8px;
    background:none;
    justify-content:center;
    text-align:center;
  }
  .featured-card.featured-duo .featured-image{
    position:absolute;
    inset:0;
    min-height:0;
    margin:0;
    width:100%;
    height:100%;
    -webkit-mask-image:none;
    mask-image:none;
  }
  .featured-card.featured-duo .feat-sub{font-size:11px;margin-top:4px}
}
@media(max-width:560px){
  .featured-slide{
    aspect-ratio:16/9;
    border-radius:12px;
  }
  body[data-nav="home"] .featured-card.featured-duo .featured-slide{
    aspect-ratio:auto;
    min-height:96px;
    border-radius:12px;
  }
  body[data-nav="home"] .featured-card.featured-duo .featured-content{
    padding:8px 6px;
    text-align:center;
  }
  body[data-nav="home"] .featured-card.featured-duo .featured-image{
    position:absolute;
    inset:0;
    min-height:0;
    margin:0;
  }
  body[data-nav="home"] .featured-card h2,
  body[data-nav="home"] .featured-slide h2{
    font-size:15px;
    margin:0;
    padding-right:44px;
  }
  body[data-nav="home"] .featured-card.featured-duo .featured-slide h2{
    font-size:15px;
    padding-right:0;
    line-height:1.25;
  }
  body[data-nav="home"] .featured-card.featured-duo .feat-sub{font-size:10px}
}
/*
 * ========== 正文阅读模板（修订方案步 1+2）==========
 * --art-shell：白底外壳宽（≈小互 article-body）
 * --art-read：阅读栏宽（≈小互 .inner），标题/要点/正文集中在此
 */
.article-page{
  --art-shell:884px;
  --art-read:680px;
  --art-measure:var(--art-shell); /* 兼容旧引用 / 返回条宽度 */
  --art-title-size:clamp(28px,4.2vw,33px);
  --art-title-lh:1.4;
  --art-dek-size:16px;
  --art-dek-lh:1.8;
  --art-body-size:17px;
  --art-body-lh:1.95;
  /* 正文 #6D886C；段落标题 #445338；文章大标题 .article-title 仍用 --ink 不动 */
  --art-paper:var(--paper);
  --art-body-color:#6D886C;
  --art-heading-color:#445338;
  --art-title-color:var(--ink);
  --art-muted:var(--muted);
  --art-note-size:14.5px;        /* 引用/注释/次要列表（对标小互 dim ~13–15） */
  --art-note-lh:1.75;
  --art-tldr-size:15px;          /* 先看要点条目 */
  --art-tldr-lh:1.7;
  --art-meta-size:12px;          /* 眉标、图注、参考来源 */
  --art-p-gap:20px;
  --art-content-pad-x:24px;
  --art-content-pad-y:8px;
  --art-h2-size:20px;
  --art-h3-size:17px;
  --art-li-gap:8px;
  max-width:var(--art-shell);
  width:100%;
  min-width:0;
  margin-left:auto;
  margin-right:auto;
  padding-top:18px;
  padding-bottom:80px;
}
.article-shell{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--art-paper,var(--paper));
  box-shadow:var(--shadow);
  max-width:100%;
  min-width:0
}
/* 内栏：kick / 标题 / 摘要 / 要点 / 正文 统一 680 */
.article-read{
  max-width:var(--art-read);
  width:100%;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box
}
/* —— 文字头（标题离开封面）—— */
.article-head{
  padding:40px var(--art-content-pad-x) 8px;
  border-bottom:0;
  background:transparent
}
.article-kick{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 16px;
  color:var(--art-muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em
}
.article-kick span{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--bg) 70%,transparent);
  color:var(--muted);
  font-size:11px;
  font-weight:700
}
.article-kick .gold-pill,
.article-meta .gold-pill{border-color:#c7902d;background:#15120b;color:#f7d77a}
.article-title{
  margin:0 0 10px;
  font-size:var(--art-title-size);
  line-height:var(--art-title-lh);
  letter-spacing:-.5px;
  font-weight:800;
  color:var(--ink);
  word-break:break-word
}
.article-byline{
  display:block;
  margin:0 0 12px;
  color:var(--ink);
  font-size:14px;
  font-weight:600;
  line-height:1.45;
  letter-spacing:.01em
}
body.dark .article-byline{color:var(--ink)}
.article-dek{
  margin:0 0 8px;
  color:var(--muted);
  font-size:var(--art-dek-size);
  line-height:var(--art-dek-lh);
  font-style:italic
}
.article-en-missing{
  margin:10px 0 0;padding:10px 12px;border-radius:10px;
  background:color-mix(in srgb,var(--accent) 10%,var(--paper));
  color:var(--muted);font-size:13px;line-height:1.55
}
.en-feed-note{
  margin:0 0 14px;padding:10px 12px;border-radius:10px;
  background:color-mix(in srgb,var(--accent) 10%,var(--paper));
  color:var(--muted);font-size:13px;line-height:1.55
}
/* 兼容旧 hero class（若残留） */
.article-hero{
  padding:32px var(--art-content-pad-x) 34px;
  border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 10% 0,rgba(15,95,61,.14),transparent 34%),linear-gradient(135deg,var(--paper),var(--bg))
}
.article-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;color:var(--art-muted);font-size:11px}
.article-meta span,.article-tags span,.article-tags a.article-tag-link{padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.38)}
.article-tags a.article-tag-link{
  display:inline-flex;
  align-items:center;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,color .15s ease,transform .12s ease
}
.article-tags a.article-tag-link:hover{
  border-color:color-mix(in srgb,var(--accent, #0f5f3d) 45%,var(--line));
  background:color-mix(in srgb,var(--accent, #0f5f3d) 10%,var(--paper));
  color:var(--ink);
  transform:translateY(-1px)
}
.article-tags a.article-tag-link:focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent, #0f5f3d) 55%,transparent);
  outline-offset:2px
}
body.dark .article-tags a.article-tag-link{
  background:rgba(255,255,255,.06);
  border-color:#3a3932
}
body.dark .article-tags a.article-tag-link:hover{
  background:rgba(255,255,255,.12);
  border-color:#5a574c;
  color:var(--ink)
}
.topic-hero .topic-nav-row,
.tag-list-hero .tag-list-back{margin:0 0 10px}
.topic-hero .topic-back-inline,
.tag-list-hero .tag-back-inline{
  display:inline-flex;
  position:static;
  margin:0
}
.topic-hero h1,
.tag-list-hero h1{
  word-break:break-word
}
.topic-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px
}
.topic-meta span{
  padding:4px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--paper) 80%,var(--bg));
  color:var(--muted);
  font-size:12px
}
.topics-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:16px
}
.topic-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:160px;
  padding:18px 18px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper);
  color:inherit;
  text-decoration:none;
  transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease
}
.topic-card:hover{
  border-color:color-mix(in srgb,var(--accent,#0f5f3d) 40%,var(--line));
  box-shadow:0 8px 28px rgba(15,40,30,.08);
  transform:translateY(-2px)
}
.topic-card.is-curated{
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent,#0f5f3d) 12%,transparent),transparent 42%),
    var(--paper)
}
.topic-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px
}
.topic-card-kicker{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase
}
.topic-card-badge{
  padding:2px 8px;
  border-radius:999px;
  background:color-mix(in srgb,var(--accent,#0f5f3d) 14%,transparent);
  color:var(--accent,#0f5f3d);
  font-size:11px;
  font-weight:700
}
.topic-card-title{
  margin:0;
  font-size:18px;
  line-height:1.35;
  letter-spacing:-.2px
}
.topic-card-dek{
  margin:0;
  flex:1;
  color:var(--muted);
  font-size:13px;
  line-height:1.55
}
.topic-card-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:4px;
  padding-top:10px;
  border-top:1px solid color-mix(in srgb,var(--line) 85%,transparent);
  font-size:12px
}
.topic-card-count{color:var(--muted)}
.topic-card-go{color:var(--accent,#0f5f3d);font-weight:600}
body.dark .topic-card{
  background:#161614;
  border-color:#3a3932
}
body.dark .topic-card:hover{
  border-color:#5a574c;
  box-shadow:0 8px 28px rgba(0,0,0,.35)
}
body.dark .topic-card.is-curated{
  background:
    radial-gradient(circle at 100% 0,rgba(80,160,120,.12),transparent 42%),
    #161614
}
.article-hero h1{
  max-width:100%;
  margin:0 0 14px;
  font-size:var(--art-title-size);
  line-height:var(--art-title-lh);
  letter-spacing:-.6px;
  font-weight:800;
  color:var(--ink)
}
.article-hero p{
  max-width:100%;
  margin:0;
  color:var(--art-muted);
  font-size:var(--art-dek-size);
  line-height:var(--art-dek-lh)
}
.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;color:var(--art-muted);font-size:11px}
/* 封面：纯图，全宽贴 shell，不再叠标题 */
.article-cover-visual{
  position:relative;
  display:block;
  min-height:0;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  max-height:min(42vw,360px);
  margin:12px 0 0;
  padding:0;
  overflow:hidden;
  background:radial-gradient(circle at 18% 12%,rgba(184,255,205,.28),transparent 28%),linear-gradient(135deg,#0b2f23,#0f5f3d 62%,#123426);
  color:#f5fff7
}
.article-cover-visual.article-cover-only{border-top:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent)}
.article-cover-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 18% 12%,rgba(184,255,205,.28),transparent 28%),linear-gradient(135deg,#0b2f23,#0f5f3d 62%,#123426);
  pointer-events:none
}
.article-cover-visual.has-cover::before{
  inset:0;
  background:var(--cover-image);
  background-size:cover;
  background-position:center;
  filter:none;
  transform:none
}
.article-cover-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,25,18,.12),transparent 40%,rgba(5,25,18,.18));
  pointer-events:none
}
.article-cover-visual.has-cover::after{background:linear-gradient(180deg,rgba(5,25,18,.06),transparent 50%,rgba(5,25,18,.1))}
.cover-badge{position:relative;z-index:1;width:max-content;margin-bottom:auto;padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);font-size:12px}
/* 旧叠字节点若残留则隐藏 */
.article-cover-only strong,
.article-cover-only > p,
.article-cover-only .article-meta{display:none!important}
.article-cover-visual strong{position:relative;z-index:1;max-width:760px;font-size:clamp(28px,4vw,38px);line-height:1.15;letter-spacing:-1px}
.article-cover-visual span{position:relative;z-index:1;margin-top:10px;color:#b9e6c7;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
/* 正文区 */
.article-content{
  padding:28px var(--art-content-pad-x) 48px;
  color:var(--art-body-color);
  font-size:var(--art-body-size);
  line-height:var(--art-body-lh)
}
.article-content p{margin:0 0 var(--art-p-gap)}
/* 重点与链接不加粗，只比正文微微深一点。邀请码/邀请链接才用 .md-hl */
.article-content strong,.md-section-body strong,.md-body strong{
  color:color-mix(in srgb,var(--art-body-color,#6D886C) 52%,var(--art-heading-color,#445338));
  font-weight:inherit
}
.detail-copy strong{color:inherit;font-weight:inherit}
.article-content a:not(.md-hl):not(.article-cta-button):not(.md-btn-download):not(.article-tag-link):not(.article-offer-cards-btn),
.md-section-body a:not(.md-hl):not(.md-btn-download){
  color:color-mix(in srgb,var(--art-body-color,#6D886C) 42%,var(--art-heading-color,#445338));
  font-weight:inherit;
  text-decoration:none
}
.article-content a:not(.md-hl):not(.article-cta-button):not(.md-btn-download):not(.article-tag-link):not(.article-offer-cards-btn):hover,
.md-section-body a:not(.md-hl):not(.md-btn-download):hover{
  color:var(--accent)
}
/*
 * 先看要点 + Carddoger总结（情报/攻略必有）
 * 同一套白底高亮 callout；标题小眉标，正文/列表略小于主文
 */
.article-highlights{
  margin:0 0 28px;
  padding:18px 20px 16px;
  border:1px solid color-mix(in srgb,var(--line) 88%,var(--accent));
  border-radius:10px;
  background:#fff;
  box-shadow:0 1px 0 color-mix(in srgb,var(--ink) 4%,transparent),0 8px 22px rgba(22,70,47,.05)
}
.article-highlights h2{
  margin:0 0 12px;
  color:var(--accent);
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1.2
}
.article-section h2{margin:0 0 12px;color:var(--ink);font-size:var(--art-h2-size)}
.article-offer-cards{
  margin:4px 0 28px;
  padding:18px 20px 16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--paper)
}
.article-offer-cards h2{
  margin:0 0 14px;
  color:var(--accent);
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1.2
}
.article-offer-cards .tools-offer-list{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:0
}
.article-offer-cards .tools-offer-card{margin:0}
.article-offer-cards-foot{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid color-mix(in srgb,var(--line) 85%,transparent)
}
.article-offer-cards-note{
  margin:0;
  max-width:36em;
  color:var(--muted);
  font-size:13px;
  line-height:1.85
}
.article-offer-cards-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-height:44px;
  margin:12px 0 0;
  padding:0 20px;
  border:0;
  border-radius:999px;
  background:var(--accent);
  color:#fff!important;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(15,95,61,.22)
}
.article-offer-cards-btn:hover{
  filter:brightness(1.06);
  color:#fff!important
}
.article-offer-cards-btn:focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent) 45%,var(--line));
  outline-offset:2px
}
body.dark .article-offer-cards{background:var(--paper)}
body.dark .article-offer-cards-btn{
  color:#fff!important;
  box-shadow:0 8px 20px rgba(0,0,0,.28)
}
@media (max-width:640px){
  .article-offer-cards-btn{width:100%}
}
.article-highlights-body{
  color:var(--muted);
  font-size:var(--art-tldr-size,15px);
  line-height:var(--art-tldr-lh,1.7);
  font-weight:400
}
.article-highlights-body > :first-child{margin-top:0}
.article-highlights-body > :last-child{margin-bottom:0}
.article-highlights-body p{
  margin:0 0 10px;
  color:var(--muted);
  font-size:var(--art-tldr-size,15px);
  line-height:var(--art-tldr-lh,1.7);
  font-weight:400
}
.article-highlights-body p:last-child{margin-bottom:0}
.article-highlights-body ol,
.article-highlights-body ul{
  margin:0;
  padding-left:1.15em
}
.article-highlights-body li{
  margin:0 0 8px;
  font-size:var(--art-tldr-size,15px);
  line-height:var(--art-tldr-lh,1.7);
  color:var(--muted);
  font-weight:400
}
.article-highlights-body li:last-child{margin-bottom:0}
.article-highlights-body strong{
  color:inherit;
  font-weight:inherit
}
/* 兼容旧结构：ol 直接挂在 section 下 */
.article-highlights > ol{
  margin:0;
  padding-left:1.15em
}
.article-highlights > ol > li{
  margin:0 0 8px;
  font-size:var(--art-tldr-size,15px);
  line-height:var(--art-tldr-lh,1.7);
  color:var(--muted);
  font-weight:400
}
.compact-highlights .article-highlights{margin-bottom:26px;padding:18px 20px 14px}
.compact-highlights .article-highlights h2{margin-bottom:10px;font-size:11px}
/* 文末总结：与先看要点同款，与上文分节拉开间距 */
.md-body > .article-highlights,
.md-body > .article-summary{
  margin-top:28px;
  margin-bottom:8px
}
.md-body > .md-section + .article-highlights,
.md-body > .md-section + .article-summary{
  margin-top:36px
}
/* callout 不参与 md-section 顶线；若前后是分节，由自身 margin 控制 */
.md-body > .article-highlights + .md-section{
  margin-top:36px;
  padding-top:30px
}
.md-body > .article-highlights + .md-section::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:color-mix(in srgb,var(--ink) 16%,var(--line));
  pointer-events:none
}
.article-section{margin-top:34px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.article-section table{width:100%;min-width:720px;border-collapse:collapse;font-size:14px;line-height:1.65}
.article-section th,.article-section td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.article-section th{background:var(--bg);color:var(--ink);font-size:12px}
.article-section tr:last-child td{border-bottom:0}
@media(max-width:560px){
  .article-page{
    --art-shell:100%;
    --art-read:100%;
    --art-measure:100%;
    --art-title-size:28px;
    --art-body-size:16.5px;
    --art-body-lh:1.9;
    --art-p-gap:18px;
    --art-content-pad-x:16px;
    --art-content-pad-y:20px;
    --art-dek-size:15.5px;
    padding:14px 16px 56px
  }
  .article-head{padding:28px var(--art-content-pad-x) 6px}
  .article-hero{padding:26px var(--art-content-pad-x) 28px}
  .article-cover-visual{aspect-ratio:16/9;height:auto;max-height:none;margin-top:10px}
  .article-content{padding:22px var(--art-content-pad-x) 36px}
  .back-link{padding:16px 18px 0}
  .article-highlights{padding:14px 16px}
  .compact-highlights .article-highlights{padding:14px 16px}
  .article-highlights-body,
  .article-highlights-body p,
  .article-highlights-body li,
  .compact-highlights .article-highlights-body li{font-size:14.5px;line-height:1.65}
  .article-section table{font-size:13px}
}
.article-cover-visual p{position:relative;z-index:1;max-width:760px;margin:18px 0 0;color:#d7eadc;font-size:15px;line-height:1.8}.article-cover-visual .cover-tags{position:relative;z-index:1;margin-top:24px;color:#d8f0df}.article-cover-visual .cover-tags span{margin:0;padding:6px 10px;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#d8f0df;letter-spacing:0;text-transform:none}.bottom-tags{margin-top:36px;padding-top:22px;border-top:1px solid var(--line)}.bottom-tags::before{content:attr(data-tags-label);display:block;width:100%;margin-bottom:10px;color:var(--muted);font-size:12px;font-weight:800}.bottom-tags:not([data-tags-label])::before{content:"文章标签"}html[data-locale="en"] .bottom-tags:not([data-tags-label])::before{content:"Tags"}
/* 正文末 · 作者简介（版式对齐「相关内容」：顶线 + 小节标题 + 名字 + 介绍） */
.article-author-bio{
  margin:28px 0 0;
  padding:22px 0 0;
  border-top:1px solid var(--line)
}
.article-author-bio-title{
  margin:0 0 12px;
  color:color-mix(in srgb,var(--muted) 88%,var(--accent));
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.35
}
.article-author-bio-name{
  margin:0 0 8px;
  color:var(--ink);
  font-size:15px;
  font-weight:700;
  line-height:1.4
}
.article-author-bio-text{
  margin:0;
  color:var(--muted);
  font-size:14.5px;
  font-weight:400;
  line-height:1.7
}
.article-content .article-author-bio p{
  margin:0
}
.article-content .article-author-bio .article-author-bio-name{
  margin:0 0 8px
}
body.dark .article-author-bio-title{
  color:color-mix(in srgb,var(--muted) 80%,#7dcea0)
}
body.dark .article-author-bio-name{color:var(--ink)}

/* 正文页 · 标签下方 TG 沟通群（浅薄荷绿卡片） */
.article-chat-cta{
  margin:28px 0; /* 版块相对页面上下一致 */
  padding:22px 0 0;
  border-top:1px solid var(--line);
  background:transparent;
  box-shadow:none
}
.article-chat-cta-title{
  margin:0 0 10px;
  color:color-mix(in srgb,var(--muted) 88%,var(--accent));
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.35
}
.article-chat-cta-card{
  display:flex;
  align-items:center; /* 头像 / 文案块 / 按钮 垂直居中，上下留白一致 */
  gap:14px;
  padding:14px 16px; /* 卡片上下左右对称 */
  border:1px solid color-mix(in srgb,var(--line) 70%,#b8d4c4);
  border-radius:18px;
  background:color-mix(in srgb,#f3faf5 88%,var(--paper));
  box-shadow:none
}
.article-chat-cta-avatar{
  flex:0 0 auto;
  width:72px;
  height:72px;
  margin:0;
  border-radius:50%;
  object-fit:cover;
  border:0;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--line) 55%,transparent);
  background:#fff
}
.article-chat-cta-body{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-self:center;
  gap:2px; /* 群名 ↔ 介绍 */
  padding:0 8px 0 0;
  margin:0
}
/* 覆盖 .article-content p 的 20px 段间距（红框间隙的真正原因） */
.article-content .article-chat-cta p,
.article-chat-cta p{
  margin:0;
  padding:0
}
.article-chat-cta-name{
  margin:0 !important;
  padding:0;
  color:var(--ink);
  font-size:16px;
  font-weight:800;
  line-height:1.2
}
.article-chat-cta-desc{
  margin:0 !important;
  padding:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
  font-weight:400
}
.article-chat-cta-button{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  box-sizing:border-box;
  min-height:40px;
  margin:0;
  padding:9px 16px;
  border:1.5px solid color-mix(in srgb,var(--accent) 55%,#6a9a7c);
  border-radius:999px;
  background:color-mix(in srgb,#fff 70%,#f3faf5);
  color:var(--accent);
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:none;
  transition:border-color .15s ease, background .15s ease, color .15s ease
}
.article-chat-cta-button:hover{
  border-color:var(--accent);
  background:#fff;
  color:color-mix(in srgb,var(--accent) 90%,#0b3d28);
  filter:none;
  transform:none;
  box-shadow:none
}
.article-chat-cta-button:focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent) 45%,var(--line));
  outline-offset:2px
}
body.dark .article-chat-cta-title{color:color-mix(in srgb,var(--muted) 80%,#7dcea0)}
body.dark .article-chat-cta-card{
  border-color:#3a3932;
  background:color-mix(in srgb,#1a1a17 88%,#0f3d28 12%);
  box-shadow:none
}
body.dark .article-chat-cta-avatar{
  border:0;
  box-shadow:0 0 0 1px #3a3932;
  background:#121210
}
body.dark .article-chat-cta-button{
  border-color:color-mix(in srgb,#2f8a5f 70%,#3a3932);
  background:color-mix(in srgb,#1a1a17 82%,#0f3d28 18%);
  color:#7dcea0
}
body.dark .article-chat-cta-button:hover{
  border-color:#2f8a5f;
  background:color-mix(in srgb,#1a1a17 70%,#0f3d28 30%);
  color:#9ad8b4
}

/* 正文末 · 相关内容（标签下、TG 聊一聊上） */
.article-related{
  margin:28px 0 0;
  padding:22px 0 0;
  border-top:1px solid var(--line)
}
.article-related-title{
  margin:0 0 12px;
  color:color-mix(in srgb,var(--muted) 88%,var(--accent));
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.35
}
.article-related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px
}
.article-related-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:0;
  min-width:0;
  padding:14px 14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--paper);
  text-decoration:none;
  color:inherit;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.article-related-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
  border-color:color-mix(in srgb,var(--line) 55%,var(--accent))
}
.article-related-card:focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent) 45%,var(--line));
  outline-offset:2px
}
.article-related-type{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:fit-content;
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  line-height:1.2
}
.article-related-type::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
  flex:0 0 auto
}
.article-related-type[data-type="guide"]::before{
  background:#3d7a9c
}
.article-related-name{
  flex:1 1 auto;
  margin:0;
  color:var(--ink);
  font-size:14.5px;
  font-weight:400;
  line-height:1.45;
  /* 标题完整展示，不截断、不加粗 */
  overflow:visible;
  white-space:normal;
  word-break:break-word
}
.article-related-meta{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.3
}
body.dark .article-related-title{
  color:color-mix(in srgb,var(--muted) 80%,#7dcea0)
}
body.dark .article-related-card{
  border-color:var(--line);
  background:var(--paper)
}
body.dark .article-related-card:hover{
  border-color:color-mix(in srgb,var(--line) 50%,#2f8a5f)
}
@media(max-width:640px){
  .article-related{margin-top:24px;padding-top:18px}
  .article-related-grid{grid-template-columns:1fr;gap:10px}
  .article-related-card{min-height:0}
  .article-author-bio{margin-top:24px;padding-top:18px}
  .article-author-bio-title{margin-bottom:10px}
}

@media(max-width:560px){
  .article-chat-cta{margin:24px 0;padding-top:18px}
  .article-chat-cta-title{margin-bottom:10px}
  .article-chat-cta-card{
    flex-wrap:wrap;
    gap:12px;
    padding:14px
  }
  .article-chat-cta-avatar{width:64px;height:64px}
  .article-chat-cta-body{
    flex:1 1 calc(100% - 76px);
    padding:0;
    gap:0
  }
  .article-chat-cta-button{
    width:100%;
    margin:0
  }
}
/* 返回/分享：固定在顶导下方（顶导为 fixed 后 sticky 会失效） */
/* 正文「返回 / 分享」：桌面可悬浮；移动端改文档流，避免看起来像第二套顶导 */
.article-floating-tools-slot{
  height:48px;
  margin:0 0 16px;
  pointer-events:none;
}
.article-floating-tools{
  position:fixed;
  top:calc(var(--header-offset, 66px) + 10px);
  left:50%;
  transform:translateX(-50%);
  /* 低于顶栏(200)与侧栏(510) */
  z-index:90;
  display:flex;
  justify-content:space-between;
  align-items:center;
  /* 与 .header-inner 同宽同左右 padding，返回钮与左上角 LOGO 左齐 */
  width:min(1100px,100%);
  max-width:1100px;
  margin:0;
  padding:0 24px;
  font-size:13px;
  font-weight:800;
  pointer-events:none;
  box-sizing:border-box;
  transition:opacity .2s ease, visibility .2s ease;
}
.page-back-button,.page-share-button{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:10px 15px;
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--paper) 92%,transparent);
  color:var(--accent);
  font-family:inherit;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:0;
  box-shadow:0 8px 24px rgba(22,70,47,.1);
  backdrop-filter:blur(14px);
  pointer-events:auto;
  position:relative;
  z-index:1;
}
.page-share-button{min-width:86px;justify-content:center}
.page-back-button:hover,.page-share-button:hover{transform:translateY(-1px);border-color:var(--accent);background:var(--paper)}
.site-share-tools{
  position:fixed;
  top:calc(var(--header-offset, 66px) + 10px);
  left:50%;
  transform:translateX(-50%);
  z-index:90;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  width:min(1100px, 100%);
  max-width:1100px;
  margin:0;
  padding:0 24px;
  font-size:13px;
  font-weight:800;
  pointer-events:none;
  box-sizing:border-box;
}
.site-share-tools .page-share-button{pointer-events:auto}
body:has(.site-share-tools) .article-floating-tools .page-share-button{display:none}
@media(max-width:560px){
  .site-share-tools{padding:0 16px}
}
html.mobile-nav-open .site-share-tools,
body.mobile-nav-open .site-share-tools{
  visibility:hidden;
  opacity:0;
  pointer-events:none;
}
@media(max-width:800px){
  /* 移动端：与顶导脱钩，排在正文上方文档流里，全站只剩 shell 顶栏固定 */
  .article-floating-tools-slot{display:none;height:0;margin:0}
  .article-floating-tools{
    position:static;
    top:auto;
    left:auto;
    transform:none;
    z-index:auto;
    width:100%;
    max-width:none;
    margin:0 0 12px;
    padding:0;
    pointer-events:auto;
  }
  .page-back-button,.page-share-button{
    padding:9px 13px;
    box-shadow:0 4px 14px rgba(22,70,47,.08);
  }
}
@media(max-width:640px){.table-wrap{overflow:visible;border:0;background:transparent}.article-section table,.article-section thead,.article-section tbody,.article-section tr,.article-section td{display:block;width:100%;min-width:0}.article-section table{min-width:0;border-collapse:separate}.article-section thead{display:none}.article-section tr{margin:0 0 9px;padding:9px 12px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 8px 22px rgba(22,70,47,.06)}.article-section td{display:grid;grid-template-columns:54px 1fr;gap:8px;padding:3px 0;border:0;font-size:14px;line-height:1.42}.article-section td::before{content:attr(data-label);color:var(--ink);font-size:12px;font-weight:800;white-space:nowrap}.article-section .cell-value{min-width:0}.article-section td:first-child{padding-top:0}.article-section td:last-child{padding-bottom:0}.article-section td:first-child .cell-value{display:flex;align-items:center;gap:6px;font-size:15px;color:var(--ink);font-weight:800}.article-section td:first-child::before{align-self:center}.article-section h2{font-size:24px;line-height:1.3}}
.flag-tw{display:inline-block;flex:0 0 auto;position:relative;width:1.35em;height:.9em;margin-right:.15em;border-radius:2px;background:#d71920;vertical-align:-.1em;box-shadow:0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.flag-tw::before{content:"";position:absolute;left:0;top:0;width:45%;height:58%;background:#002b7f}.flag-tw::after{content:"✦";position:absolute;left:8%;top:2%;color:#fff;font-size:.55em;line-height:1;text-shadow:0 0 1px rgba(0,0,0,.2)}
.share-dialog{width:min(460px,calc(100% - 32px));padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.25)}.share-close{position:sticky;float:right;top:0;z-index:2;margin:-8px -8px 0 0;border:0;background:var(--paper);color:var(--muted);font-size:28px;border-radius:999px}.share-dialog h2{margin:8px 0 8px;font-size:26px;clear:both}.share-desc{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.7}.share-link-box{display:flex;gap:8px;margin-bottom:16px}.share-link-input{min-width:0;flex:1;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--muted)}.copy-link-button,.share-options button,.share-options a{display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-weight:800}.copy-link-button{white-space:nowrap;background:var(--accent);border-color:var(--accent);color:#fff}.share-options{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.share-message{display:block;min-height:18px;margin-top:14px;color:var(--green);font-weight:700}@media(max-width:520px){.share-link-box{flex-direction:column}.share-options{grid-template-columns:1fr}}
/* 旧 text-section 卡片：仅非正文流场景；.md-body 内由阶段 B 规则接管 */
.text-section:not(.md-section){padding:24px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--paper) 76%,var(--bg))}
.news-background-section:not(.md-section){background:#fff;border-color:color-mix(in srgb,var(--line) 72%,#fff);box-shadow:0 14px 34px rgba(22,70,47,.08)}
.news-background-section .article-illustration{margin:22px 0}
.news-background-section .article-illustration:last-child{margin-bottom:0}
.text-section p:last-child,.text-section ul:last-child{margin-bottom:0}
.text-section ul{margin:0 0 18px;padding-left:22px}
.text-section li{margin:8px 0}.source-note{padding-top:14px;border-top:1px solid var(--line);font-size:13px}.source-note a{color:var(--accent);font-weight:800}.reference-sources{margin:34px 0 0;padding:18px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:400;line-height:1.65}.reference-sources h3{margin:0 0 10px;color:var(--muted);font-size:13px;font-weight:700}.reference-sources ul{display:flex;flex-wrap:wrap;gap:8px 10px;margin:0;padding:0;list-style:none}.reference-sources li{display:flex;max-width:100%;align-items:center;padding:0;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--paper) 76%,transparent);color:var(--muted);font-size:12px;font-weight:400}.reference-sources a{display:inline-flex;max-width:100%;padding:6px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-weight:600;text-decoration:none}.reference-sources a:hover{color:var(--accent);text-decoration:underline}
.download-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.download-links a{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:800;box-shadow:0 8px 20px rgba(22,70,47,.12)}.download-links a:hover{border-color:#0b3f29;background:#0b3f29;box-shadow:0 10px 24px rgba(22,70,47,.18)}
/* 正文列表：正常缩进，不用 inside（inside 会让中文标题段看起来「虚」） */
.md-section-body ul,.md-section-body ol{padding-left:1.25em;list-style-position:outside}
.text-section:not(.md-section) ul,.text-section:not(.md-section) ol{padding-left:0;list-style-position:inside}
.text-section:not(.md-section) li{padding-left:0}
/* 正文配图主样式见下方「正文配图」统一块；此处不再给 img 单独描边/圆角 */
/* —— 首页介绍：与情报 / 攻略 list-hero 同一套 —— */
.home-hero{padding-top:42px;padding-bottom:4px}
.home-focus{padding-top:8px;padding-bottom:8px}
/* —— 首页：一级切页 + 统一卡片角标 —— */
.home-feed{padding-top:18px}
.home-feed-heading{align-items:center;gap:16px 20px;flex-wrap:wrap}
.home-tabs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  min-width:0
}
.home-tabs button{
  padding:8px 14px;
  border:1px solid transparent;
  border-radius:999px;
  background:none;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  line-height:1.2
}
.home-tabs button:hover{color:var(--ink);background:color-mix(in srgb,var(--paper) 80%,transparent)}
.home-tabs button.active{
  border-color:var(--line);
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 2px 9px rgba(0,0,0,.04)
}
.home-feed .filters{flex:1 1 auto;justify-content:flex-end}
/*
 * 信息流卡片结构（对标参考卡）
 * 封面区 + 右上会员标 → 标题 → 摘要 → 底栏(标签 + 时间)
 */
.article-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--line) 90%,transparent);
  border-radius:18px;
  background:var(--paper);
  box-shadow:0 8px 24px rgba(22,70,47,.05);
  transition:transform .2s ease,box-shadow .2s ease
}
.article-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(22,70,47,.1)
}
.card-cover{
  position:relative;
  /* 封面铺满卡片顶边：上/左/右无边距 */
  padding:0;
  margin:0;
  background:transparent
}
.article-card .card-art{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:0;
  background:var(--art,#e8f0ea);
  color:var(--art-text,#fff)
}
.article-card .card-art.with-image{
  background-image:none;
  background-color:color-mix(in srgb,var(--bg) 55%,var(--paper))
}
.article-card .card-art.has-img::after{display:none}
/* D：真实 img + loading=lazy，比 background 更易省带宽 */
.article-card .card-cover-img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border:0;
  z-index:0
}
/* 过期：封面黑白 + 「过期」标（标在 .card-cover 上，避免被 filter 一并灰度） */
.card-cover{position:relative}
.card-art.is-expired .card-cover-img{filter:grayscale(1)}
.card-art.is-expired:not(.has-img){filter:grayscale(1)}
.card-art.is-expired::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(20,24,28,.3);
  pointer-events:none
}
.card-expired-badge{
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  padding:6px 14px;
  border:1.5px solid rgba(255,255,255,.88);
  border-radius:999px;
  background:rgba(15,18,22,.72);
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.2;
  white-space:nowrap;
  pointer-events:none;
  box-shadow:0 6px 18px rgba(0,0,0,.28)
}
.article-cover-visual.is-expired.has-cover::before{
  filter:grayscale(1)
}
.article-cover-visual.is-expired.has-cover::after{
  background:rgba(20,24,28,.32)
}
.article-cover-expired-badge{
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  margin:0!important;
  padding:8px 18px;
  border:1.5px solid rgba(255,255,255,.9);
  border-radius:999px;
  background:rgba(15,18,22,.75);
  color:#fff!important;
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
  line-height:1.2;
  text-transform:none!important;
  white-space:nowrap;
  pointer-events:none;
  box-shadow:0 8px 22px rgba(0,0,0,.3)
}
.article-card{
  content-visibility:auto;
  contain-intrinsic-size:auto 360px
}
.feed-sentinel{
  width:100%;
  height:1px;
  margin:0;
  padding:0;
  pointer-events:none;
  visibility:hidden
}
.feed-status{
  margin:18px 0 0;
  text-align:center;
  color:var(--muted);
  font-size:12px;
  font-weight:400
}
.article-card .card-art::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04),transparent 40%);
  pointer-events:none
}
/* 角标统一 10px / 400 */
.article-card .card-type-badge{
  position:absolute;
  z-index:3;
  left:8px;
  top:8px;
  display:inline-flex;
  align-items:center;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(8,28,20,.45);
  color:rgba(255,255,255,.92);
  font-size:10px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:.03em;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:none
}
/* 右上会员：参考卡小胶囊，仅会员显示 */
.article-card .card-member-badge{
  position:absolute;
  z-index:4;
  top:10px;
  right:10px;
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:3px 8px;
  border-radius:999px;
  border:0;
  background:#3a3a3a;
  color:#f3f3f3;
  font-size:10px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:.02em;
  box-shadow:0 2px 8px rgba(0,0,0,.12)
}
.article-card .card-member-lock{
  font-size:9px;
  line-height:1;
  opacity:.9
}
.article-card .status{display:none!important}
.article-card .card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:0;
  padding:14px 16px 16px;
  min-width:0
}
.article-card .card-body h3{
  margin:0 0 8px;
  min-height:0;
  color:var(--ink);
  font-size:16px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:-.2px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden
}
.article-card .card-title-en{
  margin:-4px 0 8px;
  color:var(--muted);
  font-size:14px;
  font-weight:650;
  line-height:1.4;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden
}
.article-card .card-desc-en{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden
}
.article-card .card-body p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:0;
  margin:0 0 14px;
  color:var(--muted);
  font-size:13px;
  font-weight:400;
  line-height:1.65
}
.article-card .card-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
  padding-top:2px
}
.article-card .card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  min-width:0
}
.article-card .card-tag{
  display:inline-flex;
  align-items:center;
  padding:4px 9px;
  border:1px solid color-mix(in srgb,var(--line) 92%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--bg) 70%,var(--paper));
  color:var(--muted);
  font-size:11px;
  font-weight:400;
  line-height:1.2
}
.article-card .card-meta{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:8px;
  min-width:0
}
.article-card .card-author{
  max-width:9.5em;
  overflow:hidden;
  color:#a3aea6;
  font-size:11px;
  font-weight:400;
  line-height:1.2;
  white-space:nowrap;
  text-overflow:ellipsis
}
.article-card .card-foot time{
  flex:0 0 auto;
  margin:0;
  color:#a3aea6;
  font-size:11px;
  font-weight:400;
  white-space:nowrap
}
.article-card .card-source{display:none}

body.dark .home-tabs button.active{border-color:#3a3932;background:#23231f;color:var(--ink)}
body.dark .article-card{border-color:#343b32;background:#21211d;box-shadow:0 10px 28px rgba(0,0,0,.28)}
body.dark .card-cover{background:#21211d}
body.dark .article-card .card-type-badge{background:rgba(0,0,0,.5);border-color:rgba(255,255,255,.14)}
body.dark .article-card .card-member-badge{background:#2a2a28;color:#e8e4d8}
body.dark .article-card .card-tag{border-color:#3a3932;background:#1a1a17;color:var(--muted)}
body.dark .article-card .card-author,
body.dark .article-card .card-foot time{color:#8a867a}

@media(max-width:720px){
  .home-feed-heading{align-items:stretch}
  .home-tabs{width:100%}
  .home-feed .filters{width:100%;justify-content:flex-start}
  .home-tabs button{padding:8px 12px;font-size:12px}
  /* 小屏也保持竖卡，不再左右分栏 */
  .article-grid .article-card{display:flex;flex-direction:column}
  .article-grid .card-art{height:auto;aspect-ratio:16/9}
  .article-grid .card-body p{display:-webkit-box}
}

/* —— 通用会员浮层（正文 / 地址工具等共用） —— */
.premium-gate{max-width:760px;margin:26px auto 0!important;padding:34px 32px!important;border:2px solid var(--accent)!important;border-radius:22px!important;background:linear-gradient(180deg,#fbfff8,#f4fbf4)!important;text-align:center!important;box-shadow:0 -20px 50px rgba(22,70,47,.08),0 20px 55px rgba(22,70,47,.08)}
.premium-lock{margin-bottom:10px;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.28em}
.premium-gate-price{max-width:none!important;margin:0 auto 8px!important;color:var(--ink)!important;font-size:18px!important;font-weight:700!important;line-height:1.4!important}
.premium-gate-price strong{color:var(--accent);font-size:28px;font-weight:900;letter-spacing:-.4px;margin:0 2px}
.premium-gate h3{margin:0 0 18px!important;color:var(--ink)!important;font-size:28px!important;line-height:1.25;letter-spacing:-.5px}
.premium-gate p{max-width:520px;margin:0 auto 18px!important;color:var(--muted);font-size:15px!important;line-height:1.8}
.premium-benefits{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.premium-benefits span{padding:8px 14px;border-radius:999px;background:#e3f3e8;color:var(--accent);font-size:14px;font-weight:900}
.premium-gate .gate-button{min-width:220px;padding:14px 22px!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#0f5f3d,#2f8a5f)!important;color:#fff!important;font-size:17px;font-weight:900;box-shadow:0 14px 30px rgba(15,95,61,.2);cursor:pointer}
.premium-gate .gate-login{display:block;margin:18px auto 0;padding:0;border:0;background:none;color:var(--accent);font-size:14px;font-weight:900;cursor:pointer}
.premium-gate small{display:block;margin-top:14px;color:var(--muted);font-size:12px}
body.dark .premium-gate{background:linear-gradient(180deg,#1a221c,#151a16)!important;border-color:color-mix(in srgb,var(--accent) 55%,#343b32)!important;box-shadow:0 -16px 40px rgba(0,0,0,.25),0 16px 40px rgba(0,0,0,.2)}
body.dark .premium-benefits span{background:color-mix(in srgb,var(--accent) 18%,#1a1c18);color:color-mix(in srgb,var(--accent) 80%,#e8f5ec)}
@media(max-width:560px){.premium-gate{padding:28px 20px!important}.premium-gate h3{font-size:22px!important}.premium-gate-price strong{font-size:24px}.premium-gate .gate-button{width:100%;min-width:0}.premium-benefits span{font-size:13px}}
.briefs-section{padding:18px 0 18px}.section-actions{display:flex;align-items:center;gap:8px}.more-link,.rail-button{display:inline-flex;align-items:center;justify-content:center;height:34px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:800}.more-link{padding:0 13px}.rail-button{width:34px}.rail-button:hover,.more-link:hover{border-color:var(--accent);color:var(--accent)}
/* 「更多情报」对齐攻略筛选标签（如美卡）样式 */
.briefs-section .more-link{
  height:auto;
  min-height:0;
  padding:7px 11px;
  border:1px solid transparent;
  border-radius:999px;
  background:none;
  color:var(--muted);
  font-size:12px;
  font-weight:400;
  box-shadow:none;
  line-height:1.2;
}
.briefs-section .more-link:hover{
  border-color:var(--line);
  background:var(--paper);
  color:var(--ink);
}
/* pan-x  alone 会吞掉竖滑，导致指在情报区时整页上下滑失效 */
.briefs-rail{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:2px 2px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y}.briefs-rail::-webkit-scrollbar{display:none}.briefs-section{touch-action:pan-y}.briefs-section .brief-card{touch-action:manipulation}.brief-card{display:flex;flex:0 0 270px;min-height:205px;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--paper);color:inherit;text-decoration:none;scroll-snap-align:start;box-shadow:0 8px 24px rgba(22,70,47,.06);transition:transform .2s ease,box-shadow .2s ease}.brief-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(22,70,47,.12)}.brief-art{position:relative;height:116px;flex:0 0 auto;overflow:hidden;background:linear-gradient(135deg,#e9f5ec,#d7eadc)}.brief-art.with-image{background-image:linear-gradient(135deg,rgba(237,246,237,.12),rgba(15,95,61,.08)),var(--image);background-size:cover;background-position:center}.brief-art span{position:absolute;left:10px;top:10px;padding:5px 9px;border:1px solid rgba(15,95,61,.7);border-radius:999px;background:var(--bg);color:var(--accent);font-size:11px;font-weight:800}.brief-body{display:flex;flex:1;flex-direction:column;padding:14px}.brief-body h3{display:-webkit-box;min-height:0;max-height:none;margin:0 0 12px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:16px;font-weight:400;line-height:1.45;color:var(--ink);word-break:break-word;overflow-wrap:anywhere}.brief-meta{display:flex;justify-content:space-between;gap:12px;margin-top:auto;color:var(--muted);font-size:11px}.brief-meta b{color:var(--category);font-weight:800}.brief-meta time{white-space:nowrap}.list-hero{padding:44px 0 18px}
/* 首页已去掉大标题；桌面仍可略收紧今日精选与顶栏距离 */
.home-intro{display:none}
.featured-hero{padding-top:14px}
/* 夜间模式：PC 在 Logo 下；移动端在 Logo 行右侧两端对齐 */
.footer-theme-button{
  width:auto!important;
  min-height:38px;
  height:auto!important;
  padding:8px 14px!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:var(--paper)!important;
  color:var(--ink)!important;
  font-size:13px!important;
  font-weight:800;
  box-shadow:none!important;
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  white-space:nowrap;
}
.footer-theme-button:hover{
  border-color:var(--accent)!important;
  color:var(--accent)!important;
  background:var(--paper)!important;
}
body.dark .footer-theme-button{
  background:var(--paper)!important;
  border-color:var(--line)!important;
  color:var(--ink)!important;
}
@media(max-width:800px){
  footer{
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .footer-brand,
  .footer-info,
  .footer-note{
    border-left:0;
    padding:0;
    max-width:none;
    width:100%;
    margin-right:0;
  }
  .footer-brand{padding-bottom:4px;margin-right:0}
  .footer-info,
  .footer-note{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  }
  /* Logo 左、夜间模式右 */
  .footer-brand-top{
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    gap:12px;
  }
  .footer-brand .brand-footer .brand-copy b{font-size:26px}
  footer,.footer-brand,.footer-info,.footer-note{text-align:left;align-items:flex-start}
  .footer-brand-top{align-items:center}
}
.list-hero h1{max-width:760px;margin:14px 0 10px;font-size:42px;line-height:1.15;letter-spacing:-1.8px}.list-hero p{max-width:660px;margin:0;color:var(--muted);line-height:1.8}.list-section{padding-top:24px}.briefs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.brief-card-list{display:flex;flex:auto}
.briefs-section .section-heading{align-items:center}.briefs-section .section-heading h2{margin:0}.brief-body h3{margin-bottom:7px}.brief-meta{font-size:10px}
.briefs-section .section-heading{margin-bottom:12px}.briefs-section .section-kicker{margin:0}.brief-card{flex-basis:230px}.brief-art{height:102px}.brief-body{padding:12px}.brief-body h3{max-height:none;-webkit-line-clamp:3;margin-bottom:5px;font-size:15px}.brief-meta{justify-content:flex-start;font-size:10px}.brief-meta time{margin:0;color:var(--muted)}.brief-meta b{display:none}.brief-card-list{flex:auto}
.brief-more-card{display:flex;min-height:175px;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:22px;background:radial-gradient(circle at 20% 10%,rgba(184,255,205,.2),transparent 28%),linear-gradient(135deg,#0f5f3d,#123426);color:#fff;text-align:center}.brief-more-card:hover{color:#fff}.brief-more-card span{font-size:18px;font-weight:400;letter-spacing:-.3px}.brief-more-card small{color:#b9e6c7;font-size:12px;font-weight:400}
/* 情报列表与攻略一致：桌面一排三列 */
.briefs-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:800px){.briefs-grid{grid-template-columns:repeat(2,1fr)}.list-hero h1{font-size:34px}}
/* 横滑通栏：标题与初始左边距对齐页面；轨道留阴影空间避免裁切 */
@media(max-width:800px){
  .briefs-section{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:18px 0;
    overflow:visible;
  }
  .briefs-section .section-heading{
    padding-left:16px;
    padding-right:16px;
    box-sizing:border-box;
    margin-bottom:12px;
  }
  .briefs-section .briefs-rail{
    gap:10px;
    margin:0;
    /* 左右对齐正文；加大上下内边距，减少阴影被 overflow 裁切 */
    padding:14px 16px 28px;
    scroll-padding-inline:16px;
    box-sizing:border-box;
    overflow-x:auto;
    overflow-y:hidden;
  }
  .briefs-section .brief-card,
  .briefs-section .brief-more-card{
    margin-left:0;
    margin-right:0;
    flex-shrink:0;
    /* 移动端阴影略压扁，底部更易完整显示 */
    box-shadow:0 6px 14px rgba(22,70,47,.08);
  }
  .briefs-section .brief-card:active,
  .briefs-section .brief-card:hover{
    box-shadow:0 8px 16px rgba(22,70,47,.1);
  }
  .briefs-section .rail-button{
    border:1px solid transparent;
    background:none;
    color:var(--muted);
    font-weight:700;
    box-shadow:none;
  }
  .briefs-section .rail-button:hover{
    border-color:var(--line);
    background:var(--paper);
    color:var(--ink);
  }
  .briefs-section .more-link{
    padding:7px 11px;
    font-size:12px;
    font-weight:400;
  }
  /* 首页：最新情报 / 开卡攻略 上间距一致 */
  body[data-nav="home"] .briefs-section{
    padding-top:18px;
    padding-bottom:8px;
  }
  body[data-nav="home"] .news-section{
    padding-top:18px;
  }
  body[data-nav="home"] .news-section .section-heading{
    margin-bottom:12px;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:12px;
  }
  body[data-nav="home"] .news-section .section-kicker{
    margin:0;
    text-align:left;
  }
  body[data-nav="home"] .news-section .filters{
    justify-content:flex-start;
    width:100%;
    flex-wrap:wrap;
  }
}
@media(max-width:560px){
  .section-actions{width:100%;justify-content:space-between}
  .brief-card{flex-basis:72vw}
  .briefs-grid{grid-template-columns:1fr}
  .list-hero{padding-top:32px}
  .list-hero h1{font-size:30px}
  .brief-art{height:92px}
  .briefs-section .section-heading{
    flex-direction:row;
    align-items:center;
    gap:10px;
    padding-left:16px;
    padding-right:16px;
  }
  .briefs-section .section-heading>div:first-child{flex:0 0 auto}
  .briefs-section .section-actions{width:auto;flex:0 0 auto;justify-content:flex-end;margin-left:auto;gap:5px}
  .briefs-section .more-link{height:auto;padding:7px 11px;font-size:12px;font-weight:400}
  .briefs-section .rail-button{width:30px;height:30px}
  .briefs-section .briefs-rail{
    gap:8px;
    margin:0;
    padding:14px 16px 30px;
    scroll-padding-inline:16px;
  }
  .briefs-section .brief-card{
    flex:0 0 calc((100vw - 40px)/2.35);
    min-height:168px;
    border-radius:10px;
    box-shadow:0 6px 14px rgba(22,70,47,.08);
  }
  .briefs-section .rail-button{
    border:1px solid transparent;
    background:none;
    color:var(--muted);
    font-weight:700;
  }
  .briefs-section .more-link{
    border:1px solid transparent;
    background:none;
    color:var(--muted);
    font-weight:400;
    font-size:12px;
    padding:7px 11px;
  }
  .briefs-section .brief-art{height:70px}
  .briefs-section .brief-body{padding:9px;overflow:hidden;min-height:0}
  .briefs-section .brief-body h3{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    text-overflow:ellipsis;
    min-height:0;
    max-height:none;
    margin:0 0 4px;
    font-size:12px;
    line-height:1.35;
    word-break:break-word;
    overflow-wrap:anywhere;
  }
  .briefs-section .brief-meta{font-size:10px}
  .briefs-section .brief-meta time{font-size:10px}
  .briefs-section .brief-more-card{min-height:168px;padding:10px}
  .briefs-section .brief-more-card span{font-size:14px}
  .briefs-section .brief-more-card small{font-size:9px}
}
.article-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 8px}.article-cta-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:#fff!important;font-weight:850;text-decoration:none;box-shadow:0 10px 22px rgba(15,95,61,.14);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.article-cta-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,95,61,.18);background:#0b4d31;color:#fff!important}@media(max-width:560px){.article-cta-button{width:100%}}
/* 先看要点 / Carddoger总结 dark：仍作高亮底，略亮于正文纸 */
body.dark .article-highlights{
  border-color:#3a4338;
  background:#1c1f1a;
  box-shadow:0 8px 22px rgba(0,0,0,.22)
}
body.dark .article-highlights h2{color:#4fcb7d}
body.dark .article-highlights-body,
body.dark .article-highlights-body p,
body.dark .article-highlights-body li,
body.dark .article-highlights > ol > li,
body.dark .compact-highlights .article-highlights-body li{color:#c5cfc4}
body.dark .md-body > .article-highlights + .md-section::before{
  background:color-mix(in srgb,#fff 14%,#343b32)
}
/* 正文配图 dark 见下方统一块 */
body.dark .news-background-section:not(.md-section){border-color:#343b32;background:#20211d;box-shadow:0 16px 38px rgba(0,0,0,.22)}
body.dark .text-section:not(.md-section){background:#20211d}
body.dark .premium-preview::after{background:linear-gradient(180deg,rgba(33,33,29,0),var(--paper) 86%)}
body.dark .community-card{border-color:#3a3932;background:linear-gradient(180deg,#23231f,#1d1d1a);box-shadow:0 16px 36px rgba(0,0,0,.24)}
body.dark .community-subscribe input{border-color:#3a3932;background:#171713;color:var(--ink)}
body.dark .community-button,body.dark .community-id{border-color:#3a3932;background:#1a1a17}
body.dark .community-button:hover{border-color:#2f8a5f;box-shadow:0 8px 20px rgba(0,0,0,.24)}
footer>small{right:24px;line-height:1.6}
.footer-info a,.footer-info button{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  text-align:left;
  color:var(--muted);
  font:inherit;
  cursor:pointer;
  text-decoration:none;
  display:block
}
.footer-info a:hover,.footer-info a:focus-visible,
.footer-info button:hover,.footer-info button:focus-visible,footer a:hover{color:var(--accent)}
.footer-note a{color:var(--muted)}
.footer-info-modal[hidden]{display:none!important}
.footer-info-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:max(12px,2dvh) 16px;background:rgba(5,26,17,.56);backdrop-filter:blur(10px);overflow:hidden;overscroll-behavior:none}
.footer-info-modal-card{width:min(640px,100%);max-height:min(88dvh,720px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:26px;background:var(--paper);color:var(--ink);box-shadow:0 28px 80px rgba(0,0,0,.24);padding:30px}
.footer-info-modal-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;position:sticky;top:0;z-index:2;padding-top:2px;background:var(--paper)}
.footer-info-modal-head h2{margin:0;font-size:28px}
.footer-info-modal-close{width:42px;height:42px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:24px;cursor:pointer;flex:0 0 auto}
.footer-info-modal-body{display:grid;gap:14px;color:var(--muted);line-height:1.85;font-size:15px}
.footer-info-modal-body p{margin:0}
body.footer-modal-open{overflow:hidden!important;overscroll-behavior:none}
body.dark .footer-info-modal{background:rgba(0,0,0,.66)}
@media(max-width:560px){
  footer{padding-bottom:120px}
  .footer-note{display:flex!important}
  .footer-info-modal-card{padding:24px;border-radius:22px}
  .footer-info-modal-head h2{font-size:24px}
}

/* Empty content states (0 articles) */
.empty-state{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;width:100%;min-height:140px;padding:28px 24px;border:1px dashed var(--line);border-radius:16px;background:var(--paper);color:var(--ink);box-sizing:border-box;cursor:default}
.empty-state strong{font-size:16px}
.empty-state p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.featured-card > .empty-state{min-height:210px;border:0;border-radius:18px;background:linear-gradient(130deg,#0b2f23,#0f5f3d 58%,#123426);color:#fff}
.featured-card > .empty-state p{color:#d7eadc}
.briefs-rail > .empty-state{min-width:100%;flex:1 0 100%}

/*
 * ========== 阶段 B：连续阅读流（小互式分节）==========
 * ## 仍渲染为 .md-section，但视觉上不再「一节一卡」：
 * 无边框堆叠 → 相邻节顶部分割线 + 眉标编号 + 流动正文
 */
.md-body.article-md-stack,
.md-body{
  display:flex;
  flex-direction:column;
  gap:0
}
/* 彻底清掉卡片边框/阴影；分割线改用 ::before，避免 border 简写互相覆盖 */
.md-section,
.md-body > .md-section,
.md-body > .md-section.text-section,
.md-body > .md-section.news-background-section,
.md-body > .md-section.md-section-lead{
  position:relative;
  margin:0;
  padding:0;
  overflow:visible;
  border:none!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important
}
/*
 * 分节顶线：相邻 .md-section 之间一律一条（对标小互 .sec）
 * 用 ::before 画线，不依赖 border-top，不会被旧 text-section 规则冲掉
 */
.md-body > .md-section + .md-section{
  margin-top:40px;
  padding-top:30px
}
.md-body > .md-section + .md-section::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:color-mix(in srgb,var(--ink) 16%,var(--line));
  pointer-events:none
}
.md-section.news-background-section .md-section-body .article-illustration{margin:22px 0}
.md-section.news-background-section .md-section-body .article-illustration:last-child{margin-bottom:0}
/* 节标题：对标小互 .eyebrow + h2（编号弱、标题更实更粗） */
.md-section-title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  padding:0 0 14px;
  border-bottom:0;
  background:none
}
.md-section-index{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  height:auto;
  padding:0;
  border-radius:0;
  background:transparent;
  color:var(--accent);
  font-size:11px;
  font-weight:600;
  letter-spacing:.16em;
  line-height:1;
  font-variant-numeric:tabular-nums;
  opacity:.85
}
.md-section-title h2{
  margin:0;
  color:var(--art-heading-color,#445338);
  /* 中文优先 Noto Sans SC，确保 800 字重文件生效（DM Sans 在前会让中文 fallback 变虚） */
  font-family:"Noto Sans SC","DM Sans",sans-serif;
  font-size:clamp(22px,2.8vw,26px);
  line-height:1.32;
  letter-spacing:-.02em;
  font-weight:800;
  /* 勿用 antialiased：Retina 上会把粗体磨成细体 */
  -webkit-font-smoothing:auto;
  -moz-osx-font-smoothing:auto;
  text-rendering:optimizeLegibility
}
.md-section-title h2 strong{
  font-weight:800;
  color:inherit
}
/* 小节标题：明显加粗、略小于 h2 */
.md-section-body h3.md-subhead,
.md-subhead{
  margin:28px 0 10px;
  color:var(--art-heading-color,#445338);
  font-family:"Noto Sans SC","DM Sans",sans-serif;
  font-size:18px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:-.01em;
  -webkit-font-smoothing:auto
}
/* 四级小标题 #### */
.md-section-body h4.md-h4,
.md-h4{
  margin:18px 0 8px;
  color:var(--art-heading-color,#445338);
  font-family:"Noto Sans SC","DM Sans",sans-serif;
  font-size:16px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:-.01em;
}
/* 正文块：主文 17px；注释/引用用 --art-note-size */
.md-section-body{
  padding:4px 0 8px;
  color:var(--art-body-color,var(--ink));
  font-size:var(--art-body-size,17px);
  line-height:var(--art-body-lh,1.95)
}
.md-section-body > :first-child{margin-top:0}
.md-section-body > :last-child{margin-bottom:0}
.md-section-body p{margin:0 0 var(--art-p-gap,20px)}
.md-section-body ul,.md-section-body ol{margin:0 0 var(--art-p-gap,20px);padding-left:1.25em}
.md-section-body li{margin:var(--art-li-gap,8px) 0}
/* 引用/注释：小于正文（对标小互 dim / caption） */
.md-section-body blockquote{
  margin:0 0 20px;
  padding:12px 16px;
  border-left:3px solid var(--accent);
  border-radius:0 10px 10px 0;
  background:color-mix(in srgb,var(--accent) 6%,var(--paper));
  color:var(--muted);
  font-size:var(--art-note-size,14.5px);
  line-height:var(--art-note-lh,1.75);
  font-weight:400
}
.md-section-body blockquote strong{color:var(--ink)}
/*
 * 正文默认无高亮：行内 code 只做等宽，不涂黄底
 * 仅 .md-hl（邀请码 / 邀请链接）才黄底高亮
 */
.md-section-body code,
.article-content code,
.md-body code{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  font-size:.95em;
  font-weight:600;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  letter-spacing:.02em
}
.md-section-body code.md-hl,
.md-section-body a.md-hl,
.md-section-body .md-hl,
.article-content code.md-hl,
.article-content a.md-hl,
.article-content .md-hl,
.md-body code.md-hl,
.md-body a.md-hl,
.md-body .md-hl{
  display:inline;
  padding:2px 7px;
  border-radius:6px;
  border:1px solid color-mix(in srgb,#c7902d 40%,var(--line));
  background:#fff2c2;
  color:#7a4e00;
  font-size:.9em;
  font-weight:700;
  letter-spacing:.02em;
  text-decoration:none;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone
}
.md-section-body a.md-hl:hover,
.article-content a.md-hl:hover,
.md-body a.md-hl:hover{filter:brightness(.97)}
body.dark .md-section-body code,
body.dark .article-content code,
body.dark .md-body code{
  background:transparent;
  border:0;
  color:inherit
}
body.dark .md-section-body code.md-hl,
body.dark .md-section-body a.md-hl,
body.dark .md-section-body .md-hl,
body.dark .article-content code.md-hl,
body.dark .article-content a.md-hl,
body.dark .article-content .md-hl,
body.dark .md-body code.md-hl,
body.dark .md-body a.md-hl,
body.dark .md-body .md-hl{
  background:rgba(199,144,45,.2);
  border-color:rgba(199,144,45,.4);
  color:#f0c86a
}
/* 官网 PDF / 下载链接按钮 */
/* 正文跳转 / 下载按钮：小巧胶囊，不抢正文视觉 */
.md-download-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 16px}
/* 攻略折叠名单 */
.md-fold{
  margin:12px 0 16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper);
  overflow:hidden
}
.md-fold-summary{
  cursor:pointer;
  list-style:none;
  padding:12px 14px;
  font-size:14px;
  font-weight:700;
  color:var(--ink);
  user-select:none
}
.md-fold-summary::-webkit-details-marker{display:none}
.md-fold-summary::before{
  content:"▸ ";
  color:var(--accent);
  font-weight:800
}
.md-fold[open] > .md-fold-summary::before{content:"▾ "}
.md-fold-body{
  padding:0 14px 14px;
  border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  color:var(--muted);
  font-size:14px;
  line-height:1.7
}
.md-fold-body ul,.md-fold-body ol{margin:8px 0 10px;padding-left:1.2em}
.md-fold-body li{margin:4px 0}
.md-fold-h{
  margin:14px 0 6px;
  color:var(--ink);
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em
}
.md-fold-body p{margin:8px 0}
.md-brand-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 16px
}
.md-brand-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--bg);
  color:var(--ink);
  font-size:12px;
  font-weight:700
}
.md-brand-chip img{
  width:16px;
  height:16px;
  object-fit:contain;
  border-radius:3px
}
.md-btn-download{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  max-width:100%;
  padding:0 12px;
  border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 92%,#fff);
  color:#fff!important;
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.2;
  text-decoration:none!important;
  box-shadow:0 2px 8px rgba(15,95,61,.1);
  transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease
}
.md-btn-download:hover{
  background:var(--accent);
  border-color:var(--accent);
  box-shadow:0 4px 12px rgba(15,95,61,.14);
  transform:translateY(-0.5px)
}
.md-btn-download:active{transform:none;box-shadow:0 1px 4px rgba(15,95,61,.1)}
body.dark .md-btn-download{
  background:color-mix(in srgb,var(--accent) 78%,#0a1a12);
  border-color:color-mix(in srgb,var(--accent) 50%,var(--line));
  box-shadow:0 2px 8px rgba(0,0,0,.22)
}
body.dark .md-btn-download:hover{
  background:var(--accent);
  box-shadow:0 4px 12px rgba(0,0,0,.28)
}
@media(max-width:560px){
  .md-download-row{gap:6px}
  .md-btn-download{min-height:28px;padding:0 11px;font-size:11.5px}
}
.md-section-lead .md-section-body,.md-section-lead{padding:0}
.md-checklist{list-style:none;padding-left:0}
.md-checklist .md-check{position:relative;padding-left:1.6em}
.md-checklist .md-check::before{content:"☐";position:absolute;left:0;color:var(--accent);font-weight:700}
.md-checklist .md-check.is-done::before{content:"☑"}

/*
 * 正文配图：描边 + 圆角只在 figure 一层
 * img 不再单独 border / radius / shadow / clip-path，避免角上双线、圆角错位
 */
.article-illustration{
  display:block;
  margin:22px 0;
  padding:0;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:var(--paper);
  box-sizing:border-box;
  box-shadow:none
}
.article-illustration img{
  display:block;
  width:100%;
  height:auto;
  max-height:min(72vh,820px);
  margin:0;
  padding:0;
  border:0!important;
  border-radius:0!important;
  outline:none!important;
  box-shadow:none!important;
  clip-path:none!important;
  object-fit:contain;
  object-position:center;
  vertical-align:middle;
  background:var(--paper)
}
.article-illustration figcaption{
  display:block;
  margin:0;
  padding:10px 14px;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  color:var(--muted);
  font-size:var(--art-meta-size,12px);
  line-height:1.55;
  text-align:center;
  background:var(--paper)
}
.md-section-body .article-illustration:first-child{margin-top:8px}
.md-section-body .article-illustration:last-child{margin-bottom:0}
body.dark .article-illustration{
  border-color:#343b32;
  background:#141612
}
body.dark .article-illustration img{
  background:#141612
}
body.dark .article-illustration figcaption{
  border-top-color:#343b32;
  background:#1a1c18;
  color:#bfb8aa
}

body.dark .md-section,
body.dark .md-body > .md-section,
body.dark .md-body > .md-section.text-section,
body.dark .md-body > .md-section.news-background-section{
  background:transparent!important;
  box-shadow:none!important;
  border:none!important
}
body.dark .md-body > .md-section + .md-section::before{
  background:color-mix(in srgb,#fff 14%,#343b32)
}
body.dark .md-section-title{background:none;border-bottom-color:transparent}
body.dark .md-section-index{background:transparent;color:#4fcb7d}
body.dark .article-page{
  --art-body-color:color-mix(in srgb,var(--ink) 78%,#8aa88c);
  --art-heading-color:var(--ink)
}
body.dark .md-section-title h2{color:var(--art-heading-color,var(--ink));font-weight:800}
body.dark .md-section-body blockquote{background:rgba(79,203,125,.08);color:var(--muted)}

@media(max-width:560px){
  .md-body > .md-section + .md-section{margin-top:32px;padding-top:24px}
  .md-section-title{align-items:flex-start;padding:0 0 10px;gap:6px}
  .md-section-title h2{font-size:21px;font-weight:800}
  .md-section-body{padding:2px 0 4px}
  .md-section-body h3.md-subhead,.md-subhead{font-size:17px;font-weight:800}
  .md-section-index{min-width:0;height:auto;font-size:10.5px}
}

/* Markdown 表格 */
.md-table-wrap{margin:14px 0 18px;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.md-section-body,.text-section,.article-content{max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}
/* 正文栏限宽由 .article-page 的 --art-measure 统一控制 */
.article-shell{max-width:100%;min-width:0}
.site-header{max-width:100%;min-width:0}
.header-inner{max-width:min(1100px,100%);min-width:0;overflow:hidden}
.md-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.55}
.md-table th,.md-table td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.md-table th{background:var(--bg);color:var(--ink);font-weight:600;white-space:nowrap}
.md-table tr:last-child td{border-bottom:0}
.md-table td:first-child{color:var(--ink);font-weight:500;min-width:5.5em}
body.dark .md-table-wrap{border-color:#343b32;background:#20211d}
body.dark .md-table th{background:#1a1c18}
@media(max-width:560px){
  .md-table{font-size:13px}
  .md-table th,.md-table td{padding:9px 10px}
}

/* 社群 · Telegram 三入口 + 二维码 */
.telegram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:6px;padding:4px 0 2px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--paper) 88%,var(--bg));overflow:hidden}
.telegram-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 14px 12px;text-align:center;border:0;background:transparent;box-shadow:none;border-radius:0}
.telegram-item + .telegram-item{border-left:1px solid color-mix(in srgb,var(--line) 88%,transparent)}
.telegram-qr{display:block;width:min(148px,100%);height:auto;margin:0;border-radius:12px;background:#fff}
/* 覆盖 .community-card p 的 18px 底边距，避免标题/handle/按钮之间空一大截 */
.community-card .telegram-label,
.community-card .telegram-handle{margin:0;padding:0;line-height:1.3;font-size:15px}
.community-card .telegram-label{color:var(--ink);font-size:15px}
.community-card .telegram-handle{color:var(--muted);font-size:13px}
.telegram-item .community-button{width:100%;margin-top:2px;justify-content:center}
body.dark .telegram-grid{border-color:#3a3932;background:#1a1a17}
body.dark .telegram-item + .telegram-item{border-left-color:#3a3932}
@media(max-width:720px){
  .telegram-grid{grid-template-columns:1fr;gap:0}
  .telegram-item{padding:14px 12px 12px;gap:4px}
  .telegram-item + .telegram-item{border-left:0;border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent)}
  .telegram-qr{width:min(180px,68vw)}
  body.dark .telegram-item + .telegram-item{border-top-color:#3a3932;border-left:0}
}




/* 社群 · 按钮内头像（X 等） */
.community-button-with-avatar{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding-left:12px;padding-right:18px}
.community-button-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:var(--bg)}
.community-card-x .community-button-row{max-width:none}
body.dark .community-button-avatar{border-color:#3a3932}

/* —— 合规页（About · Privacy · Terms · Refund）：复用联系页 community 模板 —— */
.legal-section{
  /* 继承 .community-section 的 max-width / 左右 padding，避免贴边 */
  box-sizing:border-box
}
.legal-section .legal-updated{
  margin:-12px 0 28px;
  color:var(--muted);
  font-size:13px;
  line-height:1.55
}
.legal-section .community-card h3{
  margin:0 0 12px;
  color:var(--ink);
  font-size:17px;
  line-height:1.35
}
.legal-section .community-card p{
  margin:0 0 12px;
  color:var(--muted);
  font-size:14px;
  line-height:1.85
}
.legal-section .community-card p:last-child{margin-bottom:0}
.legal-section .community-card p strong{color:var(--ink);font-weight:700}
.legal-section .community-card ul,
.legal-section .community-card ol{
  margin:0 0 12px;
  padding-left:1.2em;
  color:var(--muted);
  font-size:14px;
  line-height:1.85
}
.legal-section .community-card ul:last-child,
.legal-section .community-card ol:last-child{margin-bottom:0}
.legal-section .community-card li{margin:0 0 8px}
.legal-section .community-card li:last-child{margin-bottom:0}
.legal-section .community-card a{
  color:var(--accent);
  text-decoration:underline;
  text-underline-offset:2px
}
.legal-section .community-card a:hover{filter:brightness(1.05)}
.legal-section .community-card .community-button{
  margin-top:8px;
  text-decoration:none
}
.legal-section .legal-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  margin:28px 0 0;
  padding-top:22px;
  border-top:1px solid var(--line);
  font-size:13px
}
.legal-section .legal-nav a{
  color:var(--accent);
  font-weight:700;
  text-decoration:none
}
.legal-section .legal-nav a:hover{text-decoration:underline}
/* 兼容旧 class（若缓存页仍带 .legal-page） */
.legal-page{
  max-width:920px;
  width:100%;
  margin:72px auto 0;
  padding:0 24px 54px;
  box-sizing:border-box
}
@media (max-width:720px){
  .legal-section,
  .legal-page{margin-top:52px}
}
@media (max-width:560px){
  /* 与联系页一致：main 已有左右 16px；区块不再二次挤掉边距 */
  .legal-section{
    padding:0 0 42px
  }
  .legal-page{
    margin-top:52px;
    padding:0 0 42px
  }
  .legal-section .community-card{padding:20px}
  .legal-section .community-card .community-button{
    width:100%;
    justify-content:flex-start
  }
}
body.dark .legal-section .legal-nav{border-color:#3a3932}
@media(max-width:560px){
  .legal-page{padding:20px 0 64px}
  .legal-page .legal-card{padding:14px 16px}
}

/* —— 会员页（联系页卡片流 + PC 左右状态栏） —— */
.membership-section .membership-lead{margin-bottom:28px}
.membership-cards{display:grid;gap:16px}
.membership-open-card{
  border-color:color-mix(in srgb,var(--accent) 45%,var(--line));
  background:linear-gradient(135deg,var(--paper),color-mix(in srgb,var(--paper) 72%,#e8f6ee));
  box-shadow:0 16px 40px rgba(15,95,61,.1)
}
/* PC：左右分栏；左价格突出，右权益与按钮 */
.membership-guest-block,
.membership-active-block{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:28px 32px;
  align-items:center
}
.membership-guest-block[hidden],
.membership-active-block[hidden]{display:none!important}
.membership-open-main{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  min-width:0
}
.membership-open-side{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:12px;
  min-width:0
}
.membership-open-note{margin:0;min-height:1.2em}
.membership-open-card .price-amount{
  margin:4px 0 2px;
  font-size:clamp(40px,5.5vw,52px);
  font-weight:850;
  letter-spacing:-1.4px;
  line-height:1.05;
  color:var(--accent)
}
.membership-open-card .membership-active-price{
  margin:2px 0 10px;
  font-size:clamp(34px,4.5vw,46px)
}
.membership-open-card .price-sub{margin:0}
.membership-open-card .price-perks{margin:0}
.membership-open-card .price-footnote{margin:0}
.membership-open-side .membership-secondary{align-self:flex-start}
.membership-cta-ghost{
  background:transparent!important;
  color:var(--accent)!important;
  border:1.5px solid color-mix(in srgb,var(--accent) 40%,var(--line))!important;
  box-shadow:none!important;
  text-decoration:none!important
}
.membership-cta-ghost:hover{background:color-mix(in srgb,var(--accent) 8%,var(--paper))!important}
.membership-articles{
  margin-top:8px;
  padding-top:8px
}
.membership-articles-lead{
  margin:0 0 16px;
  color:var(--muted);
  font-size:14px;
  line-height:1.7
}
.membership-article-grid{
  margin:0
}
.membership-articles-more{
  margin:16px 0 0;
  text-align:right
}
.membership-block-kicker{
  margin:4px 0 12px;
  color:var(--accent);
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em
}
.membership-compare-row{display:flex;flex-direction:column;gap:0}
.membership-faq-card h3{margin:0 0 14px}
.membership-faq-card .faq-list{gap:8px}
.membership-faq-card .faq-item{
  padding:12px 14px;
  border-radius:12px
}
.membership-bottom-card{
  border-color:transparent;
  background:radial-gradient(circle at 12% 0,rgba(15,95,61,.14),transparent 42%),linear-gradient(135deg,#0f5f3d,#123426);
  color:#eafff2;
  box-shadow:0 16px 40px rgba(15,95,61,.16)
}
.membership-bottom-card h3{margin:0 0 8px;color:#fff;font-size:22px}
.membership-bottom-card p{margin:0 0 16px;color:#c3d3c8;font-size:14px;line-height:1.7}
.membership-bottom-card .membership-cta{background:#fff;color:var(--accent)}
.membership-bottom-card .membership-cta:hover{background:#f3fff7}
.membership-active-badge{
  margin:0 0 4px;
  color:var(--accent);
  font-size:clamp(24px,4vw,32px);
  font-weight:800;
  letter-spacing:-.6px;
  line-height:1.15
}
.membership-active-badge[data-state="ending"]{color:color-mix(in srgb,var(--muted) 35%,var(--accent))}
.membership-status-dl{margin:0;display:flex;flex-direction:column;gap:10px}
.membership-status-row{display:grid;grid-template-columns:7.5em 1fr;gap:10px;align-items:baseline}
.membership-status-row dt{margin:0;color:var(--muted);font-size:13px;font-weight:600}
.membership-status-row dd{margin:0;color:var(--ink);font-size:15px;font-weight:600;line-height:1.4}
.membership-status-row dd[data-state="on"]{color:var(--accent)}
.membership-status-row dd[data-state="off"]{color:var(--muted)}
.membership-status-hint{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.7}
.membership-cta-secondary{
  background:var(--paper)!important;
  color:var(--accent)!important;
  border:1.5px solid color-mix(in srgb,var(--accent) 55%,var(--line))!important;
  box-shadow:none!important
}
.membership-cta-secondary:hover{background:color-mix(in srgb,var(--paper) 70%,#e8f6ee)!important}
.membership-secondary-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:40px;padding:0 14px;border:0;border-radius:999px;
  background:transparent;color:var(--accent);font-size:14px;font-weight:700;cursor:pointer;text-align:left
}
.membership-secondary-btn:hover{text-decoration:underline}
.membership-page-message{margin:4px 0 0;font-size:13px;line-height:1.6;color:var(--accent)}
.membership-page-message.is-error{color:#b42318}
.membership-page-message.is-ok{color:var(--accent)}
body.dark .membership-open-card{background:linear-gradient(135deg,#20211d,#1a1f1b);border-color:#2f8a5f}
body.dark .membership-cta-secondary{background:#1a1a17!important;color:#7dcea0!important;border-color:#2f8a5f!important}
body.dark .membership-bottom-card{border-color:transparent}
.membership-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:0;border-radius:999px;background:var(--accent);color:#fff;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 10px 24px rgba(15,95,61,.16)}
.membership-cta:hover{background:#0b4d31}
.membership-cta.block{width:100%}
.membership-cta:disabled{opacity:.7;cursor:wait}
/* display:inline-flex 会盖掉原生 [hidden]，续费按钮必须强制互斥隐藏 */
.membership-cta[hidden],
.membership-secondary-btn[hidden],
[data-membership-cancel-renewal][hidden],
[data-membership-resume-renewal][hidden]{
  display:none!important
}
.membership-secondary{color:var(--accent);font-size:14px;font-weight:700}
.membership-price-line{margin:0;color:var(--muted);font-size:14px}
.membership-price-line strong{color:var(--ink);font-weight:700}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.compare-card.paid{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 14px 34px rgba(15,95,61,.08)}
.compare-flag{display:inline-block;margin:0 0 10px;padding:4px 10px;border-radius:999px;background:var(--bg);color:var(--muted);font-size:12px;font-weight:700}
.compare-flag.paid-flag{background:#e3f3e8;color:var(--accent)}
.compare-card h3{margin:0 0 12px;font-size:18px;color:var(--ink);font-weight:700}
.compare-card ul{margin:0 0 14px;padding-left:1.15em;color:var(--muted);font-size:14px;line-height:1.8}
.compare-card li{margin:4px 0}
.compare-note{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.price-kicker{margin:0 0 8px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.08em}
.price-amount{margin:0 0 6px;color:var(--ink);font-size:40px;font-weight:800;letter-spacing:-1px;line-height:1.1}
.price-sub{margin:0 0 8px;color:var(--muted);font-size:13px}
.price-perks{margin:0 0 8px;padding-left:1.15em;color:var(--muted);font-size:14px;line-height:1.8}
.price-footnote{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.65}
.faq-list{display:flex;flex-direction:column;gap:10px}
[data-lang-only][hidden]{display:none!important}
.faq-item{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}
.faq-item summary{cursor:pointer;color:var(--ink);font-size:15px;font-weight:600}
.faq-item p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.8}
body.dark .compare-card.paid{border-color:#2f8a5f}
body.dark .faq-item{background:#1a1a17;border-color:#343b32}
@media(max-width:720px){
  .compare-grid{grid-template-columns:1fr}
  .membership-guest-block,
  .membership-active-block{
    grid-template-columns:1fr;
    gap:16px;
    align-items:stretch
  }
  .membership-open-card .price-amount{font-size:38px}
  .membership-open-card .membership-active-price{font-size:32px}
  .price-amount{font-size:34px}
  .membership-status-row{grid-template-columns:6.5em 1fr}
  .membership-articles-more{text-align:left}
}

/* 法律弹窗分享链接 */
.footer-info-modal-share{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.footer-info-share-label{display:block;margin:0 0 8px;color:var(--muted);font-size:12px}
.footer-info-share-row{display:flex;gap:8px}
.footer-info-share-input{min-width:0;flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--muted);font-size:13px}
.footer-info-share-copy{flex:0 0 auto;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--accent);font-size:13px;font-weight:700;cursor:pointer}
.footer-info-share-copy:hover{border-color:var(--accent)}
.footer-info-share-hint{display:block;margin-top:8px;min-height:1.2em;color:var(--muted);font-size:12px}
body.dark .footer-info-modal-share{border-top-color:#343b32}
body.dark .footer-info-share-input{background:#141612;border-color:#343b32}

/* 全站右下角：TG 交流群悬浮按钮 */
.site-fab{
  position:fixed;
  right:max(16px, env(safe-area-inset-right, 0px));
  bottom:max(20px, env(safe-area-inset-bottom, 0px));
  z-index:180;
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#e55a3c;
  color:#fff;
  box-shadow:0 10px 28px rgba(229,90,60,.38),0 2px 8px rgba(0,0,0,.12);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
  -webkit-tap-highlight-color:transparent;
}
.site-fab:hover{
  transform:translateY(-2px) scale(1.04);
  filter:brightness(1.05);
  box-shadow:0 14px 32px rgba(229,90,60,.42),0 4px 12px rgba(0,0,0,.14);
  color:#fff;
}
.site-fab:active{transform:scale(.96)}
.site-fab:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
  box-shadow:0 0 0 4px rgba(229,90,60,.45),0 10px 28px rgba(229,90,60,.38);
}
.site-fab-icon{display:block;width:26px;height:26px}
body.dark .site-fab{
  background:#e86a4f;
  box-shadow:0 10px 28px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.08);
}
/* 管理页 / 弹窗全屏时可由页面隐藏；默认显示 */
body.admin-page .site-fab,
body.admin-push-page .site-fab,
body.modal-scroll-lock .site-fab,
body.dialog-locked .site-fab,
body.footer-modal-open .site-fab{
  opacity:0;
  pointer-events:none;
}
@media (max-width:640px){
  .site-fab{
    width:52px;
    height:52px;
    right:max(14px, env(safe-area-inset-right, 0px));
    bottom:max(16px, env(safe-area-inset-bottom, 0px));
  }
  .site-fab-icon{width:24px;height:24px}
}
