*,*::before,*::after{box-sizing:border-box}html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure{margin:0}html{-webkit-text-size-adjust:100%;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;background:transparent}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--text-body-weight);color:hsl(var(--foreground));background:hsl(var(--background));-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.overlay-open{overflow:hidden;touch-action:none;overscroll-behavior:none}html:has(>body.overlay-open){overflow:hidden}img,picture,svg,video{display:block;max-width:100%}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}table{border-collapse:collapse;width:100%}h1{font-size:var(--text-h1-size);line-height:var(--text-h1-line);font-weight:var(--text-h1-weight)}h2{font-size:var(--text-h2-size);line-height:var(--text-h2-line);font-weight:var(--text-h2-weight)}h3{font-size:var(--text-h3-size);line-height:var(--text-h3-line);font-weight:var(--text-h3-weight)}h4{font-size:var(--text-h4-size);line-height:var(--text-h4-line);font-weight:var(--text-h4-weight)}h5{font-size:var(--text-h5-size);line-height:var(--text-h5-line);font-weight:var(--text-h5-weight)}h6{font-size:var(--text-h6-size);line-height:var(--text-h6-line);font-weight:var(--text-h6-weight)}small{font-size:var(--text-caption-size);line-height:var(--text-caption-line);color:hsl(var(--muted-foreground))}code,pre{font-family:var(--font-mono)}:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}
