:root {
  --bg: #f8fafc;           /* Light professional gray */
  --card: #ffffff;
  --muted: #64748b;
  --accent: #2563eb;       /* Professional blue */
  --glass: rgba(37,99,235,0.04);
  --text: #1e293b;
  --maxw: 1100px;
}

[data-theme='dark'] {
  --bg: #0f172a;           /* Deep professional dark blue */
  --card: #1e293b;
  --muted: #94a3b8;
  --accent: #3b82f6;       /* Lighter blue for dark mode */
  --glass: rgba(59,130,246,0.04);
  --text: #f1f5f9;
}

[data-theme='light'] {
  --bg: #f8fafc;
  --card: #ffffff;
  --muted: #64748b;
  --accent: #2563eb;
  --glass: rgba(37,99,235,0.04);
  --text: #1e293b;
}

/* Use system preference on first load when no user selection exists */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) { --bg: #0f172a; --card:#1e293b; --muted:#94a3b8; --accent:#3b82f6; --text:#f1f5f9; }
}

/* Let browsers know which color scheme is used so form controls and scrollbars adapt */
html[data-theme='dark'], html[data-bs-theme='dark'] { color-scheme: dark; }
html[data-theme='light'], html[data-bs-theme='light'] { color-scheme: light; }

/* Smooth transition for background and color changes */
html, body, .card, .btn, nav a { transition: background-color 240ms ease, color 240ms ease, border-color 240ms ease; }

/* Apply background */
html, body {
  height: 100%;
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  background: linear-gradient(180deg, var(--bg), rgba(241,245,249,0.4) 80%);
  color: var(--text);
}

/* Professional padding */
.container, .grid-2, .hero, main, aside, header, footer {
  padding-left: 24px;
  padding-right: 24px;
}

section, header, footer {
  padding-top: 18px;
  padding-bottom: 18px;
}
.container{max-width:var(--maxw);margin:32px auto;padding:20px;width:100%;box-sizing:border-box}
header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.3em}
nav{display:flex;gap:12px;align-items:center}
nav a{color:var(--muted);text-decoration:none;padding:8px 10px;border-radius:8px}
nav a:hover{color:var(--text);background:var(--glass)}
.hero{margin-top:18px;background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent); padding:20px;border-radius:12px;display:grid;grid-template-columns:1fr 320px;gap:18px}
.hero h1{margin:0;font-size:28px}
.search{display:flex;gap:10px}
input.searchbox{flex:1;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,0.06);background:transparent;color:var(--text)}
.btn {
  padding: 10px 12px;
  border-radius: 10px;
  background: #22c55e;      /* Green background */
  color: #0c0c0c;              /* White text */
  cursor: pointer;
  border: none;
  transition: background 0.2s;
}
.btn:hover {
  background: #16a34a;      /* Darker green on hover */
}
.btn-success {
  background-color: #22c55e;
  border-color: #22c55e;
}
.btn-success:hover, .btn-success:focus {
  background-color: #16a34a;
  border-color: #16a34a;
}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.card{background:var(--card);padding:14px;border-radius:10px;box-shadow:0 6px 18px rgba(2,6,23,0.45)}
.card h3{margin:0 0 8px 0}
.grid-2{display:grid;grid-template-columns:1fr 360px;gap:16px;margin-top:18px}
.tools{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
footer{margin-top:30px;text-align:center;color:var(--muted)}
@media (max-width:980px){.cards{grid-template-columns:repeat(2,1fr)} .hero{grid-template-columns:1fr} .grid-2{grid-template-columns:1fr} }
@media (max-width:560px){.cards{grid-template-columns:1fr} nav{display:none}} 
.muted{color:var(--muted)}
.pill{display:inline-block;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,0.03);font-size:12px}
.article-list{display:flex;flex-direction:column;gap:10px}
.article{display:flex;gap:12px;align-items:flex-start}
.article .meta{font-size:12px;color:var(--muted)}
.tool-box{padding:12px;background:linear-gradient(180deg, rgba(255,255,255,0.01), transparent);border-radius:10px}
.quiz .question{margin-bottom:8px}
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (max-width:700px){.project-grid{grid-template-columns:1fr}}

/* Desktop nav visible on desktop, hidden on mobile */
.desktop-nav { display: flex; }
.mobile-nav, #menuToggle { display: none; }

@media (max-width: 700px) {
  .desktop-nav { display: none; }
  #menuToggle { display: block; }
  .mobile-nav {
    display: none;
    position: absolute;
    top: 60px;
    left: 0; right: 0;
    background: var(--card);
    z-index: 100;
    box-shadow: 0 4px 16px rgba(33,150,243,0.08);
    flex-direction: column;
    padding: 0 0 16px 0;
  }
  .mobile-nav.show { display: flex; }
  .mobile-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    flex-direction: column;
    width: 100%;
  }
  .mobile-nav li {
    width: 100%;
    border-bottom: 1px solid #e3f2fd;
  }
  .mobile-nav a, .mobile-nav button {
    display: block;
    width: 100%;
    padding: 16px;
    text-align: left;
    font-size: 1.1rem;
    background: none;
    border: none;
    color: inherit;
  }
  #closeNav {
    align-self: flex-end;
    font-size: 2rem;
    background: none;
    border: none;
    color: var(--accent);
    margin: 10px 10px 0 0;
    display: block;
  }
}

/* Images and media */
img, video {
  max-width: 100%;
  height: auto;
  display: block;
}

/* The navbar and footer follow theme variables */
.navbar {
  background: linear-gradient(180deg, rgba(255,255,255,0.02), transparent);
  background-color: var(--card);
  color: var(--text);
  box-shadow: 0 6px 18px rgba(2,6,23,0.08);
}
.navbar .navbar-brand, .navbar .nav-link {
  color: var(--text) !important;
}
.navbar .nav-link:hover { background: var(--glass); color: var(--text) !important; }

.eg-footer {
  background-color: var(--card);
  color: var(--muted);
  border-top: 1px solid rgba(0,0,0,0.06);
}
.eg-footer a { color: var(--muted); }
.eg-footer a:hover { color: var(--text); }

/* Responsive container */
.container {
  max-width: var(--maxw);
  margin: 32px auto;
  padding: 20px;
  width: 100%;
  box-sizing: border-box;
}

/* Responsive grids */
.cards, .project-grid, .tools, .blog-list {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.grid-2 {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 16px;
  margin-top: 18px;
}

@media (max-width:980px) {
  .grid-2 {
    grid-template-columns: 1fr;
  }
  .cards, .project-grid, .tools, .blog-list {
    grid-template-columns: 1fr;
  }
  .hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width:700px) {
  .container, main, .hero, .blog-header, .blog-list, .blog-card {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .blog-card, .card, .tool-box {
    padding: 12px 8px;
  }
  .grid-2, .cards, .project-grid, .tools, .blog-list {
    grid-template-columns: 1fr;
  }
  header, section, footer {
    padding-left: 8px;
    padding-right: 8px;
  }
}