/* Osaka Jade: https://github.com/basecamp/omarchy/tree/master/themes/osaka-jade
   Copper is the UI accent; text shades adapt its contrast to each surface. */
:root {
  color-scheme: light;
  --bg: #f6f5dd;
  --bg-elev: #fffef1;
  --bg-soft: #e9ebd3;
  --text: #23372b;
  --text-muted: #53685b;
  --border: #b9c4ac;
  --jade: #36714f;
  --accent: #a2734b;
  --accent-text: #855733;
  --accent-soft: #ede0ce;
  --accent-2: #796d25;
  --signal: #236d59;
  --button-bg: #36714f;
  --button-text: #f6f5dd;
  --gradient: linear-gradient(var(--accent), var(--accent));
  --ring: #855733;
  --pixel-shadow: #c7cfb6;
  --shadow-sm: 2px 2px 0 var(--pixel-shadow);
  --shadow-md: 4px 4px 0 var(--pixel-shadow);
  --shadow-lg: 8px 8px 0 var(--pixel-shadow);
  --syntax-keyword: #8b3664;
  --syntax-string: #36714f;
  --syntax-function: #236d59;
  --syntax-number: #796d25;
  --syntax-variable: #855733;
  --syntax-comment: #53685b;
  --syntax-error: #a82e28;
  /* The photographic header and image viewer keep dark surfaces in both modes. */
  --hero-bg: #111c18;
  --hero-elev: #23372b;
  --hero-text: #f6f5dd;
  --hero-muted: #c1c497;
  --hero-jade: #509475;
  --hero-accent: #c5946c;
  --hero-gold: #d7c995;
  --hero-border: #53685b;
  --hero-shadow: #090f0c;
  --hero-rgb: 17, 28, 24;
}

[data-theme="dark"] {
  color-scheme: dark;
  --bg: #111c18;
  --bg-elev: #23372b;
  --bg-soft: #1c2b22;
  --text: #c1c497;
  --text-muted: #acb59a;
  --border: #53685b;
  --jade: #509475;
  --accent: #a2734b;
  --accent-text: #c5946c;
  --accent-soft: #38291f;
  --accent-2: #d7c995;
  --signal: #2dd5b7;
  --button-bg: #509475;
  --button-text: #111c18;
  --ring: #c5946c;
  --pixel-shadow: #090f0c;
  --syntax-keyword: #d2689c;
  --syntax-string: #9eebb3;
  --syntax-function: #2dd5b7;
  --syntax-number: #e5c736;
  --syntax-variable: #c5946c;
  --syntax-comment: #9aac94;
  --syntax-error: #ff5345;
}

/* Chroma's token classes, shared by both palettes. */
.chroma, .bg { color: var(--text); background: var(--bg); }
.chroma { -webkit-text-size-adjust: none; }
.chroma .lnlinks { outline: none; text-decoration: none; color: inherit; }
.chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
.chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
.chroma .hl { background: var(--accent-soft); }
.chroma .lnt, .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em; color: var(--syntax-comment); }
.chroma .line { display: flex; }
.chroma .k, .chroma .kc, .chroma .kd, .chroma .kn, .chroma .kp, .chroma .kr, .chroma .kt, .chroma .o, .chroma .ow, .chroma .or { color: var(--syntax-keyword); }
.chroma .nf, .chroma .fm, .chroma .nb, .chroma .bp { color: var(--syntax-function); }
.chroma .nc, .chroma .nd, .chroma .ne, .chroma .ni, .chroma .nl, .chroma .nt { color: var(--accent-2); }
.chroma .no, .chroma .py, .chroma .nv, .chroma .vc, .chroma .vg, .chroma .vi, .chroma .vm { color: var(--syntax-variable); }
.chroma .l, .chroma .ld, .chroma .s, .chroma .sa, .chroma .sb, .chroma .sc, .chroma .dl, .chroma .sd, .chroma .s2, .chroma .se, .chroma .sh, .chroma .si, .chroma .sx, .chroma .sr, .chroma .s1, .chroma .ss { color: var(--syntax-string); }
.chroma .m, .chroma .mb, .chroma .mf, .chroma .mh, .chroma .mi, .chroma .il, .chroma .mo { color: var(--syntax-number); }
.chroma .c, .chroma .ch, .chroma .cm, .chroma .c1, .chroma .cs, .chroma .cp, .chroma .cpf { color: var(--syntax-comment); font-style: italic; }
.chroma .err, .chroma .gd, .chroma .gr, .chroma .gt { color: var(--syntax-error); }
.chroma .gi { color: var(--syntax-string); }
.chroma .ge { font-style: italic; }
.chroma .gs { font-weight: bold; }
.chroma .gh, .chroma .gu { color: var(--accent-2); font-weight: bold; }
.chroma .gp, .chroma .go, .chroma .w { color: var(--text-muted); }

@media print {
  :root, [data-theme="dark"] {
    color-scheme: light;
    --bg: #ffffff;
    --bg-elev: #ffffff;
    --bg-soft: #e9ebd3;
    --text: #23372b;
    --text-muted: #53685b;
    --border: #b9c4ac;
    --accent: #a2734b;
    --accent-text: #855733;
    --accent-soft: #ede0ce;
    --accent-2: #796d25;
    --syntax-keyword: #8b3664;
    --syntax-string: #36714f;
    --syntax-function: #236d59;
    --syntax-number: #796d25;
    --syntax-variable: #855733;
    --syntax-comment: #53685b;
    --syntax-error: #a82e28;
  }
}
