/* Start Menu Styles - Windows 98 */

#start-menu {
    position: absolute;
    bottom: var(--win98-taskbar-height);
    left: 2px;
    background: var(--win98-window-bg);
    border: 2px solid;
    border-color: var(--win98-border-lightest) var(--win98-border-darkest) var(--win98-border-darkest) var(--win98-border-lightest);
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.25);
    z-index: var(--z-start-menu);
    display: flex;
    min-width: 180px;
}

/* ===== SIDEBAR (Windows 98 branding) ===== */
#start-menu-sidebar {
    width: 22px;
    background: linear-gradient(180deg, #000080 0%, #1084d0 100%);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 8px;
}

#start-menu-title {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    color: #c0c0c0;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 1px;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
}

#start-menu-title .version {
    color: #ffffff;
}

/* ===== MENU CONTENT ===== */
#start-menu-content {
    display: flex;
    position: relative;
}

#start-menu-items {
    display: flex;
    flex-direction: column;
    padding: var(--spacing-xs) 0;
    min-width: 160px;
}

/* ===== MENU ITEMS ===== */
.start-menu-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: 4px 24px 4px 4px;
    cursor: pointer;
    position: relative;
}

/* Items with nested submenus */
.start-menu-item.has-submenu {
    position: relative;
}

.start-menu-item:hover {
    background: var(--win98-menu-highlight);
    color: var(--win98-selection-text);
}

.start-menu-item:hover .menu-icon {
    filter: brightness(0) invert(1);
}

.menu-icon {
    width: var(--icon-size-medium);
    height: var(--icon-size-medium);
    image-rendering: pixelated;
    flex-shrink: 0;
}

.start-menu-item span {
    font-size: var(--font-size-menu);
    white-space: nowrap;
}

.submenu-arrow {
    position: absolute;
    right: 8px;
    font-size: 8px;
}

/* ===== SEPARATOR ===== */
.start-menu-separator {
    height: 1px;
    background: var(--win98-border-dark);
    margin: var(--spacing-xs) var(--spacing-sm);
    box-shadow: 0 1px 0 var(--win98-border-light);
}

/* ===== SUBMENUS ===== */
.start-submenu {
    position: absolute;
    left: 100%;
    top: 0;
    background: var(--win98-window-bg);
    border: 2px solid;
    border-color: var(--win98-border-lightest) var(--win98-border-darkest) var(--win98-border-darkest) var(--win98-border-lightest);
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.25);
    min-width: 160px;
    padding: var(--spacing-xs) 0;
    display: flex;
    flex-direction: column;
    z-index: 10;
}

.start-submenu.visible {
    display: flex;
}

/* Nested submenus inside menu items */
.start-menu-item>.start-submenu {
    top: -2px;
    left: calc(100% + 2px);
}

/* ===== ANIMATIONS ===== */
#start-menu {
    animation: slideUp 100ms ease-out;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.start-submenu:not(.hidden) {
    animation: fadeIn 100ms ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}