*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%}
html{
  scrollbar-width:none;
  -ms-overflow-style:none;
}
html::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}
body{
  font-family:"Segoe UI",system-ui,-apple-system,sans-serif;
  background:var(--page);
  color:var(--ink);
  font-size:15px;
  font-weight:400;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
body::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}

:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:2px;
  border-radius:6px;
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    transition:none!important;
    animation:none!important;
  }
}

.mono{
  font-family:"Cascadia Mono",Consolas,ui-monospace,monospace;
  font-size:13px;
  letter-spacing:-.01em;
}
.strong{font-weight:700}
.dim{color:var(--gray);font-size:12.5px;font-weight:400}
.spacer{flex:1}
.hide-sm{}

.page-title{
  font-size:27px;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.2;
}
.section-title{
  font-size:20px;
  font-weight:700;
}
.card-title{
  font-size:15.5px;
  font-weight:700;
}
.label{
  font-size:13.5px;
  font-weight:700;
}
