/* app.css */ /* Define CSS variables for light and dark themes */ :root { /* Light Theme Variables */ --background-color: #ffffff; --text-color: #000000; --card-border-color: #4CAF50; /* Green for active links */ --dead-link-color: #D32F2F; /* Red for dead links */ --button-background: #4CAF50; --button-hover-background: #45a049; --file-upload-border: #4CAF50; --file-upload-hover-background: #f1f1f1; --file-upload-hover-color: #45a049; --link-color: #2980B9; --link-hover-color: #1F618D; --output-background: #f0f0f0; } @media (prefers-color-scheme: dark) { :root { /* Dark Theme Variables */ --background-color: #121212; --text-color: #ffffff; --card-border-color: #4CAF50; --dead-link-color: #FF6B6B; --button-background: #4CAF50; --button-hover-background: #45a049; --file-upload-border: #4CAF50; --file-upload-hover-background: #1f1f1f; --file-upload-hover-color: #45a049; --link-color: #6FB1FC; --link-hover-color: #5A9BD3; --output-background: #1f1f1f; } } /* General Styling */ body { background-color: var(--background-color); color: var(--text-color); font-family: Arial, Helvetica, sans-serif; margin: 0; padding: 0; } /* Header Styling */ h1, h2, h3, h4, h5, h6 { color: var(--text-color); } /* Card Styling */ .card { box-shadow: 0 4px 8px 0 rgba(0,0,0,0.1); transition: box-shadow 0.3s ease; padding: 15px; margin: 10px; border-radius: 8px; background-color: var(--background-color); border: 2px solid var(--card-border-color); } .card:hover { box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2); } /* Dead Link Styling */ .dead-link { border-color: var(--dead-link-color) !important; color: var(--dead-link-color) !important; } /* Active Link Styling */ .active-link { color: var(--text-color) !important; } /* Button Styling */ button { background-color: var(--button-background); border: none; color: white; padding: 10px 20px; text-align: center; text-decoration: none; display: inline-block; font-size: 14px; margin: 4px 2px; border-radius: 4px; cursor: pointer; transition: background-color 0.3s ease; } button:hover { background-color: var(--button-hover-background); } /* File Upload Styling */ input[type="file"] { border: 2px dashed var(--file-upload-border); border-radius: 5px; padding: 20px; text-align: center; color: var(--file-upload-border); cursor: pointer; transition: background-color 0.3s ease, color 0.3s ease; } input[type="file"]:hover { background-color: var(--file-upload-hover-background); color: var(--file-upload-hover-color); } /* Dropdown Styling */ select, .gr-dropdown { padding: 8px; border-radius: 4px; border: 1px solid #ccc; font-size: 14px; width: 100%; box-sizing: border-box; margin-bottom: 10px; background-color: var(--background-color); color: var(--text-color); } /* Checkbox Group Styling */ .gr-checkboxgroup { display: flex; flex-direction: column; margin-bottom: 10px; } .gr-checkboxgroup label { margin-bottom: 5px; font-size: 14px; } /* Textbox Styling */ textarea, input[type="text"], input[type="number"], input[type="email"], input[type="password"], .gr-textbox { width: 100%; padding: 8px 12px; margin: 4px 0; box-sizing: border-box; border: 2px solid #ccc; border-radius: 4px; resize: vertical; font-size: 14px; background-color: var(--background-color); color: var(--text-color); } /* Link Styling */ a { color: var(--link-color); text-decoration: none; } a:hover { text-decoration: underline; color: var(--link-hover-color); } /* Markdown Styling */ .markdown { line-height: 1.6; } /* Output Textbox Styling */ .gr-output .gr-textbox { background-color: var(--output-background); border: 1px solid #ccc; color: var(--text-color); } /* Export Button Styling */ .gr-button--export { background-color: #3498DB; /* Blue background for export button */ } .gr-button--export:hover { background-color: #2980B9; /* Darker blue on hover */ } /* Download Link Styling */ .gr-html { margin-top: 10px; font-size: 14px; } /* Chatbot Styling */ .gr-chatbot { background-color: var(--output-background); border: 1px solid #ccc; border-radius: 8px; padding: 10px; overflow-y: auto; height: 400px; } /* Responsive Design */ @media screen and (max-width: 600px) { .gr-row { flex-direction: column; } button, select, input[type="file"], textarea, input[type="text"], input[type="number"], input[type="email"], input[type="password"] { width: 100%; margin: 5px 0; } }