.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; }
}
