/*   CSS FILE HEADER #
 *
 *   File:         [fx-condicoes.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/condicoes.js: SVG rigs animated by GSAP (anchor, wings, shield, eye, laurel...) and tinted veils. Motion lives in the JS; here only looks. .fxc-tinta = drawn over light papyrus.']
 */

/* ---------- shared ---------- */
.fx-camada > .veu { position: absolute; inset: 0; border-radius: inherit; opacity: 0; pointer-events: none; }
.fxc-janela { overflow: hidden; }
.fx-camada .fx-peca > svg, .fx-camada .fx-svg { overflow: visible; }

/* ---------- gooey liquids ---------- */
.gosma > * { fill: var(--gosma); }
.gosma .ferida { fill: none; stroke: var(--gosma); stroke-width: 10; stroke-linecap: round; }
.ferida-fundo { fill: none; stroke: #2a0205; stroke-width: 1.8; stroke-linecap: round; opacity: .85; }

.fxc-sangue { --gosma: #8e0c16; }
.fxc-sangue .veu { box-shadow: inset 0 0 46px 10px rgba(150, 10, 25, .55); background: radial-gradient(ellipse at 50% 50%, transparent 45%, rgba(110, 0, 12, .35) 100%); }

.fxc-veneno { --gosma: #3f9e26; }
.fxc-veneno .veu { box-shadow: inset 0 0 44px 8px rgba(90, 200, 60, .45); background: radial-gradient(ellipse at 50% 100%, rgba(80, 170, 40, .25), transparent 70%); }

.fxc-podre { --gosma: #55501c; }
.fxc-podre .veu {
    -webkit-backdrop-filter: sepia(.6) saturate(.45) brightness(.82); backdrop-filter: sepia(.6) saturate(.45) brightness(.82);
    box-shadow: inset 0 0 50px 12px rgba(35, 40, 12, .6);
}

/* ---------- fire / lightning ---------- */
.fxc-queima .veu { box-shadow: inset 0 0 44px 12px rgba(40, 14, 4, .72), inset 0 -36px 50px -12px rgba(255, 110, 20, .55), 0 0 30px rgba(255, 120, 30, .45); }
.fxc-choque .veu { background: rgba(255, 244, 170, .16); box-shadow: inset 0 0 0 2px rgba(255, 235, 120, .85), inset 0 0 34px rgba(255, 230, 90, .45); }

/* ---------- Congelado ---------- */
.fxc-gelo .fx-svg { filter: drop-shadow(0 0 4px rgba(160, 220, 255, .9)); }
.fxc-gelo .espinho polygon { stroke: rgba(255, 255, 255, .85); stroke-width: .8; stroke-linejoin: round; }
.fxc-gelo .aresta { stroke: rgba(255, 255, 255, .95); stroke-width: .9; fill: none; }
.fxc-gelo .fendas-gelo path { fill: none; stroke: #ffffff; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.fxc-gelo .veu {
    -webkit-backdrop-filter: saturate(.55) brightness(1.08); backdrop-filter: saturate(.55) brightness(1.08);
    box-shadow: inset 0 0 0 2px rgba(210, 240, 255, .7), inset 0 0 34px 6px rgba(150, 210, 255, .5);
    background: linear-gradient(135deg, rgba(225, 245, 255, .22), transparent 30%, transparent 70%, rgba(225, 245, 255, .22));
}
.fxc-tinta.fxc-gelo .fx-svg { filter: drop-shadow(0 1px 2px rgba(20, 60, 110, .55)); }
.fxc-tinta.fxc-gelo .fendas-gelo path { stroke: #2d5d8a; }

/* ---------- Lento ---------- */
.fxc-lento .rig { filter: drop-shadow(0 0 1px #c3d2e2) drop-shadow(0 0 7px rgba(110, 150, 255, .75)) drop-shadow(0 6px 6px rgba(0, 0, 0, .45)); }
.fxc-lento .elo { fill: none; stroke-width: 3; }
.fxc-lento .runa { fill: none; stroke: #c9a6ff; stroke-width: 2; stroke-linecap: round; filter: drop-shadow(0 0 3px #9b6bff); }
.fxc-lento .lustro { fill: none; stroke: rgba(255, 255, 255, .35); stroke-width: 1.4; stroke-linecap: round; }
.fxc-tinta.fxc-lento .rig { filter: drop-shadow(0 4px 4px rgba(40, 25, 10, .45)); }

/* ---------- Paralisado ---------- */
.fxc-paralisa .correntes { filter: drop-shadow(0 0 2px #fff3a0) drop-shadow(0 0 8px rgba(255, 210, 40, .85)); }
.fxc-paralisa .cadeado { filter: drop-shadow(0 0 8px rgba(255, 215, 90, .9)) drop-shadow(0 4px 5px rgba(0, 0, 0, .45)); }
.fxc-paralisa .veu { box-shadow: inset 0 0 0 2px rgba(255, 230, 110, .85), inset 0 0 36px rgba(255, 225, 90, .4); }
.fxc-tinta.fxc-paralisa .correntes { filter: drop-shadow(0 0 1px #6b5208) drop-shadow(0 2px 3px rgba(60, 40, 0, .5)); }

/* ---------- Fortificado ---------- */
.fxc-forte .muralha { filter: drop-shadow(0 -2px 4px rgba(0, 0, 0, .4)); }
.fxc-forte .escudo { filter: drop-shadow(0 0 12px rgba(255, 210, 90, .8)) drop-shadow(0 5px 7px rgba(0, 0, 0, .45)); }
.fxc-forte .aro-luz { fill: none; stroke: #ffffff; stroke-width: 3; stroke-linecap: round; filter: drop-shadow(0 0 4px #fff6c8); }
.fxc-forte .veu { background: radial-gradient(circle at 50% 46%, rgba(255, 236, 170, .75), rgba(255, 210, 90, 0) 62%); }
.fxc-tinta.fxc-forte .escudo { filter: drop-shadow(0 4px 6px rgba(40, 25, 5, .5)); }

/* ---------- Alado ---------- */
.fxc-asas .asa { filter: drop-shadow(0 0 8px rgba(255, 240, 200, .85)); }
.fxc-asas .pena-asa > path:first-child { stroke: rgba(165, 125, 45, .5); stroke-width: .8; }
.fxc-asas .raque { fill: none; stroke: rgba(185, 145, 60, .6); stroke-width: .9; stroke-linecap: round; }
.fxc-asas .braco { fill: none; stroke: #fffaf0; stroke-width: 7; stroke-linecap: round; }
.fxc-tinta.fxc-asas .asa { filter: drop-shadow(0 2px 3px rgba(80, 55, 15, .55)); }
.fxc-tinta.fxc-asas .pena-asa > path:first-child { stroke: rgba(120, 85, 20, .75); }

/* ---------- Inspirado ---------- */
.fxc-inspira .veu { background: radial-gradient(ellipse at 50% 20%, rgba(255, 220, 120, .42), transparent 65%); }
.fxc-inspira .fx-svg { filter: drop-shadow(0 0 4px rgba(255, 210, 90, .9)); }
.fxc-inspira .pauta { fill: none; stroke: #f5d06a; stroke-width: 1.3; stroke-linecap: round; }
.fxc-inspira .nota { fill: #ffe08a; }
.fxc-inspira .nota .haste { fill: none; stroke: #ffe08a; stroke-width: 1.7; }
.fxc-tinta.fxc-inspira .fx-svg { filter: none; }
.fxc-tinta.fxc-inspira .pauta { stroke: #8a5f12; }
.fxc-tinta.fxc-inspira .nota { fill: #6b4509; }
.fxc-tinta.fxc-inspira .nota .haste { stroke: #6b4509; }

/* ---------- Moral ---------- */
.fxc-moral .bandeira { filter: drop-shadow(0 4px 5px rgba(0, 0, 0, .45)); }
.fxc-moral .veu { background: radial-gradient(ellipse at 72% 0%, rgba(255, 225, 140, .6), transparent 55%); }
.fxc-moral.baixa .veu { background: none; -webkit-backdrop-filter: grayscale(.7) brightness(.85); backdrop-filter: grayscale(.7) brightness(.85); }

/* ---------- Atento ---------- */
.fxc-olho .olho { filter: drop-shadow(0 0 10px rgba(255, 200, 90, .85)); }
.fxc-olho .contorno { fill: none; stroke: #b8862a; stroke-width: 3; }
.fxc-olho .cilios { fill: none; stroke: #b8862a; stroke-width: 2.4; stroke-linecap: round; }
.fxc-olho .fibras { fill: none; stroke: rgba(105, 55, 5, .45); stroke-width: .8; }
.fxc-olho .limbo { fill: none; stroke: rgba(55, 28, 0, .75); stroke-width: 2.6; }
.fxc-olho .pupila { fill: #120a04; }
.fxc-olho .sombra-palpebra { fill: rgba(90, 55, 15, .28); }
.fxc-olho .runas { fill: none; stroke: rgba(255, 215, 120, .8); stroke-width: 1.3; }
.fxc-olho .veu { background: radial-gradient(ellipse at 50% 48%, transparent 30%, rgba(10, 5, 20, .45) 100%); }
.fxc-tinta.fxc-olho .olho { filter: drop-shadow(0 2px 4px rgba(70, 40, 5, .5)); }
.fxc-tinta.fxc-olho .runas { stroke: rgba(120, 75, 10, .8); }

/* ---------- Honrado ---------- */
.fxc-louro .louro { filter: drop-shadow(0 0 8px rgba(255, 210, 90, .85)); }
.fxc-louro .ramo { fill: none; stroke: #8b6110; stroke-width: 2.4; stroke-linecap: round; }
.fxc-louro .nervura { fill: none; stroke: rgba(115, 75, 8, .55); stroke-width: .7; }
.fxc-louro .veu { background: radial-gradient(circle at 50% 45%, rgba(255, 225, 140, .38), transparent 62%); }
.fxc-tinta.fxc-louro .louro { filter: drop-shadow(0 2px 3px rgba(70, 45, 5, .5)); }

/* ---------- solids that crack and shatter (Imortal, Vulnerável) ---------- */
.fx-peca > .inteiro, .caco-obj, .caco-obj > img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block; }
.caco-obj { visibility: hidden; }
.fx-peca > svg.sobre { position: absolute; inset: 0; }
.sobre path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.sobre .reflexo { fill: rgba(255, 255, 255, .45); }
.sobre .fenda-luz { opacity: .5; }

/* ---------- Imortal ---------- */
.fxc-imortal .veu { background: radial-gradient(circle at 50% 44%, rgba(40, 70, 130, .1), rgba(8, 16, 42, .72) 78%); }
.fxc-imortal .ankh > .inteiro { filter: drop-shadow(0 0 7px rgba(150, 255, 235, .65)) drop-shadow(0 6px 8px rgba(0, 20, 30, .5)); }
.fxc-imortal .fenda-luz path { stroke: rgba(190, 255, 245, .95); stroke-width: 7; filter: blur(2px); }
.fxc-imortal .fenda-traco path { stroke: #ffffff; stroke-width: 1.7; }
.fxc-tinta.fxc-imortal .veu { background: radial-gradient(circle at 50% 44%, rgba(90, 130, 170, 0), rgba(50, 80, 110, .22) 80%); }
.fxc-tinta.fxc-imortal .luz-renasce .p0 { stop-color: #3f6f9c; stop-opacity: .5; }
.fxc-tinta.fxc-imortal .luz-renasce .p1 { stop-color: #5280ad; stop-opacity: .42; }
.fxc-tinta.fxc-imortal .luz-renasce .p2 { stop-color: #86a3c4; stop-opacity: .22; }
.fxc-tinta.fxc-imortal .luz-renasce .p3 { stop-color: #b4c6da; stop-opacity: 0; }
.fxc-tinta.fxc-imortal .miolo-luz { display: none; }
.fxc-tinta.fxc-imortal .ankh > .inteiro { filter: drop-shadow(0 4px 5px rgba(10, 40, 40, .5)); }
.fxc-tinta.fxc-imortal .fenda-luz path { stroke: rgba(20, 90, 85, .45); }
.fxc-tinta.fxc-imortal .fenda-traco path { stroke: #082a27; }

/* ---------- Fraco ---------- */
.fxc-fraco .veu {
    -webkit-backdrop-filter: grayscale(.92) brightness(.82); backdrop-filter: grayscale(.92) brightness(.82);
    box-shadow: inset 0 0 50px 10px rgba(20, 20, 25, .5);
}
.fxc-fraco .espada { filter: drop-shadow(0 0 6px rgba(200, 220, 255, .55)) drop-shadow(0 5px 6px rgba(0, 0, 0, .45)); }
.fxc-fraco .sulco { fill: none; stroke: rgba(55, 65, 78, .55); stroke-width: 1.4; }
.fxc-fraco .fenda { fill: none; stroke: #ffffff; stroke-width: 2; stroke-linejoin: round; filter: drop-shadow(0 0 3px #fff) drop-shadow(0 0 6px #b9d2ff); }
.fxc-tinta.fxc-fraco .espada { filter: drop-shadow(0 4px 5px rgba(30, 20, 10, .5)); }

/* ---------- Sensível ---------- */
.fxc-sensivel path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.fxc-sensivel .fenda path { stroke: #2a0d0d; stroke-width: 2.2; }
.fxc-sensivel .brilho-fenda { opacity: .4; }
.fxc-sensivel .brilho-fenda path { stroke: rgba(255, 60, 80, .9); stroke-width: 7; filter: blur(2.5px); }
.fxc-sensivel .veu { box-shadow: inset 0 0 44px 8px rgba(210, 30, 50, .55); }

/* ---------- Vulnerável ---------- */
.fxc-vulneravel .peitoral > .inteiro { filter: drop-shadow(0 0 6px rgba(200, 220, 255, .3)) drop-shadow(0 6px 8px rgba(0, 0, 0, .5)); }
.fxc-vulneravel .fenda-luz path { stroke: rgba(255, 50, 60, .95); stroke-width: 6; filter: blur(2px); }
.fxc-vulneravel .fenda-traco path { stroke: #1a0505; stroke-width: 1.6; }
.fxc-vulneravel .veu { background: radial-gradient(ellipse at 50% 50%, transparent 35%, rgba(140, 0, 15, .45) 100%); }
.fxc-tinta.fxc-vulneravel .peitoral > .inteiro { filter: drop-shadow(0 4px 5px rgba(30, 20, 10, .5)); }
.fxc-tinta.fxc-vulneravel .fenda-luz path { stroke: rgba(190, 20, 30, .55); }

/* ---------- Atordoado ---------- */
.fxc-tonto .espiral-tonta { fill: none; stroke: #ffe08a; stroke-width: 3; stroke-linecap: round; filter: drop-shadow(0 0 4px rgba(255, 210, 90, .9)); }
.fxc-tinta.fxc-tonto .espiral-tonta { stroke: #8a5f12; filter: none; }

/* ---------- Hipnotizado ---------- */
.fxc-hipnose .pendulo { filter: drop-shadow(0 0 10px rgba(170, 110, 255, .9)) drop-shadow(0 4px 5px rgba(0, 0, 0, .4)); }
.fxc-hipnose .fio-pendulo { fill: none; stroke: #e2b54a; stroke-width: 2; stroke-dasharray: 4 2; }
.fxc-hipnose .veu { background: radial-gradient(ellipse at 50% 55%, rgba(150, 90, 255, .25), transparent 45%, rgba(30, 10, 60, .45) 100%); }
.fxc-tinta.fxc-hipnose .pendulo { filter: drop-shadow(0 3px 4px rgba(40, 10, 70, .5)); }

/* ---------- Medo ---------- */
.fxc-medo .fx-svg { filter: drop-shadow(0 0 4px rgba(255, 40, 30, .95)) drop-shadow(0 0 10px rgba(255, 0, 0, .6)); }

/* ---------- Cego ---------- */
.fxc-cego .veu { background: radial-gradient(circle at 50% 50%, rgba(255, 255, 245, .98), rgba(255, 250, 230, .7) 45%, rgba(255, 240, 200, 0) 80%); }

/* ---------- Invisível ---------- */
.fxc-invisivel .veu { background: linear-gradient(105deg, transparent 35%, rgba(220, 240, 255, .6) 50%, transparent 65%) -150% 0 / 250% 100% no-repeat; mix-blend-mode: screen; }
.fxc-tinta.fxc-invisivel .veu { mix-blend-mode: normal; background-image: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .7) 50%, transparent 65%); }

/* ---------- Frenesi ---------- */
.fxc-frenesi .veu { box-shadow: inset 0 0 46px 10px rgba(220, 30, 30, .55), 0 0 30px rgba(220, 40, 40, .5); }

/* ---------- Precavido ---------- */
.fxc-guarda .broquel { filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .55)); }
.fxc-guarda .reflexo { fill: rgba(255, 245, 225, .3); }
.fxc-guarda .queimado, .fxc-guarda .clarao { opacity: 0; }
.fxc-guarda .veu { box-shadow: inset 0 0 34px rgba(255, 200, 120, .35), 0 0 16px rgba(255, 190, 110, .3); }
.fxc-tinta.fxc-guarda .broquel { filter: drop-shadow(0 4px 5px rgba(40, 25, 10, .5)); }
.fxc-tinta.fxc-guarda .veu { box-shadow: inset 0 0 30px rgba(120, 70, 20, .3); }

/* ---------- condition removed ---------- */
.fxc-purifica .veu { background: linear-gradient(0deg, transparent 0%, rgba(255, 250, 225, .75) 45%, transparent 60%) 0 0 / 100% 250% no-repeat; }
