/* ════════════════════════════════════════════════════════════
   RESET — base mínima, sin normalize.css externo (cero dependencias)
   ════════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html,body{
  width:100%;height:100%;
  background:var(--bg0);
  color:var(--text);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow:hidden; /* la app es full-screen tipo PWA, el scroll vive adentro de #scroll */
}

#app{
  width:100vw;height:100vh;height:100dvh; /* dvh: evita el salto de la barra del navegador en mobile */
  display:flex;flex-direction:column;
  overflow:hidden;
}

img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
select{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}

/* Scrollbar fina y discreta, consistente con el theme oscuro */
*{scrollbar-width:thin;scrollbar-color:var(--bord) transparent}
*::-webkit-scrollbar{width:5px;height:5px}
*::-webkit-scrollbar-thumb{background:var(--bord);border-radius:var(--r-full)}
*::-webkit-scrollbar-track{background:transparent}

/* Evitar que un doble-tap en mobile haga zoom sobre elementos interactivos */
button,select,.tab,.chip{touch-action:manipulation}

:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
