.cloudqingnet-nav {
    --cloudqingnet-nav-bg: #fff;
    --cloudqingnet-nav-fg: #111827;
    --cloudqingnet-nav-hover: #4b5563;
    --cloudqingnet-nav-border: #e5e7eb;
    --cloudqingnet-nav-control-border: #d1d5db;
    --cloudqingnet-nav-panel-border: #e5e7eb;
    --cloudqingnet-nav-panel-border-strong: #d1d5db;
    position: relative;
    z-index: 20;
    width: 100%;
    color: var(--cloudqingnet-nav-fg);
    background: var(--cloudqingnet-nav-bg);
    border-bottom: 1px solid var(--cloudqingnet-nav-border);
}

@media (prefers-color-scheme: dark) {
    .cloudqingnet-nav {
        --cloudqingnet-nav-bg: #000;
        --cloudqingnet-nav-fg: #fff;
        --cloudqingnet-nav-hover: #d4d4d4;
        --cloudqingnet-nav-border: #252525;
        --cloudqingnet-nav-control-border: #4b4b4b;
        --cloudqingnet-nav-panel-border: #333;
        --cloudqingnet-nav-panel-border-strong: #333;
    }

}

.cloudqingnet-nav__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    min-height: 64px;
    margin: 0;
    padding: 0 24px 0 16px;
}

.cloudqingnet-nav__brand {
    position: absolute;
    top: 50%;
    left: 16px;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    transform: translateY(-50%);
}

.cloudqingnet-nav__brand img {
    display: block;
    max-width: 150px;
    max-height: 36px;
    filter: invert(1);
}

@media (prefers-color-scheme: dark) {
    .cloudqingnet-nav__brand img {
        filter: none;
    }
}

.cloudqingnet-nav__toggle {
    display: none;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 4px;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--cloudqingnet-nav-fg);
    background: var(--cloudqingnet-nav-bg);
    border: 1px solid var(--cloudqingnet-nav-control-border);
    cursor: pointer;
}

.cloudqingnet-nav__icon {
    display: block;
    width: 20px;
    height: 20px;
}

.cloudqingnet-nav__icon--close {
    display: none;
}

.cloudqingnet-nav.is-open .cloudqingnet-nav__icon--menu {
    display: none;
}

.cloudqingnet-nav.is-open .cloudqingnet-nav__icon--close {
    display: block;
}

.cloudqingnet-nav__submenu-icon {
    width: 16px;
    height: 16px;
}

.cloudqingnet-nav__collapse {
    display: flex;
    flex: 0 1 auto;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.cloudqingnet-nav__menu,
.cloudqingnet-nav__actions,
.cloudqingnet-nav__submenu {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cloudqingnet-nav__menu,
.cloudqingnet-nav__actions {
    align-items: center;
    gap: 24px;
}

.cloudqingnet-nav__actions {
    margin-left: 32px;
}

.cloudqingnet-nav a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    color: var(--cloudqingnet-nav-fg);
    text-decoration: none;
    white-space: nowrap;
}

.cloudqingnet-nav a:hover {
    color: var(--cloudqingnet-nav-hover);
}

.cloudqingnet-nav__item {
    position: relative;
}

.cloudqingnet-nav__submenu {
    position: absolute;
    z-index: 10;
    top: 100%;
    left: 0;
    display: none;
    min-width: 180px;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px;
    background: var(--cloudqingnet-nav-bg);
    border: 1px solid var(--cloudqingnet-nav-panel-border);
}

.cloudqingnet-nav__item:hover > .cloudqingnet-nav__submenu,
.cloudqingnet-nav__item.is-open > .cloudqingnet-nav__submenu {
    display: flex;
}

.cloudqingnet-nav__submenu .cloudqingnet-nav__submenu {
    top: -9px;
    left: 100%;
}

@media (min-width: 769px) {
    .cloudqingnet-nav__menu > .cloudqingnet-nav__item {
        position: static;
    }

    .cloudqingnet-nav__menu > .cloudqingnet-nav__item > .cloudqingnet-nav__panel {
        position: absolute;
        z-index: 10;
        top: 100%;
        left: 0;
        width: 100%;
        height: 300px;
        box-sizing: border-box;
        visibility: hidden;
        pointer-events: auto;
        transition: visibility 0s linear 860ms;
    }

    .cloudqingnet-nav__menu > .cloudqingnet-nav__item > .cloudqingnet-nav__panel > .cloudqingnet-nav__submenu {
        position: static;
        display: flex;
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        flex-direction: row;
        align-items: flex-start;
        gap: 32px;
        min-width: 0;
        overflow-y: auto;
        padding: 24px 32px;
        background: var(--cloudqingnet-nav-bg);
        border: 0;
        border-top: 1px solid var(--cloudqingnet-nav-border);
        border-bottom: 1px solid var(--cloudqingnet-nav-panel-border-strong);
        opacity: 0;
        transform: scaleY(0);
        transform-origin: top center;
        will-change: transform, opacity;
        backface-visibility: hidden;
        transition: opacity 600ms cubic-bezier(0.16, 1, 0.3, 1), transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
        transition-delay: 260ms, 260ms;
    }

    .cloudqingnet-nav__menu > .cloudqingnet-nav__item:hover > .cloudqingnet-nav__panel,
    .cloudqingnet-nav__menu > .cloudqingnet-nav__item.is-open > .cloudqingnet-nav__panel {
        visibility: visible;
        transition-delay: 0s;
    }

    .cloudqingnet-nav__menu > .cloudqingnet-nav__item:hover > .cloudqingnet-nav__panel > .cloudqingnet-nav__submenu,
    .cloudqingnet-nav__menu > .cloudqingnet-nav__item.is-open > .cloudqingnet-nav__panel > .cloudqingnet-nav__submenu {
        opacity: 1;
        transform: scaleY(1);
        transition-delay: 0s;
    }

    .cloudqingnet-nav__menu > .cloudqingnet-nav__item > .cloudqingnet-nav__panel > .cloudqingnet-nav__submenu > .cloudqingnet-nav__item {
        min-width: 180px;
    }
}

@media (max-width: 768px) {
    .cloudqingnet-nav__inner {
        position: static;
        flex-wrap: wrap;
        justify-content: initial;
        gap: 12px;
        padding: 12px 16px;
    }

    .cloudqingnet-nav__brand {
        position: static;
        transform: none;
    }

    .cloudqingnet-nav__toggle {
        display: inline-flex;
        margin-left: auto;
    }

    .cloudqingnet-nav__collapse {
        position: absolute;
        z-index: 20;
        top: 100%;
        left: 0;
        display: flex;
        flex: none;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        width: 100%;
        height: 300px;
        box-sizing: border-box;
        overflow-y: auto;
        padding: 16px;
        background: var(--cloudqingnet-nav-bg);
        border-top: 1px solid var(--cloudqingnet-nav-border);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: scaleY(0);
        transform-origin: top center;
        will-change: transform, opacity;
        backface-visibility: hidden;
        transition: opacity 440ms cubic-bezier(0.16, 1, 0.3, 1), transform 440ms cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 700ms;
        transition-delay: 200ms, 200ms, 700ms;
    }

    .cloudqingnet-nav.is-open .cloudqingnet-nav__collapse {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: scaleY(1);
        transition-delay: 0s;
    }

    .cloudqingnet-nav__menu,
    .cloudqingnet-nav__actions {
        align-items: stretch;
        flex-direction: column;
        gap: 0;
    }

    .cloudqingnet-nav__actions {
        margin-top: 8px;
        margin-left: 0;
        border-top: 1px solid var(--cloudqingnet-nav-border);
    }

    .cloudqingnet-nav__panel {
        display: none;
    }

    .cloudqingnet-nav__item.is-open > .cloudqingnet-nav__panel {
        display: block;
    }

    .cloudqingnet-nav__panel > .cloudqingnet-nav__submenu {
        display: flex;
    }

    .cloudqingnet-nav__submenu,
    .cloudqingnet-nav__submenu .cloudqingnet-nav__submenu {
        position: static;
        min-width: 0;
        padding: 0 0 0 16px;
        border: 0;
        background: transparent;
    }

    .cloudqingnet-nav__item:hover > .cloudqingnet-nav__submenu {
        display: none;
    }

    .cloudqingnet-nav__item.is-open > .cloudqingnet-nav__submenu {
        display: flex;
    }
}
