/* Nosso pincel mágico para pintar a página */
body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background-color: #282c34;
    color: white;
    font-family: sans-serif;
    text-align: center;
}

.container {
    padding: 2rem;
}

.profile-pic {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    object-fit: cover;
    border: 5px solid #61dafb;
    margin-bottom: 1.5rem;
}

h2 {
    font-size: 2.5rem;
}

#yes-button {
    padding: 1rem 3rem;
    font-size: 1.5rem;
    cursor: pointer;
    background-color: #61dafb;
    border: none;
    border-radius: 10px;
    color: #282c34;
    font-weight: bold;
    margin-top: 1rem;
    transition: transform 0.2s;
}

#yes-button:hover {
    transform: scale(1.1);
}

.small-text {
    margin-top: 1rem;
    color: #aaa;
    font-style: italic;
}

/* A mágica da animação de aparecimento */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ... seu CSS existente ... */

.profile-pic {
    /* ... suas propriedades existentes ... */
    animation: fadeInUp 0.8s ease-out forwards; /* Usa a animação */
}

h2 {
    /* ... suas propriedades existentes ... */
    opacity: 0; /* Começa invisível */
    animation: fadeInUp 0.8s ease-out 0.5s forwards; /* Atraso de 0.5s */
}

#yes-button {
    /* ... suas propriedades existentes ... */
    opacity: 0; /* Começa invisível */
    animation: fadeInUp 0.8s ease-out 1s forwards; /* Atraso de 1s */
}

.small-text {
    /* ... suas propriedades existentes ... */
    opacity: 0; /* Começa invisível */
    animation: fadeInUp 0.8s ease-out 1.5s forwards; /* Atraso de 1.5s */
}

/* A mágica da animação de SAÍDA */
@keyframes fadeOutDown {
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 0;
        transform: translateY(20px);
    }
}

/* A classe que vai ativar a animação de saída */
.animate-out {
    animation: fadeOutDown 0.6s ease-in forwards !important;
}

/* public/css/style.css */
/* ... seu CSS existente ... */

.loading-text {
    font-size: 2rem;
    color: #61dafb;
    opacity: 0; /* Começa invisível para poder animar a entrada */
    animation: fadeInUp 0.8s ease-out forwards;
}

/* public/css/style.css */

.relationship-container {
    animation: fadeInUp 0.8s ease-out forwards;
}

.title-text {
    font-size: 3rem;
    color: #61dafb;
    margin-bottom: 0.5rem;
}

.subtitle-text {
    font-size: 1.5rem;
    color: #ccc;
    margin-bottom: 2rem;
}

.countdown-timer {
    font-size: 2.5rem;
    font-weight: bold;
    letter-spacing: 5px;
}

.countdown-timer span {
    color: #61dafb;
    padding: 0 10px;
}

.notify-button {
    margin-top: 2rem;
    padding: 10px 20px;
    background-color: #ff7eaf; /* Um rosinha fofo */
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    cursor: pointer;
    transition: transform 0.2s;
}

.notify-button:hover {
    transform: scale(1.05);
}

/* Estilos para a Fábrica de Sonhos */
.dreams-section {
    margin-top: 3rem;
    width: 100%;
    max-width: 500px;
}

#dream-form {
    display: flex;
    gap: 10px;
}

#dream-input {
    flex-grow: 1;
    padding: 10px;
    border-radius: 8px;
    border: 2px solid #61dafb;
    background-color: #3a3f4b;
    color: white;
    font-size: 1rem;
}

#dream-form button {
    padding: 10px 20px;
    background-color: #61dafb;
    border: none;
    border-radius: 8px;
    color: #282c34;
    font-weight: bold;
    cursor: pointer;
    transition: transform 0.2s;
}
#dream-form button:hover { transform: scale(1.05); }

#dreams-list {
    list-style: none;
    padding: 0;
    margin-top: 2rem;
    text-align: left;
}

#dreams-list li {
    background-color: rgba(255, 255, 255, 0.05);
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 10px;
    opacity: 0; /* Começa invisível para animar */
    animation: fadeInUp 0.5s ease-out forwards;
}

/* ... seu css ... */

/* Estilo para o item da lista de sonhos */
#dreams-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.05);
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 10px;
    opacity: 0;
    animation: fadeInUp 0.5s ease-out forwards;
}

/* O botão de Missão Cumprida! */
.complete-dream-btn {
    background: none;
    border: 2px solid #30e88e;
    color: #30e88e;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    font-size: 1.2rem;
    cursor: pointer;
    transition: all 0.2s;
}
.complete-dream-btn:hover {
    background-color: #30e88e;
    color: #282c34;
    transform: scale(1.1);
}

/* O Modal de Upload */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}
.modal-overlay.active {
    opacity: 1;
    visibility: visible;
}
.modal-content {
    background: #282c34;
    padding: 2rem;
    border-radius: 15px;
    border: 1px solid #61dafb;
    width: 90%;
    max-width: 400px;
    text-align: center;
    transform: translateY(-50px);
    transition: all 0.3s ease-in-out;
}
.modal-overlay.active .modal-content {
    transform: translateY(0);
}

.install-button {
    background-color: #9b59b6; /* Um roxinho pra diferenciar */
    color: white;
    margin-top: 1rem;
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.2s;
}
.install-button:hover { transform: scale(1.05); }