@charset "utf-8";
/* ============================================================
   线报酷 · 官方发布页样式
   设计语言 = 站点统一 zinc 令牌体系（/design/tokens.css 内嵌语义层）
   纪律：禁裸色值 / 圆角 4 档 / 间距 4px 基数 / 全站不用蓝 /
        夜间只在 html.night 换值 / sticky 禁 backdrop-filter
   ============================================================ */

/* ---------- ① zinc 原色板（组件不直接引用） ---------- */
:root{
  --zinc-50:#fafafa;  --zinc-100:#f4f4f5; --zinc-200:#e4e4e7; --zinc-300:#d4d4d8;
  --zinc-400:#a1a1aa; --zinc-500:#71717a; --zinc-600:#52525b; --zinc-700:#3f3f46;
  --zinc-800:#27272a; --zinc-900:#18181b; --zinc-950:#09090b;
}

/* ---------- ② 规范语义层（亮色） ---------- */
:root{
  --bg:#fafafa;
  --surface:#ffffff;
  --surface-2:#f4f4f5;
  --surface-3:#fafafa;
  --surface-hover:#ebebec;
  --border:#e4e4e7;
  --border-strong:#d4d4d8;
  --text:#09090b;
  --text-body:#3f3f46;
  --text-2:#71717a;
  --text-3:#a1a1aa;
  --primary:#18181b;
  --primary-hover:#27272a;
  --on-primary:#ffffff;
  --link:#09090b;
  --link-hover:#52525b;
  --success:#10b981;
  --success-text:#059669;
  --tint-ok:rgba(16,185,129,.12);
  --warning:#f59e0b;
  --warning-text:#b45309;
  --warning-bg:#fffbeb;
  --danger:#dc2626;
  --danger-bg:rgba(220,38,38,.08);
  --vip:#b45309;
  --ring:#e4e4e7;
  --ring-strong:#d4d4d8;
  --shadow-ring:0 0 0 1px var(--ring);
  --shadow-ring-sm:0 0 0 1px var(--ring),0 1px 2px rgba(0,0,0,.04);
  --shadow-ring-strong:0 0 0 1px var(--ring-strong),0 1px 2px rgba(0,0,0,.04);
  --shadow-ring-lg:0 0 0 1px var(--ring),0 8px 30px rgba(0,0,0,.08);
  --focus-ring:#71717a;
  --focus-halo:rgba(24,24,27,.08);
  --radius-lg:12px;
  --radius:8px;
  --radius-sm:6px;
  --radius-pill:999px;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px;
  --sp-5:20px; --sp-6:24px; --sp-7:32px; --sp-8:40px;
  --fs-12:.75rem; --fs-13:.8125rem; --fs-14:.875rem; --fs-15:.9375rem;
  --fs-16:1rem; --fs-18:1.125rem; --fs-22:1.375rem; --fs-28:1.75rem;
  --fw-400:400; --fw-500:500; --fw-600:600; --fw-700:700;
  --dur-fast:.15s; --dur:.2s; --ease:cubic-bezier(.4,0,.2,1);
  --font:-apple-system,BlinkMacSystemFont,"PingFang SC","MiSans",
    "HarmonyOS Sans SC","Microsoft YaHei","Segoe UI",Roboto,sans-serif;
  --container:1080px;
  color-scheme:light;
}

/* ---------- ② 规范语义层（暗色 · html.night） ---------- */
html.night{
  --bg:#18181b;
  --surface:#1f1f23;
  --surface-2:#27272a;
  --surface-3:#232327;
  --surface-hover:#3f3f46;
  --border:#2e2e33;
  --border-strong:#3f3f46;
  --text:#fafafa;
  --text-body:#d4d4d8;
  --text-2:#a1a1aa;
  --text-3:#71717a;
  --primary:#fafafa;
  --primary-hover:#e4e4e7;
  --on-primary:#18181b;
  --link:#fafafa;
  --link-hover:#a1a1aa;
  --success:#34d399;
  --success-text:#34d399;
  --tint-ok:rgba(52,211,153,.16);
  --warning:#fbbf24;
  --warning-text:#fbbf24;
  --warning-bg:rgba(251,191,36,.12);
  --danger:#ff7076;
  --danger-bg:rgba(255,112,118,.14);
  --ring:#2e2e33;
  --ring-strong:#3f3f46;
  --shadow-ring:0 0 0 1px var(--ring);
  --shadow-ring-sm:0 0 0 1px var(--ring),0 1px 2px rgba(0,0,0,.16);
  --shadow-ring-strong:0 0 0 1px var(--ring-strong),0 1px 2px rgba(0,0,0,.16);
  --shadow-ring-lg:0 0 0 1px var(--ring),0 8px 30px rgba(0,0,0,.5);
  --focus-ring:#a1a1aa;
  --focus-halo:rgba(250,250,250,.08);
  color-scheme:dark;
}

/* ---------- base ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--text-body);
  font:400 var(--fs-14)/1.7 var(--font);
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease);
}
html.theme-switching *{transition:none!important}
a{color:inherit;text-decoration:none}
button{border:0;-webkit-appearance:none;appearance:none;background:none;font:inherit;color:inherit;cursor:pointer}
input,summary{font:inherit}
svg.xb-ic{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;box-sizing:content-box;flex-shrink:0}
svg.xb-ic.fill{fill:currentColor;stroke:none}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--sp-4)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- 顶栏 ---------- */
.pub-header{
  position:sticky;top:0;z-index:99;background:var(--surface);
  border-bottom:1px solid var(--border);
  transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.pub-header .h-wrap{max-width:var(--container);margin:0 auto;padding:0 var(--sp-4);height:60px;display:flex;align-items:center;gap:var(--sp-4)}
.logo-area{display:flex;align-items:center;gap:10px;min-width:0}
.logo-mark{
  width:26px;height:26px;border-radius:7px;background:var(--primary);color:var(--on-primary);
  display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease);
}
.logo-name{font-size:17px;font-weight:var(--fw-700);color:var(--text);letter-spacing:.5px}
.logo-suffix{font-size:var(--fs-12);color:var(--text-3);margin-left:-2px}
.h-space{flex:1}
.h-nav{display:flex;align-items:center;gap:var(--sp-2)}
.h-link{
  font-size:var(--fs-13);font-weight:var(--fw-500);color:var(--text-2);
  padding:7px var(--sp-3);border-radius:var(--radius-pill);
  transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);
}
.h-link:hover{background:var(--surface-2);color:var(--text)}
.h-enter{
  display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 var(--sp-4);
  border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);
  font-size:var(--fs-13);font-weight:var(--fw-500);white-space:nowrap;
  transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);
}
.h-enter:hover{background:var(--primary-hover)}
.night-btn{
  display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 15px;
  border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-2);
  font-size:13.5px;font-weight:var(--fw-500);white-space:nowrap;flex-shrink:0;
  transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);
}
.night-btn:hover{background:var(--surface-hover);color:var(--text)}
.night-btn .xb-ic{font-size:14px}

/* ---------- hero ---------- */
.hero{padding:var(--sp-8) 0 var(--sp-7)}
.hero-badge{
  display:inline-flex;align-items:center;gap:7px;padding:5px var(--sp-3);
  border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-ring-sm);
  font-size:var(--fs-12);font-weight:var(--fw-500);color:var(--text-2);margin-bottom:var(--sp-4);
}
.dot{width:7px;height:7px;border-radius:50%;background:var(--text-3);flex-shrink:0;transition:background var(--dur-fast) var(--ease)}
.dot.up{background:var(--success)}
.dot.slow{background:var(--warning)}
.dot.down{background:var(--danger)}
.dot.pulse{animation:xb-pulse 1.6s ease-in-out infinite}
@keyframes xb-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.hero h1{
  font-size:var(--fs-28);font-weight:var(--fw-700);color:var(--text);
  line-height:1.3;letter-spacing:.5px;margin-bottom:var(--sp-3);
}
.hero h1 em{font-style:normal;color:var(--text-2);font-weight:var(--fw-500);font-size:var(--fs-22)}
.hero .lede{font-size:var(--fs-15);line-height:1.8;color:var(--text-2);max-width:640px;margin-bottom:var(--sp-5)}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 var(--sp-5);
  border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);
  font-size:var(--fs-14);font-weight:var(--fw-500);white-space:nowrap;
  transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);
}
.btn-primary:hover{background:var(--primary-hover)}
.btn-primary:active{transform:scale(.98)}
.btn-primary .xb-ic{font-size:15px}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 var(--sp-5);
  border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-ring-strong);
  font-size:var(--fs-14);font-weight:var(--fw-500);color:var(--text);white-space:nowrap;
  transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);
}
.btn-ghost:hover{background:var(--surface-2)}

/* ---------- 通用区块 ---------- */
/* 只写上下长写：与 .wrap 同元素时，保留 .wrap 的左右内边距（简写会把左右覆盖成 0） */
.section{padding-top:var(--sp-7);padding-bottom:var(--sp-7)}
.sec-head{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-2)}
.sec-head h2{font-size:var(--fs-18);font-weight:var(--fw-600);color:var(--text)}
.sec-head .sub{font-size:var(--fs-12);color:var(--text-3)}
.sec-desc{font-size:var(--fs-13);color:var(--text-2);margin-bottom:var(--sp-5);max-width:720px}
.sec-desc a{color:var(--link);box-shadow:0 1px 0 var(--border-strong)}
.sec-desc a:hover{color:var(--link-hover)}

/* ---------- 域名区 ---------- */
.domain-hero{
  background:var(--primary);color:var(--on-primary);border-radius:var(--radius-lg);
  padding:var(--sp-5) var(--sp-6);display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease);
}
.domain-hero .dh-info{flex:1;min-width:260px}
.domain-hero .dh-tag{
  display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:var(--fw-600);
  padding:2px 10px;border-radius:var(--radius-pill);
  background:var(--on-primary);color:var(--primary);margin-bottom:var(--sp-2);
}
.domain-hero .dh-url{
  display:block;font-size:var(--fs-22);font-weight:var(--fw-700);letter-spacing:.5px;
  font-variant-numeric:tabular-nums;line-height:1.4;word-break:break-all;
}
.domain-hero .dh-url:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.domain-hero .dh-note{font-size:var(--fs-12);opacity:.72;margin-top:var(--sp-1)}
.domain-hero .dh-acts{display:flex;gap:var(--sp-2);align-items:center;flex-shrink:0}
.dh-btn{
  display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 var(--sp-4);
  border-radius:var(--radius-pill);font-size:var(--fs-13);font-weight:var(--fw-500);white-space:nowrap;
  transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);
}
.dh-btn:active{transform:scale(.97)}
.dh-go{background:var(--on-primary);color:var(--primary)}
.dh-go:hover{opacity:.88}
.dh-copy{background:transparent;box-shadow:inset 0 0 0 1px var(--on-primary);color:var(--on-primary)}
.dh-copy:hover{opacity:.82}
.domain-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-3);margin-top:var(--sp-3)}
.domain-card{
  display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4);
  background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-ring-sm);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);
  min-width:0;
}
.domain-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-ring-lg)}
.dc-body{flex:1;min-width:0}
.dc-meta{display:flex;align-items:center;gap:6px;margin-bottom:2px}
.dc-badge{font-size:11px;font-weight:var(--fw-600);color:var(--text-3);letter-spacing:.5px}
.dc-url{
  font-size:var(--fs-14);font-weight:var(--fw-600);color:var(--text-body);
  font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  display:block;transition:color var(--dur-fast) var(--ease);
}
.domain-card:hover .dc-url{color:var(--link-hover)}
.dc-status{font-size:var(--fs-12);color:var(--text-3)}
.dc-icon{
  width:30px;height:30px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;
  color:var(--text-3);flex-shrink:0;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);
}
.dc-icon:hover{background:var(--surface-2);color:var(--text)}
.dc-icon .xb-ic{font-size:14px}
.domain-tip{
  display:flex;align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-4);
  font-size:var(--fs-12);color:var(--text-3);line-height:1.7;
}
.domain-tip .xb-ic{font-size:13px;margin-top:3px}
.domain-tip button{color:var(--text-2);box-shadow:0 1px 0 var(--border-strong);padding:0}
.domain-tip button:hover{color:var(--text)}

/* ---------- 频道卡 ---------- */
.cate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}
.cate-card{
  display:block;padding:var(--sp-4) var(--sp-4) var(--sp-3);
  background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-ring-sm);min-width:0;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);
}
.cate-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-ring-lg)}
.cc-head{display:flex;align-items:center;gap:8px;margin-bottom:var(--sp-1)}
.cc-head h3{font-size:var(--fs-15);font-weight:var(--fw-600);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-head .xb-ic{font-size:14px;color:var(--text-3);transition:color var(--dur-fast) var(--ease)}
.cate-card:hover .cc-head .xb-ic{color:var(--text-2)}
.cate-card p{font-size:var(--fs-12);color:var(--text-2);line-height:1.65}
.cate-card p .cc-sub{color:var(--text-3)}

/* ---------- 特色功能卡 ---------- */
.feat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3)}
.feat-card{
  padding:var(--sp-4);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-ring-sm);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);
}
.feat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-ring-lg)}
.fc-icon{
  width:36px;height:36px;border-radius:var(--radius);background:var(--surface-2);
  display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);
  margin-bottom:var(--sp-3);
}
.fc-icon .xb-ic{font-size:17px}
.feat-card h3{font-size:var(--fs-15);font-weight:var(--fw-600);color:var(--text);margin-bottom:var(--sp-1)}
.feat-card p{font-size:var(--fs-12);color:var(--text-2);line-height:1.65;margin-bottom:var(--sp-3)}
.fc-link{
  display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-12);font-weight:var(--fw-500);
  color:var(--text-2);transition:color var(--dur-fast) var(--ease),gap var(--dur-fast) var(--ease);
}
.fc-link:hover{color:var(--text);gap:8px}

/* ---------- 用户中心区 ---------- */
.uc-panel{
  background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-ring-sm);overflow:hidden;
}
.uc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.uc-cell{padding:var(--sp-5);border-top:1px solid var(--border);border-left:1px solid var(--border);min-width:0}
.uc-cell:nth-child(3n+1){border-left:0}
.uc-cell:nth-child(-n+3){border-top:0}
.uc-cell h3{font-size:var(--fs-15);font-weight:var(--fw-600);color:var(--text);display:flex;align-items:center;gap:8px;margin-bottom:var(--sp-1)}
.uc-cell h3 .xb-ic{font-size:15px;color:var(--text-3)}
.uc-cell p{font-size:var(--fs-13);color:var(--text-2);line-height:1.7}
.uc-cell p a{color:var(--link);box-shadow:0 1px 0 var(--border-strong)}
.uc-cell p a:hover{color:var(--link-hover)}
.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--sp-3)}
.chip{
  font-size:var(--fs-12);color:var(--text-2);background:var(--surface-2);
  padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap;
}

/* ---------- 三步上手 ---------- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3);counter-reset:xbstep}
.step{
  padding:var(--sp-5);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-ring-sm);
  position:relative;min-width:0;
}
.step .no{
  width:24px;height:24px;border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:var(--fs-12);font-weight:var(--fw-600);font-variant-numeric:tabular-nums;margin-bottom:var(--sp-3);
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease);
}
.step h3{font-size:var(--fs-15);font-weight:var(--fw-600);color:var(--text);margin-bottom:var(--sp-1)}
.step p{font-size:var(--fs-13);color:var(--text-2);line-height:1.7}
.step p a{color:var(--link);box-shadow:0 1px 0 var(--border-strong)}
.step p a:hover{color:var(--link-hover)}

/* ---------- FAQ ---------- */
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
.faq-item{
  background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-ring-sm);
  padding:var(--sp-4) var(--sp-5);align-self:start;
}
.faq-item summary{
  cursor:pointer;list-style:none;display:flex;align-items:center;gap:var(--sp-2);
  font-size:var(--fs-14);font-weight:var(--fw-600);color:var(--text);user-select:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .xb-ic{font-size:15px;color:var(--text-3);flex-shrink:0;transition:transform var(--dur) var(--ease)}
.faq-item[open] summary .xb-ic{transform:rotate(90deg)}
.faq-item .faq-body{font-size:var(--fs-13);color:var(--text-2);line-height:1.75;padding:var(--sp-2) var(--sp-5) 0 var(--sp-2)}
.faq-item .faq-body a{color:var(--link);box-shadow:0 1px 0 var(--border-strong)}
.faq-item .faq-body a:hover{color:var(--link-hover)}

/* ---------- 底部 ---------- */
.pub-footer{border-top:1px solid var(--border);background:var(--surface);margin-top:var(--sp-7);transition:background var(--dur) var(--ease)}
.pub-footer .f-wrap{max-width:var(--container);margin:0 auto;padding:var(--sp-6) var(--sp-4)}
.f-cols{display:flex;gap:var(--sp-8);flex-wrap:wrap;margin-bottom:var(--sp-5)}
.f-brand{flex:1;min-width:240px}
.f-brand .logo-area{margin-bottom:var(--sp-2)}
.f-brand p{font-size:var(--fs-12);color:var(--text-3);line-height:1.7;max-width:320px}
.f-col h3{font-size:var(--fs-13);font-weight:var(--fw-600);color:var(--text);margin-bottom:var(--sp-2)}
.f-col ul{list-style:none;display:grid;gap:var(--sp-1)}
.f-col a,.f-col span{font-size:var(--fs-13);color:var(--text-2);transition:color var(--dur-fast) var(--ease)}
.f-col a:hover{color:var(--link-hover)}
.f-bottom{
  border-top:1px solid var(--border);padding-top:var(--sp-4);
  display:flex;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;
  font-size:var(--fs-12);color:var(--text-3);
}

/* ---------- toast ---------- */
.toast{
  position:fixed;left:50%;bottom:32px;transform:translate(-50%,16px);z-index:200;
  background:var(--primary);color:var(--on-primary);
  font-size:var(--fs-13);font-weight:var(--fw-500);
  padding:10px var(--sp-4);border-radius:var(--radius-pill);
  box-shadow:0 8px 30px rgba(0,0,0,.18);
  opacity:0;pointer-events:none;
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
  max-width:86vw;text-align:center;
}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- 响应式 ---------- */
@media (max-width:1100px){
  .feat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .h-nav .h-link{display:none}
}
@media (max-width:900px){
  .cate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .uc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .uc-cell:nth-child(3n+1){border-left:1px solid var(--border)}
  .uc-cell:nth-child(2n+1){border-left:0}
  .uc-cell:nth-child(-n+3){border-top:1px solid var(--border)}
  .uc-cell:nth-child(-n+2){border-top:0}
  .steps{grid-template-columns:1fr}
  .faq-list{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
  .hero{padding:var(--sp-6) 0}
  .hero h1{font-size:var(--fs-22)}
  .hero h1 em{font-size:var(--fs-16);display:block;margin-top:2px}
  .hero .lede{font-size:var(--fs-14)}
  .h-enter .he-txt{display:none}
  .h-enter{width:34px;padding:0;justify-content:center;flex-shrink:0}
  .night-btn{padding:0;width:34px;justify-content:center;flex-shrink:0}
  .night-btn .nb-txt{display:none}
  .logo-suffix{display:none}
  .domain-hero{padding:var(--sp-4)}
  .domain-hero .dh-url{font-size:var(--fs-16)}
  .domain-hero .dh-acts{width:100%}
  .domain-hero .dh-btn{flex:1;justify-content:center}
  .feat-grid{grid-template-columns:1fr 1fr}
  .section{padding-top:var(--sp-6);padding-bottom:var(--sp-6)}
}
@media (max-width:480px){
  .cate-grid{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:1fr}
  .uc-grid{grid-template-columns:1fr}
  .uc-cell{border-left:0!important;border-top:1px solid var(--border)!important}
  .uc-cell:first-child{border-top:0!important}
  .hero-cta .btn-primary,.hero-cta .btn-ghost{width:100%;justify-content:center}
  .f-cols{gap:var(--sp-5)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ============================================================
   v2 特效层（20261015b）
   原则：全部走令牌变量；桌面重效果、移动端与 reduced-motion 自动降级；
        新增选择器均独立命名，不改动上文既有规则层叠。
   ============================================================ */
:root{ --spot:rgba(24,24,27,.055); }
html.night{ --spot:rgba(250,250,250,.07); }

/* ---------- hero 科技背景：网格 + 噪点 ---------- */
.hero{position:relative;overflow:hidden}
.hero>.wrap{position:relative;z-index:1}
.hero-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hb-grid{
  position:absolute;inset:-40px;
  background-image:linear-gradient(var(--focus-halo) 1px,transparent 1px),
                   linear-gradient(90deg,var(--focus-halo) 1px,transparent 1px);
  background-size:38px 38px;
  -webkit-mask-image:radial-gradient(ellipse 58% 66% at 16% 14%,#000 0%,transparent 72%);
          mask-image:radial-gradient(ellipse 58% 66% at 16% 14%,#000 0%,transparent 72%);
}
.hb-noise{
  position:absolute;inset:0;opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
html.night .hb-noise{opacity:.05}

/* ---------- hero 入场（子元素依次升起） ---------- */
@keyframes xb-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero .hero-badge,.hero h1,.hero .lede,.hero .hero-rotor,.hero .hero-cta,.hero .ticker{
  animation:xb-rise .62s var(--ease) backwards;
}
.hero h1{animation-delay:.06s}
.hero .lede{animation-delay:.12s}
.hero .hero-rotor{animation-delay:.17s}
.hero .hero-cta{animation-delay:.22s}
.hero .ticker{animation-delay:.3s}

/* ---------- hero 轮播词 + 光标 ---------- */
.hero-rotor{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:0 2px;
  font-size:var(--fs-15);color:var(--text-2);
  margin:calc(var(--sp-2) * -1) 0 var(--sp-5);
}
.rotor{position:relative;display:inline-block;min-width:5em;height:1.5em;vertical-align:baseline}
.rotor .r-ghost{visibility:hidden;font-weight:var(--fw-600);padding-right:2px}
.rotor .rot-word{
  position:absolute;left:0;top:0;font-weight:var(--fw-600);color:var(--text);
  white-space:nowrap;opacity:0;transform:translateY(.45em);
  transition:opacity .38s var(--ease),transform .38s var(--ease);
}
.rotor .rot-word.on{opacity:1;transform:none}
.caret{
  display:inline-block;width:2px;height:1.05em;background:var(--primary);
  margin-left:2px;border-radius:1px;animation:xb-blink 1.05s step-end infinite;
}
@keyframes xb-blink{50%{opacity:0}}

/* ---------- 主域名卡：扫光光束 ---------- */
.domain-hero{position:relative;overflow:hidden}
.domain-hero::after{
  content:"";position:absolute;top:-60%;bottom:-60%;left:-25%;width:14%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.07) 42%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.07) 58%,transparent);
  transform:skewX(-18deg);pointer-events:none;
  animation:xb-beam 7.5s ease-in-out infinite;
}
html.night .domain-hero::after{
  background:linear-gradient(105deg,transparent,rgba(9,9,11,.05) 42%,rgba(9,9,11,.1) 50%,rgba(9,9,11,.05) 58%,transparent);
}
@keyframes xb-beam{0%{left:-25%}58%,100%{left:115%}}
.dh-info,.dh-acts{position:relative;z-index:1}

/* ---------- 卡片聚光（鼠标跟随） ---------- */
.domain-card,.feat-card,.cate-card,.contact-card{position:relative}
.domain-card::before,.feat-card::before,.cate-card::before,.contact-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
  background:radial-gradient(230px circle at var(--mx,50%) var(--my,50%),var(--spot),transparent 66%);
  opacity:0;transition:opacity var(--dur) var(--ease);
}
.domain-card:hover::before,.feat-card:hover::before,
.cate-card:hover::before,.contact-card:hover::before{opacity:1}
.feat-card .fc-icon{transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}
.feat-card:hover .fc-icon{transform:translateY(-2px)}
.cate-card .cc-head .xb-ic{transition:color var(--dur-fast) var(--ease),transform var(--dur) var(--ease)}
.cate-card:hover .cc-head .xb-ic{transform:translateX(2px)}

/* ---------- 实时线报滚动条 ---------- */
.ticker{
  display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-6);
  height:46px;max-width:780px;background:var(--surface);
  border-radius:var(--radius-pill);box-shadow:var(--shadow-ring-sm);overflow:hidden;
}
.ticker[hidden]{display:none}
.tk-chip{
  flex-shrink:0;display:inline-flex;align-items:center;gap:7px;margin-left:5px;
  font-size:var(--fs-12);font-weight:var(--fw-600);color:var(--text-2);
  background:var(--surface-2);padding:8px 14px;border-radius:var(--radius-pill);
}
.tk-view{
  flex:1;min-width:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.tk-track{display:flex;width:max-content;animation:xb-marq 46s linear infinite}
.tk-track:hover{animation-play-state:paused}
@keyframes xb-marq{to{transform:translateX(-50%)}}
.tk-it{
  display:inline-flex;align-items:center;gap:9px;padding:0 var(--sp-4);
  font-size:var(--fs-13);color:var(--text-2);white-space:nowrap;
  transition:color var(--dur-fast) var(--ease);
}
.tk-it::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--border-strong);flex-shrink:0}
.tk-it:hover{color:var(--text)}
.tk-it .tk-t{max-width:32ch;overflow:hidden;text-overflow:ellipsis}

/* ---------- 数字统计 ---------- */
.stats{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-3);
  margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--border);
}
.stat{min-width:0}
.count{
  display:inline-block;font-size:var(--fs-28);font-weight:var(--fw-700);color:var(--text);
  font-variant-numeric:tabular-nums;line-height:1.15;letter-spacing:.5px;
}
.cu-suf{font-size:var(--fs-16);font-weight:var(--fw-600);color:var(--text-2);margin-left:2px}
.stat-label{display:block;font-size:var(--fs-12);color:var(--text-3);margin-top:5px;line-height:1.5}

/* ---------- 滚动进场 ---------- */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ---------- 联系卡 ---------- */
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}
.contact-card{
  display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);
  background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-ring-sm);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.contact-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-ring-lg)}
.ct-ic{
  width:44px;height:44px;border-radius:var(--radius);background:var(--surface-2);flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;color:var(--text-body);
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.contact-card:hover .ct-ic{transform:translateY(-2px)}
.ct-ic .xb-ic{font-size:22px}
.ct-body{flex:1;min-width:0}
.ct-body b{display:block;font-size:var(--fs-14);font-weight:var(--fw-600);color:var(--text)}
.ct-body span{font-size:var(--fs-12);color:var(--text-2);font-variant-numeric:tabular-nums}
.ct-badge{
  flex-shrink:0;font-size:var(--fs-12);font-weight:var(--fw-500);color:var(--text-3);
  background:var(--surface-2);padding:4px 10px;border-radius:var(--radius-pill);
}
.f-ct{display:inline-flex;align-items:center;gap:7px}
.f-ct .xb-ic{font-size:14px;color:var(--text-3)}

/* ---------- 复制反馈 ---------- */
@keyframes xb-pop{0%{transform:scale(1)}42%{transform:scale(.88)}100%{transform:scale(1)}}
.icon-pop{animation:xb-pop .34s var(--ease)}
.dc-icon.done,.dh-btn.done{color:var(--success-text)}
html.night .dc-icon.done,html.night .dh-btn.done{color:var(--success)}

/* ---------- 阅读进度 + 回到顶部 ---------- */
.xb-progress{
  position:fixed;top:0;left:0;height:2px;width:100%;z-index:100;pointer-events:none;
  background:var(--primary);transform:scaleX(0);transform-origin:0 50%;
  transition:transform .1s linear;
}
.backtop{
  position:fixed;right:20px;bottom:24px;z-index:100;width:46px;height:46px;border-radius:50%;
  background:var(--surface);box-shadow:var(--shadow-ring-strong);color:var(--text-2);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(12px);pointer-events:none;
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease);
}
.backtop.on{opacity:1;transform:none;pointer-events:auto}
.backtop:hover{color:var(--text);box-shadow:var(--shadow-ring-lg)}
.backtop .xb-ic{font-size:16px}
.bt-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.bt-ring circle{fill:none;stroke-width:2;cx:23;cy:23;r:21}
.bt-ring circle:first-child{stroke:var(--border)}
.bt-prog{
  stroke:var(--primary);stroke-linecap:round;
  stroke-dasharray:131.95;stroke-dashoffset:131.95;
  transition:stroke-dashoffset .12s linear;
}

/* ---------- v2 响应式降级 ---------- */
@media (max-width:900px){
  .stats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:var(--sp-4)}
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width:768px){
  .hero-bg{display:none}
  .ticker{height:42px;border-radius:var(--radius-lg)}
  .tk-chip{margin-left:4px;padding:6px 10px}
  .tk-it{font-size:var(--fs-12)}
  .tk-it .tk-t{max-width:22ch}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .count{font-size:var(--fs-22)}
  .backtop{right:14px;bottom:16px;width:42px;height:42px}
  .hero-rotor{font-size:var(--fs-14)}
}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none}
  .domain-hero::after,.tk-track{animation:none}
}
