.mobile-nav {
  display: none;
}

@media (max-width: 860px) {
  .topbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0;
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
    background: var(--paper);
  }

  .topbar::before {
    display: none;
  }

  .topbar .brand {
    min-height: 44px;
  }

  .desktop-nav {
    display: none;
  }

  .mobile-nav {
    display: block;
    width: 100%;
  }

  .mobile-nav summary {
    position: absolute;
    top: 16px;
    right: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 4px;
    cursor: pointer;
    list-style: none;
  }

  .mobile-nav summary::-webkit-details-marker {
    display: none;
  }

  .mobile-nav summary::before {
    content: "☰";
    font-size: 18px;
  }

  .mobile-nav[open] summary::before {
    content: "×";
    font-size: 22px;
  }

  .mobile-nav summary:focus-visible {
    outline: 3px solid rgb(217 111 50 / .5);
    outline-offset: 4px;
  }

  .mobile-nav .nav {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-top: 12px;
    border-top: 1px solid var(--line);
  }

  .mobile-nav .nav a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 0;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
  }

  .mobile-nav .nav a:last-child {
    border-bottom: 0;
  }
}
