/* oz-aichat — Modern CSS Reset */

*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-primary);
    font-size: var(--text-base);
    line-height: 1.6;
    color: var(--text-primary);
    background-color: var(--bg-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow: hidden;
    height: 100vh;
    height: 100dvh;
    width: 100vw;
}

a { color: var(--accent-light); text-decoration: none; transition: color var(--transition-fast); }
a:hover { color: var(--accent-primary); }

img, svg { display: block; max-width: 100%; }

button, input, textarea, select {
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    background: none;
    border: none;
    outline: none;
}

button { cursor: pointer; }

ul, ol { list-style: none; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.1); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.2); }

::selection { background: rgba(124, 92, 252, 0.3); color: var(--text-primary); }

/* Focus visible para acessibilidade */
:focus-visible {
    outline: 2px solid var(--accent-primary);
    outline-offset: 2px;
}
