/* === TECHNO THEME === */

:root {
  --neon-cyan: #00fff2;
  --neon-magenta: #ff00e5;
  --neon-blue: #0080ff;
  --dark-bg: #0a0a0f;
  --dark-surface: #12121a;
}

/* Dark mode overrides */
[data-md-color-scheme="slate"] {
  --md-default-bg-color: var(--dark-bg);
  --md-default-fg-color: #c8c8d0;
  --md-primary-fg-color: #0a0a0f;
  --md-primary-bg-color: var(--neon-cyan);
  --md-accent-fg-color: var(--neon-cyan);
  --md-typeset-a-color: var(--neon-cyan);
}

/* Header bar */
[data-md-color-scheme="slate"] .md-header {
  background: linear-gradient(90deg, #0a0a0f 0%, #0d0d1a 50%, #0a0a0f 100%);
  border-bottom: 1px solid rgba(0, 255, 242, 0.15);
}

/* Nav tabs glow */
[data-md-color-scheme="slate"] .md-tabs {
  background: var(--dark-bg);
  border-bottom: 1px solid rgba(0, 255, 242, 0.1);
}

[data-md-color-scheme="slate"] .md-tabs__link--active {
  border-bottom: 2px solid;
  border-image: linear-gradient(90deg, var(--neon-cyan), var(--neon-magenta)) 1;
}

/* Code blocks — neon border + dark background */
[data-md-color-scheme="slate"] .highlight pre {
  background: var(--dark-surface) !important;
  border-left: 3px solid;
  border-image: linear-gradient(180deg, var(--neon-cyan), var(--neon-magenta), var(--neon-blue)) 1;
  box-shadow: 0 0 15px rgba(0, 255, 242, 0.06), inset 0 0 30px rgba(0, 0, 0, 0.3);
}

/* Inline code */
[data-md-color-scheme="slate"] code:not(.highlight code) {
  background: rgba(0, 255, 242, 0.08);
  border: 1px solid rgba(0, 255, 242, 0.12);
  border-radius: 3px;
  padding: 0.15em 0.4em;
  color: var(--neon-cyan);
  font-weight: 500;
}

/* Links */
[data-md-color-scheme="slate"] .md-typeset a {
  color: var(--neon-cyan);
  text-shadow: 0 0 8px rgba(0, 255, 242, 0.2);
  transition: all 0.3s ease;
}

[data-md-color-scheme="slate"] .md-typeset a:hover {
  color: var(--neon-magenta);
  text-shadow: 0 0 12px rgba(255, 0, 229, 0.4);
}

/* Search glow */
[data-md-color-scheme="slate"] .md-search__input:focus {
  box-shadow: 0 0 0 2px rgba(0, 255, 242, 0.3),
              0 0 20px rgba(0, 255, 242, 0.1);
}

/* Table headers */
[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background: rgba(0, 255, 242, 0.06);
  border-bottom: 1px solid rgba(0, 255, 242, 0.2);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.75em;
  letter-spacing: 0.08em;
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) td {
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* Headings */
[data-md-color-scheme="slate"] .md-typeset h1 {
  color: #fff;
  text-shadow: 0 0 20px rgba(0, 255, 242, 0.15);
}

[data-md-color-scheme="slate"] .md-typeset h2 {
  color: #e0e0e8;
  border-bottom: 1px solid rgba(0, 255, 242, 0.1);
  padding-bottom: 0.3em;
}

[data-md-color-scheme="slate"] .md-typeset h3 {
  color: var(--neon-cyan);
}

/* Admonitions */
[data-md-color-scheme="slate"] .md-typeset .admonition.tip,
[data-md-color-scheme="slate"] .md-typeset details.tip {
  border-left-color: var(--neon-cyan);
  background: rgba(0, 255, 242, 0.03);
}

[data-md-color-scheme="slate"] .md-typeset .admonition.warning,
[data-md-color-scheme="slate"] .md-typeset details.warning {
  border-left-color: var(--neon-magenta);
  background: rgba(255, 0, 229, 0.03);
}

/* Tabbed content */
[data-md-color-scheme="slate"] .md-typeset .tabbed-labels > label.tabbed-alternate:hover {
  color: var(--neon-cyan);
}

[data-md-color-scheme="slate"] .md-typeset .tabbed-labels > .tabbed-alternate[checked] {
  border-color: var(--neon-cyan);
}

/* Sidebar navigation */
[data-md-color-scheme="slate"] .md-nav__link:hover {
  color: var(--neon-cyan);
}

[data-md-color-scheme="slate"] .md-nav__link--active {
  color: var(--neon-cyan) !important;
}

/* Scrollbar */
[data-md-color-scheme="slate"] ::-webkit-scrollbar {
  width: 6px;
}

[data-md-color-scheme="slate"] ::-webkit-scrollbar-track {
  background: var(--dark-bg);
}

[data-md-color-scheme="slate"] ::-webkit-scrollbar-thumb {
  background: rgba(0, 255, 242, 0.2);
  border-radius: 3px;
}

[data-md-color-scheme="slate"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 255, 242, 0.4);
}

/* MathJax */
[data-md-color-scheme="slate"] .MathJax {
  color: var(--neon-cyan) !important;
}

/* === Light mode fallbacks === */

.highlight pre {
  border-left: 3px solid;
  border-image: linear-gradient(180deg, #0080ff, #6200ea) 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

code:not(.highlight code) {
  background: rgba(0, 128, 255, 0.06);
  border-radius: 3px;
  padding: 0.15em 0.4em;
  font-weight: 500;
}

.md-typeset table:not([class]) th {
  background: rgba(0, 128, 255, 0.06);
  font-weight: 600;
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}
