

.mast-links:has(.grp) { display: flex; align-items: flex-start; gap: var(--space-8); }
.mast-links:has(.grp) > .grp-scroll { min-width: 0; overflow: visible; }
.mast-links .grp { position: relative; display: block; inline-size: 120px; block-size: 44px; }
.mast-links .grp > summary { display: flex; align-items: center; inline-size: 120px; block-size: 44px; font-size: var(--text-xs,13px); font-weight: 600; font-stretch: 114%; letter-spacing: .06em; color: var(--color-ink); white-space: nowrap; cursor: pointer; list-style: none; }
.mast-links .grp > summary::-webkit-details-marker { display: none; }
.mast-links .grp > summary::after { content: ""; flex: 0 0 6px; width: 6px; height: 6px; margin-left: 8px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.mast-links .grp[open] > summary::after { transform: translateY(2px) rotate(225deg); }
.mast-links .grp > summary:hover,.mast-links .grp > summary[aria-current] { text-decoration: underline; text-decoration-thickness: var(--rule-heavy,2px); text-underline-offset: .35em; }
.mast-links .grp > summary:focus-visible { outline: var(--focus-w,3px) solid var(--color-ink); outline-offset: 2px; }
.mast-links .grp > ul { position: absolute; top: 100%; left: 0; z-index: 30; display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; width: max-content; min-width: 160px; margin: 0; padding: 8px 16px; gap: 0; border: 1px solid var(--color-rule); background: var(--color-paper); list-style: none; }
.mast-links .grp a { display: flex; align-items: center; min-block-size: 44px; color: var(--color-ink); white-space: nowrap; text-decoration: none; }
.mast-links .grp a:hover,.mast-links .grp a[aria-current] { text-decoration: underline; text-decoration-thickness: var(--rule-heavy,2px); text-underline-offset: .35em; }
.mast-links .grp a:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 2px; }
@media (hover:hover) and (pointer:fine) {
  .mast-links .grp:hover::details-content { content-visibility: visible; }
  .mast-links .grp:hover > summary::after { transform: translateY(2px) rotate(225deg); }
}
.build-page .tw-menu { z-index: 40; }
.build-page .tw-menu ul { z-index: 40; }
.build-page .mast:has(.grp-shelf) { flex-wrap: wrap; row-gap: 8px; }
.build-page .grp-shelf { display: flex; align-items: center; gap: 16px; font: 700 13px/1.5 var(--font-mono); }
.build-page .grp-scroll { overflow: visible; }
.build-page .grp-pilot { display: flex; align-items: center; min-height: 44px; padding-inline: 8px; background: var(--color-paper); color: var(--color-ink); white-space: nowrap; text-decoration: none; }
.build-page .grp-pilot:hover { text-decoration: underline; }
@media (max-width:47.99rem) {
  .mast-links:has(.grp) { overflow: visible; padding: 0; gap: 0; }
  .mast-links:has(.grp) > .grp-scroll { flex: 1; overflow-x: auto; overflow-y: hidden; padding: 6px 6.5rem 6px 6px; scrollbar-width: thin; scroll-padding-inline: 6px 6.5rem; }
  .mast-links:has(.grp) > .grp-scroll > ul { width: max-content; min-width: 100%; flex-wrap: nowrap; justify-content: flex-start; column-gap: var(--space-5); }
  .mast-links:has(.grp) > .grp-scroll > ul > li { flex: 0 0 auto; }
  .mast-links:has(.grp) > .grp-scroll a,.mast-links .grp > summary { scroll-margin-inline: 6px; }
  .mast-links:has(.grp) > .grp-pilot { position: absolute; right: var(--gutter); flex: 0 0 auto; min-height: var(--space-8); margin: 6px 0 0 var(--space-3); padding-inline: var(--space-4); border: var(--rule-heavy) solid var(--color-ink); border-radius: 999px; background: var(--color-paper); }
  .mast-links .grp { position: static; inline-size: 120px; }
  .mast-links .grp > ul { top: 100%; left: 16px; max-width: calc(100vw - 32px); }
  .build-page .grp-shelf { flex: 0 0 100%; min-width: 0; height: 60px; gap: 8px; }
  .build-page .grp-scroll { min-width: 0; overflow-x: auto; overflow-y: hidden; padding: 6px; scrollbar-width: thin; }
  .build-page .grp-pilot { flex: 0 0 auto; }
  .build-page .grp-shelf > .grp-pilot { right: 0; }
  .build-page .grp > ul { left: 0; }
  .build-page .tw-menu { position: static; }
  .build-page .tw-menu ul { top: 72px; max-width: 100%; }
}

