:root[data-theme="light"] {
    color-scheme: light;

    --an-bg: #f6f4fa;
    --an-surface: #ffffff;
    --an-surface-2: #f3effa;
    --an-surface-3: #e8e1f5;
    --an-border: #e5dff0;
    --an-border-strong: #cec4e2;

    --an-accent: #6d28d9;
    --an-accent-hover: #5b21b6;
    --an-accent-soft: rgba(109, 40, 217, 0.09);
    --an-accent-line: rgba(109, 40, 217, 0.32);
    --an-accent-ink: #ffffff;

    --an-bar: #c9a4fb;
    --an-bar-ink: #2a1f3d;

    --an-secondary: #4338ca;
    --an-secondary-line: rgba(67, 56, 202, 0.28);

    --an-buff: #2f6b4f;
    --an-nerf: #a14a45;
    --an-added: #8a6a35;

    --an-text: #1f1a2b;
    --an-text-body: #3c3550;
    --an-text-muted: #665e7a;
    --an-text-faint: #857d99;
}

:root[data-theme="light"] .an-mobile-menu {
    box-shadow: 0 24px 48px rgba(60, 45, 90, 0.18);
}

:root[data-theme="light"] .an-mobile-backdrop {
    background: rgba(40, 30, 60, 0.35);
}

:root[data-theme="light"] .patch-summary-adjust {
    --group-color: #5a4b8a;
}

:root[data-theme="light"] .an-select-menu {
    box-shadow: 0 16px 32px rgba(60, 45, 90, 0.18);
}

:root[data-theme="light"] .post-content .class-icon,
:root[data-theme="light"] .site-index .hero-logo,
:root[data-theme="light"] .post-card-image-empty img {
    filter: drop-shadow(0 1px 2px rgba(31, 26, 43, 0.25));
}

.an-theme-toggle {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    color: var(--an-accent);
    background: var(--an-surface);
    border: 1px solid var(--an-border-strong);
    border-radius: 50%;
    box-shadow: 0 10px 24px rgba(10, 6, 20, 0.3);
    cursor: pointer;
    transition: color var(--an-transition), border-color var(--an-transition), transform var(--an-transition);
}

.an-theme-toggle:hover {
    border-color: var(--an-accent);
    transform: translateY(-2px);
}

.an-theme-toggle-icon {
    width: 22px;
    height: 22px;
    background: currentColor;
    -webkit-mask: var(--an-icon-sun) center / contain no-repeat;
    mask: var(--an-icon-sun) center / contain no-repeat;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

:root[data-theme="light"] .an-theme-toggle-icon {
    -webkit-mask-image: var(--an-icon-moon);
    mask-image: var(--an-icon-moon);
}

.is-theme-switching .an-theme-toggle-icon {
    transform: rotate(180deg) scale(0.9);
}

.is-theme-switching .an-theme-toggle::after {
    position: absolute;
    inset: -4px;
    content: "";
    border: 2px solid var(--an-accent);
    border-radius: 50%;
    animation: an-theme-ring 0.62s ease-out forwards;
}

@keyframes an-theme-ring {
    to {
        opacity: 0;
        transform: scale(2.4);
    }
}

::view-transition-old(root),
::view-transition-new(root) {
    animation: none;
    mix-blend-mode: normal;
}

::view-transition-old(root) {
    z-index: 1;
}

::view-transition-new(root) {
    z-index: 2;
}

@media (max-width: 980px) {
    .an-theme-toggle {
        right: 14px;
        bottom: 14px;
        width: 44px;
        height: 44px;
    }
}
