/* Terra base styles: typeface, focus, motion. Uses tokens only. */

@font-face {
    font-family: 'Rubik';
    src: url('../fonts/Rubik/Rubik-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Rubik';
    src: url('../fonts/Rubik/Rubik-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Rubik';
    src: url('../fonts/Rubik/Rubik-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Rubik';
    src: url('../fonts/Rubik/Rubik-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Keyboard focus is always visible; zero specificity so a component can restyle it. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 2px solid var(--terra-text-link);
    outline-offset: 2px;
}

/* Reduced motion: smooth scrolling off. Animation and transition durations are NOT overridden on every element (*):
   that made every style recalculation ~6x slower, and Windows reports reduced motion in every RDP session (see
   dx-bridge.css). A component that animates honours prefers-reduced-motion in its own rule. */
@media (prefers-reduced-motion: reduce) {
    * {
        scroll-behavior: auto !important;
    }
}
