:root{
  --p:#7c5cfc;--b:#4f9fff;--c:#3ecfcf;
  --g:linear-gradient(135deg,#3ecfcf 0%,#7c5cfc 50%,#4f9fff 100%);
  --g2:linear-gradient(135deg,#7c5cfc 0%,#4f9fff 100%);
  --g-soft:linear-gradient(135deg,rgba(62,207,207,.08),rgba(124,92,252,.08),rgba(79,159,255,.08));
  --bg:#fff;--bg2:#fafafb;--bg3:#f5f5f7;
  --t:#1d1d1f;--t2:#6e6e73;--t3:#86868b;
  --br:rgba(0,0,0,0.08);--br2:rgba(0,0,0,0.05);
  --r:14px;--r2:22px;--r3:32px;
  --s:'Inter','Noto Sans SC',-apple-system,BlinkMacSystemFont,sans-serif;
  --sf:'Noto Serif SC',serif;
  --sh-sm:0 1px 3px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.02);
  --sh:0 4px 16px rgba(0,0,0,.05);
  --sh-lg:0 24px 48px rgba(0,0,0,.08);
  --sh-xl:0 32px 64px rgba(124,92,252,.15);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;text-size-adjust:100%;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--s);
  background:var(--bg);
  color:var(--t);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1;
  font-variant-ligatures:common-ligatures contextual;
  line-height:1.65;
  letter-spacing:-0.003em;
  text-wrap:pretty;
  word-wrap:break-word;
  overflow-wrap:break-word;
  hyphens:auto;
  -webkit-hyphens:auto;
}
/* Headings: balanced wrapping (no orphans/widows) — except hero h1 */
h2,h3,h4,h5,h6,.h2,.h2w,.cta-h,.btt,.tnm,.bgt,.cccl,.pcn,.cmph,.iq,.tcn{text-wrap:balance;letter-spacing:-0.02em;}
h1{letter-spacing:-0.02em;}
/* CJK languages: tighter line-height, no letter-spacing tweak (don't break vertical rhythm) */
html[lang="zh-CN"] body,html[lang="ja"] body,html[lang="ko"] body{letter-spacing:0;line-height:1.75;font-feature-settings:"kern" 1,"palt" 1;}
html[lang="ja"]{font-family:'Inter','Noto Sans JP','Noto Sans SC',-apple-system,sans-serif;}
html[lang="ko"]{font-family:'Inter','Noto Sans KR','Noto Sans SC',-apple-system,sans-serif;}
/* Numbers should be tabular-aligned everywhere */
.hsn,.tis,.cin,.imn,.imn2,.cmpsn,.tsn,.cmpt,.ccmn,.pcp,.imn,.iml{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"kern" 1;}
/* Better word breaks for mixed content (CJK + English) */
.bd,.tid,.ccd,.tdesc,.bex,.ifd,.fqa p,.tct,.ftl,.h-p,.cta-p,.sb,.sb-w{word-break:break-word;line-height:1.75;}
/* Tighten paragraph spacing in CJK */
html[lang="zh-CN"] .bd,html[lang="zh-CN"] .ccd,html[lang="zh-CN"] .h-p,html[lang="zh-CN"] .cta-p,html[lang="zh-CN"] .sb,html[lang="zh-CN"] .sb-w{line-height:1.85;letter-spacing:.01em;}
/* Prevent broken numbers/units (¥2,999, 7×24, 24/7, 99.9%) */
.pcp,.cmpt,.hsn,.tis,.cin,.imn,.cmpsn,.imn2,.ccmn,.tsn{white-space:nowrap;}
/* Subtle text-shadow for crispness on dark bg */
.h2w,.tiname,.tid,.cov,.col,.cta-h,.cta-p,.sb-w{text-shadow:0 1px 2px rgba(0,0,0,.05);}
/* Hide overflow on long words */
.tnm,.cccl,.cov,.bgt,.tcn,.fbn,.ncn{word-break:keep-all;}
::selection{background:rgba(124,92,252,.22);color:var(--t);text-shadow:none;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:var(--bg2);}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#7c5cfc,#4f9fff);border-radius:5px;border:2px solid var(--bg2);}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#6c4cec,#3f8fef);}

