*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    background: transparent;
    font-family: 'Poppins', sans-serif;
}

html {
    scroll-behavior: smooth;
}

body{
    background-color: rgb(30, 30, 30);
    color: white;
    overflow: hidden;
    overflow-y: scroll;
    -webkit-font-smoothing: antialiased;
}

::selection {
    background: yellow;
    color: #1e1e1e;
}

/* themed scrollbar */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #1e1e1e;
}
::-webkit-scrollbar-thumb {
    background: #ffcc00;
    border-radius: 6px;
    border: 2px solid #1e1e1e;
}
::-webkit-scrollbar-thumb:hover {
    background: yellow;
}
body {
    scrollbar-width: thin;
    scrollbar-color: #ffcc00 #1e1e1e;
}

/* one-time fade-in for the whole app on load */
#root {
    opacity: 0;
    animation: rootFadeIn 0.6s ease forwards;
}

@keyframes rootFadeIn {
    to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    #root { animation: none; opacity: 1; }
}