/* Color-only theme. Deliberately no layout, font, spacing or image geometry rules. */
:root {
  --bg: #000000;
  --surface: #0a0a0a;
  --surface-elevated: #0e0e0e;
  --border: #242424;
  --border-soft: #171717;
  --text-primary: #f3f3f3;
  --text-body: #d8d8d8;
  --text-secondary: #9b9b9b;
  --text-muted: #666666;
  --green-primary: #72d754;
  --green-soft: #6c834d;
  --green-muted: #4d6739;
  --link: #4aa3ff;
  --link-hover: #7abbff;
  --ink-950: var(--text-primary);
  --ink-900: var(--text-body);
  --ink-800: var(--text-body);
  --ink-700: var(--text-secondary);
  --ink-secondary: var(--text-secondary);
  --ink-weak: var(--text-muted);
  --border-strong: #667f4a;
  --surface-soft: #080808;
  --terminal-bg: var(--surface);
  --terminal-border: var(--border);
  --terminal-text: #d0d0d0;
  --terminal-text-secondary: #bebebe;
  --terminal-comment: #626262;
  --terminal-key: var(--green-primary);
  --terminal-value: #e2e2e2;
  --terminal-warning: #afcb74;
  --terminal-disabled: #6b6b6b;
  --terminal-accent: #6d8e4e;
  --terminal-strong: var(--green-primary);
  --terminal-muted: var(--terminal-comment);
  --field-name: #9fcb72;
  --genome-value: #8fb967;
  --specimen-value: #a9c97a;
  --button-text: #8bae63;
  --button-border: #344329;
  --button-hover-bg: #11170d;
  --button-hover-text: #aada78;
  --metadata: #737373;
  --scroll-thumb: #566e3d;
}

html { color-scheme: dark; }
html, body, main, center, section { background-color: var(--bg); background-image: none; }
body, p, .hero-copy { color: var(--text-body); }
h1 { color: #f5f5f5; opacity: 1; text-shadow: none; }
h3 { color: #f0f0f0; text-shadow: none; }
code { color: #f1f1f1; }
a { color: var(--link); text-decoration-color: currentColor; }
a:hover, a:focus-visible { color: var(--link-hover); text-decoration-color: currentColor; }
.status-line { color: #777777; }
.status-line code { color: var(--green-primary); }
.status-line .pending { color: #a8b993; }
.pending { color: #8c8c8c; }

.box {
  background: var(--surface);
  border-color: var(--border);
  box-shadow: none;
  scrollbar-color: var(--scroll-thumb) var(--surface);
}
.box:hover { border-color: #343434; }
.box, .box pre, .box code, .box span, .box strong, .box b,
.box em, .box small, .box label, .box output { color: var(--terminal-text); }
.box .c { color: var(--terminal-comment); }
.box .k { color: var(--terminal-key); }
.box .s { color: var(--terminal-value); }
.box .pending { color: var(--terminal-disabled); }
.box a { color: var(--link); }
.box a:hover { color: var(--link-hover); }
.box .bar, .box .trait-bar, .trait-bar { color: var(--terminal-accent); }
.box [data-trait] { color: #cfcfcf; }
.box::-webkit-scrollbar-track { background: var(--surface); }
.box::-webkit-scrollbar-thumb { background: var(--scroll-thumb); }
.box::-webkit-scrollbar-thumb:hover { background: var(--green-primary); }
* { scrollbar-color: #2d2d2d var(--bg); }
*::-webkit-scrollbar-track { background: var(--bg); }
*::-webkit-scrollbar-thumb { background: #2d2d2d; }
*::-webkit-scrollbar-thumb:hover { background: #4a4a4a; }

.ca { background: #080808; color: var(--green-primary); border-color: #252525; box-shadow: none; }
.ca:hover { border-color: #404040; }
p:has(+ .ca) { color: #e5e5e5; }
.terminal-control-row, .seed-control, .tiny-preview-row { color: var(--text-secondary); }
.terminal-control-row input[type="text"], .seed-control input, #command-input {
  background: #080808; color: #e8e8e8; border-color: #282828; caret-color: var(--green-primary);
}
.terminal-control-row input[type="text"]:focus, .seed-control input:focus, #command-input:focus {
  border-color: var(--border-strong); background: #080808; outline: none;
}
input::placeholder { color: var(--text-muted); opacity: 1; }
.terminal-control-row input[type="range"] { accent-color: var(--green-soft); }
.terminal-button, .panel-copy {
  background: transparent; color: var(--button-text); border-color: var(--button-border); box-shadow: none;
}
.terminal-button:hover, .terminal-button:focus-visible, .panel-copy:hover, .panel-copy:focus-visible {
  background: var(--button-hover-bg); color: var(--button-hover-text); border-color: var(--border-strong); box-shadow: none;
}
.terminal-button[aria-pressed="true"], .env-choice[aria-pressed="true"], .rarity-mode[aria-pressed="true"] {
  background: var(--button-hover-bg); color: var(--button-hover-text); border-color: var(--green-soft); box-shadow: none;
}
.terminal-button:disabled, .chain-record-placeholder button:disabled {
  color: #555555; border-color: var(--border-soft); background: transparent; opacity: 1;
}
.local-output { color: var(--terminal-text); border-left-color: var(--border); }
.specimen-status { color: #777777; }
.specimen-status span:first-child { color: #f0f0f0; }
.specimen-status b { color: var(--specimen-value); }
.tiny-goblin-preview { background: var(--surface); border-color: var(--border); }
.terminal-tip, #command-palette { background: var(--surface-elevated); color: var(--terminal-text); border-color: var(--border); box-shadow: none; }
.box .terminal-tip { color: var(--terminal-text); }
.box .diagram-node { color: var(--green-primary); }
.lineage-node { color: var(--text-body); }
.lineage-node[data-current="true"] { color: var(--green-primary); }
.lineage-node:hover, .lineage-node:focus-visible { color: #9ee276; }
#lineage-trace-output { color: var(--text-muted); }
.chain-record-placeholder { color: var(--text-secondary); }
.chain-record-placeholder span:first-child { color: var(--text-body); }
.time-display, .build-meta, .build-meta b, .build-meta a,
p:has(> #last-update-time) { color: var(--metadata); }
.build-meta span:nth-last-child(-n+2) { color: #93a978; }
.build-meta a:hover { color: var(--text-secondary); }
.site-footer p, .footer-meta { color: #777777; }
.site-footer code { color: #9bae7f; }
::selection { color: var(--text-primary); background: #344329; }

/* Paint-only CSS Highlight API ranges: no extra spans or altered text metrics. */
::highlight(grymo-comment) { color: var(--terminal-comment); }
::highlight(grymo-field) { color: var(--field-name); }
::highlight(grymo-genome-field) { color: #bebebe; }
::highlight(grymo-value) { color: var(--genome-value); }
::highlight(grymo-mutation) { color: var(--green-primary); }
::highlight(grymo-bar-empty) { color: var(--border); }
::highlight(grymo-bar-full) { color: var(--terminal-accent); }
::highlight(grymo-functional) { color: var(--green-primary); }
::highlight(grymo-local) { color: #98a28e; }
::highlight(grymo-simulated) { color: #829c68; }
::highlight(grymo-planned) { color: #777777; }
::highlight(grymo-pending) { color: #8c8c8c; }
::highlight(grymo-not-deployed) { color: var(--text-muted); }
::highlight(grymo-disabled) { color: #555555; }
::highlight(grymo-common) { color: #777777; }
::highlight(grymo-weird) { color: #879b66; }
::highlight(grymo-cursed) { color: #82ae59; }
::highlight(grymo-abomination) { color: var(--green-primary); }
