/* QuoteOps — base element defaults (kept minimal; tokens do the work) */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font-sans);
  font-size:var(--fs-body);
  line-height:var(--lh-normal);
  color:var(--text-primary);
  background:var(--bg-app);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin:0}
p{margin:0;text-wrap:pretty}
a{color:var(--link);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--link-hover)}
code,kbd,samp{font-family:var(--font-mono)}
:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}
::selection{background:var(--accent-soft);color:var(--text-primary)}
