body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: #f0f2f5; display: block; padding-top: 60px; min-height: 100vh; margin: 0 auto; } h1 { text-align: left; color: black; margin-top: 10px; } .info-modelo { font-size: 10px; color: #666; margin-top: -20px; margin-bottom: 20px; } label { font-weight: 500; margin-top: 15px; display: block; } input[type="text"] { width: 100%; padding: 10px; margin-top: 5px; border: 1px solid #ccc; border-radius: 6px; box-sizing: border-box; } input[type="checkbox"] { margin-right: 6px; } .genre-label { display: flex; align-items: center; margin-top: 8px; font-size: 15px; font-weight: 500; } button { margin-top: 20px; width: 100%; padding: 12px; background-color: #28a745; color: white; border: none; border-radius: 6px; font-size: 16px; cursor: pointer; } button:hover { background-color: #218838; } .chat-container { display: flex; justify-self: center; width: 80% } .chat-box, .response-box { background-color: #fff; padding: 25px 30px; border-radius: 10px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); width: 45%; font-size: 16px; line-height: 1.6; align-self: flex-start; margin: 40px; justify-self: center; } @media (max-width: 1100px) { .chat-container { flex-direction: column; } .chat-box, .response-box { width: 70%; align-self: center; } } .chat-container:has(.chat-box):not(:has(.response-box)) .chat-box, .chat-container:has(.response-box):not(:has(.chat-box)) .response-box { width: 100%; } .resposta-formatada { font-size: 16px; line-height: 1.6; } .hidden { display: none; } .small-link { font-size: 0.9em; text-align: left; margin-bottom: 30px; } .small-link a { text-decoration: underline; color: blue; cursor: pointer; } .genre-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-bottom: 1rem; } /* --- Navigation Bar --- */ .navbar { background-color: #28a745; overflow: hidden; position: fixed; top: 0; width: 100%; z-index: 1000; display: flex; justify-content: center; box-shadow: 0 2px 5px rgba(0,0,0,0.15); } .navbar a { float: left; display: block; color: white; text-align: center; padding: 14px 24px; text-decoration: none; font-size: 17px; font-weight: 500; transition: background-color 0.2s; } .navbar a:hover { background-color: #218838; color: white; } .navbar a.active { background-color: #1e7e34; color: white; } /* --- Welcome Modal --- */ .modal { display: none; position: fixed; z-index: 2000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.7); backdrop-filter: blur(2px); animation: fadeIn 0.3s; } .modal-content { background-color: #fff; margin: 8% auto; padding: 40px; border: none; width: 85%; max-width: 650px; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,0.3); text-align: center; position: relative; animation: slideDown 0.4s cubic-bezier(0.16, 1, 0.3, 1); font-family: 'Segoe UI', sans-serif; } .close-btn { color: #999; position: absolute; top: 15px; right: 25px; font-size: 32px; font-weight: 300; line-height: 1; transition: color 0.2s; cursor: pointer; } .close-btn:hover { color: #333; } .modal-title { color: #28a745; margin-bottom: 15px; font-size: 1.8em; font-weight: 600; } .modal-desc { font-size: 1.1em; color: #444; line-height: 1.6; margin-bottom: 30px; padding: 0 10px; } .tech-stack { background-color: #f8f9fa; padding: 25px; border-radius: 12px; margin-bottom: 30px; text-align: left; font-size: 1em; border-left: 5px solid #28a745; box-shadow: inset 0 0 5px rgba(0,0,0,0.03); } .tech-stack h4 { margin-top: 0; margin-bottom: 15px; color: #2c3e50; font-size: 1.1em; text-transform: uppercase; letter-spacing: 0.5px; } .tech-stack ul { margin: 0; padding-left: 20px; } .tech-stack li { margin-bottom: 8px; color: #555; line-height: 1.5; } #start-intro-btn { width: auto; padding: 12px 40px; font-size: 1.1em; font-weight: 600; box-shadow: 0 4px 10px rgba(40, 167, 69, 0.3); transition: transform 0.2s, box-shadow 0.2s; } #start-intro-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(40, 167, 69, 0.4); } @keyframes fadeIn { from {opacity: 0} to {opacity: 1} } @keyframes slideDown { from {transform: translateY(-50px); opacity: 0;} to {transform: translateY(0); opacity: 1;} } /* --- Floating Info Button (FAB) --- */ .info-fab { position: fixed; bottom: 20px; right: 20px; background-color: #28a745; color: white; width: 50px; height: 50px; border-radius: 50%; text-align: center; line-height: 50px; font-size: 24px; box-shadow: 0 4px 10px rgba(0,0,0,0.3); cursor: pointer; z-index: 1900; transition: transform 0.3s, background-color 0.3s; display: none; } .info-fab:hover { background-color: #218838; transform: scale(1.1); } .modal-text-content { font-size: 1em; text-align: left; margin-bottom: 15px; } .error-msg { color: red; display: none; font-size: 0.9em; margin-top: 5px; } .model-selector { margin-bottom: 15px; } .model-label { font-size: 0.9em; color: #555; } .model-select { padding: 5px; border-radius: 5px; border: 1px solid #ccc; max-width: 100%; } .nav-disabled { opacity: 0.5; cursor: not-allowed; }