*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
    min-height: 100vh;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
img, svg, canvas { display: block; max-width: 100%; }
button {
    font: inherit;
    color: inherit;
    background: none;
    border: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
a { color: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, p { margin: 0; }
input { font: inherit; }

/* Every "hidden" screen/modal/overlay in this project has, more than
   once, turned out to still be laid out and clickable underneath because
   a later same-specificity rule beat the [hidden] UA style. Guard against
   that class of bug from day one. */
[hidden] { display: none !important; }

:focus-visible {
    outline: 2px solid #7ef9ff;
    outline-offset: 2px;
    border-radius: 4px;
}

.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    background: #111;
    color: #fff;
    padding: 10px 16px;
    z-index: 1000;
}
.skip-link:focus {
    left: 8px;
    top: 8px;
}

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