/* base.css — Reset and base typography */

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

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

html { scroll-behavior: smooth; }

body {
    font-family: var(--font-body);
    background: var(--bg);
    color: var(--ink);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

::selection { background: var(--accent); color: var(--white); }

/* Heading defaults (overridden by component classes) */
h1, h2, h3 { font-family: var(--font-display); }

/* Link defaults (overridden by component classes) */
a {
    color: var(--accent);
    text-decoration: none;
}

/* Image defaults */
img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Code defaults */
code, pre {
    font-family: var(--font-mono);
}
