/*   CSS FILE HEADER #
 *
 *   File:         [fx-ambientes.css]
 *   Author(s):    ['Pedro H.F Matias']
 *   Date:         ['06.10.2026']
 *   Version:      ['0.4.0']
 *   Description:  ['DOM overlays of the cast animations in js/fx/ambientes.js (SVG drawn and moved by GSAP; light, fire and matter live in WebGL).']
 */

/* building blocks: the drawing spills outside the card */
.amb .fx-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.amb-aura { opacity: 0; }

/* Aquecer: logs and stones */
.amb-fogueira .fx-svg { filter: drop-shadow(0 3px 3px rgba(0, 0, 0, .45)); }
.amb-fogueira .brasa { mix-blend-mode: screen; }

/* Demolir: cracks in stone, clipped to the card, with a light bevel */
.amb-demolir { overflow: hidden; }
.amb-demolir path { fill: none; stroke-linecap: round; stroke-linejoin: miter; }
.amb-demolir .fenda { stroke: #0d0704; }
.amb-demolir .luz { stroke: rgba(255, 238, 212, .45); }
.amb-demolir .cratera { fill: #160c06; stroke: rgba(255, 238, 212, .4); stroke-width: 1.2; }
body:not([data-tom="escuro"]) .amb-demolir .luz { stroke: rgba(255, 250, 235, .8); }

/* Florescer: vines, leaves and blossoms */
.amb-flores .vinha { fill: none; stroke: #3f7426; stroke-width: 4.2; stroke-linecap: round; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .35)); }
.amb-flores .folha path:first-child { fill: #5f9e34; stroke: #2f5d1c; stroke-width: .6; }
.amb-flores .folha .nervura { fill: none; stroke: #a9d77a; stroke-width: .7; }
.amb-flores .flor { filter: drop-shadow(0 1px 2px rgba(60, 0, 40, .35)); }
[data-tom="escuro"] .amb-flores .flor { filter: drop-shadow(0 0 5px rgba(255, 190, 230, .7)); }

/* Alterar I: transmutation circle */
.amb-circulo { color: #f1e2ff; }
.amb-circulo .traco { fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linejoin: round; }
.amb-circulo .traco.grosso { stroke-width: 2.6; }
.amb-circulo .lema { fill: currentColor; font: 600 12px/1 'Cinzel', serif; letter-spacing: 2px; }
.amb-circulo .signo { fill: currentColor; font: 15px/1 serif; text-anchor: middle; dominant-baseline: central; }
.amb-circulo .signo.centro { font-size: 34px; }
.amb-circulo .nitido { filter: drop-shadow(0 0 3px rgba(190, 140, 255, .95)) drop-shadow(0 0 10px rgba(150, 90, 255, .6)); }
.amb-circulo .halo-circulo { opacity: 0; color: #ffe6a8; filter: blur(4px); }
.amb-circulo .halo-circulo .traco { stroke-width: 6; }
body:not([data-tom="escuro"]) .amb-circulo { color: #45206e; }
body:not([data-tom="escuro"]) .amb-circulo .nitido { filter: none; }
body:not([data-tom="escuro"]) .amb-circulo .halo-circulo { color: #b07a1c; }

/* Alterar II: crystals */
.amb-cristais .aresta { fill: none; stroke: rgba(255, 255, 255, .75); stroke-width: .9; }
.amb-cristais .cr polygon:first-child, .amb-cristais .cr polygon:nth-child(2) { stroke: rgba(40, 10, 90, .5); stroke-width: .6; }
[data-tom="escuro"] .amb-cristais .fx-svg { filter: drop-shadow(0 0 6px rgba(180, 120, 255, .85)); }
body:not([data-tom="escuro"]) .amb-cristais .fx-svg { filter: drop-shadow(0 2px 3px rgba(40, 10, 80, .4)); }

/* Defender: shield */
.amb-escudo .contorno { fill: none; stroke: #e6dcff; stroke-width: 3; filter: drop-shadow(0 0 6px rgba(170, 130, 255, .95)); }
.amb-escudo .corpo { filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .5)); }
.amb-escudo .emblema { filter: drop-shadow(0 0 4px rgba(190, 150, 255, .9)); }
body:not([data-tom="escuro"]) .amb-escudo .contorno { stroke: #4b2a7a; filter: none; }
.amb-escudo .inscricao { color: #e6dcff; filter: drop-shadow(0 0 4px rgba(170, 130, 255, .9)); }
.amb-escudo .trilho { fill: none; stroke: currentColor; stroke-width: 1.2; }
.amb-escudo .trilho.grosso { stroke-width: 2.4; }
.amb-escudo .lema { fill: currentColor; font: 600 12px/1 'Cinzel', serif; letter-spacing: 2px; }
body:not([data-tom="escuro"]) .amb-escudo .inscricao { color: #4b2a7a; filter: none; }

/* Consertar: gears and the welded seam */
.amb-oficina .surge { filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .5)); }
.amb-oficina .racha { fill: none; stroke: #1a0f08; stroke-width: 2.4; stroke-linejoin: round; }
.amb-oficina .solda { fill: none; stroke: #ffd77a; stroke-width: 3.2; stroke-linejoin: round; stroke-linecap: round; filter: drop-shadow(0 0 4px rgba(255, 190, 80, .95)); }
body:not([data-tom="escuro"]) .amb-oficina .solda { stroke: #b07a1c; filter: none; }

/* Criar I (Terra): soil heaped around the foot of the card */
.amb-terra .fx-svg { filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .4)); }

/* Criar I (Metal): molten drips and the ingot */
.amb-forja .fio { fill: none; stroke-linecap: round; }
.amb-forja .fria { stroke: #4a4f57; }
.amb-forja .aresta { fill: none; stroke: rgba(25, 18, 12, .55); stroke-width: 1; stroke-linejoin: round; }
.amb-forja .lingote { filter: drop-shadow(0 3px 3px rgba(0, 0, 0, .45)); }
[data-tom="escuro"] .amb-forja .quente, [data-tom="escuro"] .amb-forja .pingo { filter: drop-shadow(0 0 5px rgba(255, 140, 40, .9)); }

/* Criar II (Carne): a translucent muscle, its tendons and the heartbeat glow */
.amb-carne .fibra, .amb-carne .tendao, .amb-carne .veia, .amb-carne .membrana { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.amb-carne .fibra { stroke: rgba(150, 18, 42, .55); stroke-width: 2.2; }
.amb-carne .fibra.clara { stroke: rgba(255, 150, 160, .45); stroke-width: 1.2; }
.amb-carne .tendao { stroke: rgba(245, 220, 205, .75); stroke-width: 2.6; }
.amb-carne .veia { stroke: rgba(80, 10, 60, .65); stroke-width: 1.8; }
.amb-carne .veia.fina { stroke-width: 1; }
.amb-carne .membrana { stroke: rgba(255, 170, 175, .7); stroke-width: 1.6; }
[data-tom="escuro"] .amb-carne .fx-svg { filter: drop-shadow(0 0 5px rgba(255, 50, 80, .45)); }
body:not([data-tom="escuro"]) .amb-carne .fx-svg { filter: drop-shadow(0 1px 1px rgba(60, 0, 10, .3)); }
body:not([data-tom="escuro"]) .amb-carne .tendao { stroke: rgba(205, 160, 140, .85); }

/* Moldar: thumb prints, finger grooves and crumbs of clay */
.amb-moldar .crista { fill: none; stroke: rgba(70, 34, 14, .6); stroke-width: 1.6; }
.amb-moldar .labio { fill: none; stroke: rgba(255, 222, 190, .75); stroke-width: 3; stroke-linecap: round; }
.amb-moldar .sulco path { fill: none; stroke-linecap: round; }
.amb-moldar .sulco .fundo { stroke: rgba(70, 34, 14, .6); stroke-width: 6; }
.amb-moldar .sulco .luz { stroke: rgba(255, 225, 195, .35); stroke-width: 1.5; }
.amb-moldar .migalha path:first-child { stroke: rgba(70, 35, 15, .5); stroke-width: .7; }

/* Criar II: heartbeat glow */
.amb-pulso { opacity: 0; background: radial-gradient(ellipse at 50% 50%, rgba(200, 40, 60, .35), transparent 70%); }
