/* Reset */
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}

/* Page wrapper */
.page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: #ffffff;
    background-image: url('../img/bg.png');
    background-repeat: repeat;
    font-family: 'Verdana', Serif;
    font-size: 13px;
}

/* Banner and button row */
.banner { margin-top: 4px; }
.button-row { margin: 4px 0; }

.group {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

/* Main content container (centers the box) */
.main-content {
    flex: 1;
    display: flex;
    justify-content: center;  /* center the box horizontally */
    align-items: flex-start;
    padding: 20px;
}

/* Content box: shrink-to-fit, min-width */
.content-box {
    display: inline-flex;       /* shrink to content */
    flex-direction: column;
    align-items: flex-start;    /* left-align content inside */
    min-width: 400px;           /* minimum width */
    max-width: 90%;             /* prevent too wide */
    gap: 12px;
    padding: 10px;
    background: rgba(255,255,255,0.05); /* optional: see edges */
}

/* Paragraphs */
.main-paragraph {
    width: 100%;
    word-wrap: break-word;
    text-align: left;
}

/* Titles and lists */
.title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 8px;
    text-align: center;
}

.sub-title {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 8px;
    text-align: center;
}


.main-list-2, .main-list {
    padding-left: 20px;
    text-align: left;
}

/* Footer */
.footer {
    background-color: rgba(0, 0, 0, 0.1);
    text-align: center;
    padding: 10px 0;
}

/* Links */
.link { color:#006de2; text-decoration:none; display:inline-block; }
.link:hover { color:#5495e5; }
.link img { display:inline-block; }

/* Buttons */
.menu-button img {
    border:none;
    display:block;
    margin:4px;
    box-shadow:2px 2px 0 rgba(0,0,0,0.5);
    max-width:100%;
    transition: transform 0.02s;
}
.menu-button img:hover { filter: brightness(1.05); }
.menu-button img:active { transform: translate(1px,1px); box-shadow:0 0 0 rgba(0,0,0,0); }

/* Tables and iframes */
.main-table { border-collapse: collapse; margin:4px; width:auto; }
.main-table th, .main-table td { padding:2px; border:2px solid #191919; }
.main-iframe { width: 256px; height: 256px; margin:4px; border:2px solid #000; object-fit:cover; display:block; }
.main-screenshot { width: 256px; height: 256px; object-fit:cover;margin:4px ; border:2px solid #000; display:block;     cursor: pointer; }


#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    background: rgba(0, 0, 0, 0.85);
    display: none;

    justify-content: center;
    align-items: center;

    z-index: 1000;
}

#overlay img {
    max-width: 90%;
    max-height: 90%;
    image-rendering: pixelated; /* good for your pixel art */
    cursor: zoom-out;
}