.drawer-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 99; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; } .drawer-overlay.open { opacity: 1; visibility: visible; } .drawer { position: fixed; top: 0; right: 0; width: 280px; height: 100%; background-color: var(--background-color); z-index: 100; transform: translateX(100%); transition: transform 0.3s ease; box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1); display: flex; flex-direction: column; } .drawer.open { transform: translateX(0); } .drawer__header { display: flex; align-items: center; justify-content: space-between; padding: 0.5rem 1rem; border-bottom: 1px solid var(--border-color); height: 60px; box-sizing: border-box; } .drawer__title { margin: 0; font-size: 1.25rem; font-weight: 600; } .drawer__close-btn { background: none; border: none; cursor: pointer; color: var(--text-color); padding: 0.5rem; display: flex; align-items: center; justify-content: center; border-radius: 50%; } .drawer__close-btn:hover { background-color: rgba(0, 0, 0, 0.05); } .drawer__nav { padding: 1rem 0; display: flex; flex-direction: column; } .drawer__link { display: flex; align-items: center; gap: 1rem; padding: 0.75rem 1.5rem; text-decoration: none; color: var(--text-color); font-size: 1rem; transition: background-color 0.2s; } .drawer__link:hover { background-color: rgba(0, 0, 0, 0.05); } .drawer__link svg { color: var(--subtitle-color); }