/* Shared public navigation, independent of the compiled Tailwind bundle. */
#mobile-menu-btn { min-width: 2.75rem; min-height: 2.75rem; }
nav a:focus-visible, nav summary:focus-visible, nav button:focus-visible { outline: 2px solid #8caeff; outline-offset: 3px; border-radius: .3rem; }
nav .btn-gradient { min-height: 2.75rem; }
.public-dropdown { position: relative; }
.public-dropdown summary { cursor: pointer; list-style: none; min-height: 2.75rem; }
.public-dropdown summary::-webkit-details-marker { display: none; }
.public-dropdown-panel { position: absolute; top: 100%; left: 0; padding-top: .5rem; z-index: 50; }
.public-dropdown-panel > div { max-height: calc(100dvh - 6rem); overflow-y: auto; }
.public-dropdown[open] > summary { color: #f3f4f6; }
#mobile-menu { max-height: calc(100dvh - 5rem); overflow-y: auto; }
#mobile-menu a, #mobile-menu summary { display: flex; align-items: center; min-height: 2.75rem; padding: .65rem .75rem; color: #c1c6d2; font-size: .9375rem; }
#mobile-menu a:hover, #mobile-menu summary:hover { color: #fff; }
#mobile-menu .btn-gradient { color: #fff; justify-content: center; margin-top: .5rem; }
#mobile-menu summary { cursor: pointer; }
#mobile-menu summary::after { content: '+'; margin-left: auto; }
#mobile-menu details[open] summary::after { content: '−'; }
#mobile-menu details a { padding-left: 1.5rem; font-size: .875rem; }
