@import url("./typography.css?v=google-sans-flex-1");
/* Include the rim in the capsule width on every page, including pages without
   a global border-box reset. Otherwise switching to Home shifts each edge 1px. */
html body header.header{box-sizing:border-box!important}
/* Do not inherit the homepage's general button minimums in the mobile menu. */
html body .header #menuToggle{min-width:0!important;min-height:0!important}
/* Shared wide, shallow capsule floats over hero imagery. */
html body .header{position:fixed!important;top:22px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;z-index:100!important;display:block!important;width:82%!important;max-width:1600px!important;height:auto!important;margin:0!important;padding:0!important;border:1px solid #dfe4e8!important;border-radius:999px!important;background:#fff!important;box-shadow:0 5.333px 17.333px #17232e0b,0 1.333px 2.667px #17232e08!important;backdrop-filter:none!important;color:#17232e!important;font-family:Arial,sans-serif!important}
html body .header .header-inner{box-sizing:border-box!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:28px!important;width:100%!important;max-width:none!important;height:54px!important;min-height:54px!important;margin:0!important;padding:0 10px 0 24px!important}
html body .header .official-nav-logo{display:flex!important;align-items:center!important;flex:0 0 132px!important;width:132px!important;height:40px!important;margin:0!important;padding:0!important;border:0!important;background:none!important}
html body .header .official-nav-logo img{display:block!important;width:132px!important;height:auto!important;max-height:40px!important;object-fit:contain!important;margin:0!important}
html body .header .nav{display:flex!important;align-items:center!important;justify-content:space-between!important;flex:1!important;gap:13.333px!important;width:auto!important;max-width:none!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;position:static!important;border:0!important;background:none!important;overflow:visible!important}
html body .header .nav-left,html body .header .nav-right{display:flex!important;align-items:center!important;gap:4px!important;margin:0!important;padding:0!important;flex-wrap:nowrap!important}
html body .header .nav a{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;min-height:34px!important;padding:8px 14px!important;margin:0!important;border:0!important;border-radius:999px!important;background:none!important;color:#43515f!important;text-decoration:none!important;white-space:nowrap!important;font:500 14px/1.3 Arial,sans-serif!important;letter-spacing:0!important}
html body .header .nav a:hover{background:#edf1f3!important}
html body .header .nav a[aria-current=page]{background:#17232e!important;color:#fff!important}
html body .header .nav a.paper-link{background:#203447!important;color:#fff!important;padding-inline:14.667px!important}
html body .header #menuToggle{display:none!important}
html body .header a:focus-visible,html body .header button:focus-visible{outline:2px solid #376b80!important;outline-offset:4px!important}
/* Small screens keep a viewport-width capsule and a usable expanded menu. */
@media(max-width:1040px){
 html body .header{top:8px!important;width:calc(100% - 24px)!important;max-width:840px!important;margin:0!important}
 html body .header .header-inner{height:48px!important;min-height:48px!important;padding-inline:12px!important}
 html body .header .official-nav-logo,html body .header .official-nav-logo img{width:100px!important;flex-basis:100px!important}
 html body .header #menuToggle{display:block!important;margin-left:auto!important;padding:6px 10px!important;background:transparent!important;border:1px solid #d5dfe0!important;border-radius:999px!important;color:#203447!important;font:12px Arial,sans-serif!important}
 html body .header .nav{display:none!important;position:absolute!important;left:0!important;right:0!important;top:58px!important;padding:14px!important;border:1px solid #dfe4e8!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 24px #17232e10!important}
 html body .header .nav.open{display:flex!important;align-items:stretch!important;flex-direction:column!important;gap:8px!important}
 html body .header .nav-left,html body .header .nav-right{flex-wrap:wrap!important;gap:6px!important;justify-content:flex-start!important}
 html body .header .nav a{min-height:40px!important;font-size:14px!important}
}
/* Shared white page canvas; media and interactive state colors keep their own palettes. */
html:root,html body{--bg:#ffffff!important;--paper:#ffffff!important;--research-paper:#ffffff!important;background-color:#ffffff!important}
html body .header,html body[class] .header,html body .header .nav,html body[class] .header .nav{background:#ffffff!important}
html body #overview.rd-hero,html body .project-identity,html body #resources-overview,html body #research-overview .lunar-worlds-frame{background:#ffffff!important}
html body .demo-toolbar,html body .demo-panel,html body #task-drawer,html body .workspace-drawer-head,html body .workspace-mobile-bar{background-color:#ffffff!important}

/* Pages without a hero reserve space for the fixed navigation. */
html body{padding-top:90px!important}
html body.dark-hero{padding-top:0!important}
html body.dark-hero .article-layout,html body.dark-hero .article-body,html body.dark-hero #overview.rd-hero{margin-top:0!important;padding-top:0!important}
html body.dark-hero .rd-hero .demo-hero{height:100svh;min-height:730px}
@media(max-width:1040px){html body{padding-top:74px!important}html body.dark-hero{padding-top:0!important}}
@media(max-width:760px){html body.dark-hero .rd-hero .demo-hero{height:auto;min-height:100svh;padding-top:86px}}

/* Shared web glass material, inspired by the supplied reference. One parameter set is used on every page and at every scroll position.
   Geometry above remains unchanged; this is a CSS approximation rather than a native iOS API. */
:root {
 --m2a-glass-surface:linear-gradient(115deg,#ffffff4d,#ffffff0d 35%,#ffffff08 65%,#ffffff33),#ffffff85;
 --m2a-glass-edge:#ffffffe0;
 /* White rim catches light; the fine outer line defines it on white pages. */
 --m2a-glass-shadow:inset 0 1px 0 #ffffff,inset 0 -1px 0 #ffffff73,0 0 0 1px #2228322b,0 6px 22px #20242a1a;
 --m2a-glass-filter:blur(10px) saturate(100%);
 --m2a-glass-hover:linear-gradient(180deg,#ffffff47,#ffffff1f);
 --m2a-glass-pressed:linear-gradient(180deg,#b7bec833,#ffffff26);
 --m2a-glass-ink:#1d2731;
 --m2a-glass-selected:linear-gradient(180deg,#ffffff14,#ffffff00 70%),#25303b;
}
html:root body header.header {
 background:var(--m2a-glass-surface)!important;
 border-color:var(--m2a-glass-edge)!important;
 box-shadow:var(--m2a-glass-shadow)!important;
 backdrop-filter:var(--m2a-glass-filter)!important;
 -webkit-backdrop-filter:var(--m2a-glass-filter)!important;
}
html:root body header.header .header-inner,
html:root body header.header #siteNav,
html:root body header.header .nav-left,
html:root body header.header .nav-right {background:transparent!important;box-shadow:none!important}
html:root body header.header #siteNav a {
 color:var(--m2a-glass-ink)!important;
 box-shadow:inset 0 1px 0 transparent!important;
 transition:background .16s ease,box-shadow .16s ease,color .16s ease!important;
 -webkit-tap-highlight-color:transparent;
}
@media(hover:hover){
 html:root body header.header #siteNav a:hover {
  background:var(--m2a-glass-hover)!important;
  box-shadow:inset 0 1px 0 #ffffff47!important;
 }
}
html:root body header.header #siteNav a[aria-current=page],
html:root body header.header #siteNav a.paper-link {
 background:var(--m2a-glass-selected)!important;
 color:#fff!important;
 box-shadow:inset 0 1px 0 #ffffff1f,0 1px 3px #203f4f0d!important;
}
@media(hover:hover){
 html:root body header.header #siteNav a[aria-current=page]:hover,
 html:root body header.header #siteNav a.paper-link:hover {background:linear-gradient(180deg,#ffffff0d,#ffffff00),#333d48!important}
}
html:root body header.header #siteNav a:active {
 background:var(--m2a-glass-pressed)!important;
 box-shadow:inset 0 1px 4px #29465326,inset 0 -1px 0 #ffffff99!important;
 transition-duration:.06s!important;
}
html:root body header.header #siteNav a[aria-current=page]:active,
html:root body header.header #siteNav a.paper-link:active {background:#202832!important;color:#fff!important}
html:root body header.header #menuToggle {
 background:linear-gradient(180deg,#ffffff80,#ffffff26)!important;
 border-color:#ffffffc9!important;
 box-shadow:inset 0 1px 0 #ffffffe6,0 1px 4px #203f4f0d!important;
 color:var(--m2a-glass-ink)!important;
}
html:root body header.header #menuToggle:active,
html:root body header.header #menuToggle[aria-expanded=true] {background:var(--m2a-glass-pressed)!important}
/* Floating Home action uses the same capsule and glass tokens as navigation. */
html:root body button#backTop.backtop {
 display:inline-flex;align-items:center;justify-content:center;
 min-width:78px;min-height:44px;
 padding:9px 18px!important;
 border:1px solid var(--m2a-glass-edge)!important;
 border-radius:999px!important;
 background:var(--m2a-glass-surface)!important;
 color:var(--m2a-glass-ink)!important;
 box-shadow:var(--m2a-glass-shadow)!important;
 backdrop-filter:var(--m2a-glass-filter);
 -webkit-backdrop-filter:var(--m2a-glass-filter);
 font:500 14px/1.3 var(--m2a-font-sans)!important;
 transition:background .16s ease,box-shadow .16s ease,color .16s ease;
 -webkit-tap-highlight-color:transparent;
}
@media(hover:hover){
 html:root body button#backTop.backtop:hover {
  background:var(--m2a-glass-hover),var(--m2a-glass-surface)!important;
 }
}
html:root body button#backTop.backtop:active {
 background:var(--m2a-glass-pressed),var(--m2a-glass-surface)!important;
 box-shadow:inset 0 1px 4px #29465326,inset 0 -1px 0 #ffffff99!important;
 transition-duration:.06s;
}
html:root body button#backTop.backtop:focus-visible {
 outline:2px solid #376b80!important;outline-offset:4px!important;
}
@media(max-width:1040px){
 /* A filtered parent clips the dropdown's backdrop sampling. Move only the
    capsule's material to a sibling layer while its menu is open. */
 html:root body header.header:has(#siteNav.open) {
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
 }
 html:root body header.header:has(#siteNav.open)::before {
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:var(--m2a-glass-surface);
  backdrop-filter:var(--m2a-glass-filter);
  -webkit-backdrop-filter:var(--m2a-glass-filter);
 }
 html:root body header.header #siteNav {
  background:linear-gradient(125deg,#ffffff52,#ffffff14),#ffffffb3!important;
  border-color:var(--m2a-glass-edge)!important;
  box-shadow:var(--m2a-glass-shadow)!important;
  backdrop-filter:blur(16px) saturate(100%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(100%)!important;
 }
}
/* Reuse the material on floating leaderboard controls, never on result cells. */
.lb-stage .lb-stage-tabs,
.lb-stage .lb-stage-caption,
.lb-stage .lb-stage-head .lb-stage-metric,
.lb-stage .lb-stage-full,
.lb-stage .lb-stage-motion-toggle,
.lb-stage .lb-stage-footer p {
 background:var(--m2a-glass-surface);
 border-color:var(--m2a-glass-edge);
 box-shadow:var(--m2a-glass-shadow);
 backdrop-filter:var(--m2a-glass-filter);
 -webkit-backdrop-filter:var(--m2a-glass-filter);
}
.lb-stage .lb-stage-tabs::before {
 background:var(--m2a-glass-selected);
 box-shadow:inset 0 1px 0 #ffffff59,inset 0 -1px 0 #20283233,0 2px 6px #20283226;
}
.lb-stage .lb-stage-tabs button {color:var(--m2a-glass-ink)}
.lb-stage .lb-stage-caption,.lb-stage .lb-stage-caption strong,.lb-stage .lb-stage-head .lb-stage-metric,.lb-stage .lb-stage-full,.lb-stage .lb-stage-motion-toggle,.lb-stage .lb-stage-footer p {color:var(--m2a-glass-ink)}
.lb-stage .lb-stage-tabs button[aria-pressed=true] {color:#fff}
@media(hover:hover){
 .lb-stage .lb-stage-tabs button:not([aria-pressed=true]):hover {background:#ffffff52;box-shadow:inset 0 1px 0 #ffffffb3}
 .lb-stage .lb-stage-full:hover,.lb-stage .lb-stage-motion-toggle:hover {background:var(--m2a-glass-hover)}
}
.lb-stage .lb-stage-tabs button:active,.lb-stage .lb-stage-full:active,.lb-stage .lb-stage-motion-toggle:active {box-shadow:inset 0 1px 4px #29465326}
.lb-stage .lb-stage-tabs button:active {background:#ffffff33}
.lb-stage .lb-stage-motion-toggle:disabled {background:#ffffffb3;color:#59616b;box-shadow:inset 0 1px 0 #ffffff99}
.lb-results .lb-ranking {justify-content:flex-end}
body.leaderboard-explorer .lb-results .lb-view-buttons {margin-left:auto;background:var(--m2a-glass-surface);border-color:#d7dbe0;box-shadow:var(--m2a-glass-shadow)}
body.leaderboard-explorer .lb-results .lb-view-buttons button[aria-pressed=true] {background:var(--m2a-glass-selected);box-shadow:inset 0 1px 0 #ffffff38,0 2px 5px #203f4f14}
body.leaderboard-explorer .lb-results .lb-view-buttons button:not([aria-pressed=true]):hover {background:var(--m2a-glass-hover)}
body.leaderboard-explorer .lb-results .lb-view-buttons button:active {box-shadow:inset 0 1px 4px #29465326}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 :root {--m2a-glass-surface:linear-gradient(115deg,#ffffff,#f3f4f6);--m2a-glass-filter:none}
 @media(max-width:1040px){html:root body header.header #siteNav {background:#f8f8fa!important}}
}
@media(prefers-reduced-motion:reduce){
 html:root body header.header #siteNav a,
 html:root body button#backTop.backtop {transition:none!important}
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){
 :root {--m2a-glass-surface:#f8f8fa;--m2a-glass-filter:none;--m2a-glass-edge:#718c94;--m2a-glass-selected:#25303b}
 html:root body header.header #siteNav {backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 html:root body header.header #siteNav a[aria-current=page],html:root body header.header #siteNav a.paper-link {background:#25303b!important}
 .lb-stage .lb-stage-tabs::before {background:#25303b}
}
@media(prefers-contrast:more){
 html:root body header.header #siteNav {background:#f8f8fa!important;border-color:#718c94!important}
}
@media(max-width:1040px) and (prefers-reduced-transparency:reduce){
 html:root body header.header #siteNav {background:#f8f8fa!important}
}

/* Constrain reading content below the original full-width hero sections.
   Target one outer content shell per layout so nested columns are not scaled twice.
   Home and all existing mobile/tablet layouts retain their approved dimensions. */
@media (min-width: 1041px) {
 html body { --page-content-width: min(1280px, 80vw); }
 html body .pr-layout,
 html body.leaderboard-explorer .lb-page > .lb-results,
 html body.leaderboard-explorer .lb-page > .lb-protocol,
 html body.benchmark-overview .bo-main > .bo-search,
 html body.benchmark-overview .bo-main > .bo-explorer,
 html body.documentation-page main.documentation,
 html body main.news-page,
 html body.benchmark-category .workspace-layout {
  box-sizing: border-box;
  width: var(--page-content-width);
  max-width: 1280px;
  margin-inline: auto;
 }
 html body main.news-page { max-width: 1024px; }
 /* Let the current nine-column boards size their cells naturally. Legacy
    three-column percentages otherwise squeeze headers together when narrowed. */
 html body .lb-results .lb-board-table { table-layout: auto; }
 html body .lb-results .lb-board-table .lb-model-heading { width: auto; min-width: 185px; }
 html body .lb-results .lb-board-table thead tr:first-child th:nth-child(3) { width: auto; }
 html body .lb-results .lb-board-table thead button { height: auto; padding: 0; text-align: inherit; }
}
/* Retain useful room for the article beside navigation on smaller desktops. */
@media (min-width: 1041px) and (max-width: 1360px) {
 html body.benchmark-category { --category-gutter: 28px; }
 html body.benchmark-category .workspace-layout { grid-template-columns: 220px minmax(0, 1fr); }
 html body.benchmark-category main.workspace-content { padding-inline: 28px; }
}
