body {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    font-family: Arial;
    background: url('/assets/images/bga.png');
    background-size: cover;
}

div {
    margin: 1%;
    padding: 3%;
    border-radius: 4vh;
    min-height: 12vh;
    background-color: #ffe0a080;
    box-shadow: 0px 8px 8px;
}

hr {
    margin: 2%;
}

h1 {
    font-size: 5vh;
    margin: 0;
    margin-bottom: 2%;
}

p {
    font-size: 2vh;
    margin: 0;
    margin-bottom: 2%;
}

th {
    padding: 0;
}

a {
    color: #0040c0;
}

table {
    table-layout: fixed;
    width: 100%;
}

textarea {
    width: 92%;
    height: 8%;
    font-size: 2vh;
    font-family: Arial;
    margin: 1%;
    padding: 3%;
    border-radius: 4vh;
    resize: none;
}

.unviewable {
    margin: 0;
    padding: 0;
    border: 0;
    background-color: #ffffff00;
    min-height: 0;
    min-width: 0;
    box-shadow: none;
}

.button {
    height: 4%;
    width: 16%;
    font-size: 2vh;
}

h2 {
    font-size: 4vh;
}

.grid {
    width: 1366px;
    height: 768px;
    display: grid;
    grid-template-rows: repeat(auto-fill, 240px);
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

/* Responsive button grid for home page */
.button-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
    text-align: center;
    margin: 0;
    padding: 0;
    border-radius: 0;
    min-height: 0;
    background-color: transparent;
    box-shadow: none;
    border: none;
}

/* Make buttons expand to fill their grid cells */
.button-grid a {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 4rem;
    background: #ffe0a0c0;
    color: #000;
    font-weight: bold;
    text-decoration: none;
    padding: 1rem 2rem;
    border-radius: 2rem;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease-in-out;
    box-sizing: border-box;
}

.button-grid a:hover {
    background: #ffd580;
    transform: translateY(-2px);
    box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.3);
}

.button-grid p {
    margin: 0;
}

.button {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 4rem;
    background: #ffe0a0c0;
    color: #000;
    font-weight: bold;
    text-decoration: none;
    padding: 1rem 2rem;
    border-radius: 2rem;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease-in-out;
    box-sizing: border-box;
    border: none;
}

.music-section {
    margin-bottom: 3rem;
}

.music-links {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
    flex-wrap: wrap;
    margin: 0%;
    padding: 0%;
    border-radius: 0vh;
    min-height: 0vh;
    background-color: #ffe0a000;
    box-shadow: none;
    border: none;
    backdrop-filter: none;
}

.music-links a {
    color: #0040c0;
    background: #ffc040;
    padding: 12px;
    border-radius: 10px;
    text-decoration: none;
    transition: background 0.3s, transform 0.2s;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

.music-links a:hover {
    background: #333;
    transform: scale(1.1);
}

.icon i {
    font-size: 1.5rem;
}

.music-player {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    background: #1c1c1c;
    padding: 1rem;
    border-radius: 15px;
    margin-top: 1rem;
    margin-left: auto;
    margin-right: auto;
}
