/* Minimal element defaults. Components carry their own styling inline via tokens. */
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--text-default);text-wrap:pretty}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-strong);margin:0;letter-spacing:var(--track-heading);text-wrap:balance}
h1{font:var(--text-h1);letter-spacing:var(--track-hero)}
h2{font:var(--text-h2)}
h3{font:var(--text-h3)}
h4{font:var(--text-h4)}
p{margin:0 0 var(--space-4)}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid rgba(90,79,207,.35);transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover);border-bottom-color:currentColor}
small{font:var(--text-caption-role);color:var(--text-muted)}
code,kbd,pre{font-family:var(--font-mono);font-size:.92em}
hr{border:0;border-top:var(--border-width) solid var(--border-hairline);margin:var(--space-8) 0}
::selection{background:var(--gold-300);color:var(--slate-900)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
