```css
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: Arial, sans-serif;
    min-height: 100vh;

    background:
        linear-gradient(
            135deg,
            #0f172a,
            #1e1b4b,
            #312e81
        );

    color: white;
    padding: 20px;
}

.container {
    max-width: 1000px;
    margin: auto;
}


/* NAVBAR */

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 18px 25px;
    margin-bottom: 40px;

    background:
        rgba(255,255,255,0.08);

    border:
        1px solid
        rgba(255,255,255,0.12);

    border-radius: 18px;

    backdrop-filter: blur(12px);
}

.logo {
    font-size: 22px;
    font-weight: 700;
}

.status {
    color: #86efac;
    font-size: 14px;
}


/* HERO */

.hero {
    text-align: center;
    margin-bottom: 35px;
}

.hero h1 {
    font-size: 48px;
    margin-bottom: 12px;

    background:
        linear-gradient(
            90deg,
            #c4b5fd,
            #60a5fa
        );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero p {
    color: #cbd5e1;
    font-size: 17px;
}


/* CARD */

.card {
    background:
        rgba(255,255,255,0.08);

    border:
        1px solid
        rgba(255,255,255,0.12);

    border-radius: 22px;

    padding: 30px;
    margin-bottom: 25px;

    backdrop-filter: blur(15px);

    box-shadow:
        0 20px 50px
        rgba(0,0,0,0.25);
}


/* LABEL */

label {
    display: block;
    margin-bottom: 10px;
    font-weight: 600;
}


/* TEXTAREA */

textarea {
    width: 100%;
    min-height: 140px;

    resize: vertical;

    padding: 18px;

    border-radius: 14px;

    border:
        1px solid
        rgba(255,255,255,0.15);

    background:
        rgba(15,23,42,0.7);

    color: white;

    font-size: 16px;

    outline: none;
}

textarea::placeholder {
    color: #94a3b8;
}

textarea:focus {
    border-color: #818cf8;
}


/* BUTTONS */

.buttons {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 15px;

    margin-top: 20px;
}

button {
    border: none;

    border-radius: 13px;

    padding: 15px;

    font-size: 15px;

    font-weight: 600;

    cursor: pointer;

    color: white;

    background:
        linear-gradient(
            135deg,
            #6366f1,
            #3b82f6
        );

    transition: 0.2s;
}

button:hover {
    opacity: 0.9;

    transform:
        translateY(-2px);
}

button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}


/* CLEAR BUTTON */

.clear-button {
    background:
        linear-gradient(
            135deg,
            #475569,
            #334155
        );
}

.clear-button:hover {
    background:
        linear-gradient(
            135deg,
            #64748b,
            #475569
        );
}


/* LOGIN BUTTON */

.primary {
    margin-top: 15px;
    padding: 13px 25px;
}


/* RESULT */

.result-card {
    min-height: 250px;
}

#result {
    color: #e2e8f0;
    line-height: 1.7;
}


/* EMPTY STATE */

.empty-state {
    text-align: center;

    padding: 40px 20px;

    color: #94a3b8;
}

.empty-icon {
    font-size: 45px;
    margin-bottom: 15px;
}

.empty-state h3 {
    color: white;
    margin-bottom: 10px;
}


/* AI CONTENT */

.ai-content {
    white-space: pre-wrap;

    background:
        rgba(15,23,42,0.5);

    padding: 20px;

    border-radius: 14px;

    margin-top: 15px;

    border:
        1px solid
        rgba(255,255,255,0.08);
}


/* LOADING */

.loading {
    display: flex;

    align-items: center;

    gap: 12px;

    padding: 25px 0;
}

.spinner {
    width: 22px;
    height: 22px;

    border-radius: 50%;

    border:
        3px solid
        rgba(255,255,255,0.2);

    border-top-color:
        #818cf8;

    animation:
        spin 1s linear infinite;
}

@keyframes spin {

    to {
        transform:
            rotate(360deg);
    }

}


/* FOOTER */

footer {
    text-align: center;

    color: #94a3b8;

    font-size: 14px;

    padding: 25px;
}


/* MOBILE */

@media (max-width: 700px) {

    .hero h1 {
        font-size: 36px;
    }

    .buttons {
        grid-template-columns: 1fr;
    }

    .navbar {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .card {
        padding: 20px;
    }

}
```

