/* Matrix/Hacker Theme - Green on Black Terminal Aesthetic */
body.matrix-mode {
  --border: #00ff00;        /* Matrix green */
  --panel: #001100;         /* Very dark green */
  --btn-bg: #001100;        /* Dark green panel */
  --btn-fg: #00ff00;        /* Bright Matrix green */
  --muted: #00aa00;         /* Medium green */
  --input-bg: #000000;      /* Pure black */
  --btn-hover-bg: #003300;  /* Darker green hover */
  --btn-hover-border: #00ff00; /* Bright green border */

  background-color: #000000; /* Pure black background */
  color: #00ff00;             /* Matrix green text */
  font-family: 'Courier New', 'Monaco', 'Lucida Console', monospace;
  letter-spacing: 0.5px;
}

/* Links */
body.matrix-mode a {
  color: #00ffff; /* Cyan for links */
}

/* Muted text */
body.matrix-mode .muted {
  color: var(--muted);
}

/* Form elements */
body.matrix-mode select {
  background: var(--panel);
  color: var(--btn-fg);
  border: 1px solid var(--border);
}

body.matrix-mode #networkName {
  background: #001100;
  color: #00ff00;
  border: 1px solid var(--border);
  text-shadow: 0 0 5px #00ff00;
}

/* Header controls */
body.matrix-mode .wallet-reveal-btn {
  background: var(--panel);
  color: var(--btn-fg);
  border-color: var(--border);
  box-shadow: 0 0 3px #00ff00;
}

body.matrix-mode .menu-toggle {
  background: var(--panel);
  color: var(--btn-fg);
  border-color: var(--border);
  box-shadow: 0 0 3px #00ff00;
}

body.matrix-mode .menu-panel {
  background: var(--panel);
  border-color: var(--border);
  box-shadow: 0 15px 35px rgba(0, 255, 0, 0.3);
}

body.matrix-mode .menu-title {
  color: var(--muted);
}

/* Chips/Filter buttons */
body.matrix-mode .chip {
  background-color: #001100;
  border-color: #00aa00;
  color: #00ff00;
  text-shadow: 0 0 3px #00ff00;
}

body.matrix-mode .chip:hover {
  background-color: #003300;
  box-shadow: 0 0 5px #00ff00;
}

body.matrix-mode .chip.active {
  background-color: #00ff00;
  color: #000000;
  border-color: #00ff00;
  box-shadow: 0 0 8px #00ff00;
}

/* Progress container */
body.matrix-mode #progressContainer {
  background: #001100;
  border-color: #00ff00;
  color: #00ff00;
  box-shadow: 0 0 10px rgba(0, 255, 0, 0.2);
}

body.matrix-mode #progressContainer #scanTypeLine {
  color: #00ff00;
  text-shadow: 0 0 3px #00ff00;
}

body.matrix-mode #progressContainer #etrText {
  color: #00ff00;
}

/* Ensure ALL elements inside progressContainer have matching background */
body.matrix-mode #progressContainer * {
  background: #001100 !important;
}

body.matrix-mode #tokenProgressText,
body.matrix-mode #addressProgressText,
body.matrix-mode #addressProgressContainer,
body.matrix-mode #tokenProgressContainer,
body.matrix-mode #scanTypeLine,
body.matrix-mode #etrText,
body.matrix-mode #rpcStatus {
  background: #001100 !important;
}

/* Remove borders from progress text elements */
body.matrix-mode #tokenProgressText,
body.matrix-mode #addressProgressText,
body.matrix-mode #rpcStatus {
  border: none !important;
}

/* Progress bar */
body.matrix-mode #tokenProgressBar {
  background: #003300;
  color: #00ff00;
  box-shadow: 0 0 5px #00ff00;
}

/* Enhanced modal styling for matrix theme */
body.matrix-mode .modal-content {
  background: var(--panel, #001100);
  color: var(--btn-fg, #00ff00);
  border: 1px solid var(--border, #00ff00);
  box-shadow: 0 10px 30px rgba(0, 255, 0, 0.5);
}

/* Modal buttons in matrix theme */
body.matrix-mode .modal-actions button {
  background: var(--btn-bg, #001100);
  color: var(--btn-fg, #00ff00);
  border: 1px solid var(--border, #00ff00);
  font-family: inherit;
  text-shadow: 0 0 3px #00ff00;
}

body.matrix-mode .modal-actions button:hover {
  background: var(--btn-hover-bg, #003300);
  border-color: var(--btn-hover-border, #00ff00);
  box-shadow: 0 0 5px #00ff00;
}

body.matrix-mode .modal-actions button.secondary {
  background: transparent;
  color: var(--muted, #00aa00);
}

/* Modal text elements in matrix theme */
body.matrix-mode .modal-content h3 {
  color: var(--btn-fg, #00ff00);
  font-family: inherit;
  text-shadow: 0 0 3px #00ff00;
}

body.matrix-mode .modal-content p {
  color: var(--btn-fg, #00ff00);
  font-family: inherit;
}

/* Onboarding modal specific styling for matrix theme */
body.matrix-mode .onboarding-step {
  background: rgba(0, 255, 0, 0.05);
  border-left-color: var(--accent-color, #00ff00);
}

body.matrix-mode .step-content strong {
  color: var(--btn-fg, #00ff00);
  font-family: inherit;
  text-shadow: 0 0 2px #00ff00;
}

body.matrix-mode .step-detail {
  color: var(--muted, #00aa00);
  font-family: inherit;
}

body.matrix-mode .onboarding-footer {
  border-top-color: rgba(0, 255, 0, 0.2);
}

/* Site footer */
body.matrix-mode .site-footer {
  border-top-color: #00aa00;
  color: #00ff00;
}

/* Markdown content */
body.matrix-mode .markdown-body pre {
  background: #000000;
  color: #00ff00;
  border: 1px solid #00aa00;
}

/* Tabulator table styling */
body.matrix-mode .tabulator {
  background-color: #000000;
  color: #00ff00;
}

body.matrix-mode .tabulator .tabulator-header {
  background-color: var(--panel);
  color: #00ff00;
  border-color: var(--border);
}

body.matrix-mode .tabulator .tabulator-header .tabulator-col {
  background: transparent;
  color: #00ff00;
  border-right: 1px solid var(--border);
}

body.matrix-mode .tabulator .tabulator-header .tabulator-col:last-child {
  border-right: none;
}

body.matrix-mode .tabulator .tabulator-header .tabulator-col .tabulator-col-title {
  color: #00ff00;
  font-weight: 600;
  text-shadow: 0 0 3px #00ff00;
}

body.matrix-mode .tabulator .tabulator-header .tabulator-col.tabulator-sortable:hover {
  background: rgba(0, 255, 0, 0.1);
}

body.matrix-mode .tabulator .tabulator-header .tabulator-col.tabulator-col-sorted {
  background: rgba(0, 255, 0, 0.15);
}

body.matrix-mode .tabulator .tabulator-header .tabulator-col .tabulator-sorter .tabulator-sorter-element {
  border-bottom-color: #00ff00;
}

body.matrix-mode .tabulator .tabulator-header .tabulator-col[aria-sort="desc"] .tabulator-sorter .tabulator-sorter-element {
  border-top-color: #00ff00;
}

body.matrix-mode .tabulator .tabulator-header .tabulator-header-filter select {
  background: #000000;
  color: #00ff00;
  border: 1px solid var(--border);
  border-radius: 0; /* Sharp corners for terminal look */
}

body.matrix-mode .tabulator .tabulator-header .tabulator-header-filter input::placeholder {
  color: #00aa00;
}

body.matrix-mode .tabulator .tabulator-cell {
  background-color: #000000;
  color: #00ff00;
  border-color: #003300;
}

body.matrix-mode .tabulator .tabulator-footer {
  background-color: #001100;
  color: #00ff00;
  border-color: var(--border);
}

/* Color scheme */
body.matrix-mode {
  color-scheme: dark;
}

/* Summary display */
body.matrix-mode #stakeRegularPerAddressSummary {
  color: #00ff00;
}

/* Mobile tooltip */
body.matrix-mode #mobile-tooltip {
  background: #001100;
  color: #00ff00;
  border-color: #00ff00;
  box-shadow: 0 0 10px rgba(0, 255, 0, 0.5);
}

/* Form selects */
body.matrix-mode #resetDbSelect,
body.matrix-mode #mintAction {
  background: var(--input-bg, #000000);
  color: #00ff00;
  border-color: var(--border);
}

body.matrix-mode #resetDbSelect option,
body.matrix-mode #mintAction option {
  background: #000000;
  color: #00ff00;
}

/* Summary container */
body.matrix-mode #summaryContainer {
  background-color: #001100;
  border-color: #00ff00;
  color: #00ff00;
  box-shadow: 0 0 10px rgba(0, 255, 0, 0.2);
}

/* Settings styling */
body.matrix-mode #tab-settings .field select {
  background: var(--input-bg);
}

body.matrix-mode #tab-settings .settings-card.danger {
  background: var(--input-bg);
}

/* Danger card styling */
body.matrix-mode .settings-card.danger h3 {
  color: #ff0000; /* Red for danger in matrix theme */
  text-shadow: 0 0 3px #ff0000;
}

/* General button styling for matrix theme */
body.matrix-mode button {
  background: var(--btn-bg, #001100);
  color: var(--btn-fg, #00ff00);
  border: 1px solid var(--border, #00ff00);
  font-family: inherit;
  text-shadow: 0 0 3px #00ff00;
  border-radius: 0; /* Sharp corners for terminal look */
}

body.matrix-mode button:hover {
  background: var(--btn-hover-bg, #003300);
  border-color: var(--btn-hover-border, #00ff00);
  box-shadow: 0 0 5px #00ff00;
}

/* Connect Wallet button */
body.matrix-mode #connectWalletBtn {
  background: var(--btn-bg, #001100);
  color: var(--btn-fg, #00ff00);
  border: 1px solid var(--border, #00ff00);
  font-family: inherit;
  text-shadow: 0 0 3px #00ff00;
  border-radius: 0;
  padding: 8px 16px;
}

body.matrix-mode #connectWalletBtn:hover {
  background: var(--btn-hover-bg, #003300);
  border-color: var(--btn-hover-border, #00ff00);
  box-shadow: 0 0 8px #00ff00;
}

/* Set Max Term button in mint tab */
body.matrix-mode #tab-mint #btnSetMaxTerm {
  background: var(--btn-bg, #001100);
  color: var(--btn-fg, #00ff00);
  border: 1px solid var(--border, #00ff00);
  font-family: inherit;
  text-shadow: 0 0 3px #00ff00;
  border-radius: 0;
}

body.matrix-mode #tab-mint #btnSetMaxTerm:hover {
  background: var(--btn-hover-bg, #003300);
  border-color: var(--btn-hover-border, #00ff00);
  box-shadow: 0 0 5px #00ff00;
}

/* Get Balance button */
body.matrix-mode #tab-mint #btnStakeGetBalance {
  background: var(--btn-bg, #001100);
  color: var(--btn-fg, #00ff00);
  border: 1px solid var(--border, #00ff00);
  font-family: inherit;
  text-shadow: 0 0 3px #00ff00;
  border-radius: 0;
}

body.matrix-mode #tab-mint #btnStakeGetBalance:hover {
  background: var(--btn-hover-bg, #003300);
  border-color: var(--btn-hover-border, #00ff00);
  box-shadow: 0 0 5px #00ff00;
}

/* Secondary buttons */
body.matrix-mode .btn-secondary {
  background: transparent;
  color: var(--muted, #00aa00);
  border: 1px solid var(--muted, #00aa00);
  font-family: inherit;
  border-radius: 0;
}

body.matrix-mode .btn-secondary:hover {
  background: rgba(0, 170, 0, 0.1);
  color: var(--btn-fg, #00ff00);
  border-color: var(--btn-fg, #00ff00);
  text-shadow: 0 0 3px #00ff00;
}

/* Mint/Stake action buttons */
body.matrix-mode .btn-mint,
body.matrix-mode #startMintBtn,
body.matrix-mode #startStakeBtn {
  background: var(--border, #00ff00);
  color: #000000;
  border: 1px solid var(--border, #00ff00);
  font-family: inherit;
  font-weight: 700;
  text-shadow: none;
  border-radius: 0;
  box-shadow: 0 0 10px #00ff00;
}

body.matrix-mode .btn-mint:hover,
body.matrix-mode #startMintBtn:hover,
body.matrix-mode #startStakeBtn:hover {
  background: #00cc00;
  color: #000000;
  border-color: #00cc00;
  box-shadow: 0 0 15px #00ff00;
}

/* Download and action buttons */
body.matrix-mode #downloadBtn,
body.matrix-mode #downloadJsonBtn,
body.matrix-mode #cancelScanBtn,
body.matrix-mode #importRpcBtn,
body.matrix-mode #refreshXenPriceBtn,
body.matrix-mode #refreshCrankBtn,
body.matrix-mode #exportBackupBtn,
body.matrix-mode #importBackupBtn,
body.matrix-mode #resetBtn {
  background: var(--btn-bg, #001100);
  color: var(--btn-fg, #00ff00);
  border: 1px solid var(--border, #00ff00);
  font-family: inherit;
  text-shadow: 0 0 3px #00ff00;
  border-radius: 0;
}

body.matrix-mode #downloadBtn:hover,
body.matrix-mode #downloadJsonBtn:hover,
body.matrix-mode #cancelScanBtn:hover,
body.matrix-mode #importRpcBtn:hover,
body.matrix-mode #refreshXenPriceBtn:hover,
body.matrix-mode #refreshCrankBtn:hover,
body.matrix-mode #exportBackupBtn:hover,
body.matrix-mode #importBackupBtn:hover,
body.matrix-mode #resetBtn:hover {
  background: var(--btn-hover-bg, #003300);
  border-color: var(--btn-hover-border, #00ff00);
  box-shadow: 0 0 5px #00ff00;
}

/* Chart toggle buttons */
body.matrix-mode #vmuChartToggle,
body.matrix-mode #vmuChartModeVMUs,
body.matrix-mode #vmuChartModeUSD {
  background: var(--btn-bg, #001100);
  color: var(--btn-fg, #00ff00);
  border: 1px solid var(--border, #00ff00);
  font-family: inherit;
  text-shadow: 0 0 2px #00ff00;
  border-radius: 0;
}

body.matrix-mode #vmuChartModeVMUs.active,
body.matrix-mode #vmuChartModeUSD.active {
  background: var(--border, #00ff00);
  color: #000000;
  box-shadow: 0 0 8px #00ff00;
  text-shadow: none;
}

body.matrix-mode #vmuChartToggle:hover,
body.matrix-mode #vmuChartModeVMUs:hover,
body.matrix-mode #vmuChartModeUSD:hover {
  background: var(--btn-hover-bg, #003300);
  border-color: var(--btn-hover-border, #00ff00);
  box-shadow: 0 0 5px #00ff00;
}

/* Center Calendar button */
body.matrix-mode #centerCalendarBtn {
  background: transparent;
  color: var(--muted, #00aa00);
  border: 1px solid var(--muted, #00aa00);
  font-family: inherit;
  border-radius: 0;
}

body.matrix-mode #centerCalendarBtn:hover {
  background: rgba(0, 170, 0, 0.1);
  color: var(--btn-fg, #00ff00);
  border-color: var(--btn-fg, #00ff00);
  text-shadow: 0 0 3px #00ff00;
}

/* Button-like elements */
body.matrix-mode .button-like {
  background: var(--btn-bg, #001100);
  color: var(--btn-fg, #00ff00);
  text-shadow: 0 0 3px #00ff00;
  border-radius: 0;
}

body.matrix-mode .button-like:hover {
  background: var(--btn-hover-bg, #003300);
  border-color: var(--btn-hover-border, #00ff00);
  box-shadow: 0 0 5px #00ff00;
}

/* Split scan controls */
body.matrix-mode .split-scan {
  border-color: var(--border);
}

body.matrix-mode .split-scan .btn {
  background: var(--btn-bg);
  color: var(--btn-fg);
}

body.matrix-mode .split-scan .split-caret {
  border-left-color: var(--border);
}

body.matrix-mode .split-scan .scan-badge {
  background: #000000;
  color: #00ff00;
}

body.matrix-mode .split-scan .menu {
  background: var(--panel);
  color: #00ff00;
  border-color: var(--border);
  box-shadow: 0 8px 20px rgba(0, 255, 0, 0.4);
}

body.matrix-mode .split-scan .menu li:hover {
  background: rgba(0, 255, 0, 0.1);
}

/* Calendar XEN total styling */
body.matrix-mode #calendar-xen-total #estXenUsd {
  color: #00ffff; /* Cyan for USD value */
  font-weight: 600;
  text-shadow: 0 0 3px #00ffff;
}

/* Settings card content alignment */
body.matrix-mode .settings-card {
  text-align: left;
}

body.matrix-mode .settings-card h3,
body.matrix-mode .settings-card p,
body.matrix-mode .settings-card label,
body.matrix-mode .field {
  text-align: left;
}

/* Settings card buttons alignment */
body.matrix-mode .settings-card .button-row,
body.matrix-mode .settings-card button,
body.matrix-mode .settings-card .button-like {
  text-align: left;
}

body.matrix-mode .settings-card .button-row {
  justify-content: flex-start;
}

/* Settings grid layout consistency */
body.matrix-mode .settings-grid {
  align-items: stretch;
}

body.matrix-mode .settings-card {
  width: 100%;
  box-sizing: border-box;
}

/* Form elements consistent sizing */
body.matrix-mode .field input[type="text"],
body.matrix-mode .field input[type="password"],
body.matrix-mode .field input[type="number"],
body.matrix-mode .field textarea,
body.matrix-mode .field select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  line-height: 1.5;
  font-family: inherit;
  background: var(--input-bg);
  color: #00ff00;
  border: 1px solid var(--border);
  text-shadow: 0 0 2px #00ff00;
}

/* Matrix-specific glow effects */
body.matrix-mode input:focus,
body.matrix-mode textarea:focus,
body.matrix-mode select:focus {
  outline: none;
  box-shadow: 0 0 8px #00ff00;
  border-color: #00ff00;
}

/* Reveal buttons styling */
body.matrix-mode .reveal-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
  line-height: 1;
}

body.matrix-mode .reveal-btn {
  padding: 2px;
  color: var(--muted, #00aa00);
  font-size: inherit;
  background: transparent;
  border: none;
}

body.matrix-mode .reveal-btn:hover {
  color: var(--btn-fg, #00ff00);
  text-shadow: 0 0 3px #00ff00;
}

/* Flatpickr calendar styling for matrix theme */
body.matrix-mode .flatpickr-calendar {
  background: var(--panel, #001100);
  border: 1px solid var(--border, #00ff00);
  box-shadow: 0 0 15px rgba(0, 255, 0, 0.4);
  border-radius: 0; /* Sharp corners for terminal look */
}

body.matrix-mode .flatpickr-months {
  background: var(--panel, #001100);
  border-bottom: 1px solid var(--border, #00ff00);
}

body.matrix-mode .flatpickr-current-month {
  color: var(--btn-fg, #00ff00);
  font-family: inherit;
  text-shadow: 0 0 3px #00ff00;
}

body.matrix-mode .flatpickr-current-month .numInputWrapper {
  color: var(--btn-fg, #00ff00);
}

body.matrix-mode .flatpickr-current-month input {
  background: transparent;
  color: var(--btn-fg, #00ff00);
  border: none;
  font-family: inherit;
  text-shadow: 0 0 3px #00ff00;
}

body.matrix-mode .flatpickr-weekdays {
  background: var(--input-bg, #000000);
  color: var(--muted, #00aa00);
  border-bottom: 1px solid var(--border, #00ff00);
}

body.matrix-mode .flatpickr-weekday {
  color: var(--muted, #00aa00);
  font-family: inherit;
  text-transform: uppercase;
  font-weight: 600;
}

body.matrix-mode .flatpickr-days {
  background: var(--input-bg, #000000);
}

body.matrix-mode .flatpickr-day {
  background: transparent;
  color: var(--btn-fg, #00ff00);
  border: 1px solid transparent;
  font-family: inherit;
  text-shadow: 0 0 2px #00ff00;
}

body.matrix-mode .flatpickr-day:hover {
  background: rgba(0, 255, 0, 0.1);
  border-color: var(--border, #00ff00);
  box-shadow: 0 0 5px rgba(0, 255, 0, 0.3);
}

body.matrix-mode .flatpickr-day.selected {
  background: var(--border, #00ff00);
  color: #000000;
  border-color: var(--border, #00ff00);
  box-shadow: 0 0 8px #00ff00;
  font-weight: 700;
}

body.matrix-mode .flatpickr-day.today {
  background: rgba(0, 255, 0, 0.2);
  color: var(--btn-fg, #00ff00);
  border-color: var(--border, #00ff00);
  box-shadow: 0 0 5px rgba(0, 255, 0, 0.4);
}

body.matrix-mode .flatpickr-day.prevMonthDay,
body.matrix-mode .flatpickr-day.nextMonthDay {
  color: var(--muted, #00aa00);
  opacity: 0.5;
}

body.matrix-mode .flatpickr-months .flatpickr-month {
  color: var(--btn-fg, #00ff00);
}

body.matrix-mode .flatpickr-months .flatpickr-prev-month,
body.matrix-mode .flatpickr-months .flatpickr-next-month {
  color: var(--btn-fg, #00ff00);
  fill: var(--btn-fg, #00ff00);
}

body.matrix-mode .flatpickr-months .flatpickr-prev-month:hover,
body.matrix-mode .flatpickr-months .flatpickr-next-month:hover {
  color: var(--border, #00ff00);
  fill: var(--border, #00ff00);
  text-shadow: 0 0 5px #00ff00;
}

body.matrix-mode .flatpickr-today-btn {
  background: var(--panel, #001100);
  color: var(--btn-fg, #00ff00);
  border: 1px solid var(--border, #00ff00);
  font-family: inherit;
  text-shadow: 0 0 3px #00ff00;
  border-radius: 0;
}

body.matrix-mode .flatpickr-today-btn:hover {
  background: var(--btn-hover-bg, #003300);
  border-color: var(--btn-hover-border, #00ff00);
  box-shadow: 0 0 5px #00ff00;
}

/* Terminal-style scrollbars (webkit browsers) */
body.matrix-mode ::-webkit-scrollbar {
  width: 12px;
}

body.matrix-mode ::-webkit-scrollbar-track {
  background: #000000;
  border: 1px solid #003300;
}

body.matrix-mode ::-webkit-scrollbar-thumb {
  background: #00aa00;
  border-radius: 0;
}

body.matrix-mode ::-webkit-scrollbar-thumb:hover {
  background: #00ff00;
  box-shadow: 0 0 5px #00ff00;
}