/* minimal element defaults — consumers link styles.css and get these */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--bg-page);color:var(--text-body);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-primary);font-weight:var(--fw-medium);margin:0}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--tr-h1)}
h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--tr-h2)}
h3{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--tr-h3)}
h4{font-size:var(--fs-h4);line-height:var(--lh-h4);letter-spacing:var(--tr-h4)}
p{margin:0}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid var(--border-default);transition:var(--transition-control)}
a:hover{color:var(--text-link-hover);border-bottom-color:var(--border-strong)}
code,kbd,pre{font-family:var(--font-mono);font-size:.92em}
hr{border:0;border-top:var(--rule) solid var(--border-subtle);margin:0}
::selection{background:var(--text-primary);color:var(--text-inverse)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.nodal-label{font-family:var(--font-mono);font-size:var(--fs-label);line-height:var(--lh-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--text-secondary)}
