    /* Reset */
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    body {
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        background: linear-gradient(to right, #74ebd5, #acb6e5);
        min-height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 40px 20px;
    }

    /* Main Container */
    .container {
        background-color: #ffffff;
        border-radius: 20px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
        padding: 30px;
        max-width: 600px;
        width: 100%;
    }

    /* Search Header */
    .weather-header {
        display: flex;
        justify-content: center;
        margin-bottom: 25px;
    }

    .weather-search {
        background: #f1f1f1;
        border-radius: 30px;
        display: flex;
        align-items: center;
        padding: 8px 20px;
        width: 100%;
        max-width: 400px;
        box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
    }

    .weather-search i {
        margin-right: 10px;
        color: #555;
    }

    .weather-search input {
        border: none;
        background: transparent;
        outline: none;
        width: 100%;
        font-size: 1rem;
        color: #333;
    }

    /* Weather Body */
    .weather-body {
        text-align: center;
        margin-bottom: 30px;
    }

    .weather-city {
        font-size: 2rem;
        font-weight: bold;
        color: #333;
    }

    .weather-date-time {
        color: #777;
        margin-bottom: 20px;
        font-size: 0.95rem;
    }

    .weather-data {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        margin-bottom: 10px;
    }

    .weather-forecast {
        font-size: 1.1rem;
        color: #444;
    }

    .weather-icon {
        width: 60px;
        height: 60px;
        background-size: cover;
        background-position: center;
    }

    .weather-temperature {
        font-size: 2.5rem;
        font-weight: 600;
        margin: 10px 0;
        color: #ff6b6b;
    }

    .weather-minmax {
        display: flex;
        justify-content: space-between;
        margin-top: 10px;
        padding: 0 40px;
        color: #666;
        font-size: 0.95rem;
    }

    /* Extra Weather Info */
    .weather-info {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
        gap: 20px;
        margin-top: 20px;
    }

    .weather-card {
        background: #f9f9f9;
        padding: 15px;
        border-radius: 15px;
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: flex-start;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
    }

    .weather-card i {
        font-size: 1.5rem;
        color: #6ec6ff;
    }

    .weather-card div p:first-child {
        font-size: 0.85rem;
        color: #555;
        margin-bottom: 2px;
    }

    .weather-card div p:last-child {
        font-size: 1.1rem;
        font-weight: bold;
        color: #333;
    }