*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--surface-canvas);
  color:var(--text-primary);
  font-family:var(--font-sans);
  font-size:var(--text-md);
  line-height:var(--leading-normal);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:var(--accent);text-decoration:none}
a:hover{color:var(--text-primary);text-decoration:underline;text-underline-offset:2px}

button,input,select,textarea{font:inherit;color:inherit}
button{font-family:var(--font-sans)}

:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}

::selection{background:var(--selection-bg);color:var(--selection-fg)}

/* Thin, self-effacing scrollbars — visible enough to grab, quiet enough to ignore. */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid transparent;background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:content-box}

.lens-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.lens-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-faint)}
.lens-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.lens-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
