::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

::-webkit-scrollbar-track {
    background: linear-gradient(180deg, var(--bg-primary) 0%, rgba(248, 249, 250, 0.8) 100%);
    border-radius: 6px;
    border: 1px solid var(--border-light);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
    border-radius: 6px;
    border: 2px solid var(--bg-primary);
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(76, 175, 80, 0.3);
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--accent-tertiary) 0%, var(--accent-primary) 100%);
    transform: scale(1.1);
    box-shadow: 0 4px 8px rgba(76, 175, 80, 0.4);
}

::-webkit-scrollbar-thumb:active {
    background: linear-gradient(180deg, var(--accent-secondary) 0%, var(--accent-primary) 100%);
    transform: scale(0.95);
}
::-webkit-scrollbar-corner {
    background: var(--bg-primary);
}

* {
    scrollbar-width: thin;
    scrollbar-color: var(--accent-primary) var(--bg-primary);
}

.code-block::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.code-block::-webkit-scrollbar-track {
    background: linear-gradient(180deg, #2c2c2e 0%, #1c1c1e 100%);
    border-radius: 4px;
    border: 1px solid #38383a;
}

.code-block::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #48484a 0%, #38383a 100%);
    border-radius: 4px;
    border: 1px solid #2c2c2e;
    transition: all 0.3s ease;
}

.code-block::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
    box-shadow: 0 2px 4px rgba(76, 175, 80, 0.3);
}

@keyframes scrollbarGlow {
    0%, 100% {
        box-shadow: 0 2px 4px rgba(76, 175, 80, 0.3);
    }
    50% {
        box-shadow: 0 4px 8px rgba(76, 175, 80, 0.5);
    }
}

::-webkit-scrollbar-thumb:hover {
    animation: scrollbarGlow 2s ease-in-out infinite;
}

html {
    scroll-behavior: smooth;
}

.scrollable-content {
    overflow-y: auto;
    max-height: 70vh;
}

.sticky-element {
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
}