/* Terminal — prefers-contrast: more overrides. Lifts every muted accent in the
   default Theme G palette to readable brightness for users who flipped
   "Increase contrast" in their OS or browser. Must load AFTER every other
   partial so its single big @media block wins on cascade order. */

/* Theme G — prefers-contrast: more (OS / browser “Increase contrast”): lift muted chrome */
@media (prefers-contrast: more) {
  body {
    color: var(--terminal-init-error-fg-hi, #ffffff);
  }

  #terminal-output {
    color: var(--terminal-init-error-fg-hi, #ffffff);
  }

  #terminal-container.terminal-command-running #prompt-text {
    opacity: 1;
  }

  #terminal-container.terminal-command-running #terminal-input:disabled {
    opacity: 1;
  }

  #terminal-container.terminal-command-running #current-prompt-line::after {
    color: var(--terminal-text-hi, #e8ffe8);
  }

  #terminal-input::placeholder {
    color: var(--terminal-text-dim-hi, rgba(0, 255, 80, 0.88));
  }

  .command-exit-code {
    color: var(--terminal-text-bright, #b6f7b6);
  }

  .command-exit-code[data-exit='0'] {
    color: var(--terminal-text-ok-hi, #9ae89a);
  }

  .command-exit-code[data-exit]:not([data-exit='0']) {
    color: var(--terminal-exit-fail-hi, #ffddd6);
  }

  .command-echo-line:not(.command-echo-first) {
    border-top-color: var(--terminal-rule-hi, rgba(0, 255, 80, 0.5));
  }

  #current-prompt-line {
    border-top-color: var(--terminal-edge-strong, rgba(0, 255, 80, 0.42));
  }

  .terminal-output.stderr {
    color: var(--terminal-stderr-fg-hi, #ffded8);
    border-left-color: var(--terminal-stderr-edge-hi, rgba(255, 160, 140, 0.95));
  }

  .terminal-output.tabular {
    color: var(--terminal-init-error-fg-hi, #ffffff);
    border-left-color: var(--terminal-panel-ps-edge-hi, rgba(0, 255, 136, 0.75));
    background: var(--terminal-panel-ps-bg-hi, rgba(0, 32, 16, 0.55));
  }

  .terminal-output.man-page {
    color: var(--terminal-init-error-fg-hi, #ffffff);
    border-left-color: var(--terminal-panel-man-edge-hi, rgba(255, 210, 140, 0.9));
    background: var(--terminal-panel-man-bg-hi, rgba(48, 36, 22, 0.65));
  }

  .terminal-output.debug-dump {
    color: var(--terminal-init-error-fg-hi, #ffffff);
    border-left-color: var(--terminal-panel-debug-edge-hi, rgba(160, 220, 255, 0.95));
    background: var(--terminal-panel-debug-bg-hi, rgba(20, 36, 56, 0.72));
  }

  .terminal-output.hex-dump {
    color: var(--terminal-init-error-fg-hi, #ffffff);
    border-left-color: var(--terminal-panel-hex-edge-hi, rgba(255, 190, 120, 0.92));
    background: var(--terminal-panel-hex-bg-hi, rgba(52, 36, 14, 0.72));
  }

  .terminal-output.ping-log {
    color: var(--terminal-init-error-fg-hi, #ffffff);
    border-left-color: var(--terminal-panel-ping-edge-hi, rgba(120, 240, 220, 0.9));
    background: var(--terminal-panel-ping-bg-hi, rgba(14, 40, 44, 0.72));
  }

  .terminal-output.welcome,
  .terminal-line.terminal-output.welcome {
    border-left-color: var(--terminal-ansi-green, #00ff00);
    box-shadow: inset 0 0 0 1px var(--terminal-edge-strong, rgba(0, 255, 80, 0.42));
  }

  #terminal-output {
    scrollbar-color: var(--terminal-text-dim-2, rgba(0, 255, 80, 0.65))
      var(--terminal-modal-track, #1a1a1a);
  }

  .top-modal-subtitle {
    color: var(--terminal-text-dim-hi, rgba(0, 255, 80, 0.88));
  }

  .top-modal-refresh-hint {
    color: var(--terminal-text-dim-hi, rgba(0, 255, 80, 0.88));
    border-top-color: var(--terminal-edge-faint, rgba(0, 255, 80, 0.35));
  }

  .top-modal-footer {
    color: var(--terminal-text-dim-hi-2, rgba(0, 255, 80, 0.92));
    border-top-color: var(--terminal-focus-ring, rgba(0, 255, 80, 0.45));
  }

  .top-modal-footer-sep {
    color: var(--terminal-text-dim-2, rgba(0, 255, 80, 0.65));
  }

  .top-modal-footer kbd,
  .vi-editor-modal .vi-footer kbd,
  .less-modal .less-footer kbd,
  .terminal-session-hints kbd {
    border-color: var(--terminal-text-mute, rgba(0, 255, 80, 0.55));
    color: var(--terminal-text-soft, #c8ffc8);
  }

  .terminal-session-hints {
    color: var(--terminal-text-dim-hi, rgba(0, 255, 80, 0.88));
    border-top-color: var(--terminal-edge-strong, rgba(0, 255, 80, 0.42));
  }

  .terminal-hint-label {
    color: var(--terminal-text-dim-strong, rgba(0, 255, 80, 0.78));
  }

  .terminal-hint-sep,
  .terminal-hint-plus {
    color: var(--terminal-text-mute, rgba(0, 255, 80, 0.55));
  }

  .less-modal .less-footer .less-footer-note {
    color: var(--terminal-text-dim-hi, rgba(0, 255, 80, 0.88));
  }

  .vi-editor-modal,
  .less-modal {
    color: var(--terminal-text-hi, #e8ffe8);
  }

  .vi-editor-modal .vi-editor,
  .less-modal .less-viewer {
    border-color: var(--terminal-focus-ring, rgba(0, 255, 80, 0.45));
  }

  .vi-editor-modal .vi-header,
  .less-modal .less-header {
    border-bottom-color: var(--terminal-focus-ring, rgba(0, 255, 80, 0.45));
    color: var(--terminal-text-hi-vi, #e0ffe0);
  }

  .vi-editor-modal .vi-content,
  .less-modal .less-content {
    color: var(--terminal-text-hi, #e8ffe8);
  }

  .vi-editor-modal .vi-footer,
  .less-modal .less-footer {
    color: var(--terminal-text-dim-hi-2, rgba(0, 255, 80, 0.92));
    border-top-color: var(--terminal-focus-ring, rgba(0, 255, 80, 0.45));
  }

  .top-modal .top-output {
    color: var(--terminal-text-hi, #e8ffe8);
  }

  #terminal-output ::selection,
  #terminal-output *::selection,
  #terminal-input::selection {
    background-color: var(--terminal-selection-bg-hi, #ffffff) !important;
    color: var(--terminal-selection-fg-hi, #000000) !important;
  }

  #terminal-output ::-moz-selection,
  #terminal-output *::-moz-selection,
  #terminal-input::-moz-selection {
    background-color: var(--terminal-selection-bg-hi, #ffffff) !important;
    color: var(--terminal-selection-fg-hi, #000000) !important;
  }
}
