:root, [data-theme="dark"] {
  --bg: #0b0d0b; --panel: #101410; --well: #0d100d; --line: #243024;
  --ink: #cfe3cf; --muted: #6f8a6f; --accent: #35e07a; --accent-ink: #06210f;
  --sig-on: #35e07a; --sig-off: #d94a35;
}
[data-theme="light"] {
  --bg: #e9ebe4; --panel: #f5f6f1; --well: #fbfcf8; --line: #b9c0af;
  --ink: #1d221d; --muted: #68705f; --accent: #1c7a3d; --accent-ink: #f5f6f1;
  --sig-on: #2c8c46; --sig-off: #c23b2c;
}
[data-theme="sunrise"] {
  --bg: #f6e8d4; --panel: #fcf2e2; --well: #fff8ec; --line: #ddc09a;
  --ink: #44301b; --muted: #a07d54; --accent: #d97514; --accent-ink: #fff8ec;
  --sig-on: #55862f; --sig-off: #c2472b;
}
[data-theme="midday"] {
  --bg: #e3ebf1; --panel: #f2f7fa; --well: #fafdff; --line: #a9bfcd;
  --ink: #16222b; --muted: #5d7383; --accent: #0e6fbf; --accent-ink: #fafdff;
  --sig-on: #2c8c46; --sig-off: #c23b2c;
}
[data-theme="sunset"] {
  --bg: #181126; --panel: #201833; --well: #1b1430; --line: #3b2d54;
  --ink: #f0dfc8; --muted: #907da1; --accent: #ff8f3d; --accent-ink: #241023;
  --sig-on: #58c470; --sig-off: #ff5d4d;
}
html { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; }
* { border-radius: 0 !important; }
input[type="range"] { accent-color: var(--accent); }
input[type="checkbox"] { accent-color: var(--accent); width: 13px; height: 13px; }
:focus-visible { outline: 1px solid var(--accent); outline-offset: 1px; }
summary { list-style: none; }
summary::-webkit-details-marker { display: none; }
details[open] .disc { transform: rotate(45deg); }
body, .themed { transition: background-color .25s, color .25s, border-color .25s; }
@media (prefers-reduced-motion: reduce) { body, .themed { transition: none; } }
