/* ============================================
   MATRIX THEME — overrides inlined styles
   ============================================ */

:root {
  --color-primary: #00ff41;
  --color-base: #000000;
  --color-secondary: #008f11;
  --color-border: #003b00;
  --color-bg: #000000;
  --font-sans-serif: 'Courier New', Courier, monospace;
  --font-serif: 'Courier New', Courier, monospace;
  --font-mono: 'Courier New', Courier, monospace;
}

/* === BASE === */
html {
  background: #000 !important;
}

body {
  background: #000 !important;
  color: #00b33c !important;
  font-family: 'Courier New', Courier, monospace !important;
}

::selection {
  background: #00ff41 !important;
  color: #000 !important;
  text-shadow: none;
}

a {
  color: #00ff41 !important;
}

a:hover {
  color: #00ff41 !important;
  text-decoration: none !important;
  text-shadow: 0 0 8px #00ff41;
}

h1, h2, h3, h4, h5, h6 {
  color: #00ff41 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

h1 {
  text-shadow: 0 0 15px rgba(0, 255, 65, 0.5) !important;
}

hr {
  border-top-color: #003b00 !important;
}

blockquote {
  border-left-color: #00ff41 !important;
  color: #008f11 !important;
}

mark {
  background: rgba(0, 255, 65, 0.15);
  color: #00ff41;
}

/* === MATRIX RAIN CANVAS === */
#matrix-rain {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
  opacity: 0.06;
}

/* === HEADER === */
.site-head {
  background: #000 !important;
  border-bottom: 1px solid #003b00;
  box-shadow: 0 2px 25px rgba(0, 255, 65, 0.12);
}

.site-banner-title {
  color: #00ff41 !important;
  font-family: 'Courier New', Courier, monospace !important;
  text-shadow: 0 0 10px #00ff41, 0 0 30px #00ff41, 0 0 60px rgba(0, 255, 65, 0.35) !important;
  letter-spacing: 0.05em;
}

.site-banner-desc {
  color: #008f11 !important;
  font-family: 'Courier New', Courier, monospace !important;
  text-shadow: 0 0 6px #008f11;
}

/* === NAV === */
.site-nav-item {
  color: #00ff41 !important;
  opacity: 1 !important;
  font-family: 'Courier New', Courier, monospace !important;
  letter-spacing: 0.04em;
}

.site-nav-item:hover {
  text-shadow: 0 0 8px #00ff41;
  text-decoration: none !important;
}

.site-nav-button {
  color: #00ff41 !important;
  border-color: #00ff41 !important;
  opacity: 1 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

.site-nav-button:hover {
  background: rgba(0, 255, 65, 0.1) !important;
  text-decoration: none !important;
}

/* === CATEGORIES DROPDOWN === */
.site-nav-dropdown {
  display: inline-block;
  position: relative;
}

.site-nav-dropdown-toggle {
  cursor: pointer;
  user-select: none;
}

.site-nav-dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #000;
  border: 1px solid #00ff41;
  box-shadow: 0 0 25px rgba(0, 255, 65, 0.25), inset 0 0 25px rgba(0, 0, 0, 0.8);
  list-style: none;
  padding: 12px 0 4px;
  margin: 0;
  min-width: 190px;
  z-index: 200;
}

.site-nav-dropdown-menu li {
  padding: 0;
  margin: 0;
}

.site-nav-dropdown-menu li + li {
  border-top: 1px solid #001a00;
}

.site-nav-dropdown-menu a {
  display: block !important;
  padding: 8px 16px !important;
  color: #00b33c !important;
  font-family: 'Courier New', Courier, monospace !important;
  font-size: 1.3rem !important;
  text-decoration: none !important;
  text-shadow: none !important;
  letter-spacing: 0.05em;
  transition: background 0.12s, color 0.12s;
}

.site-nav-dropdown-menu a::before {
  content: '> ';
  color: #003b00;
  transition: color 0.12s;
}

.site-nav-dropdown-menu a:hover {
  background: rgba(0, 255, 65, 0.08) !important;
  color: #00ff41 !important;
  text-shadow: 0 0 6px rgba(0, 255, 65, 0.5) !important;
}

.site-nav-dropdown-menu a:hover::before {
  color: #00ff41;
}

.site-nav-dropdown.open .site-nav-dropdown-menu,
.site-nav-dropdown:hover .site-nav-dropdown-menu {
  display: block;
  animation: dropdown-appear 0.12s ease-out;
}

@keyframes dropdown-appear {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* === MAIN AREA === */
.site-main {
  background: #000 !important;
}

/* === POST CARDS === */
.post-card {
  background: #030303 !important;
  border: 1px solid #002000 !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.post-card:hover {
  border-color: #00ff41 !important;
  box-shadow: 0 0 18px rgba(0, 255, 65, 0.18) !important;
  text-decoration: none !important;
}

.post-card-title {
  color: #00ff41 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

.post-card-tags {
  color: #008f11 !important;
  font-family: 'Courier New', Courier, monospace !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.post-card-excerpt p {
  color: #006b28 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

.post-card-footer {
  color: #005500 !important;
  border-top: 1px solid #002000;
}

.post-card-footer span {
  color: #005500 !important;
}

.post-card-avatar {
  border: 1px solid #003b00;
}

/* Desaturate card images for Matrix feel */
.post-card-image {
  filter: brightness(0.65) saturate(0.3) hue-rotate(85deg);
  transition: filter 0.3s;
}

.post-card:hover .post-card-image {
  filter: brightness(0.8) saturate(0.45) hue-rotate(85deg);
}

/* === SINGLE POST === */
.post-full-content {
  background: #000 !important;
}

.content {
  color: #00b33c !important;
}

.content-body {
  color: #00b33c !important;
  font-family: 'Courier New', Courier, monospace !important;
}

.content-body h1,
.content-body h2,
.content-body h3,
.content-body h4,
.content-body h5,
.content-body h6 {
  color: #00ff41 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

.content-body h5 {
  color: #00ff41 !important;
  font-style: normal !important;
  text-shadow: 0 0 10px rgba(0, 255, 65, 0.4);
}

.content-body pre {
  background: #050505 !important;
  border: 1px solid #003b00;
  color: #00ff41 !important;
}

.post-feature-image img {
  filter: brightness(0.75) saturate(0.35) hue-rotate(85deg);
  border-bottom: 2px solid #003b00;
}

/* === TAG / AUTHOR PAGES === */
.tag-header h1 {
  color: #00ff41 !important;
}

.tag-header p {
  color: #008f11 !important;
}

.author-header h1 {
  color: #00ff41 !important;
}

.author-header p {
  color: #008f11 !important;
}

/* === PAGINATION === */
.pagination a {
  color: #00ff41 !important;
  border-color: #003b00 !important;
  font-family: 'Courier New', Courier, monospace !important;
  background: transparent !important;
}

.pagination a:hover {
  border-color: #00ff41 !important;
  background: rgba(0, 255, 65, 0.08) !important;
  text-shadow: 0 0 6px #00ff41;
}

.pagination-location,
.pagination span {
  color: #008f11 !important;
}

/* === FOOTER === */
.site-foot {
  background: #000 !important;
  border-top: 1px solid #003b00;
  color: #005500 !important;
}

.site-foot-nav a {
  color: #005500 !important;
}

.site-foot-nav a:hover {
  color: #00ff41 !important;
}

/* === INPUTS (search page) === */
input[type='search'],
input[type='text'],
input {
  background: #000 !important;
  color: #00ff41 !important;
  border: 1px solid #003b00 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

input:focus {
  border-color: #00ff41 !important;
  box-shadow: 0 0 8px rgba(0, 255, 65, 0.25) !important;
  outline: none;
}

/* === BOOKMARK CARD === */
.kg-bookmark-container {
  background: #050505 !important;
  border: 1px solid #002000 !important;
  box-shadow: none !important;
  color: #00b33c !important;
}

.kg-bookmark-container:hover {
  border-color: #00ff41 !important;
  box-shadow: 0 0 12px rgba(0, 255, 65, 0.15) !important;
}

.kg-bookmark-title {
  color: #00ff41 !important;
}

.kg-bookmark-description {
  color: #008f11 !important;
}

.kg-bookmark-author,
.kg-bookmark-publisher {
  color: #005500 !important;
}

/* === SCROLLBAR === */
::-webkit-scrollbar {
  width: 6px;
  background: #000;
}

::-webkit-scrollbar-thumb {
  background: #003b00;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: #00ff41;
}
