/* GERADO por scripts/make-temas.mjs — não edite à mão. Temas do ASTRO (o padrão, preto e branco, fica no app.css). */
html[data-theme="grafite"] { --bg0: #101113; --bg1: #131417; --bg2: #18191c; --bg3: #222327; --pop: #18191c; color-scheme: dark; }
html[data-theme="cinza"] { --bg0: #1e1f22; --bg1: #232428; --bg2: #2b2d31; --bg3: #35373c; --pop: #2b2d31; color-scheme: dark; }
html[data-theme="claro"] { --bg0: #ffffff; --bg1: #f5f5f6; --bg2: #ededef; --bg3: #e2e2e5; --pop: #ffffff; --fg: 24, 24, 27; --inv: 255, 255, 255; --danger: #c62828; --ok: #1e7e34; --warn: #9a6400; --link: #1a5fb4; color-scheme: light; }
/* tema claro: sombras e escurecidos mais leves */
html[data-theme="claro"] .overlay:not(.gate) { background: rgba(0, 0, 0, .45); }
/* a tela de entrar/criar conta é sempre opaca: nada do app aparece por trás (em qualquer tema) */
html[data-theme] .gate { background: var(--bg0); }
html[data-theme="claro"] .card { box-shadow: 0 8px 30px rgba(0, 0, 0, .15); }
/* tela de entrar: o feixe que passa pelo campo (--beam) e o cometa que contorna cartão e campos (--trace) de cada tema */
html[data-theme="claro"] { --beam: rgba(24, 24, 27, .1); --trace: #18181b; --trace-soft: rgba(24, 24, 27, .25); --trace-halo: rgba(24, 24, 27, .18); --reveal: #18181b; --reveal-soft: rgba(24, 24, 27, .3); }   /* no claro a luz é um traço de tinta, com halo bem leve */
html[data-theme="claro"] .gate .inp { box-shadow: inset 0 0 0 1px rgba(24, 24, 27, .06); }
html[data-theme="grafite"] { --beam: rgba(170, 200, 240, .3); --trace: #b9d4ff; --trace-soft: rgba(120, 160, 225, .35); --reveal: #b9d4ff; --reveal-soft: rgba(120, 160, 225, .6); }
html[data-theme="cinza"] { --beam: rgba(240, 230, 210, .3); --trace: #fff3dc; --trace-soft: rgba(225, 205, 170, .35); --reveal: #fff3dc; --reveal-soft: rgba(225, 205, 170, .55); }
/* o brilho do O (logo e botão de início): cada tema tem o seu — o do ASTRO, branco, fica no app.css */
html[data-theme="grafite"] :is(.logo .o, .gate .brand .o, .ds-brand .o) { color: #e6eefa; text-shadow: 0 0 4px rgba(150, 185, 230, .75), 0 0 14px rgba(90, 135, 200, .4); }
html[data-theme="grafite"] .homeico { border-color: #e6eefa; box-shadow: 0 0 6px rgba(130, 170, 225, .6), inset 0 0 5px rgba(130, 170, 225, .35); }
html[data-theme="cinza"] :is(.logo .o, .gate .brand .o, .ds-brand .o) { color: #f4efe6; text-shadow: 0 0 4px rgba(240, 228, 205, .7), 0 0 14px rgba(215, 195, 160, .32); }
html[data-theme="cinza"] .homeico { border-color: #f4efe6; box-shadow: 0 0 6px rgba(235, 220, 190, .55), inset 0 0 5px rgba(235, 220, 190, .3); }
html[data-theme="claro"] :is(.logo .o, .gate .brand .o, .ds-brand .o) { color: #18181b; text-shadow: 0 0 1px rgba(24, 24, 27, .55), 0 0 6px rgba(24, 24, 27, .16); }
html[data-theme="claro"] .homeico { border-color: #18181b; box-shadow: 0 0 4px rgba(24, 24, 27, .22), inset 0 0 3px rgba(24, 24, 27, .15); }
/* nomes coloridos por cargo: cores claras (branco, amarelo…) somem no fundo branco — escurece mantendo o tom */
html[data-theme="claro"] :is(.mn, .rn, .nm)[style*="color"] { filter: brightness(.6) saturate(1.4); }
/* amostras dos temas na tela de Aparência */
.th-grafite { background: #18191c; }
.th-cinza { background: #2b2d31; }
.th-claro { background: #ededef; }
.th-astro { background: #000; }
