.ui-ready .topbar { z-index: 8; }
.ecosystem-menu { position: relative; }
.ecosystem-menu summary { list-style: none; cursor: pointer; border-radius: 12px; }
.ecosystem-menu summary::-webkit-details-marker { display: none; }
.brand-wordmark { display: flex; flex-direction: column; gap: 4px; }
.ecosystem-menu summary:focus-visible, .ecosystem-card a:focus-visible, .welcome-ecosystem:focus-visible {
  outline: 3px solid #446747; outline-offset: 4px;
}
.ecosystem-menu[open] .brand-sub { color: #3d613e; }
.ecosystem-card {
  position: absolute; top: calc(100% + 14px); left: 0; width: 352px;
  max-width: calc(100vw - 40px); max-height: calc(100dvh - 104px);
  overflow-y: auto; overscroll-behavior: contain; padding: 16px;
  background: #fcfaf1; border: 1px solid #d9e1cf; border-radius: 18px;
  box-shadow: 0 12px 42px #2233192e; color: #344b36;
}
.ecosystem-card a { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 60px; padding: 11px 10px; border-radius: 10px; color: inherit; text-decoration: none; }
.ecosystem-card a:hover, .ecosystem-card a[aria-current] { background: #e8eddf; }
.ecosystem-card a[aria-current] { box-shadow: inset 0 0 0 1px #d5dfc9; }
.ecosystem-card a > span:first-child { min-width: 0; }
.ecosystem-card strong { display: block; font-size: 13px; font-weight: 600; }
.ecosystem-card small { display: block; margin-top: 5px; font-size: 11px; line-height: 1.5; color: #626f5c; }
.ecosystem-card .ecosystem-home { min-height: 44px; padding-block: 7px; font-size: 14px; font-weight: 600; }
.ecosystem-card p { margin: 4px 10px 13px; font-size: 11px; line-height: 1.5; color: #626f5c; }
.ecosystem-tag { flex-shrink: 0; font-size: 9px; padding: 5px 7px; border-radius: 6px; background: #f2f3e9; color: #5c6e52; white-space: nowrap; }
.ecosystem-card .ecosystem-note { margin-top: 12px; margin-bottom: 2px; padding-top: 12px; border-top: 1px solid #dce3d2; font-size: 10px; }
.welcome-ecosystem { display: inline-block; margin-top: 16px; color: #526c4b; font-size: 11px; line-height: 1.5; text-underline-offset: 3px; }
@media (max-width: 540px) { .ecosystem-card { max-width: calc(100vw - 32px); padding: 12px; } }
@media (max-height: 540px) { .ecosystem-card { top: calc(100% + 8px); max-height: calc(100dvh - 76px); } .welcome-ecosystem { margin-top: 9px; font-size: 10px; } }
