.portal-picker {
    position: relative;
    flex: 0 0 auto;
}

.portal-picker > summary {
    list-style: none;
}

.portal-picker > summary::-webkit-details-marker {
    display: none;
}

.portal-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0.4rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--card-bg);
    color: var(--main-text);
    font: inherit;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
}

.portal-icon-button:hover,
.portal-icon-button[aria-pressed="true"],
.portal-picker[open] > summary {
    background: var(--accent-soft);
    border-color: var(--accent);
    color: var(--link);
}

.portal-picker-menu {
    position: absolute;
    inset: calc(100% + 0.5rem) 0 auto auto;
    display: flex;
    gap: 0.4rem;
    width: max-content;
    max-width: calc(100vw - 2rem);
    padding: 0.6rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--card-bg);
    color: var(--main-text);
    box-shadow: var(--overlay-shadow);
    z-index: 1035;
}

.portal-picker:not([open]) > .portal-picker-menu {
    display: none;
}

.portal-preferences {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.mobile-menu-footer .portal-picker-menu {
    inset: auto auto calc(100% + 0.5rem) 0;
}
