.ascii-toggle {
    position: fixed;
    right: 26px;
    bottom: 22px;
    z-index: 999;
    border-radius: 999px;
    border: 1px solid #7efc47;
    background: #020202;
    color: #7efc47;
    font-family: 'Courier New', 'Lucida Console', monospace;
    font-size: 0.85rem;
    padding: 6px 14px;
    cursor: pointer;
    transition: 0.15s ease-in-out;
}
.ascii-toggle:hover,
.ascii-toggle:focus-visible {
    box-shadow: 0 0 12px rgba(126, 252, 71, 0.4);
    outline: none;
}
.ascii-toggle[aria-pressed='true'] {
    background: #7efc47;
    color: #020202;
}

body.ascii-mode {
    --ascii-color: #7efc47;
    background: #020202 !important;
    color: var(--ascii-color) !important;
    font-family: 'Courier New', 'Lucida Console', monospace !important;
    text-shadow: none !important;
}
body.ascii-mode *,
body.ascii-mode *::before,
body.ascii-mode *::after {
    color: var(--ascii-color) !important;
    background: none !important;
    border-color: var(--ascii-color) !important;
    box-shadow: none !important;
}
body.ascii-mode a {
    color: var(--ascii-color) !important;
    border-bottom: 1px solid var(--ascii-color);
}
body.ascii-mode img {
    mix-blend-mode: screen;
    filter: grayscale(1) contrast(1.6);
    opacity: 0.7 !important;
}
body.ascii-mode::before {
    content: 'ASCII VIN DXIT 1970s MODE';
    position: fixed;
    inset: 0;
    pointer-events: none;
    mix-blend-mode: screen;
    opacity: 0.25;
    background:
        repeating-linear-gradient(0deg, rgba(0, 0, 0, 0) 0 12px, rgba(0, 0, 0, 0.4) 12px 13px),
        repeating-linear-gradient(90deg, rgba(0, 0, 0, 0) 0 14px, rgba(0, 0, 0, 0.5) 14px 15px);
}
body.ascii-mode::after {
    content: 'ASCII - 1970s MAINFRAME VIBES';
    position: fixed;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.6rem;
    letter-spacing: 0.2rem;
    color: var(--ascii-color);
    text-transform: uppercase;
    pointer-events: none;
}

body.candy-mode {
    --candy-purple: #c777e0;
    --candy-pink: #ff8cd8;
    --candy-gold: #f8d861;
    background: radial-gradient(circle at top, #fce2ff 0%, #f8c5ff 30%, #c777e0 60%, #8c3eff 100%), #2a0d3d;
    color: #fff7ff;
    font-family: 'Poppins', 'Comic Sans MS', 'Fredoka', sans-serif;
    letter-spacing: 0.02em;
}
body.candy-mode *,
body.candy-mode *::before,
body.candy-mode *::after {
    color: #fff7ff !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.candy-mode a {
    color: var(--candy-purple) !important;
    text-shadow: 0 0 14px rgba(255, 255, 255, 0.7);
    border-bottom: 1px dashed rgba(255, 255, 255, 0.6);
}
body.candy-mode img {
    filter: saturate(1.6) brightness(1.1);
}
body.candy-mode::before,
body.candy-mode::after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
}
body.candy-mode::before {
    background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.35), transparent 35%),
        radial-gradient(circle at 80% 0%, rgba(255, 205, 255, 0.35), transparent 35%);
    mix-blend-mode: screen;
}
body.candy-mode::after {
    background-image: repeating-linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.05),
            rgba(255, 255, 255, 0.05) 14px,
            rgba(255, 255, 255, 0.25) 14px,
            rgba(255, 255, 255, 0.25) 20px
        ),
        linear-gradient(120deg, rgba(248, 216, 97, 0.2), rgba(248, 216, 97, 0));
    mix-blend-mode: screen;
}
