/* Adobe Source Han Sans 2.005R, Simplified Chinese variable font; SIL OFL 1.1. */
@font-face {
  font-family: "Source Han Sans CN";
  src: url("/_releases/b6d92871e3f8a0c84d9490786d7fa7d1e08c9ad9a452b981b187ade9422853ea/assets/source-han-sans-cn-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 250 900;
  font-display: swap;
}
/* FONT_CORE_START */
/* Declared after the original full font: current characters load only this
   small file. Any new character falls back to the unchanged full font above. */
@font-face {
  font-family: "Source Han Sans CN";
  src: url("/_releases/b6d92871e3f8a0c84d9490786d7fa7d1e08c9ad9a452b981b187ade9422853ea/assets/source-han-sans-cn-web-core.woff2") format("woff2");
  font-style: normal;
  font-weight: 250 900;
  font-display: swap;
  unicode-range: U+20-7E,U+B2,U+B7,U+D7,U+F6,U+3C0,U+2013-2014,U+2019,U+201C-201D,U+2020,U+2026,U+2190-2192,U+2212,U+2248,U+3001-3002,U+300A-300B,U+4E00-4E01,U+4E07,U+4E0A-4E0B,U+4E0E,U+4E13,U+4E16,U+4E1A,U+4E25,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E49,U+4E4B,U+4E60,U+4E66,U+4E86,U+4E8C,U+4E8E,U+4EA7,U+4EAB-4EAC,U+4EBA,U+4ECE,U+4EE3-4EE5,U+4EEC,U+4EF6-4EF7,U+4EFB,U+4EFF,U+4F01,U+4F17,U+4F1A,U+4F34,U+4F4D,U+4F53,U+4F5C,U+4F7F,U+4FDD,U+4FE1,U+503C,U+505C,U+5065,U+50B2,U+50DA,U+514D,U+5165,U+5168,U+516C,U+5171,U+5173,U+5177,U+517C,U+518D,U+519B,U+51A0,U+51FB,U+5217,U+521B,U+5224,U+5230,U+523B,U+524D,U+529B,U+52A0-52A1,U+52A8,U+52B1,U+5305,U+5316,U+533A,U+534F,U+5360-5361,U+5373,U+539F,U+53C2,U+53CA,U+53D1,U+53EF-53F0,U+53F7-53F8,U+5404,U+540C,U+540E,U+5411,U+544A,U+5458,U+547D,U+548C,U+54C1,U+5668,U+56DE,U+56E0,U+56E2,U+56ED,U+56FD,U+5728,U+573A,U+575A,U+5766,U+578B,U+5792,U+57FA,U+5883,U+5899,U+58C1,U+5907,U+591F,U+5927,U+5931,U+5934,U+5947,U+594B,U+597D,U+59CB,U+5A92,U+5B58,U+5B66,U+5B81,U+5B83,U+5B8C,U+5B98,U+5B9A,U+5B9E,U+5BA1,U+5BF9,U+5BFC,U+5C06,U+5C0A,U+5C0F,U+5C55,U+5C97,U+5DE5,U+5DE7,U+5DF1-5DF2,U+5E03,U+5E08,U+5E26,U+5E74,U+5E76,U+5E78,U+5E94,U+5EB7,U+5EFA,U+5F00,U+5F20,U+5F3A,U+5F55,U+5F62,U+5F85,U+5FAA,U+5FAE,U+5FC3,U+5FC5,U+5FD7,U+6001,U+601D,U+606F,U+60C5,U+60E0,U+610F,U+611F,U+614E,U+6162,U+6210-6211,U+6240,U+624D,U+6253,U+6267,U+626B,U+627F-6280,U+6295,U+62A5,U+62C5,U+62DB,U+62E5,U+62E9,U+62EC,U+6301,U+6307,U+6309,U+6316,U+632F,U+636E,U+6398,U+63A2,U+63A5,U+63A8,U+64AD,U+64CD,U+652F,U+653E,U+6548,U+6570,U+6574,U+6587,U+65AD,U+65B0,U+65B9,U+65BD,U+65D7,U+65E5,U+65F6,U+662F,U+666E-666F,U+667A,U+6682,U+6700,U+6708-6709,U+670D,U+671F,U+672A,U+672C,U+672F,U+673A,U+6765,U+6781,U+6784,U+679C,U+67E5,U+6807-6808,U+6821,U+6837-6838,U+68B0,U+68C0,U+6A21,U+6B21,U+6B63-6B65,U+6BD5,U+6C47,U+6CBB,U+6CBF,U+6CD5,U+6CDB,U+6CE8,U+6D4B,U+6D77,U+6D88,U+6DF1,U+6E90,U+6F14,U+6F2B,U+7075,U+70B9,U+70ED,U+7136,U+7247,U+724C,U+7269,U+732E,U+73AF-73B0,U+7403,U+7406,U+751F,U+7528,U+7531,U+754C,U+767D,U+7684,U+76D6,U+76EE,U+770B,U+771F,U+77E5,U+7801,U+7814,U+7834,U+7840,U+786C,U+78E8,U+793A,U+793E,U+7949,U+798F,U+79CD,U+79D1,U+79EF-79F0,U+7A0B,U+7A76,U+7AD9,U+7ADE,U+7AE0,U+7B2C,U+7B49,U+7B7E,U+7B80,U+7B97,U+7BC7,U+7CFB,U+7D22,U+7D2F,U+7EA2,U+7EA7,U+7EB9,U+7EBF,U+7EC3-7EC4,U+7EC7-7EC8,U+7EDF,U+7EE7,U+7EED,U+7EF4,U+7F55,U+7FFB,U+8003,U+8005,U+8058,U+805A,U+80CC,U+80FD,U+81C2,U+81EA,U+81F3-81F4,U+822A,U+8230,U+8282,U+884C,U+8868,U+8986,U+89C1-89C2,U+89C6,U+89C9,U+89E3,U+8A00,U+8BA1,U+8BA9,U+8BAD,U+8BBA,U+8BBE,U+8BC1,U+8BC4,U+8BC6,U+8BD5,U+8BDA,U+8BED,U+8BF7,U+8BFA-8BFB,U+8C26,U+8D1F,U+8D21,U+8D23,U+8D25-8D26,U+8D44,U+8D56,U+8D5B,U+8D77,U+8D85,U+8DEF,U+8DF3,U+8EAB,U+8F6C,U+8F7D,U+8FBE,U+8FD0,U+8FD4,U+8FD9,U+8FDB,U+8FF9,U+9002,U+9009-900A,U+901A,U+9020,U+9053,U+9075,U+907F,U+90E8,U+91C7,U+91CC-91CD,U+91CF,U+94AE,U+957F,U+95ED,U+9605,U+961F,U+9635,U+9645,U+9664,U+96C6,U+96F6,U+975E,U+9762,U+9875-9876,U+9884,U+9886,U+9891,U+9996,U+9A71,U+9A8C,U+9AD8,U+9ED1,U+9F13,U+FF08-FF09,U+FF0C,U+FF1A,U+FF5C;
}
/* FONT_CORE_END */



/* The menu stays screen-sized inside the desktop design canvas. */
.language-picker {
  --language-scale: var(--art-scale);
  --language-ink: #242525;
  --language-paper: rgb(252 252 252 / .97);
  --language-line: rgb(36 37 37 / .14);
  --language-hover: rgb(36 37 37 / .055);
  position: relative;
  flex: 0 0 auto;
  width: calc(32px / var(--language-scale));
  height: calc(32px / var(--language-scale));
  margin-block: calc(-9px / var(--language-scale));
  color: inherit;
}
.language-picker .language-toggle {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border-radius: calc(4px / var(--language-scale));
  color: inherit;
  opacity: .68;
  transition: opacity .18s ease, background-color .18s ease;
}
.language-toggle svg {
  display: block;
  width: calc(20px / var(--language-scale));
  height: calc(20px / var(--language-scale));
  pointer-events: none;
}
.language-picker .language-toggle:hover,
.language-picker .language-toggle[aria-expanded="true"] {
  background: var(--language-hover);
  opacity: 1;
}
.language-menu {
  position: absolute;
  z-index: 10;
  top: calc(100% + 8px / var(--language-scale));
  right: 0;
  display: grid;
  gap: calc(2px / var(--language-scale));
  width: calc(148px / var(--language-scale));
  padding: calc(6px / var(--language-scale));
  border: calc(1px / var(--language-scale)) solid var(--language-line);
  border-radius: calc(6px / var(--language-scale));
  background: var(--language-paper);
  color: var(--language-ink);
  box-shadow: 0 calc(6px / var(--language-scale)) calc(24px / var(--language-scale)) rgb(0 0 0 / .065);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  opacity: 0;
  transform: translateY(calc(-5px / var(--language-scale)));
  transform-origin: top right;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.language-menu[hidden] { display: none; }
.language-menu.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.language-menu [data-language] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(12px / var(--language-scale));
  min-height: calc(36px / var(--language-scale));
  padding: calc(8px / var(--language-scale)) calc(10px / var(--language-scale));
  border-radius: calc(3px / var(--language-scale));
  color: inherit;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: calc(13px / var(--language-scale));
  font-weight: 400;
  line-height: calc(20px / var(--language-scale));
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .15s ease;
}
.language-menu [data-language]::after {
  content: "";
  flex: 0 0 auto;
  width: calc(5px / var(--language-scale));
  height: calc(5px / var(--language-scale));
  border-radius: 50%;
  background: currentColor;
  opacity: 0;
}
.language-menu [data-language]:is([aria-pressed="true"], [aria-checked="true"]) { font-weight: 600; }
.language-menu [data-language][data-language="zh-CN"] { font-family: "Source Han Sans CN", sans-serif; }
.language-menu [data-language]:is([aria-pressed="true"], [aria-checked="true"])::after { opacity: .65; }
.language-menu [data-language]:hover { background: var(--language-hover); }
.language-picker .language-toggle:focus-visible,
.language-menu [data-language]:focus-visible {
  outline: calc(1.5px / var(--language-scale)) solid currentColor;
  outline-offset: calc(2px / var(--language-scale));
  opacity: 1;
}
.language-menu [data-language]:focus-visible { outline-offset: calc(-2px / var(--language-scale)); }
.article-hero .language-picker {
  --language-ink: #ededea;
  --language-paper: rgb(25 27 27 / .97);
  --language-line: rgb(237 237 234 / .2);
  --language-hover: rgb(237 237 234 / .09);
}

/* The self-hosted Chinese family keeps every title, paragraph and control consistent.
   Latin brand lettering and the homepage word roller retain their original fonts. */
html[lang="zh-CN"] {
  --body-copy-leading: 1.85;
  --font-zh-body: "Source Han Sans CN", sans-serif;
  --font-zh-heading: var(--font-zh-body);
  font-family: var(--font-zh-body);
}
html[lang="zh-CN"] :is(.about-copy, .article-copy, .ink-caption, .language-menu [data-language], .social-qr-card, .social-qr-card h2) {
  font-family: var(--font-zh-body);
}
html[lang="zh-CN"] :is(.about-title, .career-title, .career-mission-title, .career-card h3, .blog-sidebar h1, .blog-article h2, .article-hero h1, .article-section h2) {
  font-family: var(--font-zh-heading);
  font-style: normal;
  letter-spacing: .025em;
  font-weight: 600;
}
html[lang="zh-CN"] :is(h1.about-title, h1.career-title, h2.career-mission-title, .career-card h3) { font-weight: 500; }
html[lang="zh-CN"] :is(.about-tagline, .about-copy, .career-tagline, .career-summary, .career-card p, .blog-article-summary, .article-copy) {
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
}
html[lang="zh-CN"] .main-nav :is(a, button) { letter-spacing: .025em; }
html[lang="zh-CN"] .about-title { font-size: 96px; line-height: 1.15; }
html[lang="zh-CN"] .about-tagline { line-height: 1.6; letter-spacing: .035em; }
html[lang="zh-CN"] .about-copy p + p { margin-top: 1.3em; }
html[lang="zh-CN"] .career-title {
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100% - 96px);
  font-size: 96px;
  line-height: 1.15;
  text-align: center;
}
html[lang="zh-CN"] .career-tagline { line-height: 1.6; letter-spacing: .04em; }
html[lang="zh-CN"] .career-mission-title br { display: none; }
html[lang="zh-CN"] .career-mission-title { font-size: 52px; line-height: 1.24; }
html[lang="zh-CN"] .career-summary { letter-spacing: .015em; }
html[lang="zh-CN"] .career-card h3 { font-size: 26px; line-height: 1.4; font-weight: 400; }
html[lang="zh-CN"] .blog-sidebar h1 { line-height: 1.2; }
html[lang="zh-CN"] .blog-count-tagline { line-height: 1.6; letter-spacing: .03em; }
html[lang="zh-CN"] .blog-count-label { line-height: 1.3; }
html[lang="zh-CN"] .blog-article h2 {
  max-width: 300px;
  font-size: calc(17px / var(--art-scale));
  line-height: 1.4;
}
html[lang="zh-CN"] .blog-article-date { top: calc(504px + 31px / var(--art-scale)); }
html[lang="zh-CN"] .blog-article-summary { left: 320px; line-height: 1.7; }
html[lang="zh-CN"] .article-kicker { letter-spacing: .08em; line-height: 1.5; }
html[lang="zh-CN"] .article-hero h1 { font-size: calc(108px * var(--art-scale)); line-height: 1.18; }
html[lang="zh-CN"] .article-toc { line-height: 1.8; }
html[lang="zh-CN"] .article-copy { letter-spacing: .012em; }
html[lang="zh-CN"] .article-copy p + p { margin-top: 1.35em; }
/* The approved Chinese team introduction is one paragraph; English keeps two. */
html[lang="zh-CN"] [data-i18n="article.teamSecond"] { display: none; }
html[lang="zh-CN"] .article-section h2 { line-height: 1.4; -webkit-text-stroke: 0; }
html[lang="zh-CN"] .footer-motto { line-height: 1.5; }

@media (min-width: 1024px) {
  /* Keep the introduction above the divider, with both text blocks centered together. */
  html[lang="zh-CN"] .career-mission-introduction {
    position: absolute;
    left: 48px;
    right: 76px;
    bottom: calc(100% - 346px + 48px);
    display: grid;
    grid-template-columns: 708px 636px;
    column-gap: 44px;
    align-items: center;
  }
  html[lang="zh-CN"] .career-mission-introduction :is(.career-mission-title, .career-summary) {
    position: static;
    width: auto;
  }
}

@media (max-width: 1023px) {
  html[lang="zh-CN"] { --body-copy-leading: 1.9; }
  .language-picker {
    --language-scale: 1;
    flex-basis: 44px;
    width: 44px;
    height: 44px;
    margin: 0;
  }
  .language-menu { top: calc(100% + 4px); width: 156px; }
  .language-menu [data-language] { min-height: 44px; font-size: 14px; }
  html[lang="zh-CN"] .about-title { font-size: clamp(38px, 9vw, 54px); line-height: 1.25; }
  html[lang="zh-CN"] .about-tagline { font-size: 20px; line-height: 1.7; }
  html[lang="zh-CN"] .career-title {
    left: auto;
    transform: none;
    width: auto;
    max-width: none;
    font-size: clamp(38px, 9vw, 54px);
    line-height: 1.25;
  }
  html[lang="zh-CN"] .career-tagline { font-size: 18px; line-height: 1.75; }
  html[lang="zh-CN"] .career-mission-title { font-size: clamp(32px, 8vw, 44px); line-height: 1.3; }
  html[lang="zh-CN"] .career-card h3 { right: auto; font-size: 23px; line-height: 1.45; }
  html[lang="zh-CN"] .career-card p { right: auto; }
  html[lang="zh-CN"] .blog-sidebar h1 { font-size: 44px; line-height: 1.3; }
  html[lang="zh-CN"] .blog-article h2 { max-width: none; font-size: 26px; line-height: 1.4; }
  html[lang="zh-CN"] .blog-article-date { top: auto; }
  html[lang="zh-CN"] .blog-article-summary { left: auto; line-height: 1.85; }
  html[lang="zh-CN"] .article-hero h1 { font-size: clamp(42px, 9vw, 68px); line-height: 1.3; }
  html[lang="zh-CN"] .article-section h2 { font-size: 24px; line-height: 1.4; }
}
@media (max-width: 599px) {
  .language-picker { grid-column: 2; grid-row: 1; }
}
@media (min-width: 700px) and (max-width: 1023px) {
  html[lang="zh-CN"] .about-title { font-size: 48px; }
  html[lang="zh-CN"] .career-mission-title { font-size: 40px; }
  html[lang="zh-CN"] .career-summary { align-self: center; }
}
@media (max-height: 600px) and (min-width: 1024px) {
  html[lang="zh-CN"] .article-hero h1 { font-size: calc(80px * var(--art-scale)); }
}
@media (max-height: 600px) and (max-width: 1023px) {
  html[lang="zh-CN"] .article-hero h1 { font-size: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .language-picker .language-toggle, .language-menu, .language-menu [data-language] { transition: none; }
}
