:root { --primary-color: #d4a373; --secondary-color: #e67e22; --dark-color: #2c3e50; --light-color: #ecf0f1; --accent-color: #e74c3c; --text-color: #333; --text-light: #fff; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Raleway', sans-serif; line-height: 1.6; color: var(--text-color); background-color: var(--light-color); transition: background-image 1s ease-in-out; min-height: 100vh; display: flex; flex-direction: column; } .header { background-color: var(--primary-color); color: var(--text-light); padding: 1rem; text-align: center; position: relative; } .header-link { position: absolute; top: 0.5rem; right: 1rem; font-size: 0.8rem; } .header-link a { color: var(--text-light); text-decoration: none; } .header-link a:hover { text-decoration: underline; } .main-content { flex: 1; padding: 2rem; max-width: 1200px; margin: 0 auto; width: 100%; } h1, h2 { font-family: 'Playfair Display', serif; margin-bottom: 1rem; } h1 { font-size: 2.5rem; margin-bottom: 0; } h2 { font-size: 1.8rem; color: var(--dark-color); text-align: center; margin-bottom: 2rem; } .poem-generator { background-color: white; padding: 2rem; border-radius: 8px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); margin-bottom: 2rem; } .input-group { display: flex; gap: 1rem; margin-bottom: 1.5rem; } input[type="text"] { flex: 1; padding: 0.8rem; border: 1px solid #ddd; border-radius: 4px; font-size: 1rem; min-width: 200px; } button { background-color: var(--secondary-color); color: white; border: none; padding: 0.8rem 1.5rem; border-radius: 4px; cursor: pointer; font-size: 1rem; transition: background-color 0.3s; } button:hover { background-color: var(--accent-color); } .background-controls { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: 1.5rem; } .background-controls button { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; padding: 0; } select { padding: 0.5rem; border-radius: 4px; border: 1px solid #ddd; } .poem-display { background-color: rgba(255, 255, 255, 0.8); padding: 2rem; border-radius: 8px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .poem-container { background-color: white; padding: 2rem; border-radius: 4px; border-left: 4px solid var(--primary-color); min-height: 200px; display: flex; flex-direction: column; justify-content: center; } .poem-text { font-family: 'Playfair Display', serif; font-size: 1.3rem; line-height: 1.8; margin-bottom: 1rem; color: var(--dark-color); } .poem-author { text-align: right; font-style: italic; color: var(--secondary-color); } .footer { background-color: var(--dark-color); color: var(--text-light); text-align: center; padding: 1rem; margin-top: 2rem; } /* Background images */ .bg-autumn { background-image: url('assets/images/bg-autumn.svg'); background-size: cover; background-position: center; } .bg-stars { background-image: url('assets/images/bg-stars.svg'); background-size: cover; background-position: center; } .bg-hearts { background-image: url('assets/images/bg-hearts.svg'); background-size: cover; background-position: center; } /* Responsive design */ @media (max-width: 768px) { .input-group { flex-direction: column; } input[type="text"] { min-width: auto; } .background-controls { flex-wrap: wrap; } .poem-text { font-size: 1.1rem; } } @media (max-width: 480px) { .header { padding: 0.8rem; } .header-link { position: static; margin-top: 0.5rem; } .main-content { padding: 1rem; } h1 { font-size: 2rem; } } .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }