.sidebar { position: fixed; left: 8vh; top: 10vh; bottom: 10vh; z-index: 30; display: flex; flex-direction: column; flex-shrink: 0; box-sizing: border-box; } .sidebar-container { display: flex; flex-direction: column; padding: 20px 25px 25px 25px; height: 100%; border: var(--border-ui-width) solid var(--border-ui-color); border-radius: 35px; background: color-mix(in srgb, var(--bg) 70%, transparent); backdrop-filter: blur(10px); } .sidebar-mobile-header { right: 0; margin-right: 10vw; top: calc(10vh - 20px); position: absolute; z-index: 1000; opacity: 0; transition: opacity 0.25s ease, scale 0.35s cubic-bezier(0.33, 1, 0.68, 1); } .sidebar-mobile-header--visible { opacity: 1; } .sidebar-brand { margin-bottom: 10px; } .sidebar-title { margin: 0; font-size: 28px; text-transform: uppercase; font-weight: 800; } .sidebar-nav { position: relative; display: flex; flex-direction: column; gap: 5px; margin: 0 -10px; } .sidebar-nav-indicator { position: absolute; z-index: 0; box-sizing: border-box; border-radius: 15px; background: color-mix(in srgb, var(--accent) 14%, transparent); pointer-events: none; transition: top 0.32s cubic-bezier(0.4, 0, 0.2, 1), left 0.32s cubic-bezier(0.4, 0, 0.2, 1), width 0.32s cubic-bezier(0.4, 0, 0.2, 1), height 0.32s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease; } @media (prefers-reduced-motion: reduce) { .sidebar-nav-indicator { transition-duration: 0.01ms; } } .sidebar-link { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; padding: 7px 11px; border-radius: 15px; color: var(--text); text-decoration: none; font-size: 0.95rem; transition: background 0.15s, color 0.15s; } .sidebar-link-icon-box { box-sizing: border-box; flex-shrink: 0; width: 18px; min-width: 18px; display: inline-flex; align-items: center; justify-content: center; align-self: center; } .sidebar-link-icon { flex-shrink: 0; width: 18px; height: 18px; opacity: 0.88; } .sidebar-link-text { font-size: 14px; font-weight: 400; } .sidebar-link--active .sidebar-link-icon { opacity: 1; } .sidebar-link:hover:not(.sidebar-link--active) { background: var(--link-hover); } .sidebar-link--active, .sidebar-link--active:hover { color: var(--accent); } .sidebar-divider { height: 0; margin: 1rem 0; border: 0; border-top: var(--border-ui-width) solid var(--border-ui-color); } .sidebar-footer { margin-top: auto; padding-top: 1.5rem; border-top: var(--border-ui-width) solid var(--border-ui-color); } .sidebar-footer .auth { align-items: flex-start; } .sidebar.sidebar--mobile-bottom { left: calc(var(--app-main-padding-left) / 2); right: calc(var(--app-main-padding-right) / 2); margin-bottom: calc(var(--app-main-padding-right) / 2); bottom: 0; top: auto; width: auto; height: auto; } .sidebar.sidebar--mobile-bottom .sidebar-container { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; padding: 12px; height: auto; border-radius: 40px; } .sidebar.sidebar--mobile-bottom .sidebar-brand { grid-column: 1; grid-row: 1; margin-bottom: 0; min-width: 0; } .sidebar.sidebar--mobile-bottom .sidebar-title { font-size: 0.8rem; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .sidebar.sidebar--mobile-bottom .sidebar-brand .sub { margin-top: 0.2rem; font-size: 0.68rem; } .sidebar.sidebar--mobile-bottom .sidebar-nav { grid-column: 1 / -1; grid-row: 2; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; gap: 4px; margin: 0; } .sidebar.sidebar--mobile-bottom .sidebar-nav .sidebar-link-icon-box { width: 38px; min-width: 38px; } .sidebar.sidebar--mobile-bottom .sidebar-nav .sidebar-link-icon { width: 38px; height: 38px; } .sidebar.sidebar--mobile-bottom .sidebar-nav-indicator { border-radius: 25px; } .sidebar.sidebar--mobile-bottom .sidebar-link { flex: 1 1 0; min-width: 0; flex-direction: column; justify-content: center; gap: 4px; padding: 8px 4px; border-radius: 25px; text-align: center; } .sidebar.sidebar--mobile-bottom .sidebar-link-text { font-size: 0.62rem; font-weight: 500; line-height: 1.15; display: -webkit-box; line-clamp: 2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .sidebar.sidebar--mobile-bottom .sidebar-footer { grid-column: 2; grid-row: 1; margin-top: 0; padding-top: 0; border-top: none; justify-self: end; align-self: center; } .sidebar.sidebar--mobile-bottom .sidebar-footer .auth { align-items: center; flex-direction: row; flex-wrap: nowrap; gap: 8px; } .sidebar.sidebar--mobile-bottom .sidebar-footer .user { display: none; } .sidebar.sidebar--mobile-bottom .sidebar-footer .btn { padding: 6px 10px; font-size: 0.75rem; white-space: nowrap; } .sidebar.sidebar--mobile-bottom.sidebar--drawer-open { transform-origin: 50% 100%; }