*,*::before,*::after{box-sizing:border-box}html{font-family:var(--font-ui);font-size:16px;color:var(--color-text);background:var(--color-canvas);text-rendering:optimizeLegibility}body{margin:0;font-size:var(--text-body);line-height:1.47}body.is-scroll-locked{overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button,a{touch-action:manipulation}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img,svg{display:block}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.5rem,3vw,var(--text-page));line-height:1.2;font-weight:600;letter-spacing:-.02em}h2{font-size:var(--text-section);line-height:1.5;font-weight:600}h3{font-size:var(--text-base);line-height:1.45;font-weight:600}small{font-size:var(--text-xs);color:var(--color-muted)}table,.numeric,time{font-variant-numeric:tabular-nums}.reference{font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere}.overline{margin:0;color:var(--color-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:100;transform:translateY(-160%);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-text);color:#fff}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid rgba(49,87,200,.32);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
