/* Global reset and page-level visual baseline. */
* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: "Avenir Next", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    color: var(--text);
    background:
        radial-gradient(circle at top right, var(--bg-top-right) 0, transparent 35%),
        radial-gradient(circle at bottom left, var(--bg-bottom-left) 0, transparent 45%),
        var(--bg);
    position: relative;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: 0.16;
    background-image: linear-gradient(transparent 95%, var(--scanline) 96%);
    background-size: 100% 6px;
}

a {
    color: inherit;
}

.muted {
    color: var(--muted);
}
