:root{
  --ink-950:#08110c;
  --ink-900:#0d1812;
  --ink-800:#15241b;
  --ink-100:#f3f0e9;
  --ink-050:#faf8f2;
  --forest-moss:#2f5d3a;
  --forest-fern:#3f7a50;
  --forest-lichen:#95b37f;
  --soil-humus:#3d3023;
  --soil-clay:#6c4c34;
  --spore-cream:#ebe5d7;
  --spore-sand:#dcd3c0;
  --water-river:#3e6c8a;
  --radius-card:22px;
  --shadow-card:0 16px 32px rgba(9,12,10,.22);
  --transition-theme:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease;
}

/* Support theme attr on either <html> or <body> */
:root[data-theme='dark'],
html[data-theme='dark'],
body[data-theme='dark']{
  --color-bg:var(--ink-900);
  --color-surface:#122119;
  --color-surface-alt:#193024;
  --surface-card:#15251c;
  --surface-alt-soft:#1d3225;
  --surface-form:#1a2b21;
  --surface-hero:linear-gradient(135deg,rgba(66,120,93,.48),rgba(31,56,40,.48));
  --text-primary:#f6f4ed;
  --text-muted:rgba(226,229,222,.72);
  --border-color:rgba(190,197,187,.22);
  --header-surface:rgba(10,18,13,.92);
  --chip-bg:rgba(33,55,40,.72);
  --toast-bg:rgba(22,32,26,.9);
  --alert-bg:rgba(127,60,52,.82);
  --alert-border:rgba(244,166,139,.72);
  --alert-text:#ffece3;
  --link-hover:#9fd6b6;
  --plot-bg:#1b2a21;
  --plot-grid:rgba(228,232,226,.16);
  --plot-zero:rgba(228,232,226,.28);
  --plot-font:#f6f4ed;
}

:root[data-theme='light'],
html[data-theme='light'],
body[data-theme='light']{
  --color-bg:var(--ink-050);
  --color-surface:#ffffff;
  --color-surface-alt:var(--spore-cream);
  --surface-card:#ffffff;
  --surface-alt-soft:#f6f1e7;
  --surface-form:#f0ebe0;
  --surface-hero:linear-gradient(135deg,rgba(198,219,205,.85),rgba(143,168,131,.85));
  --text-primary:#1f2a22;
  --text-muted:rgba(58,66,59,.74);
  --border-color:rgba(72,82,70,.16);
  --header-surface:rgba(255,255,255,.96);
  --chip-bg:rgba(227,220,203,.85);
  --toast-bg:rgba(255,255,255,.97);
  --alert-bg:#fde6e6;
  --alert-border:#c14e4e;
  --alert-text:#5f1616;
  --link-hover:#275e34;
  --plot-bg:#ffffff;
  --plot-grid:rgba(69,76,68,.16);
  --plot-zero:rgba(69,76,68,.26);
  --plot-font:#212b22;
}
