html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--type-md);line-height:var(--lh-normal)}
h1,h2,h3,h4{font-family:var(--font-heading);color:var(--text-heading);font-weight:var(--fw-regular);line-height:var(--lh-snug);margin:0 0 var(--space-4)}
h1{font-size:var(--type-5xl);color:var(--text-display)}
h2{font-size:var(--type-4xl)}h3{font-size:var(--type-2xl)}h4{font-size:var(--type-xl)}
p{margin:0 0 var(--space-4);text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid var(--cyan-300);transition:var(--transition-control)}
a:hover{color:var(--text-link-hover);border-bottom-color:var(--spctr-cyan)}
small{font-family:var(--font-ui);font-size:var(--type-sm);color:var(--text-muted)}
*:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.spctr-label{font-family:var(--font-ui);font-size:var(--type-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-muted)}
.spctr-rule{height:3px;background:var(--rule-accent);border:0}
