/* Temas do BodyCoach — cada tema só troca os parâmetros definidos em soft.css.
   Aplicado por html[data-theme] (theme.js). "areia" é o padrão e não precisa de bloco. */

/* ---------- IRON — academia old-school: aço, giz e vermelho de anilha ---------- */
html[data-theme="iron"] body.theme-soft {
  --sf: #1d1e21; --sf-hi: #26272b; --sf-lo: #17181a;
  --hi: rgba(255, 255, 255, .055); --lo: rgba(0, 0, 0, .62);
  --ink: #ece7de; --ink-2: #b4aea4; --ink-3: #8f8a82;
  --mint: #d33a2c; --mint-ink: #ff6a55; --mint-glow: rgba(211, 58, 44, .45);
  --grad-accent: linear-gradient(145deg, #e04a36, #a8261b);
  --raised: 6px 6px 14px var(--lo), -3px -3px 10px var(--hi);
  --raised-sm: 3px 3px 8px var(--lo), -2px -2px 6px var(--hi);
  --pressed: inset 3px 3px 8px var(--lo), inset -2px -2px 6px var(--hi);
  --pressed-sm: inset 2px 2px 5px var(--lo), inset -1px -1px 3px var(--hi);
  --rk: .35; --r-pill: 6px;
  --tint: 236, 231, 222; --hl: 120, 120, 128; --scheme: dark;
  --page-bg:
    repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 2px, transparent 2px 9px),
    radial-gradient(70% 55% at 80% -5%, rgba(211, 58, 44, .16), transparent 65%),
    #1d1e21;
  --font-head: "Oswald", "Archivo Narrow", Impact, sans-serif;
  --head-weight: 700; --head-spacing: .02em; --head-case: uppercase;
  --on-accent: #fff6f2;
  --me-bg: linear-gradient(145deg, #c73527, #93231a); --me-when: #ffd2c9;
  --ink-n: #d9d3c9; --warn-ink: #f0b65a; --bad-ink: #ff7a68; --bad-bg: #3a1d1a; --bad-bg-ink: #ffb3a8;
  --bad-border: #7a3027; --info-ink: #8fb8ff; --good-ink: #7fd3a4; --ok-bg: #1b3326; --ok-ink: #9fe3bd;
  --busy-ink: #f0b65a; --busy-dot: #f0b65a; --chart-well: #121315;
  --chart-grid: rgba(236, 231, 222, .08); --chart-text: #b4aea4;
  --code-ink: #f1d9b5; --scroll-thumb: #3a3b40; --veil: rgba(0, 0, 0, .55);
}

/* ---------- OLYMPIA — era de ouro do fisiculturismo: bronze, pôster, palco ---------- */
html[data-theme="olympia"] body.theme-soft {
  --sf: #2a2019; --sf-hi: #34281f; --sf-lo: #221a14;
  --hi: rgba(255, 214, 150, .06); --lo: rgba(0, 0, 0, .55);
  --ink: #f3e6cf; --ink-2: #c9b494; --ink-3: #a8926f;
  --mint: #d9a441; --mint-ink: #f0bf5e; --mint-glow: rgba(217, 164, 65, .45);
  --grad-accent: linear-gradient(145deg, #f2c565, #b07a24);
  --raised: 7px 7px 16px var(--lo), -4px -4px 12px var(--hi);
  --raised-sm: 3px 3px 8px var(--lo), -2px -2px 7px var(--hi);
  --pressed: inset 3px 3px 8px var(--lo), inset -2px -2px 7px var(--hi);
  --pressed-sm: inset 2px 2px 5px var(--lo), inset -1px -1px 4px var(--hi);
  --rk: .8;
  --tint: 243, 230, 207; --hl: 190, 150, 90; --scheme: dark;
  --page-bg:
    radial-gradient(60% 45% at 50% -8%, rgba(242, 197, 101, .22), transparent 70%),
    radial-gradient(90% 60% at 50% 110%, rgba(120, 50, 20, .35), transparent 70%),
    #2a2019;
  --font-head: "Playfair Display", Georgia, serif;
  --head-weight: 800; --head-spacing: 0;
  --on-accent: #2a1a08;
  --me-bg: linear-gradient(145deg, #e6b552, #b8832c); --me-when: #4a3210;
  --ink-n: #e6d6bb; --warn-ink: #f2c565; --bad-ink: #ff8c70; --bad-bg: #3d1f17; --bad-bg-ink: #ffbca8;
  --bad-border: #7d3a28; --info-ink: #9cc3f0; --good-ink: #a8d99a; --ok-bg: #26331c; --ok-ink: #c4e9a8;
  --busy-ink: #f2c565; --busy-dot: #f2c565; --chart-well: #1a130e;
  --chart-grid: rgba(243, 230, 207, .08); --chart-text: #c9b494;
  --code-ink: #f6d9a0; --scroll-thumb: #4a3a2c; --veil: rgba(10, 5, 0, .55);
}

/* ---------- CHROME — metal líquido claro, azul cobalto ---------- */
html[data-theme="chrome"] body.theme-soft {
  --sf: #dfe3ea; --sf-hi: #eef1f6; --sf-lo: #d0d5de;
  --hi: #ffffff; --lo: rgba(120, 132, 155, .5);
  --ink: #1f2633; --ink-2: #4d586b; --ink-3: #5f6a7d;
  --mint: #9fb7ff; --mint-ink: #2f4fc9; --mint-glow: rgba(110, 140, 255, .45);
  --grad-accent: linear-gradient(145deg, #c9d6ff, #8aa4f5);
  --tint: 70, 85, 110;
  --page-bg:
    linear-gradient(160deg, rgba(255,255,255,.75) 0%, transparent 35%, rgba(255,255,255,.5) 55%, transparent 80%),
    radial-gradient(80% 60% at 85% 0%, #c6d2ec, transparent 60%),
    #dfe3ea;
  --font-head: "Space Grotesk", "Instrument Sans", system-ui, sans-serif;
  --head-weight: 700; --head-spacing: -.02em;
  --on-accent: #142256;
  --me-bg: linear-gradient(145deg, #d4dfff, #a9bcf6); --me-when: #3a4f8f;
  --ink-n: #303a4b; --chart-grid: rgba(70, 85, 110, .14); --chart-text: #4d586b;
  --scroll-thumb: #b9c1ce; --veil: rgba(60, 75, 100, .25);
}

/* ---------- NEON — cidade cyberpunk: preto, magenta e ciano ---------- */
html[data-theme="neon"] body.theme-soft {
  --sf: #120f1c; --sf-hi: #1a1628; --sf-lo: #0c0a14;
  --hi: rgba(140, 110, 255, .07); --lo: rgba(0, 0, 0, .7);
  --ink: #ece9ff; --ink-2: #b2abd6; --ink-3: #8f88b8;
  --mint: #ff2fa8; --mint-ink: #4ff0ff; --mint-glow: rgba(255, 47, 168, .5);
  --grad-accent: linear-gradient(135deg, #ff2fa8, #7b4dff);
  --raised: 0 0 0 1px rgba(79, 240, 255, .12), 6px 8px 18px var(--lo);
  --raised-sm: 0 0 0 1px rgba(79, 240, 255, .1), 3px 4px 10px var(--lo);
  --pressed: inset 0 0 0 1px rgba(255, 47, 168, .2), inset 3px 3px 10px var(--lo);
  --pressed-sm: inset 0 0 0 1px rgba(255, 47, 168, .16), inset 2px 2px 6px var(--lo);
  --rk: .45; --r-pill: 8px;
  --tint: 180, 170, 255; --hl: 120, 100, 220; --scheme: dark;
  --page-bg:
    linear-gradient(rgba(79, 240, 255, .035) 1px, transparent 1px) 0 0 / 100% 28px,
    radial-gradient(60% 40% at 15% 0%, rgba(255, 47, 168, .22), transparent 70%),
    radial-gradient(60% 45% at 95% 100%, rgba(79, 240, 255, .14), transparent 70%),
    #120f1c;
  --font-head: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --head-weight: 800; --head-spacing: -.02em;
  --on-accent: #ffffff;
  --me-bg: linear-gradient(135deg, #c41f84, #5a33cc); --me-when: #ffd0ee;
  --ink-n: #dcd7fa; --warn-ink: #ffd166; --bad-ink: #ff6b8b; --bad-bg: #36142a; --bad-bg-ink: #ffb0c8;
  --bad-border: #7a2550; --info-ink: #4ff0ff; --good-ink: #6dffb8; --ok-bg: #12322a; --ok-ink: #8affc8;
  --busy-ink: #ffd166; --busy-dot: #ff2fa8; --chart-well: #0a0812;
  --chart-grid: rgba(180, 170, 255, .1); --chart-text: #b2abd6;
  --code-ink: #9ff7ff; --scroll-thumb: #2c2645; --veil: rgba(5, 0, 15, .6);
}

/* ---------- SUNSET — synthwave: roxo profundo, laranja e rosa ---------- */
html[data-theme="sunset"] body.theme-soft {
  --sf: #2a1838; --sf-hi: #342045; --sf-lo: #22122e;
  --hi: rgba(255, 170, 200, .07); --lo: rgba(10, 0, 20, .6);
  --ink: #fbe9f3; --ink-2: #d7b4cc; --ink-3: #b994ae;
  --mint: #ff8a4c; --mint-ink: #ffb067; --mint-glow: rgba(255, 138, 76, .45);
  --grad-accent: linear-gradient(145deg, #ffb067, #ff4f8b);
  --raised: 7px 7px 16px var(--lo), -4px -4px 12px var(--hi);
  --raised-sm: 3px 3px 8px var(--lo), -2px -2px 6px var(--hi);
  --pressed: inset 3px 3px 8px var(--lo), inset -2px -2px 6px var(--hi);
  --pressed-sm: inset 2px 2px 5px var(--lo), inset -1px -1px 3px var(--hi);
  --tint: 251, 220, 240; --hl: 200, 120, 170; --scheme: dark;
  --page-bg:
    radial-gradient(55% 35% at 50% 102%, rgba(255, 120, 80, .38), transparent 70%),
    linear-gradient(180deg, #1c0f2a 0%, #2a1838 55%, #3a1a3e 100%);
  --font-head: "Space Grotesk", system-ui, sans-serif;
  --head-weight: 700; --head-spacing: -.01em;
  --on-accent: #2a0d10;
  --me-bg: linear-gradient(145deg, #ff9d5c, #ff5c8a); --me-when: #4a1420;
  --ink-n: #f0d6e6; --warn-ink: #ffc46b; --bad-ink: #ff7d8f; --bad-bg: #431a2c; --bad-bg-ink: #ffbccb;
  --bad-border: #873050; --info-ink: #a8c6ff; --good-ink: #8fe6b8; --ok-bg: #1f3530; --ok-ink: #b3f0cf;
  --busy-ink: #ffc46b; --busy-dot: #ff8a4c; --chart-well: #170c22;
  --chart-grid: rgba(251, 220, 240, .09); --chart-text: #d7b4cc;
  --code-ink: #ffd6a8; --scroll-thumb: #4b2f5c; --veil: rgba(15, 0, 25, .55);
}

/* ---------- CONCRETO — brutalista: cinza, preto, sombra dura, amarelo obra ---------- */
html[data-theme="concreto"] body.theme-soft {
  --sf: #d4d2cd; --sf-hi: #dddbd6; --sf-lo: #c8c6c0;
  --hi: transparent; --lo: #141414;
  --ink: #111111; --ink-2: #3a3a38; --ink-3: #4f4e4a;
  --mint: #ffd400; --mint-ink: #111111; --mint-glow: rgba(255, 212, 0, .5);
  --grad-accent: linear-gradient(#ffd400, #ffd400);
  --raised: 0 0 0 2px #141414, 5px 5px 0 #141414;
  --raised-sm: 0 0 0 2px #141414, 3px 3px 0 #141414;
  --pressed: inset 0 0 0 2px #141414;
  --pressed-sm: inset 0 0 0 2px #141414;
  --face: var(--sf-hi);
  --rk: 0; --r-pill: 0;
  --tint: 20, 20, 20; --hl: 255, 255, 255;
  --page-bg:
    radial-gradient(rgba(0, 0, 0, .07) 1px, transparent 1.2px) 0 0 / 6px 6px,
    #d4d2cd;
  --font-head: "Archivo Narrow", Impact, sans-serif;
  --head-weight: 800; --head-spacing: -.01em; --head-case: uppercase;
  --on-accent: #111111;
  --me-bg: #ffd400; --me-when: #3a3200;
  --ink-n: #1e1e1d; --chart-grid: rgba(20, 20, 20, .14); --chart-text: #3a3a38;
  --scroll-thumb: #111111; --veil: rgba(0, 0, 0, .35);
}

/* ---------- CHUVA — chuva no vidro à meia-noite: azul-petróleo e frio ---------- */
html[data-theme="chuva"] body.theme-soft {
  --sf: #18222f; --sf-hi: #1f2b3a; --sf-lo: #131b26;
  --hi: rgba(160, 200, 255, .06); --lo: rgba(0, 0, 0, .6);
  --ink: #e4edf7; --ink-2: #a9b9cc; --ink-3: #8b9bb0;
  --mint: #5cc8d6; --mint-ink: #7fdbe6; --mint-glow: rgba(92, 200, 214, .4);
  --grad-accent: linear-gradient(145deg, #7fdbe6, #3a9bb5);
  --raised: 7px 7px 16px var(--lo), -4px -4px 12px var(--hi);
  --raised-sm: 3px 3px 8px var(--lo), -2px -2px 6px var(--hi);
  --pressed: inset 3px 3px 8px var(--lo), inset -2px -2px 6px var(--hi);
  --pressed-sm: inset 2px 2px 5px var(--lo), inset -1px -1px 3px var(--hi);
  --tint: 200, 220, 245; --hl: 110, 140, 180; --scheme: dark;
  --page-bg:
    radial-gradient(2px 6px at 12% 18%, rgba(200, 230, 255, .18), transparent),
    radial-gradient(2px 7px at 64% 32%, rgba(200, 230, 255, .14), transparent),
    radial-gradient(2px 5px at 38% 71%, rgba(200, 230, 255, .15), transparent),
    radial-gradient(2px 6px at 86% 84%, rgba(200, 230, 255, .13), transparent),
    radial-gradient(70% 50% at 20% 0%, rgba(92, 200, 214, .14), transparent 70%),
    linear-gradient(180deg, #141c27, #18222f 60%, #1b2636);
  --font-head: "Instrument Sans", system-ui, sans-serif;
  --head-weight: 700; --head-spacing: -.015em;
  --on-accent: #062a31;
  --me-bg: linear-gradient(145deg, #7fdbe6, #4aaec2); --me-when: #0e4049;
  --ink-n: #cfdbe8; --warn-ink: #f2c46b; --bad-ink: #ff8a80; --bad-bg: #3a1f24; --bad-bg-ink: #ffbdb6;
  --bad-border: #7a3640; --info-ink: #9cc8ff; --good-ink: #8fe0b0; --ok-bg: #173329; --ok-ink: #aef0c9;
  --busy-ink: #f2c46b; --busy-dot: #5cc8d6; --chart-well: #0f161f;
  --chart-grid: rgba(200, 220, 245, .08); --chart-text: #a9b9cc;
  --code-ink: #bfeaf0; --scroll-thumb: #2c3a4c; --veil: rgba(0, 5, 15, .55);
}

/* ---------- MERIDIAN — editorial: papel creme, tinta preta, terracota ---------- */
html[data-theme="meridian"] body.theme-soft {
  --sf: #f3eee4; --sf-hi: #f8f4ec; --sf-lo: #ebe5d9;
  --hi: #ffffff; --lo: rgba(120, 105, 80, .22);
  --ink: #1b1915; --ink-2: #4f4a40; --ink-3: #635d52;
  --mint: #c4552f; --mint-ink: #a8431f; --mint-glow: rgba(196, 85, 47, .3);
  --grad-accent: linear-gradient(145deg, #d0663f, #a8431f);
  --raised: 0 1px 0 rgba(27, 25, 21, .14), 0 10px 24px -14px var(--lo);
  --raised-sm: 0 1px 0 rgba(27, 25, 21, .14), 0 4px 10px -6px var(--lo);
  --pressed: inset 0 0 0 1px rgba(27, 25, 21, .16);
  --pressed-sm: inset 0 0 0 1px rgba(27, 25, 21, .14);
  --face: var(--sf-hi);
  --rk: .3; --r-pill: 4px;
  --tint: 27, 25, 21;
  --page-bg: #f3eee4;
  --font-head: "Playfair Display", Georgia, serif;
  --head-weight: 700; --head-spacing: -.01em;
  --on-accent: #fff8f2;
  --me-bg: #1b1915; --me-when: #c9c1b3;
  --ink-n: #2b2822; --chart-grid: rgba(27, 25, 21, .1); --chart-text: #4f4a40;
  --scroll-thumb: #cbc2b2; --veil: rgba(40, 30, 20, .25);
}
html[data-fx][data-theme="meridian"] body.theme-soft .msg.me .bubble { color: #f8f4ec; }

/* concreto: tudo quadrado, sombras duras em qualquer componente herdado */
html[data-fx][data-theme="concreto"] body.theme-soft *:not(input[type="radio"]):not(input[type="checkbox"]) { border-radius: 0 !important; }
html[data-fx][data-theme="concreto"] body.theme-soft :is(.side, .topbar) { box-shadow: 2px 0 0 #141414; backdrop-filter: none; }
html[data-fx][data-theme="concreto"] body.theme-soft .topbar { box-shadow: 0 2px 0 #141414; }
html[data-fx][data-theme="concreto"] body.theme-soft .day-tab.today { background: #ffd400; color: #111; box-shadow: var(--raised-sm); }

/* chrome: superfícies com brilho metálico */
html[data-fx][data-theme="chrome"] body.theme-soft {
  --face: linear-gradient(160deg, #fbfcfe 0%, #dfe4ec 38%, #f4f6fa 52%, #c8cfdb 100%);
  --grad-accent: linear-gradient(160deg, #e3eaff 0%, #9db3f7 40%, #c9d6ff 55%, #6f8ee8 100%);
  --me-bg: linear-gradient(160deg, #eef2ff 0%, #b6c6f7 45%, #dbe3ff 58%, #9cb0ee 100%);
  --page-bg:
    repeating-linear-gradient(90deg, rgba(255,255,255,.22) 0 1px, transparent 1px 3px),
    linear-gradient(165deg, #f3f5f9 0%, #cfd5df 30%, #eef1f6 48%, #bfc7d4 72%, #e2e6ed 100%);
}
html[data-fx][data-theme="chrome"] body.theme-soft :is(.card, .ck-card, .day-card, .hoje-card, .hoje-hero, .chat-shell) {
  background: var(--face); box-shadow: var(--raised), inset 0 1px 0 #fff, inset 0 -1px 0 rgba(70,85,110,.18);
}

/* links usados como pílulas não sublinham */
html[data-fx] body.theme-soft a.day-tab, html[data-fx] body.theme-soft .day-tab * { text-decoration: none; }

/* títulos em caixa alta quando o tema pede */
html[data-theme] body.theme-soft h1,
html[data-theme] body.theme-soft h2 { text-transform: var(--head-case); }

/* ---------- seletor de tema (perfil) ---------- */
.theme-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 14px; margin-top: 14px; }
html[data-fx] body.theme-soft .theme-pick {
  all: unset; box-sizing: border-box; cursor: pointer; display: flex; flex-direction: column; gap: 8px;
  padding: 10px; border-radius: calc(16px * var(--rk)); background: var(--face); box-shadow: var(--raised-sm);
  color: var(--ink); font: 700 .82rem/1.2 var(--font-soft); text-align: left;
}
html[data-fx] body.theme-soft .theme-pick:focus-visible { outline: 2px solid var(--mint-ink); outline-offset: 3px; }
html[data-fx] body.theme-soft .theme-pick[aria-pressed="true"] { box-shadow: var(--pressed-sm), 0 0 0 2px var(--mint-ink); }
.theme-pick small { font-weight: 600; font-size: .7rem; color: var(--ink-2); }
.theme-swatch { height: 54px; border-radius: calc(10px * var(--rk)); position: relative; overflow: hidden; border: 1px solid rgba(var(--tint), .18); }
.theme-swatch::after { content: ""; position: absolute; right: 8px; bottom: 8px; width: 34%; height: 12px; border-radius: 6px; background: var(--sw-accent); }
.theme-swatch::before { content: "Aa"; position: absolute; left: 9px; top: 6px; font: 800 1.1rem/1 var(--sw-font, inherit); color: var(--sw-ink); }
html[data-theme="meridian"] body.theme-soft { --warn-ink: #6e4f17; }
html[data-fx][data-theme="meridian"] body.theme-soft .msg.me .bubble :is(p, li, span, strong, em, a) { color: inherit; }
html[data-fx][data-theme="meridian"] body.theme-soft .msg.me .edit-btn { color: #e9e1d3; }
