/* Standalone sidebar polish. No Tailwind build required. */

.cv-sidebar-shell .cv-nav-details[open] > summary.cv-nav-link--parent {
    background: linear-gradient(90deg, rgb(248 250 252 / 0.95), rgb(241 245 249 / 0.72));
    color: #0f172a;
    box-shadow: inset 3px 0 0 color-mix(in srgb, var(--theme-700) 70%, #fff), 0 4px 12px rgb(15 23 42 / 0.04);
}

.cv-sidebar-shell .cv-nav-details[open] > summary.cv-nav-link--parent::after {
    transform: rotate(45deg) translateY(-1px);
    border-color: var(--theme-700);
}

.cv-sidebar-shell .cv-nav-details[open] > summary.cv-nav-link--parent .cv-nav-icon {
    border-color: color-mix(in srgb, var(--theme-700) 24%, #e2e8f0);
    background: color-mix(in srgb, var(--theme-700) 8%, #fff);
    color: var(--theme-700);
    box-shadow: 0 3px 8px color-mix(in srgb, var(--theme-700) 12%, transparent);
}

.cv-sidebar-shell .cv-nav-sub {
    position: relative;
    margin: 0.2rem 0 0.55rem 1.05rem;
    padding: 0.35rem 0.35rem 0.35rem 0.85rem;
    border-left: 1px solid color-mix(in srgb, var(--theme-700) 22%, #e2e8f0);
    background: linear-gradient(90deg, rgb(248 250 252 / 0.72), transparent 88%);
    list-style: none;
}

.cv-sidebar-shell .cv-nav-sub::before {
    content: "";
    position: absolute;
    top: 0.7rem;
    bottom: 0.7rem;
    left: -0.1rem;
    width: 0.2rem;
    border-radius: 999px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--theme-700) 56%, #fff), color-mix(in srgb, var(--theme-700) 12%, #fff));
    opacity: 0.72;
}

.cv-sidebar-shell .cv-nav-sublink {
    min-height: 2.2rem;
    padding: 0.48rem 0.7rem;
    border-radius: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    transition: background-color 0.22s ease, color 0.22s ease, transform 0.2s ease, box-shadow 0.22s ease;
}

.cv-sidebar-shell .cv-nav-sublink::before {
    content: "";
    width: 0.38rem;
    height: 0.38rem;
    margin-left: 0.08rem;
    border: 1px solid #b8c4d3;
    border-radius: 0.1rem;
    background: #fff;
    flex-shrink: 0;
    transform: rotate(45deg);
    transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.2s ease;
}

.cv-sidebar-shell .cv-nav-sublink:hover {
    background: rgb(255 255 255 / 0.92);
    color: #334155 !important;
    box-shadow: 0 2px 8px rgb(15 23 42 / 0.05);
}

.cv-sidebar-shell .cv-nav-sublink:hover::before {
    background: color-mix(in srgb, var(--theme-700) 18%, #fff);
    border-color: var(--theme-700);
    transform: rotate(45deg) scale(1.2);
}

.cv-sidebar-shell .cv-nav-sublink--active {
    background: linear-gradient(90deg, color-mix(in srgb, var(--theme-700) 13%, #fff), #fff);
    color: var(--theme-800) !important;
    font-weight: 600;
    box-shadow: inset 2px 0 0 var(--theme-700), 0 2px 8px rgb(15 23 42 / 0.05);
}

.cv-sidebar-shell .cv-nav-sublink--active::before {
    background: var(--theme-700);
    border-color: var(--theme-700);
    transform: rotate(45deg) scale(1.15);
}

@media (prefers-reduced-motion: reduce) {
    .cv-sidebar-shell .cv-nav-sublink,
    .cv-sidebar-shell .cv-nav-details > summary.cv-nav-link--parent::after {
        transition: none !important;
    }
}
