.bio-gen-container {
    max-width: 650px;
    margin: 20px auto;
    padding: 30px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    font-family: 'Segoe UI', sans-serif;
}
.tool-header h2 { color: #1dbf73; margin-bottom: 5px; text-align: center; }
.tool-header p { color: #62646a; text-align: center; margin-bottom: 25px; font-size: 14px; }

.form-row { display: flex; gap: 15px; margin-bottom: 15px; }
.form-group { flex: 1; margin-bottom: 15px; }
.form-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #404145; font-size: 14px; }

.form-group input, .form-group select {
    width: 100%; padding: 12px; border: 1px solid #e4e5e7;
    border-radius: 8px; font-size: 14px; outline: none; transition: 0.3s;
}
.form-group input:focus { border-color: #1dbf73; box-shadow: 0 0 0 3px rgba(29,191,115,0.1); }

#generate-bio-btn {
    width: 100%; padding: 15px; background: #1dbf73;
    color: white; border: none; border-radius: 8px;
    font-weight: bold; cursor: pointer; font-size: 16px; margin-top: 10px;
}

.result-hidden { display: none; margin-top: 30px; animation: fadeIn 0.5s; }
.result-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.badge { background: #e8f5e9; color: #2e7d32; padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: bold; }

#bio-output {
    width: 100%; height: 220px; padding: 15px; background: #f8f9fa;
    border: 1px solid #eee; border-radius: 10px; font-size: 15px;
    line-height: 1.6; color: #404145; resize: none;
}

.copy-btn {
    width: 100%; margin-top: 15px; padding: 12px; background: #404145;
    color: white; border: none; border-radius: 8px; cursor: pointer; font-weight: bold;
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }