/* reset.css — Global resets and base styles */

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    height: 100%;
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    background: var(--clr-bg);
    color: var(--clr-black);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

::selection {
    background: var(--clr-blue-focus);
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

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

::-webkit-scrollbar-thumb {
    background: var(--clr-grey-border);
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--clr-grey-light);
}

/* Links */
a {
    color: var(--clr-blue);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Form elements */
input, select, textarea, button {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
}

button {
    cursor: pointer;
}

/* Tables */
table {
    border-collapse: collapse;
}

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: none; }
}

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