/* Theme Switching System for Suwertehin */

/* Terminal CRT Theme - Green on Black */
body.theme-terminal {
  background: #000000;
  color: #00ff00;
  font-family: 'JetBrains Mono', monospace;
}

body.theme-terminal * {
  color: #00ff00 !important;
  border-color: #00ff00 !important;
}

body.theme-terminal .container,
body.theme-terminal .card,
body.theme-terminal .weather-header-bar,
body.theme-terminal .calendar-stats .stat-item,
body.theme-terminal .settings-form {
  background: #000000 !important;
  border: 2px solid #00ff00 !important;
  box-shadow: 0 0 20px rgba(0, 255, 0, 0.3) !important;
}

body.theme-terminal header {
  background: #000000 !important;
  border-bottom: 2px solid #00ff00 !important;
}

body.theme-terminal .btn {
  background: #000000 !important;
  border: 2px solid #00ff00 !important;
  color: #00ff00 !important;
}

body.theme-terminal .btn:hover {
  background: #00ff00 !important;
  color: #000000 !important;
  box-shadow: 0 0 20px rgba(0, 255, 0, 0.5) !important;
}

body.theme-terminal .form-control {
  background: #000000 !important;
  border: 2px solid #00ff00 !important;
  color: #00ff00 !important;
}

body.theme-terminal .weather-header-bar {
  background: #000000 !important;
  border: 2px solid #00ff00 !important;
  box-shadow: 0 0 30px rgba(0, 255, 0, 0.4) !important;
}

/* Light Theme */
body.theme-light {
  background: #ffffff;
}

body.theme-light * {
  color: #333333 !important;
}

body.theme-light .container,
body.theme-light .card,
body.theme-light .weather-header-bar,
body.theme-light .calendar-stats .stat-item,
body.theme-light .settings-form {
  background: #ffffff !important;
  border-color: #dddddd !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
}

body.theme-light header {
  background: #f8f9fa !important;
  border-bottom: 1px solid #dee2e6 !important;
}

body.theme-light .weather-header-bar {
  background: linear-gradient(135deg, #007bff, #6610f2) !important;
  color: #ffffff !important;
}

body.theme-light .weather-header-bar * {
  color: #ffffff !important;
}

/* Dark Theme */
body.theme-dark {
  background: #1a1a1a;
}

body.theme-dark * {
  color: #ffffff !important;
}

body.theme-dark .container,
body.theme-dark .card,
body.theme-dark .weather-header-bar,
body.theme-dark .calendar-stats .stat-item,
body.theme-dark .settings-form {
  background: #2d2d2d !important;
  border-color: #444444 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
}

body.theme-dark header {
  background: #2d2d2d !important;
  border-bottom: 1px solid #444444 !important;
}

/* High Contrast Theme */
body.theme-high-contrast {
  background: #000000;
}

body.theme-high-contrast * {
  color: #ffffff !important;
  font-weight: 900 !important;
}

body.theme-high-contrast .container,
body.theme-high-contrast .card,
body.theme-high-contrast .weather-header-bar,
body.theme-high-contrast .calendar-stats .stat-item,
body.theme-high-contrast .settings-form {
  background: #000000 !important;
  border: 3px solid #ffffff !important;
  box-shadow: none !important;
}

body.theme-high-contrast header {
  background: #000000 !important;
  border-bottom: 3px solid #ffffff !important;
}

body.theme-high-contrast .btn {
  background: #000000 !important;
  border: 3px solid #ffffff !important;
  color: #ffffff !important;
}

body.theme-high-contrast .btn:hover {
  background: #ffffff !important;
  color: #000000 !important;
}

/* Font Size Variations */
body.font-small { font-size: 12px; }
body.font-medium { font-size: 14px; }
body.font-large { font-size: 16px; }
body.font-extra-large { font-size: 18px; }

/* Terminal CRT Animation Effects */
body.theme-terminal::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1000;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0, 255, 0, 0.03) 2px,
    rgba(0, 255, 0, 0.03) 4px
  );
  animation: crt-flicker 0.15s infinite linear;
}

@keyframes crt-flicker {
  0% { opacity: 1; }
  98% { opacity: 1; }
  99% { opacity: 0.98; }
  100% { opacity: 1; }
}

/* CRT Screen Curvature Effect */
body.theme-terminal .container {
  border-radius: 15px;
  padding: 20px;
  margin: 10px;
}