/* Shared visual language: warm neutrals, ink, and a single electric-lime accent. */
:root, body[data-theme="light"] {
    color-scheme: light;
    --bg-color: #f5f6f2;
    --text-color: #252b25;
    --muted: #6b7469;
    --primary-bg: #ffffff;
    --secondary-bg: #eff2e9;
    --tertiary-bg: #f9faf7;
    --border-color: #dce1d5;
    --card-border-color: #dce1d5;
    --card-text-color: #252b25;
    --card-key-bg: #edf2df;
    --card-selected-bg: #e4f6b1;
    --card-selected-border: #718d32;
    --card-matched-bg: #edf2df;
    --card-matched-text: #65734e;
    --card-mismatch-bg: #fff0eb;
    --card-mismatch-border: #c96c51;
    --nav-bg: #f9faf7;
    --nav-text: #252b25;
    --btn-blue-bg: #344c35;
    --btn-blue-text: #ffffff;
    --btn-green-bg: #344c35;
    --btn-brown-bg: #59624f;
    --btn-red-bg: #b84635;
    --btn-orange-bg: #344c35;
    --btn-gray-bg: #65715f;
    --btn-text-color: #ffffff;
    --input-bg: #ffffff;
    --input-border: #dce1d5;
    --input-text: #252b25;
    --incorrect-red: #b84635;
    --shadow-color: rgba(33, 43, 28, .06);
    --overlay-bg: rgba(24, 31, 23, .38);
    --local-selected-bg: #f0f6df;
    --local-selected-border: #93a963;
    --lime: #dcf880;
    --lime-ink: #29351c;
    --ink: #252f25;
    --on-ink: #f6f8ee;
    --ring: #718d32;
    --action-fill: #2d6953;
    --action-ink: #ffffff;
    --action-border: #245842;
    --action-edge: #1d4737;
    --mint-fill: #def1e7;
    --mint-ink: #285b47;
    --mint-border: #90bca5;
    --mint-edge: #7fa990;
    --edit-fill: #e6eef9;
    --edit-ink: #365d88;
    --edit-border: #a9bfd9;
    --merge-fill: #eeebf8;
    --merge-ink: #655081;
    --merge-border: #c5b8da;
    --split-fill: #faf0da;
    --split-ink: #795c27;
    --split-border: #d9c18b;
    --lime-edge: #a2b954;
}
body[data-theme="dark"] {
    color-scheme: dark;
    --bg-color: #191e1a;
    --text-color: #eff2e8;
    --muted: #a5b09e;
    --primary-bg: #242c25;
    --secondary-bg: #303a2e;
    --tertiary-bg: #202720;
    --border-color: #414b3d;
    --card-border-color: #46533e;
    --card-text-color: #eff2e8;
    --card-key-bg: #34412b;
    --card-selected-bg: #d4ed95;
    --card-selected-border: #dcf880;
    --card-matched-bg: #34412b;
    --card-matched-text: #bbcaad;
    --card-mismatch-bg: #4c302a;
    --card-mismatch-border: #d68e76;
    --nav-bg: #202720;
    --nav-text: #eff2e8;
    --btn-blue-bg: #b8d992;
    --btn-blue-text: #25301d;
    --btn-green-bg: #68854b;
    --btn-brown-bg: #667457;
    --btn-orange-bg: #b8d992;
    --input-bg: #242c25;
    --input-border: #414b3d;
    --input-text: #eff2e8;
    --shadow-color: rgba(0, 0, 0, .12);
    --overlay-bg: rgba(6, 12, 7, .65);
    --local-selected-bg: #34412b;
    --local-selected-border: #8aa962;
    --ring: #dcf880;
    --action-fill: #347459;
    --action-border: #579576;
    --action-edge: #142f23;
    --mint-fill: #2b4c3e;
    --mint-ink: #caecd8;
    --mint-border: #648b73;
    --mint-edge: #172e22;
    --edit-fill: #2d4055;
    --edit-ink: #cee1fc;
    --edit-border: #667f9c;
    --merge-fill: #42384f;
    --merge-ink: #e5d6f7;
    --merge-border: #8a759f;
    --split-fill: #4b402a;
    --split-ink: #f3dfb1;
    --split-border: #9c8658;
}
body { -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font-family: inherit; }
button, a, input, select, textarea, summary, [tabindex="0"] { -webkit-tap-highlight-color: transparent; }
:is(button, a, input, select, textarea, summary, [tabindex="0"]):focus-visible {
    outline: 3px solid var(--ring);
    outline-offset: 3px;
}
button:disabled { cursor: not-allowed; }
.brand-mark { display: inline-grid; place-items: center; width: 36px; height: 40px; flex: 0 0 auto; border-radius: 10px; background: var(--lime); color: var(--lime-ink); transform: rotate(-7deg); }
.brand-mark svg { width: 22px; height: 26px; }
.brand-wordmark { font-size: 18px; font-weight: 800; letter-spacing: -.7px; color: var(--text-color); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
