/* === SHARED BASE STYLES ===
 * Loaded for all viewports, before platform-specific CSS.
 * Contains: font, reset, keyframes, focus styles, reduced motion.
 */

/* === LOCAL FONT === */
@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/start/fonts/ubuntu-700.woff2') format('woff2');
}

/* === CSS RESET === */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* === SHARED KEYFRAMES === */

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        transform: translateY(50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* === FOCUS ACCESSIBILITY === */

a:focus-visible,
button:focus-visible {
    outline: 2px solid #ff6600;
    outline-offset: 2px;
}

/* Cards need inset outline */
.card a:focus-visible {
    outline-offset: -2px;
}

/* === REDUCED MOTION ACCESSIBILITY === */

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

    html {
        scroll-behavior: auto;
    }
}
