/* themes.css - gerado por themes.py a partir de themes.json. Nao edite a mao. */
/* Variaveis: --bg, --surface, --surface-2, --border, --text, --text-muted, --primary, --on-primary, --accent, --link, --success, --warning, --danger, --focus */

/* sem JS: segue o sistema */
:root {
  --bg: #faf7f0;
  --surface: #ffffff;
  --surface-2: #f1ece1;
  --border: #d8cfbd;
  --text: #1f1d1a;
  --text-muted: #5f5a52;
  --primary: #1d4ed8;
  --on-primary: #ffffff;
  --accent: #b45309;
  --link: #1d4ed8;
  --success: #15803d;
  --warning: #b45309;
  --danger: #b91c1c;
  --focus: #1d4ed8;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --bg: #0f1115;
    --surface: #171a21;
    --surface-2: #1f232c;
    --border: #2c3240;
    --text: #e6e8ee;
    --text-muted: #9aa3b2;
    --primary: #4c8dff;
    --on-primary: #0b1020;
    --accent: #f0b429;
    --link: #7aa9ff;
    --success: #3ecf8e;
    --warning: #f0b429;
    --danger: #ff6b6b;
    --focus: #4c8dff;
    color-scheme: dark;
  }
}

[data-theme="noite"] {
  --bg: #0f1115;
  --surface: #171a21;
  --surface-2: #1f232c;
  --border: #2c3240;
  --text: #e6e8ee;
  --text-muted: #9aa3b2;
  --primary: #4c8dff;
  --on-primary: #0b1020;
  --accent: #f0b429;
  --link: #7aa9ff;
  --success: #3ecf8e;
  --warning: #f0b429;
  --danger: #ff6b6b;
  --focus: #4c8dff;
  color-scheme: dark;
}
[data-theme="oceano"] {
  --bg: #0a1622;
  --surface: #102233;
  --surface-2: #162c40;
  --border: #24425c;
  --text: #e3f1f8;
  --text-muted: #8fb0c4;
  --primary: #22c3b5;
  --on-primary: #04201d;
  --accent: #ff9f6e;
  --link: #5fd4ff;
  --success: #34d399;
  --warning: #fbbf24;
  --danger: #f87171;
  --focus: #22c3b5;
  color-scheme: dark;
}
[data-theme="floresta"] {
  --bg: #0e1410;
  --surface: #151d17;
  --surface-2: #1c271f;
  --border: #2c3d30;
  --text: #e4eee6;
  --text-muted: #9bb3a1;
  --primary: #8bd450;
  --on-primary: #10200a;
  --accent: #e8c547;
  --link: #a8e07a;
  --success: #6dd18a;
  --warning: #e8c547;
  --danger: #f2766b;
  --focus: #8bd450;
  color-scheme: dark;
}
[data-theme="vinho"] {
  --bg: #170f14;
  --surface: #21151c;
  --surface-2: #2b1c25;
  --border: #40293a;
  --text: #f3e6ec;
  --text-muted: #c09cad;
  --primary: #e86a92;
  --on-primary: #2a0a16;
  --accent: #f3c178;
  --link: #f59ab8;
  --success: #5fd3a0;
  --warning: #f3c178;
  --danger: #ff7a6b;
  --focus: #e86a92;
  color-scheme: dark;
}
[data-theme="carvao"] {
  --bg: #121212;
  --surface: #1b1b1b;
  --surface-2: #242424;
  --border: #363636;
  --text: #ececec;
  --text-muted: #a5a5a5;
  --primary: #ffb347;
  --on-primary: #241500;
  --accent: #6cc6ff;
  --link: #ffc673;
  --success: #7bd389;
  --warning: #ffb347;
  --danger: #ff6f61;
  --focus: #ffb347;
  color-scheme: dark;
}
[data-theme="aurora"] {
  --bg: #0d0b1a;
  --surface: #151229;
  --surface-2: #1d1936;
  --border: #302a5a;
  --text: #ece9ff;
  --text-muted: #a9a2d6;
  --primary: #9b7bff;
  --on-primary: #120a2e;
  --accent: #4fe3d6;
  --link: #b9a4ff;
  --success: #4fe3a1;
  --warning: #ffd166;
  --danger: #ff6b8b;
  --focus: #9b7bff;
  color-scheme: dark;
}
[data-theme="papel"] {
  --bg: #faf7f0;
  --surface: #ffffff;
  --surface-2: #f1ece1;
  --border: #d8cfbd;
  --text: #1f1d1a;
  --text-muted: #5f5a52;
  --primary: #1d4ed8;
  --on-primary: #ffffff;
  --accent: #b45309;
  --link: #1d4ed8;
  --success: #15803d;
  --warning: #b45309;
  --danger: #b91c1c;
  --focus: #1d4ed8;
  color-scheme: light;
}
[data-theme="ceu"] {
  --bg: #f4f8fc;
  --surface: #ffffff;
  --surface-2: #e6eef7;
  --border: #c8d6e5;
  --text: #0f1b2a;
  --text-muted: #4a5b70;
  --primary: #0369a1;
  --on-primary: #ffffff;
  --accent: #c2410c;
  --link: #0369a1;
  --success: #047857;
  --warning: #a16207;
  --danger: #be123c;
  --focus: #0369a1;
  color-scheme: light;
}
[data-theme="menta"] {
  --bg: #f2faf6;
  --surface: #ffffff;
  --surface-2: #e2f2ea;
  --border: #bfdccd;
  --text: #10241b;
  --text-muted: #476357;
  --primary: #047857;
  --on-primary: #ffffff;
  --accent: #7c3aed;
  --link: #046c4e;
  --success: #047857;
  --warning: #a16207;
  --danger: #b91c1c;
  --focus: #047857;
  color-scheme: light;
}
[data-theme="areia"] {
  --bg: #f7f1e8;
  --surface: #fffaf3;
  --surface-2: #efe4d4;
  --border: #dbc9b1;
  --text: #2b2118;
  --text-muted: #6b5a49;
  --primary: #b4441f;
  --on-primary: #ffffff;
  --accent: #2f6f6a;
  --link: #9a3412;
  --success: #3f7d20;
  --warning: #a16207;
  --danger: #b42318;
  --focus: #b4441f;
  color-scheme: light;
}
[data-theme="lavanda"] {
  --bg: #f7f5fd;
  --surface: #ffffff;
  --surface-2: #ece8f9;
  --border: #d3cbee;
  --text: #1e1a33;
  --text-muted: #5a5478;
  --primary: #6d28d9;
  --on-primary: #ffffff;
  --accent: #db2777;
  --link: #6d28d9;
  --success: #15803d;
  --warning: #a16207;
  --danger: #be123c;
  --focus: #6d28d9;
  color-scheme: light;
}
[data-theme="neve"] {
  --bg: #ffffff;
  --surface: #f8f9fb;
  --surface-2: #eef0f4;
  --border: #d9dee6;
  --text: #111827;
  --text-muted: #4b5563;
  --primary: #334155;
  --on-primary: #ffffff;
  --accent: #d9480f;
  --link: #2563eb;
  --success: #15803d;
  --warning: #a16207;
  --danger: #dc2626;
  --focus: #334155;
  color-scheme: light;
}

/* base em camada: qualquer CSS do projeto (fora de camadas) vence estas regras */
@layer themes-base {
  html, [data-theme] { background-color: var(--bg); color: var(--text); }
  a { color: var(--link); }
  :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
  select[data-theme-picker] { background: var(--surface); color: var(--text);
    border: 1px solid var(--border); border-radius: 6px; padding: 4px 8px; font: inherit; }
  .themes-floating-picker { position: fixed; right: 12px; bottom: 12px; z-index: 2147483000; }
  .themes-logo { display: flex; justify-content: center; padding: 16px 16px 8px; }
  .themes-logo > * { display: block; width: min(100%, 560px); }
  .themes-logo a > img { width: 100%; }
  .themes-logo img { display: block; height: auto; border-radius: 14px;
    border: 1px solid var(--border); }
}
