/* OneSource visual balance pass: softer, more even elevation without changing layouts. */
:root {
  --polish-ease: cubic-bezier(.2,.65,.25,1);
  --polish-light-edge: rgba(255,255,255,.72);
  --polish-light-shadow: 5px 6px 14px rgba(71,82,75,.105), -4px -4px 12px rgba(255,255,255,.72);
  --polish-dark-edge: rgba(255,255,255,.035);
  --polish-dark-shadow: 5px 6px 14px rgba(0,0,0,.23), -3px -3px 9px rgba(255,255,255,.018);
}

/* Calm down isolated halos; prefer consistent, diffused shadows over colored glow. */
.project-card, .focus-card, .collab-card, .coverage-card, .contact-card,
.contact-direct, .recognition-card, .experience-strip article, .about-meta,
.publication-item, .project-details-button, .project-more {
  transition: box-shadow .24s var(--polish-ease), border-color .24s var(--polish-ease),
              background-color .24s var(--polish-ease), transform .24s var(--polish-ease) !important;
}
html[data-theme="light"] .project-card,
html[data-theme="light"] .focus-card,
html[data-theme="light"] .collab-card,
html[data-theme="light"] .coverage-card,
html[data-theme="light"] .contact-card,
html[data-theme="light"] .contact-direct,
html[data-theme="light"] .recognition-card,
html[data-theme="light"] .experience-strip article {
  box-shadow: 5px 6px 14px rgba(71,82,75,.105), -4px -4px 12px rgba(255,255,255,.72) !important;
}
html[data-theme="dark"] .project-card,
html[data-theme="dark"] .focus-card,
html[data-theme="dark"] .collab-card,
html[data-theme="dark"] .coverage-card,
html[data-theme="dark"] .contact-card,
html[data-theme="dark"] .contact-direct,
html[data-theme="dark"] .recognition-card,
html[data-theme="dark"] .experience-strip article {
  box-shadow: 5px 6px 14px rgba(0,0,0,.23), -3px -3px 9px rgba(255,255,255,.018) !important;
}
html[data-theme="light"] :is(.project-card, .focus-card, .collab-card, .coverage-card, .contact-card, .contact-direct, .recognition-card):hover {
  box-shadow: 7px 8px 17px rgba(71,82,75,.13), -4px -4px 12px rgba(255,255,255,.76) !important;
}
html[data-theme="dark"] :is(.project-card, .focus-card, .collab-card, .coverage-card, .contact-card, .contact-direct, .recognition-card):hover {
  box-shadow: 7px 8px 17px rgba(0,0,0,.28), -3px -3px 9px rgba(255,255,255,.022) !important;
}
/* Keep accent color in borders and small details, not broad glowing shadows. */
.project-card--open:hover, .project-card--moneylog:hover, .project-card--opensoccer:hover,
.project-meta span.project-meta--important {
  filter: none !important;
}
.project-meta span.project-meta--important {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 2px 5px rgba(20,35,29,.07) !important;
}

/* Make the archive CTA read as a raised control, still in the same-family neumorphic palette. */
.project-actions .project-details-button {
  position: relative;
  isolation: isolate;
  min-height: 46px;
  padding: 0 19px;
  border: 1px solid rgba(99,119,108,.42) !important;
  border-radius: 13px !important;
  background: linear-gradient(145deg,#f5f7f4,#e2e8e3) !important;
  color: #24332b !important;
  box-shadow: 6px 7px 13px rgba(61,76,67,.19), -4px -4px 10px rgba(255,255,255,.82), inset 0 1px 0 rgba(255,255,255,.78) !important;
  transform: translateY(-1px);
}
.project-actions .project-details-button span,
.project-actions .project-details-button b { color: #24332b !important; }
.project-actions .project-details-button:hover {
  border-color: rgba(73,102,87,.6) !important;
  background: linear-gradient(145deg,#fbfcfa,#e7eee9) !important;
  box-shadow: 8px 9px 16px rgba(61,76,67,.22), -4px -4px 11px rgba(255,255,255,.9), inset 0 1px 0 rgba(255,255,255,.86) !important;
  transform: translateY(-2px);
}
.project-actions .project-details-button:active {
  transform: translateY(0) scale(.99);
  box-shadow: inset 3px 3px 7px rgba(61,76,67,.16), inset -3px -3px 7px rgba(255,255,255,.75) !important;
}
html[data-theme="dark"] .project-actions .project-details-button {
  border-color: #465650 !important;
  background: linear-gradient(145deg,#26322e,#1b2421) !important;
  color: #edf5f0 !important;
  box-shadow: 6px 7px 13px rgba(0,0,0,.34), -3px -3px 9px rgba(255,255,255,.035), inset 0 1px 0 rgba(255,255,255,.045) !important;
}
html[data-theme="dark"] .project-actions .project-details-button span,
html[data-theme="dark"] .project-actions .project-details-button b { color: #edf5f0 !important; }
html[data-theme="dark"] .project-actions .project-details-button:hover {
  background: linear-gradient(145deg,#2c3934,#202b27) !important;
  border-color: #5b7066 !important;
  box-shadow: 8px 9px 16px rgba(0,0,0,.39), -3px -3px 9px rgba(255,255,255,.04), inset 0 1px 0 rgba(255,255,255,.055) !important;
}
html[data-theme="dark"] .project-actions .project-details-button:active {
  box-shadow: inset 3px 3px 7px rgba(0,0,0,.28), inset -2px -2px 6px rgba(255,255,255,.025) !important;
}

/* Project archive metadata: distinct but related identities. Alternating soft-clay,
   inset, cool-outline and raised-chip treatments; important tags keep their accent. */
.project-detail .project-meta span:not(.project-meta--important) {
  position: relative;
  border-radius: 7px !important;
  min-height: 28px;
  padding: 7px 10px 6px !important;
  letter-spacing: .115em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.42), 0 2px 4px rgba(25,35,30,.045) !important;
  transform: none !important;
}
.project-detail .project-meta span:not(.project-meta--important):nth-child(4n+1) {
  background: linear-gradient(145deg,#e6eee9,#d7e2dc) !important;
  color: #29463a !important;
  border-color: #c2d2c8 !important;
  border-radius: 9px 6px 9px 6px !important;
}
.project-detail .project-meta span:not(.project-meta--important):nth-child(4n+2) {
  background: #edf0f2 !important;
  color: #344650 !important;
  border-color: #cbd5da !important;
  box-shadow: inset 2px 2px 4px rgba(79,96,105,.09), inset -2px -2px 4px rgba(255,255,255,.82) !important;
  border-radius: 999px !important;
}
.project-detail .project-meta span:not(.project-meta--important):nth-child(4n+3) {
  background: linear-gradient(145deg,#f1e9df,#e6d9ca) !important;
  color: #594330 !important;
  border-color: #d8c6b3 !important;
  border-radius: 6px 10px 6px 10px !important;
}
.project-detail .project-meta span:not(.project-meta--important):nth-child(4n) {
  background: transparent !important;
  color: #4a5d54 !important;
  border: 1px dashed #aebeb4 !important;
  box-shadow: none !important;
  border-radius: 5px !important;
}
html[data-theme="dark"] .project-detail .project-meta span:not(.project-meta--important),
.detail-dark .project-meta span:not(.project-meta--important),
.opensoccerbot-project .project-meta span:not(.project-meta--important) {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 2px 5px rgba(0,0,0,.12) !important;
}
html[data-theme="dark"] .project-detail .project-meta span:not(.project-meta--important):nth-child(4n+1),
.detail-dark .project-meta span:not(.project-meta--important):nth-child(4n+1),
.opensoccerbot-project .project-meta span:not(.project-meta--important):nth-child(4n+1) {
  background: linear-gradient(145deg,#263b33,#1c2d27) !important; color: #d9f0e4 !important; border-color: #3b5b4d !important;
}
html[data-theme="dark"] .project-detail .project-meta span:not(.project-meta--important):nth-child(4n+2),
.detail-dark .project-meta span:not(.project-meta--important):nth-child(4n+2),
.opensoccerbot-project .project-meta span:not(.project-meta--important):nth-child(4n+2) {
  background: #263238 !important; color: #dcebf0 !important; border-color: #435860 !important;
  box-shadow: inset 2px 2px 4px rgba(0,0,0,.19), inset -2px -2px 4px rgba(255,255,255,.025) !important;
}
html[data-theme="dark"] .project-detail .project-meta span:not(.project-meta--important):nth-child(4n+3),
.detail-dark .project-meta span:not(.project-meta--important):nth-child(4n+3),
.opensoccerbot-project .project-meta span:not(.project-meta--important):nth-child(4n+3) {
  background: linear-gradient(145deg,#3a3028,#2c251f) !important; color: #f0dfcf !important; border-color: #66513e !important;
}
html[data-theme="dark"] .project-detail .project-meta span:not(.project-meta--important):nth-child(4n),
.detail-dark .project-meta span:not(.project-meta--important):nth-child(4n),
.opensoccerbot-project .project-meta span:not(.project-meta--important):nth-child(4n) {
  background: transparent !important; color: #c1d1ca !important; border: 1px dashed #52665c !important; box-shadow: none !important;
}
.project-detail .project-meta span.project-meta--important {
  border-radius: 999px !important;
  padding-inline: 12px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 3px 7px rgba(0,80,58,.10) !important;
}

@media (prefers-reduced-motion: reduce) {
  .project-card, .focus-card, .collab-card, .coverage-card, .contact-card,
  .contact-direct, .recognition-card, .experience-strip article,
  .project-details-button, .project-more { transition: none !important; }
}

/* v4 focused fix: remove the pale halo around the closed/open navigation drawer.
   Keep depth from a single diffuse shadow instead of a white neumorphic highlight. */
.navigation-drawer {
  box-shadow: 0 18px 44px rgba(0, 0, 0, .24) !important;
  filter: none !important;
}
html[data-theme="light"] .navigation-drawer {
  box-shadow: 0 18px 44px rgba(35, 49, 42, .17) !important;
}
html[data-theme="dark"] .navigation-drawer {
  box-shadow: 0 18px 44px rgba(0, 0, 0, .34) !important;
}
/* The scrolled header divider is neutral, not a white luminous edge. */
.site-navbar.is-scrolled {
  box-shadow: 0 1px 0 rgba(0, 0, 0, .18) !important;
}

/* v4 tag legibility: unique clay/inset/outline identities with explicit paired
   colors for each site theme. These theme-scoped rules intentionally supersede
   section-name styles that could otherwise leave light text on a light surface. */
.project-detail .project-meta span:not(.project-meta--important) {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  max-width: 100%;
  line-height: 1.45;
  overflow-wrap: anywhere;
  box-shadow: 0 2px 5px rgba(20, 32, 26, .07) !important;
}
html[data-theme="light"] .project-detail .project-meta span:not(.project-meta--important):nth-child(4n+1) {
  background: linear-gradient(145deg, #e7efe9, #dce8e0) !important;
  color: #244536 !important;
  border: 1px solid #b9cdbf !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 2px 5px rgba(30,54,42,.07) !important;
}
html[data-theme="light"] .project-detail .project-meta span:not(.project-meta--important):nth-child(4n+2) {
  background: #e6edf2 !important;
  color: #2c4350 !important;
  border: 1px solid #c0ced7 !important;
  box-shadow: inset 2px 2px 4px rgba(65,83,94,.07), inset -2px -2px 4px rgba(255,255,255,.72) !important;
  border-radius: 999px !important;
}
html[data-theme="light"] .project-detail .project-meta span:not(.project-meta--important):nth-child(4n+3) {
  background: linear-gradient(145deg, #f2e8dd, #eadccf) !important;
  color: #59412f !important;
  border: 1px solid #d9c5b2 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.62), 0 2px 5px rgba(68,48,31,.06) !important;
}
html[data-theme="light"] .project-detail .project-meta span:not(.project-meta--important):nth-child(4n) {
  background: #e8eeea !important;
  color: #34493e !important;
  border: 1px dashed #aebfb4 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55) !important;
  border-radius: 5px !important;
}
html[data-theme="dark"] .project-detail .project-meta span:not(.project-meta--important):nth-child(4n+1) {
  background: linear-gradient(145deg, #263e33, #20352c) !important;
  color: #e0f3e8 !important;
  border: 1px solid #466858 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 2px 5px rgba(0,0,0,.16) !important;
}
html[data-theme="dark"] .project-detail .project-meta span:not(.project-meta--important):nth-child(4n+2) {
  background: #263943 !important;
  color: #e4f1f6 !important;
  border: 1px solid #4b626e !important;
  box-shadow: inset 2px 2px 4px rgba(0,0,0,.16), inset -2px -2px 4px rgba(255,255,255,.025) !important;
  border-radius: 999px !important;
}
html[data-theme="dark"] .project-detail .project-meta span:not(.project-meta--important):nth-child(4n+3) {
  background: linear-gradient(145deg, #43352a, #382c23) !important;
  color: #f6e8d9 !important;
  border: 1px solid #725b47 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 2px 5px rgba(0,0,0,.18) !important;
}
html[data-theme="dark"] .project-detail .project-meta span:not(.project-meta--important):nth-child(4n) {
  background: #2d3b35 !important;
  color: #e0eee6 !important;
  border: 1px dashed #6a8275 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
  border-radius: 5px !important;
}
html[data-theme="light"] .project-detail .project-meta span.project-meta--important {
  background: linear-gradient(145deg, #d8f0e4, #c9e8d8) !important;
  color: #153f2e !important;
  border: 1px solid #77ad91 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 2px 6px rgba(24,74,50,.09) !important;
}
html[data-theme="dark"] .project-detail .project-meta span.project-meta--important {
  background: linear-gradient(145deg, #1b4638, #153a2f) !important;
  color: #d7ffed !important;
  border: 1px solid #4f9a7a !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 2px 6px rgba(0,0,0,.18) !important;
}
html[data-theme="light"] .project-detail .project-meta span:not(.project-meta--important):hover {
  filter: brightness(.985);
  box-shadow: 0 3px 7px rgba(20,32,26,.09) !important;
}
html[data-theme="dark"] .project-detail .project-meta span:not(.project-meta--important):hover {
  filter: brightness(1.08);
  box-shadow: 0 3px 7px rgba(0,0,0,.22) !important;
}

