/* fonts */

@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;500;700&display=swap');


/* global styles */

body {
    margin: 0;
    padding: 50px 0;
    font-family: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    background: rgb(255, 255, 255);
}

h1, h2, h3 {
    margin-top: 0;
}


/* background image */

.bg {
    position: fixed;
    inset: 0;

    background-size: cover;
    background-position: center;

    z-index: 0;

    pointer-events: none;
}


/* main page box */

.page {
    position: relative;
    z-index: 1;

    max-width: 800px;
    margin: 0 auto;

    padding: 30px;

    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #cccccc;
    border-radius: 12px;

    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.button-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, 88px);
    gap: 10px;

    justify-content: center;
}

/* header, main, footer */

header,
main,
footer {
    padding: 20px;
    margin-bottom: 20px;

    border: 1px solid #e0e0e0;
    border-radius: 10px;

    background: rgba(255, 255, 255, 0.6);

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}


/* header and navigation */

header {
    text-align: center;
}

nav {
    margin-top: 20px;
}

nav a {
    margin: 0 10px;
    text-decoration: none;
    color: black;
}

nav a:hover {
    text-decoration: underline;
}

/* footer */

footer {
    text-align: center;
    font-size: 0.9em;
    color: #666666;
}

/* lists */

ul {
    padding-left: 20px;
}

li {
    margin-bottom: 10px;
}