body { 
    font-family: Arial, sans-serif; 
    margin: 20px; 
    background-color: #121212; 
    color: #ffffff; 
}

h1 { 
    text-align: center; 
    color: #ffffff; 
    margin-bottom: 6px;
}

small {
    display: block;
    text-align: center;
    font-size: 12px;
    color: #aaa;
    margin-top: 0;
    margin-bottom: 20px;
}

.instruction-text {
    text-align: center;
    font-size: 22px;
    margin-bottom: 20px;
}

#drop-zone { 
    border: 2px dashed #555; 
    padding: 80px 40px; 
    text-align: center; 
    margin-bottom: 20px; 
    border-radius: 10px; 
    background-color: #1e1e1e; 
    color: #ffffff; 
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

#drop-zone.dragover { 
    background-color: #2e2e2e; 
}

input[type="radio"] { 
    margin: 0 10px; 
}

input[type="number"] { 
    margin: 0 10px; 
    background-color: #333; 
    color: #ffffff; 
    border: 1px solid #555; 
    padding: 5px; 
    border-radius: 4px; 
}

input[type="text"] {
    margin: 0 10px;
    background-color: #333;
    color: #ffffff;
    border: 1px solid #555;
    padding: 8px 10px;
    border-radius: 6px;
    font-size: 16px;
}

button { 
    padding: 15px 30px; 
    font-size: 32px;
    background-color: #444; 
    color: #ffffff; 
    border: none; 
    border-radius: 14px; 
    cursor: pointer; 
}

button:hover { 
    background-color: #555; 
}

button#process {
    margin-bottom: 28px;
}

button#choose-files {
    padding: 10px 18px;
    font-size: 18px;
    background-color: #333;
}

button#choose-files:hover {
    background-color: #444;
}

#drop-zone-output {
    width: 100%;
    max-height: 220px;
    overflow: auto;
    color: #ddd;
    font-size: 14px;
    line-height: 1.4;
}

#results {
    margin-top: 16px;
    text-align: center;
    color: #ddd;
    line-height: 1.4;
}

#results.error {
    color: #ff6b6b;
}

#footer {
    text-align: center;
    margin-top: 12px;
    font-size: 14px;
}

#footer a {
    color: #8ab4f8;
    text-decoration: none;
}

#footer a:hover {
    text-decoration: underline;
}

@media (max-width: 600px) {
    body {
        margin: 14px;
        font-size: 18px;
    }

    h1 {
        font-size: 34px;
        margin-bottom: 8px;
    }

    small {
        font-size: 16px;
        margin-bottom: 16px;
    }

    .instruction-text {
        font-size: 25px;
    }

    #drop-zone {
        padding: 48px 18px;
        gap: 16px;
    }

    #drop-zone-instructions {
        font-size: 22px;
    }

    #drop-zone-output {
        font-size: 18px;
        max-height: 260px;
    }

    input[type="radio"] {
        transform: scale(1.25);
    }

    input[type="text"],
    input[type="number"] {
        font-size: 20px;
        padding: 12px 12px;
    }

    /* Override inline width so inputs fill the phone screen nicely. */
    #gain-db,
    #gain-linear {
        width: min(320px, 70vw) !important;
    }

    button {
        font-size: 28px;
        padding: 16px 28px;
        border-radius: 16px;
    }

    button#choose-files {
        font-size: 20px;
        padding: 12px 18px;
    }

    #results {
        font-size: 18px;
    }

    #footer {
        font-size: 16px;
    }
}