body {
    font-family: Aldrich, sans-serif;
    max-width: 600px;
    margin: 2rem auto;
    padding: 1rem;
    background-color: #585e58; /* Page background */
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    color: #fff;
}

form,
.results {
    background-color: #f4f4f4; /* Light grey for form/results boxes */
    padding: 1rem;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    color: #000;
}

h1 {
    text-align: center;
    color: #fff;
}

label {
    display: block;
    margin-top: 1rem;
}

input[type="number"] {
    width: 100%;
    padding: 0.5rem;
    margin-top: 0.2rem;
    box-sizing: border-box;
    font-size: 1rem;
}

button {
    margin-top: 1.5rem;
    width: 100%;
    padding: 0.75rem;
    background-color: #22d31f;
    color: black;
    border: 2px solid #ffffff;
    font-size: 1rem;
    cursor: pointer;
    border-radius: 4px;
}

button:hover {
    background-color: #000000;
    color: white;
}

.results {
    margin-top: 1.5rem;
}

#trajectoryChart {
    display: block;
    margin-top: 30px;
    max-width: 100%;
    background-color: #f4f4f4;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}

@media (max-width: 600px) {
    body {
        margin: 1rem;
        padding: 0.5rem;
    }

    form, .results {
        padding: 0.75rem;
    }

    input[type="number"], button {
        font-size: 1.1rem;
        padding: 0.75rem;
    }

    #trajectoryChart {
        height: 250px !important;  /* reduce height on small screens */
    }
}