/* ---- Dranslate theme tokens (RGB triplets consumed by the Tailwind config) ---- */
:root {
    /* Light: white with blue accents */
    --c-canvas: 255 255 255;
    --c-surface: 244 248 252;
    --c-raise: 255 255 255;
    --c-ink: 12 27 46;
    --c-subtle: 90 106 128;
    --c-accent: 27 95 233;
    --c-accent-ink: 255 255 255;
    --c-accent-soft: 232 240 254;
    --c-line: 223 231 242;
    --c-danger: 191 45 38;
    color-scheme: light;
}

.dark {
    /* Dark: deep green with light green accent */
    --c-canvas: 8 18 14;
    --c-surface: 13 26 20;
    --c-raise: 16 31 24;
    --c-ink: 230 245 236;
    --c-subtle: 133 163 145;
    --c-accent: 120 235 165;
    --c-accent-ink: 5 18 11;
    --c-accent-soft: 18 46 30;
    --c-line: 28 51 38;
    --c-danger: 244 156 148;
    color-scheme: dark;
}

::selection {
    background: rgb(var(--c-accent) / 0.25);
}

/* A faint accent wash at the top of the page */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(60rem 24rem at 50% -8rem, rgb(var(--c-accent) / 0.07), transparent 70%);
}

/* Thin, token-colored scrollbars */
* {
    scrollbar-width: thin;
    scrollbar-color: rgb(var(--c-line)) transparent;
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

*::-webkit-scrollbar-thumb {
    background: rgb(var(--c-line));
    border-radius: 8px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

*::-webkit-scrollbar-track {
    background: transparent;
}

/* Indeterminate progress bar shown while translating */
@keyframes progress-drift {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(400%); }
}

.progress-drift {
    animation: progress-drift 1.15s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

/* The world-script cycler next to the wordmark */
[data-cycler] {
    transition: opacity 0.4s ease;
}

[data-cycler].is-fading {
    opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
