/* General Body & Theme Variables */ :root { --primary-color: #0d6efd; --background-color: #f8f9fa; --card-bg: #ffffff; --text-color: #212529; --border-color: #dee2e6; --muted-text-color: #6c757d; --hero-gradient: linear-gradient(45deg, #0d6efd, #6c757d); --navbar-bg: #343a40; } [data-theme="dark"] { --primary-color: #4dabf7; --background-color: #121212; --card-bg: #1e1e1e; --text-color: #e9ecef; --border-color: #495057; --muted-text-color: #adb5bd; --hero-gradient: linear-gradient(45deg, #1f3a93, #343a40); --navbar-bg: #1e1e1e; } body { background-color: var(--background-color); color: var(--text-color); transition: background-color 0.3s ease, color 0.3s ease; } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .animated { animation-duration: 0.8s; animation-fill-mode: both; animation-name: fadeInUp; } /* Navbar */ .navbar { background-color: var(--navbar-bg) !important; border-bottom: 1px solid var(--border-color); transition: background-color 0.3s ease; } /* Theme Switcher */ .theme-switcher { display: flex; align-items: center; } .theme-switcher .form-check-input { width: 40px; height: 20px; background-color: #555; border: none; cursor: pointer; position: relative; transition: background-color 0.3s ease; } .theme-switcher .form-check-input:checked { background-color: var(--primary-color); } .theme-switcher .theme-icon { margin-left: 8px; color: #ffc107; transition: color 0.3s ease; } /* Hero Section */ .hero { background: var(--hero-gradient); color: white; padding: 4rem 2rem; margin-bottom: 2rem; border-radius: 0.5rem; text-align: center; animation-delay: 0.2s; } /* Card Styling */ .card { background-color: var(--card-bg); border: 1px solid var(--border-color); border-radius: 0.5rem; transition: background-color 0.3s ease, border-color 0.3s ease; animation-delay: 0.4s; } .card-header { background-color: transparent; border-bottom: 1px solid var(--border-color); padding: 1rem 1.25rem; } .card-header h5 { color: var(--text-color); } .form-label { color: var(--muted-text-color); } .form-control { background-color: var(--background-color); color: var(--text-color); border: 1px solid var(--border-color); } .form-control:focus { background-color: var(--background-color); color: var(--text-color); border-color: var(--primary-color); box-shadow: 0 0 0 0.25rem rgba(var(--primary-color), 0.25); } /* Buttons */ .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); transition: background-color 0.2s ease, transform 0.2s ease; } .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } /* Result Card */ #result-card { transition: opacity 0.5s ease-in-out, transform 0.5s ease; border-width: 2px; } .result-good { color: #28a745; } .result-bad { color: #dc3545; } #result-card.result-good { border-color: #28a745; } #result-card.result-bad { border-color: #dc3545; } .result-value { font-size: 2.5rem; font-weight: bold; } /* Footer */ footer { color: var(--muted-text-color); }