/* 1. Reset & Variables */ :root { --bg-surface: var(--ForegroundDark); --bg-hover: var(--Border); --border-color: var(--Border); --text-main: var(--TextNormal); --text-strong: var(--TextNormal); --radius: 12px; } [x-cloak] { display: none !important; } /* 2. Positioning Context */ .dropdown-container { position: relative; display: inline-block; } /* 3. The Toggle Button */ .dropdown-button { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; background-color: var(--bg-surface); border: 1px solid var(--border-color); border-radius: var(--radius); font-size: 14px; font-weight: 500; color: var(--text-main); cursor: pointer; transition: all 0.2s; } .dropdown-button:hover { opacity: 0.8; } .dropdown-button.active { color: var(--text-strong); border-color: #9ca3af; } /* 4. The Floating Menu */ .dropdown-menu { position: absolute; left: 0; min-width: 200px; background-color: var(--bg-surface); border: 1px solid var(--border-color); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; z-index: 50; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3); } /* POSITION: BOTTOM (Default) */ .dropdown-menu:not(.drop-top) { top: 100%; margin-top: 8px; } /* POSITION: TOP */ .dropdown-menu.drop-top { bottom: 100%; margin-bottom: 8px; } /* 5. Menu Items */ .menu-item { padding: 10px 16px; font-size: 14px; text-decoration: none; color: var(--text-main); transition: background 0.2s; } .menu-item:hover, .menu-item:focus { background-color: var(--bg-hover); color: var(--text-strong); outline: none; } .menu-header { font-weight: 700 !important; font-size: 11px !important; text-transform: uppercase; letter-spacing: 0.05em; opacity: 0.6; padding: 12px 16px 4px 16px; margin: 3px !important; color: var(--Gold) !important; } /* Icon Animation */ .icon { width: 16px; height: 16px; transition: transform 0.2s; } .icon.rotate { transform: rotate(180deg); }