/* Themes / base.css — reset e estilos de elemento cru, sem nada de layout de aplicação */
*,*::before,*::after{box-sizing:border-box;}
*{margin:0;}
html,body{height:100%;}
html{-webkit-text-size-adjust:100%;}
body{
  background:var(--canvas);
  color:var(--text-primary);
  font-family:var(--font-ui);
  font-size:14px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button,input,select{font:inherit;color:inherit;}
button{background:none;border:none;cursor:pointer;}
ul,ol{list-style:none;padding:0;}
:focus{outline:none;}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs);}
::selection{background:var(--accent);color:var(--text-on-accent);}
h1,h2,h3,h4{text-wrap:balance;font-weight:600;letter-spacing:-.01em;}
p{color:var(--text-secondary);}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
