
@import url('https://fonts.googleapis.com/css2?family=Ballet:opsz@16..72&family=Bitcount+Prop+Single:wght@100..900&family=Bitcount:wght@100..900&family=DM+Serif+Text:ital@0;1&family=Griffy&family=Kings&family=Nosifer&family=Petit+Formal+Script&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Playwrite+AU+NSW:wght@100..400&family=Quintessential&family=Rouge+Script&display=swap');

body {
    background: rgb(181, 130, 211);
    min-height: 100vh;
    font-family: 'Petit Formal Script', sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
}

body.dark {
    background: rgb(136, 65, 130);
}
body.dark .container {
    background: rgb(214, 135, 221);
}
body.dark h1 {
    color: rgb(197, 8, 150);
    background: rgb(218, 187, 206);
}
body.dark nav {
    background: rgb(167, 83, 160);
}
body.dark footer {
    background: rgb(128, 45, 128);
}
body.dark nav a {
    color: rgb(228, 179, 206);
}

#themeToggle {
    background: pink;
    padding: 10px 30px;
    margin-top: 30px;
    float: right;
    position: relative;
    right: 0;
    text-align: right;
    margin: 15px 40px 0 auto;
    justify-content: flex-end;
}

h2 {
    text-align: center;
    text-decoration: rgb(247, 64, 94) wavy underline;
    color: rgb(252, 52, 85);
}

body.dark h2 {
    color: pink;
    text-decoration: pink wavy underline;
}

p {
    text-align: center;
    justify-content: center;
    align-items: center;
    color: rgb(212, 7, 51);
    font-size: 1.13rem;
    font-style: italic;
    font-weight: 600;
}

body.dark p {
    color: pink;
}

.container {
    position: relative;
    max-width: 700px;
    margin: 60px auto;
    background-color: #f0cdf3;
    padding: 40px;
    border-radius: 0;
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
    font-family: 'Petit Formal Script', sans-serif;
    color: #fff;
    backdrop-filter: blur(15px);
}

.container h1 {
    text-align: center;
    margin-bottom: 30px;
    font-size: 28px;
    color: #eb5858;
    background: pink;
    text-shadow: 1px 1px 8px rgba(0,0,0,0.4);
}

.container form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.container form label {
    font-size: 1.2rem;
    font-weight: bold;
    color: #6b065e;
    background: rgb(218, 141, 218);
}

.container form input[type='number'], .container form select {
    font-size: 18px;
    font-family: 'Petit Formal Script', sans-erif, 'Times New Roman';
    font-weight: 600;
    padding: 12px;
    width: 50%;
    border-radius: 20px;
    outline: none;
    background: rgba(148, 72, 72, 0.2);
    border: none;
    color: #8d0808;
}

.container form input::placeholder {
    color: rgba(235, 135, 135, 0.7);
}

.btn {
    padding: 12px 20px;
    font-size: 18px;
    background: rgb(133, 58, 133);
    color: antiquewhite;
    border-radius: 225px;
    border: ridge rgb(118, 118, 177);
    cursor: pointer;
    width: 45%;
}

.btn:hover {
    background: rgb(248, 113, 135);
}
.output {
    display: none;
    margin-top: 30px;
}

.output table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    font-size: 18px;
    color: #ca3a6a;
}

.output table th, .output table td {
    padding: 12px;
    border: 1px solid rgb(185, 92, 157);
    font-weight: 600;
}

.output table th {
    background-color: #e6c6c6;
    font-weight: bolder;
}

footer {
    text-align: center;
    margin-top: 50px;
    font-size: 16px;
    color: #555;
}

@media (max-width: 768px) {
    .container {
        padding: 20px;
        width: 90%;
    }
    nav {
        flex-direction: column;
        gap: 15px;
    }
    nav ul {
        justify-content: center;
    }
    .logo {
        width: 180px;
        height: 60px;
    }
    .container form input[type='number'], .container form select {
        width: 100%;
    }
}

@media (max-width: 600px) {
    nav {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 15px;
    }
    nav ul {
        flex-direction: column;
        gap: 10px;
        margin-top: 10px;
    }
    .logo {
        width: 150px;
        height: 60px;
    }
    .logo span {
        font-size: 14px;
        text-align: center;
    }
    .container {
        width: 90%;
        padding: 20px;
        margin: 20px auto;
    }
    .container h1 {
        font-size: 22px;
    }
    .container form {
        gap: 15px;
    }
    .container form label {
        font-size: 16px;
    }
    .container form input[type='number'], .container form select {
        font-size: 16px;
        width: 100%;
    }
    .btn {
        width: 100%;
        font-size: 16px;
        padding: 10px;
    }
    .output table {
        font-size: 14px;
        width: 100%;
    }
    footer {
        font-size: 14px;
    }
}