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

::selection {
    background: var(--text);
    color: var(--bg);
}

html {
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--ff-ui);
    font-size: var(--fs-body);
    line-height: 1.5;
    color: var(--text);
    background: var(--surface);
    min-height: 100svh;
    display: flex;
    justify-content: center;
    overflow-x: hidden;
    font-variant-numeric: tabular-nums lining-nums;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: background var(--dur-slow) var(--ease-out),
                color      var(--dur-slow) var(--ease-out);
}

button, input {
    font: inherit;
    color: inherit;
    background: none;
    border: 0;
    outline: 0;
}

button { cursor: pointer; }

a { color: inherit; }
