/* ---------- themes ---------- */
/* every themed element starts plain; Garra/Gatinho add their own pattern and fonts below */
[data-theme] { --pattern: none; --font: -apple-system, BlinkMacSystemFont, system-ui, 'Segoe UI', Roboto, sans-serif; --font-display: var(--font); }
:root, [data-theme="base"], [data-theme="rafael"] {
  --ground: #0f1012; --ground-2: #1a1b1e; --ground-3: #26272b;
  --ink: #f4f4f5; --ink-2: #a1a1aa; --line: rgba(255, 255, 255, .08);
  --accent: #f4f4f5; --accent-ink: #0f1012; --accent-text: #f4f4f5;
  --good: #5fbf8a; --bad: #ff7070; --warn: #e5b451;
  --r1: #f4f4f5; --r2: #9b9ba5; --r3: #d9c9a3;
  --a-gab: #f4f4f5; --a-tx: #9b9ba5; --a-raf: #d9c9a3; --a-other: #c4c4ca; --a-ink: #0f1012;
  --gold: #d9c9a3; --dot-ok: #f4f4f5; --dot-no: #55555c;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .5);
  color-scheme: dark;
}
[data-theme="tx"] {
  --ground: #f5f1ec; --ground-2: #fffdfa; --ground-3: #e8e2db;
  --ink: #0c0c0d; --ink-2: #55555c; --line: rgba(0, 0, 0, .08);
  --accent: #c8102e; --accent-ink: #ffffff; --accent-text: #b00d27;
  --good: #1d7a4a; --bad: #b00d27; --warn: #8a5a00;
  --r1: #c8102e; --r2: #6e0a1b; --r3: #f07a5a;
  --a-gab: #c8102e; --a-tx: #6e0a1b; --a-raf: #f07a5a; --a-other: #a86b74; --a-ink: #ffffff;
  --gold: #f07a5a; --dot-ok: #c8102e; --dot-no: #e3c3c8;
  --shadow: 0 -8px 32px rgba(40, 0, 8, .12);
  color-scheme: light;
}
[data-theme="gabriell"] {
  --ground: #0b1630; --ground-2: #12203f; --ground-3: #1b2b52;
  --ink: #eef2f8; --ink-2: #9fb0cf; --line: rgba(255, 255, 255, .08);
  --accent: #2f66f0; --accent-ink: #ffffff; --accent-text: #8fb0ff;
  --good: #62d29c; --bad: #ff8080; --warn: #f0c060;
  --r1: #2f66f0; --r2: #a9c1ff; --r3: #5fd0f0;
  --a-gab: #6b95ff; --a-tx: #a9c1ff; --a-raf: #5fd0f0; --a-other: #8fa3c7; --a-ink: #0b1630;
  --gold: #a9c1ff; --dot-ok: #6b95ff; --dot-no: #2a3c66;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .45);
  color-scheme: dark;
}
/* new themes: 1st color = ground, 2nd = text, 3rd = accent; rings in the same family */
[data-theme="lima"] {
  --ground: #0e0e10; --ground-2: #19191c; --ground-3: #26262a;
  --ink: #f2f0eb; --ink-2: #9c9a94; --line: rgba(255, 255, 255, .08);
  --accent: #c6f432; --accent-ink: #0e0e10; --accent-text: #c6f432;
  --good: #c6f432; --bad: #ff7a6b; --warn: #e8d07a;
  --r1: #c6f432; --r2: #f2f0eb; --r3: #7d8a5a;
  --a-gab: #c6f432; --a-tx: #f2f0eb; --a-raf: #8d9a6b; --a-other: #b5b2aa; --a-ink: #0e0e10;
  --gold: #c6f432; --dot-ok: #c6f432; --dot-no: #4a4a50;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .55);
  color-scheme: dark;
}
[data-theme="laranja"] {
  --ground: #0b1a2e; --ground-2: #13253e; --ground-3: #1d3150;
  --ink: #e6e9ee; --ink-2: #9aa7ba; --line: rgba(255, 255, 255, .08);
  --accent: #ff6b2c; --accent-ink: #0b1a2e; --accent-text: #ff8a55;
  --good: #5fc9a0; --bad: #ff7a6b; --warn: #ffb347;
  --r1: #ff6b2c; --r2: #ffb347; --r3: #7fa7d9;
  --a-gab: #ff6b2c; --a-tx: #ffb347; --a-raf: #7fa7d9; --a-other: #c3cad6; --a-ink: #0b1a2e;
  --gold: #ffb347; --dot-ok: #ff6b2c; --dot-no: #3a4f6e;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .45);
  color-scheme: dark;
}
[data-theme="champanhe"] {
  --ground: #111111; --ground-2: #1c1b19; --ground-3: #292723;
  --ink: #f5f1e8; --ink-2: #a8a294; --line: rgba(255, 255, 255, .08);
  --accent: #c9a86a; --accent-ink: #111111; --accent-text: #d6b97f;
  --good: #9cbf8a; --bad: #e07a6a; --warn: #c9a86a;
  --r1: #c9a86a; --r2: #f5f1e8; --r3: #8c6f45;
  --a-gab: #c9a86a; --a-tx: #f5f1e8; --a-raf: #8c6f45; --a-other: #a8a294; --a-ink: #111111;
  --gold: #c9a86a; --dot-ok: #c9a86a; --dot-no: #4a463f;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .55);
  color-scheme: dark;
}
[data-theme="floresta"] {
  --ground: #0f2a22; --ground-2: #16372d; --ground-3: #20453a;
  --ink: #e8dfd0; --ink-2: #a6b2a3; --line: rgba(255, 255, 255, .08);
  --accent: #c8553d; --accent-ink: #ffffff; --accent-text: #e07a62;
  --good: #8fbf8f; --bad: #e07a62; --warn: #e0b46a;
  --r1: #c8553d; --r2: #e8dfd0; --r3: #8fb89a;
  --a-gab: #e07a62; --a-tx: #e8dfd0; --a-raf: #8fb89a; --a-other: #c9b896; --a-ink: #0f2a22;
  --gold: #e0b46a; --dot-ok: #e07a62; --dot-no: #3a5a4e;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .45);
  color-scheme: dark;
}
[data-theme="bordo"] {
  --ground: #1a1a1d; --ground-2: #242428; --ground-3: #303035;
  --ink: #c0c4ca; --ink-2: #8a8e95; --line: rgba(255, 255, 255, .08);
  --accent: #7a1e2c; --accent-ink: #ffffff; --accent-text: #d0697b;
  --good: #8fb8a0; --bad: #e0707e; --warn: #d4b07a;
  --r1: #b83a50; --r2: #c0c4ca; --r3: #e3a3ae;
  --a-gab: #d0697b; --a-tx: #c0c4ca; --a-raf: #e3a3ae; --a-other: #8a8e95; --a-ink: #1a1a1d;
  --gold: #e3a3ae; --dot-ok: #d0697b; --dot-no: #45454b;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .5);
  color-scheme: dark;
}
/* ---------- Claro / Escuro (Perfil): light = off-white ground, dark text; Vermelho gets a dark version ---------- */
[data-theme="rafael"][data-mode="light"], [data-theme="base"][data-mode="light"] {
  --ground: #f4f2ee; --ground-2: #fffdfa; --ground-3: #e6e3dd;
  --ink: #0f1012; --ink-2: #5f5f66; --line: rgba(0, 0, 0, .08);
  --accent: #0f1012; --accent-ink: #f4f2ee; --accent-text: #0f1012;
  --good: #2f7a4f; --bad: #b3261e; --warn: #8a5a00;
  --r1: #0f1012; --r2: #8a8a93; --r3: #b89a5e;
  --a-gab: #0f1012; --a-tx: #8a8a93; --a-raf: #b89a5e; --a-other: #5f5f66; --a-ink: #ffffff;
  --gold: #b89a5e; --dot-ok: #0f1012; --dot-no: #d6d3cc;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .1);
  color-scheme: light;
}
[data-theme="gabriell"][data-mode="light"] {
  --ground: #f1f4f9; --ground-2: #ffffff; --ground-3: #e2e8f2;
  --ink: #0b1630; --ink-2: #55627d; --line: rgba(0, 0, 0, .08);
  --accent: #2f66f0; --accent-ink: #ffffff; --accent-text: #2350c8;
  --good: #2f7a4f; --bad: #b3261e; --warn: #8a5a00;
  --r1: #2f66f0; --r2: #0b1630; --r3: #3bb3d9;
  --a-gab: #2f66f0; --a-tx: #1b2b52; --a-raf: #2a9cc4; --a-other: #6b7a99; --a-ink: #ffffff;
  --gold: #2f66f0; --dot-ok: #2f66f0; --dot-no: #cfd8e8;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .1);
  color-scheme: light;
}
[data-theme="lima"][data-mode="light"] {
  --ground: #f2f0eb; --ground-2: #fbfaf7; --ground-3: #e4e1d9;
  --ink: #0e0e10; --ink-2: #5c5a55; --line: rgba(0, 0, 0, .08);
  --accent: #c6f432; --accent-ink: #0e0e10; --accent-text: #4f6a00;
  --good: #2f7a4f; --bad: #b3261e; --warn: #8a5a00;
  --r1: #8fbf00; --r2: #0e0e10; --r3: #7d8a5a;
  --a-gab: #c6f432; --a-tx: #d9d5cb; --a-raf: #a7b47e; --a-other: #c4c0b6; --a-ink: #0e0e10;
  --gold: #8fbf00; --dot-ok: #8fbf00; --dot-no: #d6d3cb;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .1);
  color-scheme: light;
}
[data-theme="laranja"][data-mode="light"] {
  --ground: #eef0f3; --ground-2: #ffffff; --ground-3: #dde2e9;
  --ink: #0b1a2e; --ink-2: #55657c; --line: rgba(0, 0, 0, .08);
  --accent: #ff6b2c; --accent-ink: #0b1a2e; --accent-text: #c94a12;
  --good: #2f7a4f; --bad: #b3261e; --warn: #8a5a00;
  --r1: #ff6b2c; --r2: #0b1a2e; --r3: #5a87c2;
  --a-gab: #ff6b2c; --a-tx: #ffb347; --a-raf: #7fa7d9; --a-other: #b9c2cf; --a-ink: #0b1a2e;
  --gold: #ff9a2c; --dot-ok: #ff6b2c; --dot-no: #cfd6e0;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .1);
  color-scheme: light;
}
[data-theme="champanhe"][data-mode="light"] {
  --ground: #f5f1e8; --ground-2: #fffdf8; --ground-3: #e8e1d2;
  --ink: #111111; --ink-2: #6b6457; --line: rgba(0, 0, 0, .08);
  --accent: #c9a86a; --accent-ink: #111111; --accent-text: #8c6f45;
  --good: #2f7a4f; --bad: #b3261e; --warn: #8a5a00;
  --r1: #c9a86a; --r2: #111111; --r3: #8c6f45;
  --a-gab: #c9a86a; --a-tx: #e3d9c4; --a-raf: #a88a5a; --a-other: #cfc6b4; --a-ink: #111111;
  --gold: #b8924e; --dot-ok: #b8924e; --dot-no: #ddd5c4;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .1);
  color-scheme: light;
}
[data-theme="floresta"][data-mode="light"] {
  --ground: #e8dfd0; --ground-2: #f4eee4; --ground-3: #d9cebb;
  --ink: #0f2a22; --ink-2: #4f5f55; --line: rgba(0, 0, 0, .08);
  --accent: #c8553d; --accent-ink: #ffffff; --accent-text: #a8402b;
  --good: #2f7a4f; --bad: #b3261e; --warn: #8a5a00;
  --r1: #c8553d; --r2: #0f2a22; --r3: #5f8f6e;
  --a-gab: #c8553d; --a-tx: #0f2a22; --a-raf: #5f8f6e; --a-other: #8a7f6c; --a-ink: #ffffff;
  --gold: #c8553d; --dot-ok: #c8553d; --dot-no: #cfc3ae;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .1);
  color-scheme: light;
}
[data-theme="bordo"][data-mode="light"] {
  --ground: #efeff1; --ground-2: #ffffff; --ground-3: #dfe0e3;
  --ink: #1a1a1d; --ink-2: #5f6269; --line: rgba(0, 0, 0, .08);
  --accent: #7a1e2c; --accent-ink: #ffffff; --accent-text: #7a1e2c;
  --good: #2f7a4f; --bad: #b3261e; --warn: #8a5a00;
  --r1: #7a1e2c; --r2: #9a9ea6; --r3: #c25a6c;
  --a-gab: #7a1e2c; --a-tx: #6e7178; --a-raf: #c25a6c; --a-other: #9a9ea6; --a-ink: #ffffff;
  --gold: #7a1e2c; --dot-ok: #7a1e2c; --dot-no: #d9d9de;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .1);
  color-scheme: light;
}
[data-theme="tx"][data-mode="dark"] {
  --ground: #140c0e; --ground-2: #1f1316; --ground-3: #2c1b1f;
  --ink: #f5f1ec; --ink-2: #b09a9e; --line: rgba(255, 255, 255, .08);
  --accent: #c8102e; --accent-ink: #ffffff; --accent-text: #ff5c74;
  --good: #5fbf8a; --bad: #ff7070; --warn: #e5b451;
  --r1: #e8344a; --r2: #f2b8bf; --r3: #f07a5a;
  --a-gab: #f05a6e; --a-tx: #f2b8bf; --a-raf: #f07a5a; --a-other: #c99aa1; --a-ink: #140c0e;
  --gold: #f07a5a; --dot-ok: #e8344a; --dot-no: #3d262b;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .5);
  color-scheme: dark;
}
/* Rosa, Roxo, Pêssego (08/10/2026) */
[data-theme="rosa"] {
  --ground: #1c1016; --ground-2: #27161f; --ground-3: #35202b;
  --ink: #fbe8ef; --ink-2: #c7a3b2; --line: rgba(255, 255, 255, .08);
  --accent: #ff5c9a; --accent-ink: #1c1016; --accent-text: #ff85b3;
  --good: #8fd1b0; --bad: #ff7a7a; --warn: #f5c07a;
  --r1: #ff5c9a; --r2: #fbe8ef; --r3: #d77a9b;
  --a-gab: #ff5c9a; --a-tx: #fbe8ef; --a-raf: #d77a9b; --a-other: #c7a3b2; --a-ink: #1c1016;
  --gold: #ffb3cc; --dot-ok: #ff5c9a; --dot-no: #4a2c39;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .5);
  color-scheme: dark;
}
[data-theme="roxo"] {
  --ground: #140f22; --ground-2: #1d1630; --ground-3: #291f42;
  --ink: #efe9fb; --ink-2: #a99cc7; --line: rgba(255, 255, 255, .08);
  --accent: #8b5cf6; --accent-ink: #ffffff; --accent-text: #b69cff;
  --good: #8fd1b0; --bad: #ff7a7a; --warn: #f5c07a;
  --r1: #8b5cf6; --r2: #efe9fb; --r3: #e879f9;
  --a-gab: #a78bfa; --a-tx: #efe9fb; --a-raf: #e879f9; --a-other: #a99cc7; --a-ink: #140f22;
  --gold: #c4b5fd; --dot-ok: #a78bfa; --dot-no: #362b52;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .5);
  color-scheme: dark;
}
[data-theme="pessego"] {
  --ground: #1f1614; --ground-2: #2a1e1b; --ground-3: #382824;
  --ink: #fbeee6; --ink-2: #c4a89c; --line: rgba(255, 255, 255, .08);
  --accent: #f4a688; --accent-ink: #1f1614; --accent-text: #f7b59b;
  --good: #8fd1b0; --bad: #ff7a7a; --warn: #f5c07a;
  --r1: #f4a688; --r2: #fbeee6; --r3: #d98a9b;
  --a-gab: #f4a688; --a-tx: #fbeee6; --a-raf: #d98a9b; --a-other: #c4a89c; --a-ink: #1f1614;
  --gold: #e8b796; --dot-ok: #f4a688; --dot-no: #4a3631;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .5);
  color-scheme: dark;
}
[data-theme="rosa"][data-mode="light"] {
  --ground: #fbf3f5; --ground-2: #fffafb; --ground-3: #f2e1e7;
  --ink: #2a1520; --ink-2: #7a5a68; --line: rgba(0, 0, 0, .08);
  --accent: #e23d7f; --accent-ink: #ffffff; --accent-text: #c42a68;
  --good: #2f7a4f; --bad: #b3261e; --warn: #8a5a00;
  --r1: #e23d7f; --r2: #2a1520; --r3: #f29bbb;
  --a-gab: #e23d7f; --a-tx: #2a1520; --a-raf: #d97a9c; --a-other: #9a7c88; --a-ink: #ffffff;
  --gold: #e23d7f; --dot-ok: #e23d7f; --dot-no: #ead3dc;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .1);
  color-scheme: light;
}
[data-theme="roxo"][data-mode="light"] {
  --ground: #f5f2fb; --ground-2: #fdfcff; --ground-3: #e7e0f5;
  --ink: #1b1430; --ink-2: #6a5f85; --line: rgba(0, 0, 0, .08);
  --accent: #6d3fe0; --accent-ink: #ffffff; --accent-text: #5a2fc8;
  --good: #2f7a4f; --bad: #b3261e; --warn: #8a5a00;
  --r1: #6d3fe0; --r2: #1b1430; --r3: #c04fd6;
  --a-gab: #6d3fe0; --a-tx: #1b1430; --a-raf: #c04fd6; --a-other: #8a7fa6; --a-ink: #ffffff;
  --gold: #6d3fe0; --dot-ok: #6d3fe0; --dot-no: #ddd5ee;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .1);
  color-scheme: light;
}
[data-theme="pessego"][data-mode="light"] {
  --ground: #fbf3ee; --ground-2: #fffaf7; --ground-3: #f1e2d9;
  --ink: #2b1d19; --ink-2: #7d655c; --line: rgba(0, 0, 0, .08);
  --accent: #e07f5f; --accent-ink: #ffffff; --accent-text: #b85d40;
  --good: #2f7a4f; --bad: #b3261e; --warn: #8a5a00;
  --r1: #e07f5f; --r2: #2b1d19; --r3: #c97a8a;
  --a-gab: #e07f5f; --a-tx: #2b1d19; --a-raf: #c97a8a; --a-other: #a08a80; --a-ink: #ffffff;
  --gold: #d9956f; --dot-ok: #e07f5f; --dot-no: #ecdcd2;
  --shadow: 0 -8px 32px rgba(0, 0, 0, .1);
  color-scheme: light;
}
[data-theme="admin"] { --accent: #d9a441; --accent-ink: #16181b; --accent-text: #e5b75a; }
/* motion tokens (same for every theme) */
:root {
  --dur-press: 100ms; --dur-fast: 180ms; --dur-base: 260ms; --dur-slow: 420ms;
  --ease-out: cubic-bezier(.2, .8, .2, 1); --ease-in: cubic-bezier(.4, 0, 1, 1);
  --ease-spring: linear(0, .009, .035 2.1%, .141, .281 6.7%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1);
  --stagger: 40ms;
  --font: -apple-system, BlinkMacSystemFont, system-ui, 'Segoe UI', Roboto, sans-serif; --font-display: var(--font);
}
