/* 官网与账号页面：白色底，主按钮沿用 BoxSkin.Gold（255, 198, 65）。 */
/* 两款配置器配套展示。真实截图使用完整比例，独立大图不混入盒子轮播。 */
.public-site .btn.companion-download { background: #fffaf0; color: #654916; border: 1px solid #dfbc6d; white-space: nowrap; }
.public-site .btn.companion-download:hover { background: #fff0cc; border-color: #c49332; }
.public-site .hero-actions { flex-wrap: wrap; gap: 12px; }
.public-site .catalog-section { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr); gap: 56px; align-items: center; padding-top: 84px; padding-bottom: 84px; border-top: 1px solid #ece7df; }
.public-site .catalog-copy h2 { font-size: 38px; font-weight: 600; letter-spacing: -.8px; line-height: 1.4; margin: 18px 0; }
.public-site .catalog-copy p { color: #756c60; font-size: 15px; line-height: 1.9; }
.public-site .catalog-benefits { list-style: none; padding: 0; margin: 25px 0 30px; display: grid; gap: 12px; color: #514a40; font-size: 14px; }
.public-site .catalog-benefits li { display: flex; align-items: center; gap: 10px; }
.public-site .catalog-benefits .icon { color: #a16c24; width: 18px; height: 18px; flex-shrink: 0; }
.public-site .catalog-preview { min-width: 0; margin: 0; }
.public-site .catalog-preview > a { display: block; position: relative; border-radius: 9px; border: 1px solid #dce2ee; overflow: hidden; box-shadow: 0 16px 40px #29374e12; }
.public-site .catalog-preview img { display: block; width: 100%; height: auto; }
.public-site .catalog-preview a > span { display: flex; align-items: center; gap: 8px; position: absolute; right: 14px; bottom: 14px; padding: 9px 12px; background: #fff; color: #454d5c; border: 1px solid #d9e0eb; border-radius: 6px; font-size: 12px; box-shadow: 0 3px 12px #29374e14; }
.public-site .catalog-preview a:hover { border-color: #a0aec5; }
.public-site .catalog-dialog { width: min(1440px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); padding: 20px; border: 1px solid #dedbd6; border-radius: 12px; background: #fff; color: #302b25; }
.public-site .catalog-dialog::backdrop { background: #131b29bd; }
.public-site .catalog-dialog header { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.public-site .catalog-dialog header b { font-size: 16px; font-weight: 500; }
.public-site .catalog-dialog img { display: block; width: 100%; height: auto; }
.catalog-dialog-open { overflow: hidden; }
.public-site .download-layout.paired-downloads { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.public-site .paired-downloads .download-card { display: flex; flex-direction: column; }
.public-site .paired-downloads .resource-actions { margin-top: auto; }
.public-site .paired-downloads .release-integrity { margin-bottom: 24px; }
.public-site .paired-downloads .resource-card-title { flex-wrap: wrap; gap: 10px; }
.public-site .catalog-release { border-color: #d8e1ef; }
.public-site .release-state.available { color: #277357; background: #edf7f0; }
.public-site .release-date { color: #8b8071; margin-left: 12px; font-size: 12px; white-space: nowrap; }
.public-site .release-integrity { margin-top: 16px; font-size: 12px; color: #827768; }
.public-site .release-integrity summary { cursor: pointer; width: fit-content; }
.public-site .release-integrity code { display: block; overflow-wrap: anywhere; line-height: 1.8; }
.public-site .download-showcase { margin-top: 64px; padding-top: 60px; padding-bottom: 60px; }
.public-site .tool-workflow { border-top: 1px solid #ece7df; padding: 48px 0 8px; }
.public-site .tool-workflow h2 { font-size: 28px; letter-spacing: 0; font-weight: 500; margin: 12px 0 30px; }
.public-site .tool-workflow ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; list-style: none; padding: 0; margin: 0; }
.public-site .tool-workflow li { border-top: 2px solid #ecd4a0; padding-top: 20px; }
.public-site .tool-workflow li > span { color: #9d772f; font-size: 13px; }
.public-site .tool-workflow h3 { font-size: 18px; font-weight: 500; margin: 14px 0 10px; }
.public-site .tool-workflow p { color: #7b7265; font-size: 14px; line-height: 1.8; }
@media (max-width: 1000px) {
  .public-site .catalog-section { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .public-site .catalog-copy h2 { font-size: 32px; }
  .public-site .tool-workflow ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .public-site .download-layout.paired-downloads { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .public-site .catalog-section { padding-top: 48px; padding-bottom: 48px; }
  .public-site .catalog-copy h2 { font-size: 28px; }
  .public-site .catalog-dialog { padding: 12px; width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }
  .public-site .catalog-dialog header b { font-size: 13px; }
  .public-site .catalog-dialog .btn { min-height: 36px; padding: 6px 10px; font-size: 12px; white-space: nowrap; }
  .public-site .tool-workflow ol { gap: 20px; }
  .public-site .tool-workflow h2 { font-size: 23px; }
}
:is(.public-site, .auth-page) { --brand-yellow: #ffc641; --brand-yellow-hover: #ffd36b; --brand-yellow-pressed: #edb52f; --brand-button-ink: #35270f; }
:is(.public-site, .auth-page) .btn { min-height: 48px; border-radius: 8px; font-size: 14px; transition: background .18s, border-color .18s, box-shadow .18s; }
:is(.public-site, .auth-page) .btn:is(.dark, .lime) { background: var(--brand-yellow); border-color: var(--brand-yellow); color: var(--brand-button-ink); box-shadow: inset 0 1px 0 #ffffff38; }
:is(.public-site, .auth-page) .btn:is(.dark, .lime):hover { background: var(--brand-yellow-hover); border-color: var(--brand-yellow-hover); color: var(--brand-button-ink); box-shadow: 0 4px 12px #ae79151a; transform: none; }
:is(.public-site, .auth-page) .btn:is(.dark, .lime):active { background: var(--brand-yellow-pressed); border-color: var(--brand-yellow-pressed); box-shadow: inset 0 1px 2px #79500b20; }
:is(.public-site, .auth-page) .btn:disabled { opacity: .6; box-shadow: none; transform: none; }
.public-site { background: #fff; color: #302b25; }
.public-site [id] { scroll-margin-top: 105px; }
.public-site .site-masthead { position: sticky; top: 0; z-index: 30; background: #fff; border-bottom: 1px solid #eeeae3; box-shadow: 0 2px 10px #35270f03; }
.public-site .site-header { position: relative; height: 88px; min-height: 0; width: calc(100% - 112px); max-width: 1256px; padding: 0; border: 0; gap: 24px; flex-wrap: nowrap; }
.public-site .site-header .brand { flex-shrink: 0; gap: 10px; margin: 0; }
.public-site .site-header .launcher-logo { width: 144px; }
.public-site .site-header .brand > span { font-size: 22px; padding-left: 12px; line-height: 1.3; color: #302b25; }
.public-site .site-header .brand small { font-size: 14px; display: block; letter-spacing: .5px !important; color: #856024; font-weight: 600; line-height: 1.5; margin-top: 4px; }
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .public-site .site-header .brand small { background: linear-gradient(110deg, #79551f 0%, #79551f 38%, #bd8730 45%, #e3ac46 50%, #bd8730 55%, #79551f 62%, #79551f 100%) 100% 50% / 260% 100%; background-clip: text; -webkit-background-clip: text; color: transparent; animation: brand-gold-sheen 5s ease-in-out infinite; }
}
@keyframes brand-gold-sheen {
  0%, 25% { background-position: 100% 50%; }
  70%, 100% { background-position: 0% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .public-site .site-header .brand small { animation: none; background: none; color: #856024; }
}
@media (forced-colors: active) {
  .public-site .site-header .brand small { animation: none; background: none; color: LinkText; }
}
.public-site .site-header .site-navigation { display: flex; align-items: center; justify-content: center; gap: 2px; margin: 0 auto; font-size: 14px; }
.public-site .nav-direct, .public-site .nav-group > summary { position: relative; display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 46px; padding: 0 11px; color: #514a40; white-space: nowrap; border-radius: 6px; font-size: 15px; font-weight: 500; cursor: pointer; transition: color .18s, background .18s; }
.public-site .nav-direct.current { color: #302b25; font-weight: 600; }
.public-site .nav-direct.current::after { content: ''; position: absolute; bottom: 0; left: 11px; right: 11px; height: 3px; border-radius: 3px; background: var(--brand-yellow); }
.public-site .nav-group { position: static; }
.public-site .nav-group > summary { list-style: none; }
.public-site .nav-group > summary::-webkit-details-marker { display: none; }
.public-site .nav-group > summary::marker { content: ''; }
.public-site .nav-group[open] > summary, .public-site .nav-group > summary:hover, .public-site .nav-direct:hover { color: #745013; background: #fff8e6; }
.public-site .nav-chevron { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.4; transition: transform .18s; }
.public-site .nav-group[open] .nav-chevron { transform: rotate(180deg); }
.public-site .nav-dropdown { position: absolute; top: calc(100% - 1px); left: 0; right: 0; display: grid; grid-template-columns: 230px minmax(0, 1fr); background: #fff; border: 1px solid #e6e5e1; border-top: 2px solid var(--brand-yellow); border-radius: 0 0 12px 12px; box-shadow: 0 18px 36px #42322114; overflow: hidden; }
.public-site .nav-feature { position: relative; margin: 16px 0 16px 16px; padding: 30px 22px; border: 0; border-right: 1px solid #eeeae3; border-radius: 0; background: transparent; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 0; }
.public-site .nav-feature::before { content: ''; width: 30px; height: 3px; margin-bottom: 19px; background: var(--brand-yellow); border-radius: 2px; }
.public-site .nav-feature h2 { color: #363e49; font-size: 27px; line-height: 1.4; margin: 0; font-weight: 600; letter-spacing: 1px; white-space: nowrap; }
.public-site .nav-feature > a { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; margin-top: 27px; padding-top: 15px; border-top: 1px solid #eeeae3; font-size: 14px; color: #745013; transition: color .15s; }
.public-site .nav-feature > a > .icon { width: 18px; height: 18px; flex-shrink: 0; transition: transform .15s; }
.public-site .nav-feature > a:hover { color: #51370d; }
.public-site .nav-feature > a:hover > .icon { transform: translateX(3px); }
.public-site .nav-feature > a:focus-visible { outline-color: #8a611c; }
.public-site .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: center; gap: 8px 20px; padding: 24px; }
.public-site .nav-links > a { display: flex; align-items: center; gap: 14px; border: 1px solid transparent; border-radius: 9px; padding: 18px 14px; min-width: 0; transition: border-color .18s, background .18s; }
.public-site .nav-links > a:hover { background: #fffdf7; border-color: #f2dfaf; }





.public-site .nav-links b { display: block; color: #363e49; font-size: 15px; font-weight: 600; margin-bottom: 5px; }
.public-site .nav-links small { font-size: 14px; color: #777b84; line-height: 1.6; display: block; }
.public-site .nav-links > a > .icon { margin-left: auto; width: 16px; color: #9a9eaa; }


.public-site .site-account { display: flex; align-items: center; gap: 12px; padding-left: 20px; border-left: 1px solid #eeeae3; flex-shrink: 0; }
.public-site .header-login { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 10px; border-radius: 6px; font-size: 15px; color: #514a40; }
.public-site .header-login:hover { background: #fff8e6; color: #745013; }
.public-site .site-account .btn { font-size: 14px; padding: 0 18px; gap: 10px; min-height: 44px; white-space: nowrap; }
.public-site .site-menu-toggle, .public-site .nav-mobile-account { display: none; }
.public-site .site-skip { position: fixed; z-index: 50; top: 8px; left: 8px; padding: 10px 18px; background: #fff; border: 2px solid #9b6b2e; border-radius: 5px; transform: translateY(-150%); }
.public-site .site-skip:focus { transform: translateY(0); }
:is(.public-site, .auth-page) :is(a, button, summary, input):focus-visible { outline: 2px solid #8a611c; outline-offset: 4px; }
/* 全宽深色页脚，正文继续保留白色背景。 */
/* 实机截图保持完整比例，区服列表不裁切。 */
/* 三张真实截图叠放，相邻窗口始终可见，切换时沿横向错层移动。 */
.public-site .showcase-viewport { position: relative; aspect-ratio: 1280 / 700; touch-action: pan-y pinch-zoom; isolation: isolate; }
.public-site .showcase-slide { position: absolute; width: 78%; left: 11%; top: 50%; aspect-ratio: 1280 / 730; transition: transform .65s cubic-bezier(.22,.68,.22,1), filter .65s; }
.public-site .showcase-slide img { display: block; width: 100%; height: 100%; object-fit: contain; border: 1px solid #b9a47e; border-radius: 7px; background: #151411; box-shadow: 0 18px 36px #30241524; }
.public-site .showcase-slide.is-current { z-index: 3; transform: translateY(-50%); filter: brightness(1); }
.public-site .showcase-slide.is-previous { z-index: 1; transform: translate(-23%, -50%) scale(.86); filter: brightness(.74); }
.public-site .showcase-slide.is-next { z-index: 2; transform: translate(23%, -50%) scale(.86); filter: brightness(.86); }
.public-site .showcase-open { position: absolute; inset: 0; z-index: 4; display: block; width: 100%; height: 100%; border: 0; border-radius: 7px; background: transparent; cursor: zoom-in; }
@media (prefers-reduced-motion: reduce) { .public-site .showcase-slide { transition: none; } }
.gallery-dialog-open { overflow: hidden; }
.public-site .screenshot-dialog { overflow-y: auto; }
.public-site .screenshot-dialog > img { max-height: calc(100dvh - 210px); object-fit: contain; }
.public-site .dialog-gallery-controls { display: flex; align-items: center; justify-content: center; gap: 24px; padding-top: 16px; font-size: 13px; }
@media (max-width: 600px) {
  .public-site .screenshot-dialog header { gap: 10px; }
  .public-site .screenshot-dialog header .btn { white-space: nowrap; padding: 0 12px; }
}
.public-site .configurator-download { white-space: nowrap; gap: 12px; }
.public-site .site-footer { display: block; width: 100%; max-width: none; margin: 0; padding: 0; background: #151515; color: #f5f5f5; border-top: 1px solid #242424; }
.public-site .footer-invitation { display: flex; align-items: center; justify-content: center; text-align: center; padding: 52px 0 44px; border-bottom: 1px solid #343434; }
.public-site .footer-kicker { color: #ffc641; font-size: 13px; letter-spacing: 1px; }
.public-site .footer-invitation h2 { font-size: clamp(24px, 2.3vw, 32px); font-weight: 600; line-height: 1.5; letter-spacing: 0; margin: 12px 0 10px; color: #f5f5f5; }
.public-site .footer-invitation h2 > span { display: inline-block; }
.public-site .site-footer p { color: #aaa; font-size: 14px; line-height: 1.9; max-width: none; margin: 0; }
.public-site .footer-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(24px, 4vw, 64px); max-width: 1040px; margin: 0 auto; padding: 48px 0 50px; text-align: center; }
.public-site .site-footer .brand { flex-direction: column; align-items: center; gap: 14px; width: fit-content; margin: 0 auto; }
.public-site .site-footer .launcher-logo { width: 168px; height: auto; }
.public-site .site-footer .brand > .launcher-logo + span { border: 0; padding: 0; font-size: 22px; color: #f5f5f5; }
.public-site .site-footer .brand small { display: none; }
.public-site .footer-brand p { margin: 14px 0 16px; }
.public-site .footer-brand-tag { color: #aaa; font-size: 12px; }
.public-site .footer-column { display: flex; flex-direction: column; align-items: center; gap: 0; }
.public-site .footer-column h3 { margin: 0 0 18px; font-size: 16px; line-height: 1.5; color: #f5f5f5; font-weight: 600; }
.public-site .footer-column a { display: inline-flex; align-items: center; min-height: 38px; color: #aaa; font-size: 14px; transition: color .18s; }
.public-site .site-footer a:not(.brand):hover { color: #ffc641; }
.public-site .site-footer :is(a, button):focus-visible { outline-color: #ffc641; }
.public-site .site-footer .footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px 40px; margin: 0; padding: 23px 0; border-top: 1px solid #343434; color: #aaa; font-size: 12px; line-height: 1.8; text-align: center; }
.public-site .footer-company { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 32px; }
.public-site .footer-bottom nav { display: flex; justify-content: center; gap: 28px; }
.public-site .footer-bottom a { display: inline-flex; align-items: center; min-height: 32px; }
@media (max-width: 1000px) {
  .public-site .footer-columns { gap: 24px; }
}
@media (max-width: 760px) {
  .public-site .footer-invitation { flex-direction: column; align-items: center; padding: 36px 0; }
  .public-site .footer-invitation h2 { max-width: 360px; text-wrap: balance; }
  .public-site .footer-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 14px; padding: 32px 0; }
  .public-site .footer-brand { grid-column: 1/-1; }
  .public-site .site-footer .brand { flex-direction: row; align-items: center; gap: 16px; }
  .public-site .site-footer .launcher-logo { width: 120px; }
  .public-site .site-footer .brand > .launcher-logo + span { font-size: 20px; }
  .public-site .footer-column h3 { font-size: 15px; margin-bottom: 12px; }
  .public-site .footer-column a { font-size: 12px; min-height: 42px; }
  .public-site .site-footer .footer-bottom { flex-direction: column; align-items: center; gap: 8px; padding: 20px 0; }
}
.public-site .resource-main { padding-bottom: 90px; }
.public-site .resource-breadcrumb { display: flex; gap: 12px; font-size: 12px; color: #81776a; padding-top: 30px; }
.public-site .resource-breadcrumb a:hover { color: #94662b; }
.public-site .resource-heading { padding: 54px 0 46px; }
.public-site .resource-eyebrow { color: #9b713b; font-size: 12px; letter-spacing: 1px; }
.public-site .resource-heading h1 { margin: 16px 0 20px; font-size: clamp(28px, 3.2vw, 44px); line-height: 1.4; font-weight: 600; letter-spacing: 0; }
.public-site .resource-heading p { font-size: 16px; color: #7b7266; margin: 0; }
.public-site .download-layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: 32px; }
.public-site .download-card { padding: 32px; border: 1px solid #e6d9c5; border-radius: 12px; }
.public-site .download-card > .nav-art { width: 52px; height: 52px; }
.public-site .resource-card-title { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin: 24px 0 16px; }
.public-site .resource-card-title h2 { font-size: 24px; font-weight: 600; margin: 0; letter-spacing: 0; }
.public-site .release-state { display: inline-block; font-size: 12px; color: #9a6a28; border: 1px solid #e9d8ba; background: #fffcf6; border-radius: 5px; padding: 3px 9px; white-space: nowrap; }
.public-site .download-card p, .public-site .download-preview p { color: #70695e; font-size: 14px; }
.public-site .download-facts { margin: 24px 0; border-top: 1px solid #eee8de; border-bottom: 1px solid #eee8de; padding: 12px 0; font-size: 13px; }
.public-site .download-facts > div { display: grid; grid-template-columns: 90px 1fr; gap: 12px; padding: 9px 0; }
.public-site .download-facts dt { color: #8b8071; }
.public-site .download-facts dd { color: #544d43; margin: 0; }
.public-site .resource-actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; font-size: 13px; color: #91672e; }
.public-site .download-card .resource-note { font-size: 12px; line-height: 1.8; color: #8b8172; margin: 20px 0 0; }
.public-site .download-preview { padding: 32px 0 32px 16px; }
.public-site .download-preview h2 { font-size: 25px; font-weight: 500; letter-spacing: 0; margin: 14px 0 28px; }
.public-site .download-preview img { width: 100%; height: auto; border-radius: 6px; border: 1px solid #d4bb91; box-shadow: 0 12px 32px #55402412; margin-bottom: 24px; }
.public-site .download-preview a, .public-site .resource-inline { display: inline-flex; align-items: center; gap: 12px; font-size: 14px; color: #946529; }
.public-site .resource-callout { margin-top: 36px; padding: 30px 32px; border: 1px solid #ebe6dd; border-radius: 12px; display: flex; justify-content: space-between; gap: 24px; align-items: center; }
.public-site .resource-callout h2 { font-size: 21px; font-weight: 500; letter-spacing: 0; margin-bottom: 8px; }
.public-site .resource-callout p { font-size: 14px; color: #7b7266; margin: 0; }
.public-site .resource-callout > a { flex-shrink: 0; }
.public-site .tutorial-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 60px; align-items: start; }
.public-site .tutorial-index { position: sticky; top: 120px; display: flex; flex-direction: column; border: 1px solid #ebe6dd; border-radius: 10px; padding: 22px 16px; }
.public-site .tutorial-index b { font-size: 14px; margin: 0 12px 15px; }
.public-site .tutorial-index a { padding: 10px 12px; font-size: 13px; border-radius: 6px; color: #7a7062; }
.public-site .tutorial-index a:hover { background: #faf6ef; color: #986824; }
.public-site .tutorial-content article { padding: 6px 0 36px; margin-bottom: 36px; border-bottom: 1px solid #ece6dc; }
.public-site .tutorial-content h2 { font-size: 25px; font-weight: 500; letter-spacing: 0; margin: 12px 0 22px; }
.public-site .tutorial-content p, .public-site .tutorial-content li, .public-site .public-definitions { color: #6e685f; font-size: 15px; line-height: 1.95; }
.public-site .tutorial-content ol, .public-site .tutorial-content ul { padding-left: 24px; margin: 18px 0 20px; }
.public-site .tutorial-content li { padding-left: 5px; margin-bottom: 10px; }
.public-site .tutorial-content li::marker { color: #a47a3e; }
.public-site .public-definitions dt { color: #5a4b36; font-weight: 600; margin-top: 18px; }
.public-site .public-definitions dd { margin: 6px 0 0; }
.public-site .updates-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 60px; align-items: start; }
.public-site .update-entry { display: grid; grid-template-columns: 125px minmax(0, 1fr); gap: 24px; padding: 26px 0 36px; border-top: 1px solid #e9e3d9; }
.public-site .update-date { display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: #976e34; padding-top: 5px; }
.public-site .update-date span { font-size: 12px; color: #918777; }
.public-site .update-entry h2 { font-size: 23px; font-weight: 500; letter-spacing: 0; margin: 12px 0 18px; line-height: 1.5; }
.public-site .update-entry ul { padding-left: 20px; color: #726a5e; font-size: 14px; line-height: 1.9; }
.public-site .update-entry li { margin-bottom: 8px; }
.public-site .update-entry a { color: #956b32; font-size: 13px; }
.public-site .update-entry p { color: #8b7c68; font-size: 13px; }
.public-site .updates-aside { border: 1px solid #e8ddcd; border-radius: 12px; padding: 26px; }
.public-site .updates-aside h2 { margin: 22px 0 16px; font-size: 21px; font-weight: 500; line-height: 1.5; letter-spacing: 0; }
.public-site .updates-aside p { color: #827767; font-size: 14px; }
.public-site .updates-aside .btn { width: 100%; gap: 12px; }
.public-site .updates-aside .resource-inline { font-size: 12px; margin-top: 20px; }
/* 账号页沿用官网按钮与文字颜色，输入、焦点和辅助操作保持同一套细节。 */
.auth-page { color: #302b25; }
.auth-page { grid-template-columns: 56% 44%; }
.auth-page .auth-story { background: #000; padding: 42px clamp(32px, 4vw, 72px); container-type: inline-size; }
.auth-page .brand > .launcher-logo + span { font-size: 30px; line-height: 1.3; letter-spacing: .5px; padding-left: 18px; }
.auth-page .brand small { font-size: 15px; line-height: 1.6; letter-spacing: 1px !important; margin-top: 6px; font-weight: 600; }
.auth-page .auth-story-copy { position: absolute; top: 50%; left: clamp(32px, 4vw, 72px); right: clamp(32px, 4vw, 72px); margin: 0; transform: translateY(-50%); text-align: center; }
.auth-page .auth-story-copy .eyebrow { display: block; font-size: clamp(22px, 3.6cqw, 30px); font-weight: 600; letter-spacing: 1px; margin-bottom: 26px; color: #d4ad6b; }
.auth-page .auth-story h1 { font-size: clamp(18px, 4.1cqw, 38px); font-weight: 500; line-height: 1.6; letter-spacing: -.5px; white-space: nowrap; }
.auth-page .auth-story-copy p { font-size: clamp(12px, 2.35cqw, 18px); line-height: 1.9; white-space: nowrap; margin-top: 24px; }
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .auth-page .auth-story-copy .eyebrow,
  .auth-page .auth-story h1 span {
    background: linear-gradient(110deg, #c99745 0%, #dfb76f 36%, #fff3ce 47%, #ffe1a0 52%, #dfb76f 63%, #c99745 100%) 100% 50% / 260% 100%;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    text-shadow: 0 0 20px #e8b95c20;
    animation: brand-gold-sheen 6s ease-in-out infinite;
  }
  .auth-page .auth-story h1 span { animation-delay: .6s; }
}
@media (prefers-reduced-motion: reduce) {
  .auth-page .auth-story-copy .eyebrow, .auth-page .auth-story h1 span { animation: none; background: none; color: #d4ad6b; text-shadow: none; }
}
@media (forced-colors: active) {
  .auth-page .auth-story-copy .eyebrow, .auth-page .auth-story h1 span { animation: none; background: none; color: CanvasText; text-shadow: none; }
}
.auth-mobile-brand { display: none; }
@media (min-width: 761px) and (max-width: 1100px) {
  .auth-page { display: block; }
  .auth-page .auth-story { min-height: 380px; padding: 28px 40px; }
  .auth-page .auth-story-copy { top: 58%; left: 40px; right: 40px; }
  .auth-page .auth-main { min-height: 660px; padding-top: 24px; }
}
@media (max-width: 760px) {
  .auth-page .auth-main::before { display: none; }
  .auth-mobile-brand { display: block; margin-bottom: 20px; }
  .auth-page .auth-main > .back-link { align-self: flex-start; }
  .auth-mobile-brand .launcher-logo { max-width: 110px; height: auto; object-fit: contain; }
  .auth-page .auth-mobile-brand .brand > .launcher-logo + span { font-size: 24px; padding-left: 12px; }
  .auth-page .auth-mobile-brand .brand small { font-size: 12px; letter-spacing: .5px !important; }
}
.auth-page .auth-form-wrap { max-width: 420px; }
.auth-page .auth-form-wrap h2 { color: #302b25; font-weight: 600; letter-spacing: 0; }
.auth-page .auth-form-wrap > .eyebrow { font-size: 12px; letter-spacing: 1px; color: #806123; }
.auth-page .auth-subtitle, .auth-page .auth-switch { font-size: 14px; color: #716b61; }
.auth-page .auth-main .stack-form > label { font-size: 14px; }
.auth-page .auth-main .stack-form input:not([type="checkbox"]) { height: 50px; border-color: #dedbd4; border-radius: 8px; background: #fff; transition: border-color .18s, box-shadow .18s; }
.auth-page .stack-form input::placeholder { color: #878177; }
.auth-page .stack-form input:not([type="checkbox"]):focus { border-color: #aa791c; box-shadow: 0 0 0 3px #ffc64126; outline: none; }
.auth-page .stack-form .btn.full { min-height: 50px; font-size: 15px; }
.auth-page .password-toggle { top: 5px; right: 5px; width: 40px; height: 40px; color: #726b5f; border-radius: 5px; }
.auth-page .password-toggle:hover { background: #fff5d9; color: #745013; }
.auth-page .login-hint { font-size: 12px; color: #716b61; }
.auth-page .auth-main .demo-note { border-color: #e8e3da; font-size: 12px; }
.auth-page .demo-note > b, .auth-page .auth-main .demo-note > span { color: #716b61; }
.auth-page .auth-switch a, .auth-page .check-label a { color: #805600; }
.auth-page .auth-switch a:hover, .auth-page .check-label a:hover { text-decoration: underline; text-underline-offset: 4px; }
.auth-page .stack-form .check-label { align-items: center; gap: 8px; font-size: 14px; line-height: 24px; color: #716b61; }
.auth-page .check-label input[type="checkbox"] { width: 16px; height: 16px; flex: 0 0 16px; margin: 0; padding: 0; accent-color: #98701e; cursor: pointer; }
.auth-page .check-label > span { min-width: 0; line-height: 24px; }
.auth-page .back-link { min-height: 40px; display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid #e8e3da; border-radius: 7px; font-size: 13px; color: #655c4c; }
.auth-page .back-link:hover { background: #fff8e6; border-color: #dec68f; }
.auth-page .auth-bottom { color: #7c756a; font-size: 15px; line-height: 1.8; }
@media (max-width: 760px) {
  .auth-page .demo-note { flex-direction: column; gap: 6px; }
  .auth-page .auth-main::before { content: '猫玩盒子'; font-size: 16px; font-weight: 600; line-height: 40px; letter-spacing: 0; }
}
@media (min-width: 1181px) and (max-width: 1320px) {
  .public-site .site-header { gap: 14px; width: calc(100% - 40px); }
  .public-site .nav-direct, .public-site .nav-group > summary { padding: 0 8px; font-size: 14px; }
  .public-site .site-account { gap: 8px; padding-left: 14px; }
  .public-site .site-header .launcher-logo { width: 132px; }
}
@media (max-width: 1180px) {
  .public-site .site-header { width: calc(100% - 48px); flex-wrap: wrap; height: auto; min-height: 82px; gap: 0; padding: 18px 0; }
  .public-site .site-header .brand { margin-right: auto; }
  .public-site .site-account { margin: 0 22px; border-left: 0; padding-left: 0; }
  .public-site .nav-enhanced .site-menu-toggle { display: inline-flex; align-items: center; gap: 7px; border: 1px solid #e5ded3; border-radius: 6px; padding: 8px 11px; color: #6e5b41; background: #fff; font-size: 13px; order: 2; }
  .public-site .site-header .site-navigation { order: 3; width: 100%; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 2px; margin: 18px 0 0; padding: 12px 0 4px; border-top: 1px solid #eee9e1; max-height: calc(100dvh - 108px); overflow-y: auto; overscroll-behavior: contain; }
  .public-site .site-navigation > * { flex-shrink: 0; }
  .public-site .nav-enhanced:not(.site-menu-open) .site-navigation { display: none; }
  .public-site .nav-direct, .public-site .nav-group > summary { justify-content: space-between; font-size: 15px; padding: 0 12px; min-height: 48px; }
  .public-site .nav-direct.current::after { left: 0; right: auto; width: 2px; top: 12px; bottom: 12px; height: auto; }
  .public-site .nav-dropdown { position: static; display: block; border: 0; border-radius: 8px; box-shadow: none; }
  .public-site .nav-feature { display: none; }
  .public-site .nav-links { padding: 10px 4px 14px; gap: 8px; }
  .public-site .nav-links > a { padding: 12px; background: #fafbfc; }


  .public-site .nav-mobile-account { display: flex; align-items: center; gap: 24px; padding: 20px 12px 8px; border-top: 1px solid #eee9e1; margin-top: 12px; }
  .public-site .tutorial-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 32px; }
  .public-site .updates-layout { gap: 30px; grid-template-columns: minmax(0, 1fr) 260px; }
  .public-site .update-entry { grid-template-columns: 1fr; gap: 10px; }
  .public-site .update-date { flex-direction: row; gap: 15px; align-items: center; }
}
@media (max-width: 760px) {
  .public-site .site-header { width: calc(100% - 36px); padding: 16px 0; min-height: 76px; }
  .public-site .site-header .launcher-logo { width: 112px; }
  .public-site .site-header .brand > span { font-size: 17px; padding-left: 9px; }
  .public-site .site-header .brand small { display: none; }
  .public-site .site-header .brand { gap: 8px; }
  .public-site .site-account { display: none; }
  .public-site .site-menu-toggle .icon { width: 17px; height: 17px; }
  .public-site .site-header .site-navigation { max-height: calc(100dvh - 100px); }
  .public-site .nav-links { grid-template-columns: 1fr; }
  .public-site .nav-links b { font-size: 16px; }
  .public-site .nav-links small { font-size: 13px; }
  .public-site .nav-links > a { padding: 12px; }
  .public-site .resource-main { padding-bottom: 48px; }
  .public-site .resource-heading { padding: 34px 0; }
  .public-site .resource-heading h1 { font-size: 28px; margin: 14px 0; }
  .public-site .resource-heading p { font-size: 14px; }
  .public-site .download-layout, .public-site .tutorial-layout, .public-site .updates-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .public-site .download-card { padding: 24px 20px; }
  .public-site .download-preview { padding: 12px 0; }
  .public-site .download-facts > div { grid-template-columns: 74px 1fr; }
  .public-site .resource-callout { padding: 24px 20px; flex-direction: column; align-items: flex-start; }
  .public-site .resource-card-title h2, .public-site .download-preview h2 { font-size: 22px; }
  .public-site .tutorial-index { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px 10px; }
  .public-site .tutorial-index b { grid-column: 1/-1; }
  .public-site .tutorial-index a { font-size: 12px; padding: 9px 8px; }
  .public-site .tutorial-content h2 { font-size: 23px; }
  .public-site .tutorial-content p, .public-site .tutorial-content li, .public-site .public-definitions { font-size: 14px; }
  .public-site .update-entry h2 { font-size: 22px; }
}
@media (max-width: 360px) {
  .public-site .site-header { width: calc(100% - 28px); }
  .public-site .site-header .launcher-logo { width: 96px; }
  .public-site .site-header .brand > span { font-size: 16px; }
  .public-site .site-menu-toggle { gap: 5px; }
}
/* 官网信息层级：标题单行、正文易读，插图不再套装饰色块。 */
.public-site .product-icon { display: block; width: 42px; height: 42px; object-fit: contain; flex-shrink: 0; }
.public-site .nav-art { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: none; border-radius: 0; flex-shrink: 0; }
.public-site .nav-links > a { gap: 16px; padding: 17px 14px; }
.public-site .nav-links b { font-size: 16px; }
.public-site .nav-links > a:hover { background: #f8f9fb; border-color: #e5e8ed; }
.public-site .hero { padding-top: 86px; padding-bottom: 76px; gap: 48px; }
.public-site .hero h1 { font-size: clamp(26px, 3.1vw, 44px); line-height: 1.35; font-weight: 650; white-space: nowrap; letter-spacing: -1.5px; }
.public-site .hero-copy > p { font-size: 17px; line-height: 1.9; color: #72695f; margin: 26px 0 30px; }
.public-site .hero-actions .btn { font-size: 15px; }
.public-site .capability-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding: 30px 0; border-top: 1px solid #ece9e4; border-bottom: 1px solid #ece9e4; }
.public-site .capability-strip a { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 12px; border-right: 1px solid #e8e7e3; }
.public-site .capability-strip a:last-child { border: 0; }
.public-site .capability-strip b { font-size: 22px; font-weight: 650; color: #343434; letter-spacing: 0; }
.public-site .capability-strip a:hover b { color: #926114; }
.public-site .section { padding-top: 88px; padding-bottom: 88px; }
.public-site .section-heading { margin-bottom: 46px; }
.public-site :is(.section-heading h2, .analytics-intro h2, .pricing-section > h2, .closing h2, .catalog-copy h2) { font-size: clamp(19px, 3.1vw, 40px); line-height: 1.5; font-weight: 650; letter-spacing: -.7px; white-space: nowrap; margin: 0; }
.public-site .feature-layout { grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.public-site .feature-list article { gap: 20px; padding: 24px 0; }
.public-site .feature-list article:first-child { padding-top: 0; }
.public-site .feature-list .product-icon { margin-top: 2px; }
.public-site .feature-list h3 { font-size: 21px; line-height: 1.5; font-weight: 600; letter-spacing: 0; margin: 0 0 10px; }
.public-site .feature-list p { font-size: 16px; line-height: 1.85; max-width: none; margin: 0; color: #746d64; }
.public-site .feature-list .inline-link { font-size: 14px; margin-top: 12px; }
.public-site .analytics-section { padding: 80px 0; background: #f7f8fa; border-top: 1px solid #edeff1; border-bottom: 1px solid #edeff1; }
.public-site .analytics-intro { margin-bottom: 42px; }
.public-site .insight-grid { gap: 64px; }
.public-site .insight-main { border: 1px solid #e0e4e9; background: #fff; padding: 28px; border-radius: 10px; }
.public-site .insight-title { font-size: 17px; font-weight: 600; }
.public-site .outline-tag { font-size: 12px; font-weight: 400; }
.public-site .funnel-visual { margin: 24px 0; }
.public-site .funnel-visual > div { font-size: 15px; height: 49px; background: #edf3fa; color: #3e5b7e; }
.public-site .funnel-visual > div:nth-child(2) { background: #e2edfa; }
.public-site .funnel-visual > div:nth-child(3) { background: #cee1f7; }
.public-site .funnel-visual > div:nth-child(4) { background: #466f9f; color: #fff; }
.public-site .insight-main > p { font-size: 13px; color: #737c88; line-height: 1.8; }
.public-site .insight-side h3 { font-size: 23px; font-weight: 600; margin: 14px 0 10px; }
.public-site .insight-side p { font-size: 16px; line-height: 1.85; max-width: none; color: #717781; }
.public-site .light-link { font-size: 15px; }
.public-site .catalog-copy p { font-size: 16px; margin-top: 24px; }
.public-site .catalog-benefits { font-size: 16px; }
.public-site .catalog-copy h2 { font-size: clamp(23px, 2.5vw, 34px); }
.public-site .steps { gap: 36px; }
.public-site .steps article { padding: 28px 0 0; border-top: 2px solid #e8e5df; }
.public-site .steps .product-icon { width: 44px; height: 44px; margin-bottom: 26px; }
.public-site .steps h3 { font-size: 23px; font-weight: 600; letter-spacing: 0; }
.public-site .steps p { font-size: 16px; line-height: 1.9; max-width: none; min-height: 122px; color: #756d63; }
.public-site .steps a { font-size: 15px; }
.public-site .pricing-section { display: block; padding: 44px 48px; background: #fcfaf5; border: 1px solid #ece4d4; border-radius: 16px; }
.public-site .pricing-section > h2 { margin-bottom: 32px; }
.public-site .generation-offer { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr); background: #fff; border: 1px solid #e8dec9; border-radius: 12px; overflow: hidden; }
.public-site .generation-price { padding: 32px 40px; background: #fff8e8; border-right: 1px solid #eee2c9; }
.public-site .generation-price h3 { margin: 0; font-size: 24px; font-weight: 650; color: #3a2e1c; }
.public-site .generation-amount { display: flex; align-items: baseline; gap: 16px; margin: 16px 0 10px; }
.public-site .generation-amount strong { font-size: 72px; line-height: 1.15; font-weight: 700; letter-spacing: -3px; color: #9b6713; }
.public-site .generation-amount span { font-size: 16px; color: #796343; white-space: nowrap; }
.public-site .generation-price p { margin: 0; font-size: 15px; color: #7a6b55; line-height: 1.8; }
.public-site .generation-details { display: flex; flex-direction: column; justify-content: center; padding: 32px 40px; }
.public-site .generation-details ul { list-style: none; display: grid; gap: 16px; padding: 0; margin: 0 0 28px; }
.public-site .generation-details li { display: flex; align-items: center; gap: 12px; font-size: 16px; line-height: 1.6; color: #49443d; }
.public-site .generation-details li .icon { width: 19px; height: 19px; flex-shrink: 0; color: #a37522; }
.public-site .generation-action { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 20px; }
.public-site .generation-action .btn { min-height: 48px; padding: 0 24px; font-size: 15px; gap: 22px; }
.public-site .generation-action > span { font-size: 14px; color: #7c7468; }
.public-site .faq-section h2 { font-size: 30px; font-weight: 600; }
.public-site .faq-section summary { font-size: 17px; }
.public-site .faq-section p { font-size: 15px; line-height: 1.9; }
.public-site .closing { display: block; padding: 64px 24px; text-align: center; }
.public-site .resource-heading h1 { margin-top: 0; }
.public-site .download-card > .nav-art .product-icon { width: 52px; height: 52px; }
.public-site .resource-heading p { line-height: 1.9; }
.public-site .download-card p, .public-site .download-facts { font-size: 15px; }
.public-site .tool-workflow h3 { font-weight: 600; }
.public-site .tool-workflow p { font-size: 15px; }
@media (max-width: 1180px) {
  .public-site .nav-feature { display: none; }
  .public-site .feature-layout, .public-site .insight-grid { gap: 36px; }
  .public-site .capability-strip b { font-size: 20px; }
  .public-site .capability-strip a { gap: 12px; }
}
@media (max-width: 1000px) {
  .public-site .hero { padding-top: 48px; padding-bottom: 48px; }
  .public-site .feature-layout { grid-template-columns: 1fr; }
  .public-site .feature-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
  .public-site .feature-list article { display: block; padding: 0; border: 0; }
  .public-site .feature-list .product-icon { margin-bottom: 18px; }
  .public-site .feature-list h3 { font-size: 20px; }
}
@media (max-width: 760px) {
  .public-site .hero { gap: 32px; }
  .public-site .hero h1 { font-size: clamp(26px, 6.9vw, 42px); letter-spacing: -1px; }
  .public-site .hero-copy > p { font-size: 16px; margin: 20px 0 26px; }
  .public-site .capability-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px 0; gap: 12px 0; }
  .public-site .capability-strip a { justify-content: flex-start; gap: 14px; padding: 10px 16px; }
  .public-site .capability-strip a:nth-child(2) { border: 0; }
  .public-site .capability-strip b { font-size: 18px; }
  .public-site .capability-strip .product-icon { width: 34px; height: 34px; }
  .public-site .section { padding-top: 52px; padding-bottom: 52px; }
  .public-site .section-heading { margin-bottom: 30px; }
  .public-site :is(.section-heading h2, .analytics-intro h2, .pricing-section > h2, .closing h2) { font-size: clamp(20px, 5.6vw, 36px); letter-spacing: -.6px; }
  .public-site .feature-list { grid-template-columns: 1fr; gap: 28px; }
  .public-site .feature-list article { display: flex; }
  .public-site .feature-list h3 { font-size: 20px; }
  .public-site .insight-grid { grid-template-columns: 1fr; }
  .public-site .analytics-section { padding: 48px 0; }
  .public-site .insight-side { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .public-site .insight-side article { padding: 0; border: 0; margin: 0; }
  .public-site .insight-side h3 { font-size: 20px; }
  .public-site .steps { grid-template-columns: 1fr; gap: 32px; }
  .public-site .steps .product-icon { margin-bottom: 18px; }
  .public-site .steps p { min-height: 0; }
  .public-site .pricing-section { padding: 28px 20px; }
  .public-site .pricing-section > h2 { margin-bottom: 24px; }
  .public-site .generation-offer { grid-template-columns: 1fr; }
  .public-site .generation-price { border-right: 0; border-bottom: 1px solid #eee2c9; padding: 24px; }
  .public-site .generation-details { padding: 24px; }
  .public-site .generation-amount strong { font-size: 64px; }
  .public-site .generation-details li { font-size: 15px; gap: 9px; }
  .public-site .closing { padding: 40px 18px; }
  .public-site .closing h2 { font-size: clamp(17px, 5.2vw, 30px); }
}
@media (max-width: 400px) {
  .public-site .capability-strip a { padding: 8px; gap: 10px; }
  .public-site .capability-strip b { font-size: 17px; }
  .public-site .insight-main { padding: 20px 14px; }
  .public-site .insight-side { grid-template-columns: 1fr; }
}
