[hidden] {
    display: none !important;
}

html {
    background: var(--background);
    scroll-behavior: smooth;
}

body {
    background: var(--active-bg, var(--background));
    color: var(--text-primary);
    font-family: var(--font-body);
    font-size: 16px;
    transition: color var(--dur-base) var(--ease-out);
    overflow-x: hidden;
}

h1,
h2,
h3,
h4 {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.1;
    color: var(--text-primary);
}

a {
    transition: opacity var(--dur-fast) var(--ease-out);
}

:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}

::-webkit-scrollbar {
    width: 3px;
    height: 3px;
}

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

::-webkit-scrollbar-thumb {
    background: var(--border-strong);
    border-radius: var(--radius-full);
}