.top-inner:has(> .site-account:not([hidden])) {
  grid-template-columns: 1fr auto 1fr auto;
  column-gap: 12px;
}
.site-account { position: relative; justify-self: end; color: var(--green); }
.site-account summary {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
  padding: 0 12px; border-radius: 24px; cursor: pointer; list-style: none;
  font-size: 14px; font-weight: 600; white-space: nowrap;
}
.site-account summary::-webkit-details-marker { display: none; }
.site-account summary:hover, .site-account details[open] summary { background: var(--sage); }
.site-account summary:focus-visible { outline: 3px solid #b6502e; outline-offset: 3px; }
.account-panel {
  position: absolute; z-index: 9; right: 0; top: calc(100% + 6px);
  width: max-content; max-width: min(270px, 85vw); padding: 10px 14px;
  border: 1px solid var(--line); border-radius: 5px; background: var(--paper);
  box-shadow: 0 5px 16px #302d2517; font-size: 14px; overflow-wrap: anywhere;
}
.account-panel p { margin: 5px 0; }
.account-panel a, .account-panel button {
  display: flex; align-items: center; min-height: 44px; padding: 0;
  border: 0; background: none; font: inherit; font-weight: 600;
  text-decoration: underline; text-underline-offset: 3px;
}
@media (max-width: 820px) {
  .top-inner:has(> .site-account:not([hidden])) {
    grid-template-columns: minmax(0, 1fr) auto auto; height: auto; padding: 10px 0 4px; gap: 4px 6px;
  }
  .top-inner:has(> .site-account:not([hidden])) .nav { grid-column: 1/-1; grid-row: 2; }
  .top-inner:has(> .site-account:not([hidden])) .saved-nav { grid-column: 2; grid-row: 1; }
  .site-account { grid-column: 3; grid-row: 1; }
}
@media (max-width: 420px) {
  .top-inner:has(> .site-account:not([hidden])) { column-gap: 3px; }
  .top-inner:has(> .site-account:not([hidden])) .brand { font-size: 25px; gap: 5px; }
  .top-inner:has(> .site-account:not([hidden])) .brand img { width: 24px; height: 24px; }
  .top-inner:has(> .site-account:not([hidden])) .saved-nav, .site-account summary { padding-inline: 7px; font-size: 13px; }
}
