/* Shared Yuncedria visual system: basalt, paper, signal lime. */
:root {
  --ink: #0b1211;
  --ink-soft: #111a18;
  --paper: #eef0e8;
  --paper-bright: #f7f8f2;
  --sage: #a9b1aa;
  --sage-dark: #626d68;
  --rule: rgba(11, 18, 17, .18);
  --rule-dark: rgba(238, 240, 232, .17);
  --signal: #c8ff3d;
  --signal-dim: #b4e836;
  --sans: "Avenir Next", Avenir, "Segoe UI", "PingFang SC", "Microsoft YaHei", Helvetica, Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --shell: min(calc(100% - 64px), 1280px);
  --header-height: 80px;
  color-scheme: light;
}
.site-page { font-family: var(--sans); background: var(--paper-bright); }
.site-page:not(.admin-page) { padding-top: var(--header-height); }
.site-page .shell, .site-page .software-shell { width: var(--shell); margin-inline: auto; }
.site-page [hidden] { display: none !important; }
.site-page :focus-visible { outline: 2px solid #52751b; outline-offset: 5px; }
.site-chrome :focus-visible, .site-chrome-footer :focus-visible { outline-color: var(--signal); }
.site-chrome, .site-chrome.is-scrolled {
  position: fixed; top: 0; z-index: 100; height: var(--header-height);
  display: block; padding: 0; background: var(--ink); color: var(--paper);
  border: 0; border-bottom: 1px solid var(--rule-dark); backdrop-filter: none;
}
.site-chrome__inner {
  position: relative; width: var(--shell); height: 100%; margin-inline: auto;
  display: flex; align-items: center; justify-content: space-between; gap: 32px;
}
.site-chrome .brand, .site-chrome-footer .brand {
  display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0;
  color: var(--paper); font: 700 20px/1.2 var(--sans); letter-spacing: -.035em;
}
.site-chrome .brand__mark, .site-chrome-footer .brand__mark { width: 28px; height: 28px; color: var(--signal); }
.site-nav { display: flex; align-items: center; justify-content: center; gap: 30px; }
.site-nav a, .site-chrome .header-contact {
  min-height: 44px; display: inline-flex; align-items: center; font: 400 11px/1.5 var(--mono);
  letter-spacing: .07em; text-transform: uppercase; white-space: nowrap;
}
.site-nav a[aria-current], .site-nav a:hover { color: var(--signal); }
.site-nav a::after { bottom: 6px; }
.site-chrome .header-contact { gap: 12px; margin-left: 0; }
.site-chrome .header-contact svg { width: 16px; }
.site-chrome .menu-toggle, .site-chrome .mobile-menu { display: none; }
.product-subnav { background: var(--paper); border-bottom: 1px solid var(--rule); }
.product-subnav > .shell { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 60px; }
.product-subnav > .shell > span { font-weight: 650; font-size: 14px; letter-spacing: -.025em; }
.product-subnav nav { display: flex; flex-wrap: wrap; gap: 24px; }
.product-subnav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; color: var(--sage-dark); }
.product-subnav a:hover, .product-subnav a[aria-current] { color: var(--ink); text-decoration: underline; text-underline-offset: 6px; }
.site-chrome-footer { background: var(--ink); color: var(--paper); padding: 0; border: 0; }
.site-chrome-footer__top { display: flex; align-items: center; gap: 32px; padding: 56px 0; border-bottom: 1px solid var(--rule-dark); }
.site-chrome-footer__top p { flex: 1; font-size: 14px; color: var(--sage); margin: 0; }
.site-chrome-footer__top > a:last-child { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; gap: 16px; }
.site-chrome-footer__top > a:last-child span { color: var(--signal); }
.site-chrome-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 26px 0; }
.site-chrome-footer__bottom p { margin: 0; font: 400 10px/1.7 var(--mono); letter-spacing: .04em; color: var(--sage); }
.site-chrome-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 24px; font-size: 12px; }
.site-chrome-footer__bottom a { display: inline-flex; align-items: center; min-height: 44px; }
.site-chrome-footer a:hover { color: var(--signal); }
.site-page .button, .software-button { border-radius: 4px; }
.software-button { font: 500 12px/1.6 var(--mono); letter-spacing: .035em; }
.site-page .button--signal, .software-button.primary { border-color: transparent; }
.home-page .hero { min-height: calc(100svh - var(--header-height)); }
.home-page .hero__inner { padding-top: 64px; }
.home-page .home-software { background: var(--paper); }
.catalog-hero, .product-hero-band { background: var(--ink); color: var(--paper); }
.catalog-heading { padding-block: 76px 80px; grid-template-columns: 1.25fr 1fr; }
.catalog-heading .section-label { color: var(--sage); }
.catalog-heading h1 { font-size: clamp(44px, 5.5vw, 76px); font-weight: 500; line-height: 1.05; }
.catalog-heading h1 em, .product-hero h1 em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; color: var(--signal); }
.catalog-intro { color: var(--sage); font-size: 17px; line-height: 1.8; }
.catalog-section { padding-top: 52px; }
.web-product, .product-feature { border-radius: 4px; background: var(--paper); }
.web-product .product-name h3 { font-weight: 600; letter-spacing: -.045em; }
.web-product h4 { font-weight: 500; letter-spacing: -.045em; }
.web-product-tags li { border-radius: 2px; }
.product-arrow { border-radius: 4px; }
.product-hero { padding-bottom: 0; }
.product-hero .breadcrumb { color: var(--sage); margin-block: 38px; }
.product-hero h1 { font-size: clamp(42px, 4.8vw, 68px); font-weight: 500; line-height: 1.08; }
.product-hero .product-lead, .product-hero .release-caption, .product-hero .signed-note, .product-hero .workflow figcaption { color: var(--sage); }
.product-hero .release-badge { border-color: var(--rule-dark); }
.product-hero .product-facts { border-color: var(--rule-dark); color: var(--sage); }
.product-hero .underlined { color: var(--paper); }
.product-hero .signed-note > span { color: var(--signal); }
.feature-section { background: var(--paper); }
.legal { width: min(calc(100% - 64px), 1120px); margin-inline: auto; background: var(--paper-bright); min-height: 0; padding-block: 64px 96px; }
.legal .shell { width: 100%; }
.legal__header { display: block; padding-bottom: 40px; }
.legal__header > .section-index { color: var(--sage-dark); margin-bottom: 24px; }
.legal__header h1 { max-width: 950px; font-size: clamp(42px, 5.5vw, 72px); line-height: 1.06; font-weight: 500; letter-spacing: -.055em; }
.legal__header > p:last-child { margin-top: 28px; font-size: 11px; }
.legal__body { grid-template-columns: 200px minmax(0, 1fr); gap: 64px; padding-top: 40px; }
.legal__body article { grid-column: 2; }
.legal__body article section { display: block; padding-block: 28px; }
.legal__body h2 { font-size: 25px; line-height: 1.3; font-weight: 550; letter-spacing: -.035em; margin-bottom: 16px; }
.legal__body article p { font-size: 16px; line-height: 1.85; }
.product-legal__intro { display: block; padding-block: 28px; }
.product-legal__intro > p:first-child { margin-bottom: 16px; }
.product-legal__intro > p:last-child { font-size: 20px; line-height: 1.7; letter-spacing: -.02em; max-width: 840px; }
.product-legal__language-note { display: none; }
.software-privacy { max-width: 840px; padding-top: 56px; padding-bottom: 96px; }
.software-privacy .breadcrumb { margin: 0 0 36px; }
.software-privacy h1 { font-weight: 500; font-size: clamp(42px, 5.5vw, 72px); line-height: 1.08; letter-spacing: -.055em; margin-block: 24px; }
.software-privacy h2 { font-size: 25px; line-height: 1.3; font-weight: 550; letter-spacing: -.035em; }
.software-privacy .privacy-lead { font-size: 20px; line-height: 1.75; }
.software-privacy section p { font-size: 16px; line-height: 1.85; }
.site-page.error-page { background: var(--paper-bright); color: var(--ink); }
.error-page main { min-height: 70svh; padding-top: 0; }
.error-page h1 { font-size: clamp(48px, 6.5vw, 88px); line-height: 1.03; }
.error-page h1 em, .error-page__code { color: #486b13; }
.admin-header { height: var(--header-height); padding-inline: max(32px, calc((100% - 1280px)/2)); }
.admin-brand__company { font-size: 20px; }
.admin-brand img { width: 28px; height: 28px; border: 0; }
.admin-page .workspace { max-width: 1280px; margin-inline: auto; }
@media (max-width: 1000px) {
  .site-nav { gap: 20px; }
  .site-chrome__inner { gap: 20px; }
  .site-chrome .header-contact { display: none; }
}
@media (max-width: 800px) {
  :root { --shell: calc(100% - 40px); --header-height: 72px; }
  .site-chrome .site-nav { display: none; }
  .site-chrome .menu-toggle { position: relative; display: flex; width: 44px; height: 44px; padding: 12px 10px; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 0; background: transparent; color: var(--paper); cursor: pointer; }
  .site-chrome .menu-toggle > span:not(.sr-only) { display: block; width: 23px; height: 1px; background: currentColor; transition: transform 180ms ease; }
  .site-chrome .menu-toggle[aria-expanded="true"] > span:nth-child(2) { transform: translateY(3.5px) rotate(45deg); }
  .site-chrome .menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-3.5px) rotate(-45deg); }
  .site-chrome .mobile-menu { position: absolute; top: 100%; left: -20px; right: -20px; width: auto; height: auto; min-height: 0; display: block; padding: 24px 20px 32px; background: var(--ink); border-bottom: 1px solid var(--rule-dark); opacity: 0; transform: translateY(-8px); transition: opacity 180ms ease, transform 180ms ease; }
  .site-chrome .mobile-menu.is-open { opacity: 1; transform: none; }
  .site-chrome .mobile-menu nav { display: flex; flex-direction: column; gap: 0; }
  .site-chrome .mobile-menu a { display: flex; align-items: center; gap: 22px; min-height: 60px; border-bottom: 1px solid var(--rule-dark); font-size: 22px; font-weight: 500; letter-spacing: -.03em; }
  .site-chrome .mobile-menu a > span { color: var(--signal); font: 400 11px/1 var(--mono); }
  .site-chrome .mobile-menu b { font-weight: 500; }
  .site-chrome .mobile-menu a:last-child { border-bottom: 0; }
  body.menu-open { overflow: hidden; }
  .site-chrome-footer__top { flex-wrap: wrap; gap: 24px; padding-block: 40px; }
  .site-chrome-footer__top p { flex-basis: calc(100% - 210px); }
  .site-chrome-footer__bottom { align-items: flex-start; flex-direction: column; gap: 10px; }
  .site-chrome-footer__bottom nav { gap: 24px; }
  .product-subnav > .shell { gap: 16px; flex-wrap: wrap; padding-block: 8px; }
  .product-subnav nav { gap: 16px; }
  .catalog-heading { padding-block: 48px; grid-template-columns: 1fr; gap: 24px; }
  .catalog-heading h1 { margin-top: 0; font-size: clamp(40px, 7vw, 58px); }
  .catalog-intro { font-size: 16px; }
  .legal { width: var(--shell); padding-block: 44px 64px; }
  .legal__header h1, [data-language-panel="zh"] .product-legal__header h1 { font-size: clamp(38px, 8vw, 58px); line-height: 1.12; margin-top: 0; }
  .legal__body { grid-template-columns: 1fr; gap: 24px; padding-top: 28px; }
  .legal__body aside { display: block; }
  .legal__body aside a { margin-top: 12px; }
  .legal__body article { grid-column: 1; }
  .product-legal__intro > p:last-child { font-size: 18px; }
  .software-privacy { padding-top: 40px; padding-bottom: 64px; }
  .software-privacy h1 { font-size: 40px; }
  .software-privacy .privacy-lead { font-size: 18px; }
  .admin-header { padding-inline: 20px; }
}
@media (max-width: 480px) {
  .site-chrome-footer__top { align-items: flex-start; flex-direction: column; gap: 20px; }
  .site-chrome-footer__top p { flex-basis: auto; }
  .product-subnav > .shell > span { width: 100%; }
  .product-subnav nav { justify-content: space-between; width: 100%; gap: 10px; }
  .product-subnav a { font-size: 11px; }
  .catalog-section { padding-top: 36px; }
  .catalog-heading h1 { font-size: 40px; line-height: 1.12; }
  .product-hero h1 { font-size: 40px; }
  .site-page .support-band .software-button { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .site-chrome *, .software-button { transition: none; }
}
