/* === Additional overrides beyond SCSS === */

/* Smooth page load */
body {
  animation: fadeIn 0.5s ease-out;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Image hover */
.quarto-figure img,
.about-image img {
  transition: transform 0.3s ease, filter 0.3s ease;
}
.quarto-figure img:hover {
  transform: scale(1.02);
}

/* Badge / category tags */
.quarto-category, .listing-category {
  background: rgba(78, 205, 196, 0.15) !important;
  color: #4ecdc4 !important;
  border: 1px solid rgba(78, 205, 196, 0.25);
  border-radius: 20px;
  padding: 2px 10px;
  font-size: 0.8em;
  transition: background 0.3s;
}
.quarto-category:hover, .listing-category:hover {
  background: rgba(78, 205, 196, 0.3) !important;
}

/* Keyword tags (listing — individual badges via custom template) */
.listing-keywords { margin: 0.3rem 0 0.1rem; }
.listing-keyword {
  display: inline-block;
  font-size: 0.72em;
  padding: 2px 9px;
  margin: 2px 4px 2px 0;
  border-radius: 20px;
  background: rgba(255, 107, 157, 0.12);
  color: #ff6b9d;
  border: 1px solid rgba(255, 107, 157, 0.28);
}
.listing-keyword::before { content: "#"; opacity: 0.6; margin-right: 1px; }

/* Links in content */
main a:not(.nav-link):not(.navbar-brand):not(.sidebar-item-text) {
  text-decoration: none;
  border-bottom: 1px solid rgba(78, 205, 196, 0.3);
  transition: border-color 0.3s, color 0.3s;
}
main a:not(.nav-link):not(.navbar-brand):not(.sidebar-item-text):hover {
  border-bottom-color: #ff6b9d;
  color: #ff6b9d;
}

/* Reader mode button (dark theme) */
body.quarto-dark .quarto-reader-toggle .bi {
  color: #a0a0b0;
}

/* Light theme: navbar full override */
body.quarto-light .navbar,
body.quarto-light .navbar[data-bs-theme="dark"] {
  --bs-navbar-color: #2c3e50;
  --bs-navbar-hover-color: #0d9488;
  --bs-navbar-active-color: #0d9488;
  --bs-navbar-brand-color: #2c3e50;
  --bs-navbar-brand-hover-color: #0d9488;
}
body.quarto-light .navbar .navbar-brand,
body.quarto-light .navbar .nav-link,
body.quarto-light .navbar .navbar-toggler-icon,
body.quarto-light .navbar .bi,
body.quarto-light .navbar .quarto-navigation-tool,
body.quarto-light .navbar .quarto-navigation-tool .bi,
body.quarto-light .navbar .quarto-color-scheme-toggle,
body.quarto-light .navbar .quarto-color-scheme-toggle .bi,
body.quarto-light .navbar .quarto-reader-toggle .bi,
body.quarto-light .navbar #quarto-search {
  color: #2c3e50 !important;
}
body.quarto-light .navbar .nav-link:hover,
body.quarto-light .navbar .nav-link.active,
body.quarto-light .navbar .quarto-navigation-tool:hover,
body.quarto-light .navbar .quarto-navigation-tool:hover .bi {
  color: #0d9488 !important;
}

/* Light theme: SVG icon overrides (these use background-image, not color) */
body.quarto-light .navbar .quarto-color-scheme-toggle:not(.alternate) .bi::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgba(44, 62, 80, 1)" class="bi bi-toggle-off" viewBox="0 0 16 16"><path d="M11 4a4 4 0 0 1 0 8H8a4.992 4.992 0 0 0 2-4 4.992 4.992 0 0 0-2-4h3zm-6 8a4 4 0 1 1 0-8 4 4 0 0 1 0 8zM0 8a5 5 0 0 0 5 5h6a5 5 0 0 0 0-10H5a5 5 0 0 0-5 5z"/></svg>') !important;
}
body.quarto-light .navbar .quarto-color-scheme-toggle.alternate .bi::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgba(44, 62, 80, 1)" class="bi bi-toggle-on" viewBox="0 0 16 16"><path d="M5 3a5 5 0 0 0 0 10h6a5 5 0 0 0 0-10H5zm6 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z"/></svg>') !important;
}
body.quarto-light .navbar .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon,
body.quarto-light .navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form .aa-Label svg,
body.quarto-light .navbar #quarto-search.type-overlay .aa-Autocomplete svg.aa-SubmitIcon {
  color: #2c3e50 !important;
  opacity: 1 !important;
}
body.quarto-light .navbar .quarto-reader-toggle:not(.reader) .bi::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgba(44, 62, 80, 1)" class="bi bi-body-text" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M0 .5A.5.5 0 0 1 .5 0h4a.5.5 0 0 1 0 1h-4A.5.5 0 0 1 0 .5Zm0 2A.5.5 0 0 1 .5 2h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm9 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm-9 2A.5.5 0 0 1 .5 4h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm5 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm-12 2A.5.5 0 0 1 .5 6h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm8 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm-8 2A.5.5 0 0 1 .5 8h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7 0a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm-7 2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z"/></svg>') !important;
}
