/* Color Mode Switcher */
.color-mode-switcher {
    display: inline-grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .125rem;
    background: hsl(from var(--bs-body-color) h s l / 0.1);
    border-radius: 9999px;
    padding: .125rem;
}


.color-mode-btn {
    position: relative;
    border: none;
    background: transparent;
    padding: .25rem;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.2s;
    color: var(--bs-body-color);
}

.color-mode-btn svg {
    width: 1rem;
    height: 1rem;
    display: block;
    opacity: .25;
}

.color-mode-btn.active {
    background: var(--bs-body-bg);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.color-mode-btn.active svg {
    opacity: .5;
}

.color-mode-btn:hover:not(.active) {
    color: var(--bs-text-600);
}


/* Preview Container */
.preview-container {
    position: relative;
    width: 100%;
    padding: var(--bs-gutter-y) var(--bs-gutter-x) 0 var(--bs-gutter-x);
    border-radius: 0.25rem;
    transition: width 0.3s ease;
}

/* Resize Handle */
.preview-container::after {
    content: '';
    position: absolute;
    right: calc(var(--bs-gutter-x) * -.5);
    top: 50%;
    transform: translateY(-50%);
    width: .1875rem;
    height: 2rem;
    background: var(--bs-text-300);
    border-radius: 9999px;
    opacity: .5;
    transition: opacity 0.2s;
    cursor: ew-resize;
    z-index: 10;
    pointer-events: auto;
}

.preview-container:hover::after {
    opacity: 1;
}

/* Color Mode Styles */

.preview-container {
    border: var(--bs-border-width) solid hsl(from var(--bs-border-color) h s l / var(--bs-border-opacity));
}

.preview-container[data-color-mode="light"],
.preview-container[data-color-mode="dark"] {
    background: var(--bs-body-bg);
}

@media (prefers-color-scheme: dark) {
    .preview-container:not([data-color-mode]) {
        
    }
}
