@layer layout { aside.aside-icon-bar { --app-icon-bar-item-padding: 0.6875rem 0.5rem; --app-icon-bar-item-size: 18px; --app-icon-bar-border-width: 3px; --app-icon-bar-hover-bg: var(--app-accordion-border-color); --app-icon-bar-border: 1px solid var(--app-border); --app-icon-bar-mobile-safe-space: calc( 3.5rem + env(safe-area-inset-bottom) ); display: none; } aside.aside-icon-bar nav { display: flex; flex-direction: column; justify-content: space-between; height: 100vh; } aside.aside-icon-bar .aside-icon-footer { display: grid; } aside.aside-icon-bar ul, aside.aside-icon-bar li { margin: 0; padding: 0; list-style: none; } aside.aside-icon-bar ul { display: grid; gap: 0; } aside.aside-icon-bar li a, aside.aside-icon-bar li button { margin: 0; padding: var(--app-icon-bar-item-padding); font-size: var(--app-icon-bar-item-size); text-align: center; color: var(--app-muted-color); border-radius: 0; background: transparent; border: 0; border-left: var(--app-icon-bar-border-width) solid transparent; display: block; width: 100%; cursor: pointer; } aside.aside-icon-bar li a:hover, aside.aside-icon-bar li a.active, aside.aside-icon-bar li button:hover, aside.aside-icon-bar li button.active { border-left: var(--app-icon-bar-border-width) solid var(--app-primary); color: var(--app-primary); background: var(--app-icon-bar-hover-bg); } aside.aside-icon-bar li a:focus-visible, aside.aside-icon-bar li button:focus-visible { outline: 2px solid var(--app-primary-focus); outline-offset: -2px; border-left-color: transparent; color: var(--app-contrast); } /* ── Outline/fill icon swap ── */ [data-icon-swap] [data-icon="fill"] { display: none; } [data-icon-swap]:hover [data-icon="outline"], [data-icon-swap].active [data-icon="outline"] { display: none; } [data-icon-swap]:hover [data-icon="fill"], [data-icon-swap].active [data-icon="fill"] { display: inline; } @media (min-width: 768px) { aside.aside-icon-bar { border-right: var(--app-icon-bar-border); display: block; position: sticky; top: var(--app-topbar-height); align-self: start; height: calc(100dvh - var(--app-topbar-height)); z-index: 11; } aside.aside-icon-bar nav { height: 100%; } .is-sidebar-collapsed aside.aside-icon-bar { border-right: 0; } } @media (max-width: 767px) { aside.aside-icon-bar { display: none; position: fixed; top: var(--app-topbar-height); left: 0; width: min(280px, 85vw); z-index: var(--z-drawer); border-bottom: 1px solid var(--app-border); background: var(--app-sidebar-background-color); } .drawer-open aside.aside-icon-bar { display: block; } aside.aside-icon-bar nav { flex-direction: row; height: auto; justify-content: flex-start; gap: 0; } aside.aside-icon-bar .aside-icon-footer { display: flex; gap: 0; } aside.aside-icon-bar ul { display: flex; gap: 0; } aside.aside-icon-bar li a, aside.aside-icon-bar li button { border-left: 0; border-top: var(--app-icon-bar-border-width) solid transparent; } aside.aside-icon-bar li a:hover, aside.aside-icon-bar li a.active, aside.aside-icon-bar li button:hover, aside.aside-icon-bar li button.active { border-left: 0; border-top: var(--app-icon-bar-border-width) solid var(--app-primary); } aside.aside-icon-bar li a:focus-visible, aside.aside-icon-bar li button:focus-visible { border-left-color: transparent; border-top-color: transparent; } } }