*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:var(--type-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6,p,figure,blockquote{margin:0}
h1{font:var(--type-h1);letter-spacing:var(--tracking-heading);color:var(--text-strong)}
h2{font:var(--type-h2);letter-spacing:var(--tracking-heading);color:var(--text-strong)}
h3{font:var(--type-h3);letter-spacing:var(--tracking-heading);color:var(--text-strong)}
h4{font:var(--type-h4);color:var(--text-strong)}
p{text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover)}
button,input,select,textarea{font:inherit;color:inherit}
ul,ol{margin:0;padding:0;list-style:none}
img,svg{display:block;max-width:100%}
code,kbd,pre{font-family:var(--font-mono)}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
::selection{background:var(--lime-400);color:var(--ink-950)}
@keyframes gain-spin{to{transform:rotate(360deg)}}
@keyframes gain-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.gain-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--weight-semibold) var(--text-2xs)/1 var(--font-body);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}
.gain-eyebrow::before{content:"";width:6px;height:6px;border-radius:var(--radius-pill);background:var(--lime-500)}
.gain-mark{display:inline-flex;align-items:center;gap:8px;font:var(--weight-bold) var(--text-h4)/1 var(--font-display);letter-spacing:-.02em;color:var(--text-strong)}
