.menu-toggle{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:8px;z-index:22}
.menu-toggle span{display:block;width:20px;height:1.5px;background:rgba(255,255,255,.84);border-radius:1px;transition:transform .25s,opacity .25s}
.menu-toggle.active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
@media (max-width:720px){
.menu-toggle{display:flex}
.navbar .menu{display:flex;position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:rgba(13,17,23,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;gap:40px;z-index:21;transform:translateY(-100%);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.navbar .menu.open{transform:translateY(0)}
.navbar .menu a{font-size:24px}
}
@media (prefers-reduced-motion:reduce){
.navbar .menu{transition:none}
.menu-toggle span{transition:none}
}
.footer::before{content:"";display:block;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.08) 20%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.08) 80%,transparent)}
.footer-status{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:rgba(255,255,255,.5);margin-top:20px}
.footer-status-dot{width:6px;height:6px;border-radius:50%;background:#1D4ED8}
.footer-bottom span[aria-hidden="true"]{display:none}
@media (max-width:720px){.footer-bottom{justify-content:center}}
.menu a{position:relative}
.menu a::after{content:'';position:absolute;bottom:-2px;left:50%;width:0;height:2px;background:#1D4ED8;transition:width .3s,left .3s}
.menu a:hover::after{width:100%;left:0}
@media (max-width:900px){
.footer-top{flex-direction:column;gap:48px;padding:56px 0 40px}
.footer-cols{flex-wrap:wrap;gap:40px}
.footer-inner{padding:0 32px}
}
:lang(zh) footer h4, :lang(zh) .footer-col h4, .footer-col h3, :lang(zh) .footer-title,
:lang(zh) .footer-status, :lang(zh) footer b, :lang(zh) footer code,
:lang(zh) footer .meta, :lang(zh) footer .iclab, :lang(zh) .footer-col a {
font-family: "Geist Mono", "JetBrains Mono", "IBM Plex Mono", ui-monospace, "SFMono-Regular", "Menlo", "PingFang SC", "HarmonyOS Sans SC", MiSans, -apple-system, "Microsoft YaHei", sans-serif !important;
font-size: 12.5px !important; letter-spacing: 0.02em !important;
}
body { text-rendering: auto; }
:lang(zh) #v2 h1 {
line-height: 1.08; letter-spacing: normal; font-weight: 500;
word-break: keep-all; text-wrap: balance;
}
:lang(zh) #v2 h2 {
line-height: 1.12; letter-spacing: normal; font-weight: 600;
word-break: keep-all; text-wrap: balance;
}
:lang(zh) #v2 h3, :lang(zh) #v2 h4 { line-height: 1.3; letter-spacing: normal; }
:lang(zh) #v2 .eyebrow { letter-spacing: 0.02em; font-weight: 600; }
:lang(zh) #v2 p, :lang(zh) #v2 .lead, :lang(zh) #v2 li { line-height: 1.75; }
:lang(zh) #v2 { text-spacing-trim: space-all; }
:lang(zh) #v2 .mol-legend,
:lang(zh) #v2 .sv-play-note,
:lang(zh) #v2 span.cap,
:lang(zh) #v2 .sv-play-head .cap,
:lang(zh) #v2 .eyebrow,
:lang(zh) #v2 .mlab,
:lang(zh) #v2 .iclab,
:lang(zh) #v2 .pdemo-tab,
:lang(zh) #v2 .skip-link,
:lang(zh) #v2 span.meta,
:lang(zh) #v2 div.meta,
:lang(zh) #v2 .cite-id,
:lang(zh) #v2 .tl-date,
:lang(zh) #v2 .spec-bar .k,
:lang(zh) #v2 .pathbox .k,
:lang(zh) #v2 .card .tag,
:lang(zh) #v2 .card .meta,
:lang(zh) #v2 .mech b,
:lang(zh) #v2 .spec code,
:lang(zh) #v2 .evidence i,
:lang(zh) #v2 .demo-sub,
:lang(zh) footer h4,
:lang(zh) .footer-col h4, .footer-col h3,
:lang(zh) .footer-title,
:lang(zh) .footer-status,
:lang(zh) footer b,
:lang(zh) footer code,
:lang(zh) footer .meta {
font-family: "Geist Mono", "JetBrains Mono", "IBM Plex Mono", ui-monospace, "SFMono-Regular", "Menlo", "PingFang SC", "HarmonyOS Sans SC", MiSans, -apple-system, "Microsoft YaHei", sans-serif;
}
:lang(zh) #v2 span.cap          { font-size: 12px;   letter-spacing: 0.04em; }
:lang(zh) #v2 .mol-legend       { font-size: 13.5px; }
:lang(zh) #v2 .demo-sec .mol-legend { font-size: 13.5px; }
:lang(zh) #v2 .demo-sub,
:lang(zh) #v2 span.demo-sub     { font-size: 13.5px; }
:lang(zh) #v2 .demo-sec .demo-sub   { font-size: 13.5px; }
:lang(zh) #v2 span.pill         { font-size: 12.5px; }
:lang(zh) #v2 .sv-play-note     { font-size: 11.5px; }
:lang(zh) #v2 .seg button       { font-size: 12.5px; }
:lang(zh) #v2 .mlab, :lang(zh) #v2 .iclab, :lang(zh) #v2 .pdemo-tab,
:lang(zh) #v2 span.meta, :lang(zh) #v2 div.meta, :lang(zh) #v2 a.skip-link
{ font-size: 12.5px; letter-spacing: 0.02em; }
#v2 h1, #v2 h2 { text-wrap: balance; }
@media (max-width: 810px) {
:lang(zh) #v2 h1, :lang(zh) #v2 h2 { word-break: break-word; }
}
:lang(zh) #v2 .card,
:lang(zh) #v2 .mech,
:lang(zh) #v2 .grid3 > *,
:lang(zh) #v2 .grid2 > *,
:lang(zh) #v2 .mech > * { min-width: 0; }
:lang(zh) #v2 .card h4, #v2 .card h3,
:lang(zh) #v2 .mech h4, #v2 .mech h3,
:lang(zh) #v2 .loop-name,
:lang(zh) #v2 .card p,
:lang(zh) #v2 .mech p { overflow-wrap: break-word; word-break: normal; }
:lang(zh) .mlab,
:lang(zh) .iclab,
:lang(zh) .icell,
:lang(zh) .skip-link,
:lang(zh) .page.cap .evidence span,
:lang(zh) .page.cap .evidence b,
:lang(zh) .page.cap .evidence i,
:lang(zh) .sv-play-read span,
:lang(zh) .sv-play-cap span,
:lang(zh) .sv-play-cap,
:lang(zh) .sv-play-read,
:lang(zh) .bm-figcap,
:lang(zh) .bm-figcap b,
:lang(zh) .metrics .metric,
:lang(zh) .pdemo-tab,
:lang(zh) .tl-date,
:lang(zh) .footer-status,
:lang(zh) footer b,
:lang(zh) footer code,
:lang(zh) footer .iclab,
:lang(zh) .spec-bar .k,
:lang(zh) .pathbox .k,
:lang(zh) .card .tag,
:lang(zh) .card .meta,
:lang(zh) .video-cap,
:lang(zh) .video-subs,
:lang(zh) .vs-cap,
:lang(zh) .ctl,
:lang(zh) p.mlab,
:lang(zh) div.mlab {
font-family: "Geist Mono", "JetBrains Mono", "IBM Plex Mono", ui-monospace, "SFMono-Regular", "Menlo", "PingFang SC", "HarmonyOS Sans SC", MiSans, -apple-system, "Microsoft YaHei", sans-serif;
}
:lang(zh) svg text,
:lang(zh) svg tspan {
font-family: "Geist Mono", "JetBrains Mono", "IBM Plex Mono", ui-monospace, "SFMono-Regular", "Menlo", "PingFang SC", "HarmonyOS Sans SC", MiSans, -apple-system, "Microsoft YaHei", sans-serif !important;
}
:lang(zh) code { font-family: "Geist Mono", "JetBrains Mono", "PingFang SC", "HarmonyOS Sans SC", MiSans, ui-monospace, monospace; }
:lang(zh) .mlab, :lang(zh) .iclab, :lang(zh) .icell,
:lang(zh) .sv-play-read span, :lang(zh) .sv-play-cap span,
:lang(zh) .bm-figcap, :lang(zh) .metrics .metric,
:lang(zh) .pdemo-tab, :lang(zh) .skip-link,
:lang(zh) .video-cap, :lang(zh) .video-subs { font-size: 12.5px; letter-spacing: 0.02em; }
:lang(zh) svg text, :lang(zh) svg tspan { font-size: 13px; }
:lang(zh) .tl-date { color: rgba(255, 255, 255, 0.56) !important; }
:lang(zh) .pdemo-tab { color: rgba(255, 255, 255, 0.62) !important; }
:lang(zh) .pdemo-tab.active { color: #fff !important; }
.logo-mark, .logo-mark circle, .logo-mark path { color: inherit; }
.logo .logo-mark, .footer-logo .logo-mark { color: var(--text-primary); }
@media (max-width: 810px) {
.footer-bottom { justify-content: flex-start !important; text-align: left !important; }
}
@media (max-width: 1024px) {
.footer-inner { padding-left: 40px !important; padding-right: 40px !important; }
}
@media (max-width: 720px) {
.footer-inner { padding-left: 20px !important; padding-right: 20px !important; }
}
@media (min-width: 811px) {
.footer-top {
display: grid;
grid-template-columns: 1.6fr 1fr 1fr 1fr;
gap: 64px;
align-items: start;
}
.footer-brand { flex: none; width: auto; min-width: 0; }
.footer-cols  { display: contents; }
.footer-col   { width: auto; min-width: 0; }
}
.footer-bottom {
max-width: 1440px;
margin-left: auto;
margin-right: auto;
padding-left: 80px;
padding-right: 80px;
box-sizing: border-box;
}
@media (max-width: 1024px) {
.footer-bottom { padding-left: 40px; padding-right: 40px; }
}
@media (max-width: 720px) {
.footer-bottom { padding-left: 20px; padding-right: 20px; }
}
[data-theme="light"] footer .footer-status,
[data-theme="light"] footer .footer-status *,
[data-theme="light"] footer h4,
[data-theme="light"] footer .footer-col h4, [data-theme="light"] footer .footer-col h3,
[data-theme="light"] footer .footer-title,
[data-theme="light"] footer .footer-brand p,
[data-theme="light"] footer .footer-inner p,
[data-theme="light"] footer .footer-brand-info p { color: rgba(0, 0, 0, 0.62) !important; }
[data-theme="light"] footer a:link,
[data-theme="light"] footer a:visited,
[data-theme="light"] footer a,
[data-theme="light"] .footer-bottom a:link,
[data-theme="light"] .footer-bottom a:visited,
[data-theme="light"] .footer-bottom a,
[data-theme="light"] .footer-bottom span,
[data-theme="light"] .footer-bottom,
[data-theme="light"] footer .footer-col a:link,
[data-theme="light"] footer .footer-col a:visited,
[data-theme="light"] footer .meta,
[data-theme="light"] footer code { color: rgba(0, 0, 0, 0.7) !important; }
[data-theme="light"] footer a:hover,
[data-theme="light"] .footer-bottom a:hover { color: rgba(0, 0, 0, 0.95) !important; }
[data-theme="light"] .footer-status-dot { background: #1D4ED8 !important; }
[data-theme="light"] footer, [data-theme="light"] #v2 footer { border-top-color: var(--line) !important; }
[data-theme="light"] { --w-55: rgba(0, 0, 0, 0.62) !important; }
.footer-bottom {
justify-content: flex-start !important;
text-align: left !important;
gap: 8px !important;
flex-wrap: wrap;
}
.footer-bottom span[aria-hidden="true"] { display: inline !important; }
.footer-bottom a { text-decoration: none; }
.footer-bottom a:hover { text-decoration: underline; }
@media (max-width: 720px) {
.footer-bottom { gap: 6px !important; }
}
.footer-bottom .beian-gongan {
display: inline-flex; align-items: center; gap: 4px;
text-decoration: none; white-space: nowrap;
}
.footer-bottom .beian-gongan img {
width: 13px; height: 14px; display: block; flex: none;
filter: none;
}
.footer-bottom .beian-gongan:hover { text-decoration: underline; }
.footer-bottom .beian-gongan:hover img { text-decoration: none; }
