/* =======================================
   ZAHIRA (heroId 93) – A DONTOSI KANYON LASSZÓJA – FÖLDREZONANCIA
   =======================================
   Paletta (skin szerint, a JS írja felül inline változókkal; a spec
   --color-1 ... --color-5 sorrendje):
   Alap: #7BD66B, #2F4A26, #B08A5A, #4FAE5C, #16210F – zöld földenergia,
   mohás kanyonfal, homokkő-barna, mély erdőzöld.
   --zh-thread: földenergia-szál, --zh-glow: a lasszó fénye, --zh-spark:
   kiemelés, --zh-accent: homokkő / díszítés, --zh-deep: mély árnyék,
   --zh-core: sötét mag, --zh-ember: sötét perem.
   --zh-rock / --zh-rock-shade: betöltött szikla, --zh-rock-idle: szürke,
   még be nem töltött szikla. --zh-resonance: 0..4.
   Állapotok: .is-resonance-N, .is-one-with-earth / .zahira-one-with-earth
   (Földdel Együtt), ellenséges kártyán .zahira-faultlined /
   .zahira-earthbreak-ready, .zahira-faultline-pill__crackbox. */

/* Academy ornaments are part of the mechanic, independent of charge state. */
.zahira-academy-meter-book, .zahira-academy-meter-pin { display: none; position: absolute; pointer-events: none; z-index: 5; }
.zahira-academy-meter-book svg, .zahira-academy-meter-pin svg { display: block; width: 100%; height: 100%; }
.zahira-lasso-meter[data-zh-theme="akademia"] .zahira-academy-meter-book { display: block; width: 29px; height: 24px; left: -4px; bottom: 11px; transform: rotate(-12deg); filter: drop-shadow(0 0 4px #3eb771); animation: zhAcademyNotebook 3.8s ease-in-out infinite; }
.zahira-lasso-meter[data-zh-theme="akademia"] .zahira-academy-meter-pin { display: block; width: 19px; height: 23px; right: 4px; bottom: 13px; filter: drop-shadow(0 0 3px #78d479); }
.zahira-lasso-meter[data-zh-theme="akademia"]::before { border-radius: 40% 40% 47% 47%; outline-style: solid; outline-color: #9ed26966; }
.zahira-earth-tooltip[data-zh-theme="akademia"], #zahira-earth-workshop[data-zh-theme="akademia"] { --zh-night: #041e18; background: radial-gradient(ellipse at 92% 0%, #3eb77135, transparent 45%), repeating-linear-gradient(125deg, transparent 0 37px, #9ed26908 38px 39px), linear-gradient(145deg, #123f35, #051c17); border-color: #78d479aa; box-shadow: inset 0 0 0 1px #9ed26922, 0 14px 50px #000b, 0 0 25px #1c8b7433; }
.zahira-earth-tooltip[data-zh-theme="akademia"] .zahira-earth-tooltip__crest { background: radial-gradient(circle, #78d47933, #092b24 75%); }
.zahira-earth-tooltip[data-zh-theme="akademia"] header small, #zahira-earth-workshop[data-zh-theme="akademia"] .zahira-earth-workshop__title small { color: #9ed269; }
.zahira-earth-tooltip[data-zh-theme="akademia"] .zahira-earth-tooltip__vfx i { opacity: .23; }
.zahira-earth-tooltip[data-zh-theme="akademia"] .zahira-earth-tooltip__rocks { border-color: #78d47966; background: linear-gradient(95deg, #1c8b7426, #9ed26910); }
.zahira-faultline-tip[data-zh-theme="akademia"] { color: #e8ffd9; background: linear-gradient(135deg,#123f35,#041e18); border: 1px solid #78d47999; box-shadow: inset 0 0 18px #3eb77122, 0 0 18px #1c8b7444; }
.zahira-faultline-tip[data-zh-theme="akademia"] strong, .zahira-faultline-tip[data-zh-theme="akademia"] small { color: #9ed269; }
.zahira-faultline-pill[data-zh-theme="akademia"] { background: #092b24; border-color: #4ebc84; box-shadow: 0 0 8px #3eb77155; }
.zahira-faultline-pill[data-zh-theme="akademia"] .zahira-faultline-pill__pips i.is-on { background: #78d479; box-shadow: 0 0 4px #3eb771; }
@keyframes zhAcademyNotebook { 0%,100% { translate: 0 0; rotate: -3deg; } 50% { translate: 1px -4px; rotate: 4deg; } }
@media (prefers-reduced-motion: reduce) { .zahira-lasso-meter[data-zh-theme="akademia"] .zahira-academy-meter-book { animation: none; } }
body.bf-vfx-suspended .zahira-academy-meter-book { animation-play-state: paused !important; }

.zahira-ice-meter-snowflake { display: none; }
.zahira-lasso-meter[data-zh-theme="jeg"] .zahira-ice-meter-snowflake { display: block; position: absolute; z-index: 5; left: -4px; bottom: 10px; width: 28px; height: 28px; filter: drop-shadow(0 0 4px #00cee0); animation: zhIceSnowTurn 16s linear infinite; pointer-events: none; }
.zahira-ice-meter-snowflake svg { width: 100%; height: 100%; }
.zahira-lasso-meter[data-zh-theme="jeg"] { --zh-night: #02091c; }
.zahira-lasso-meter[data-zh-theme="jeg"]::before { border-radius: 30% 40% 35% 42%; outline-style: solid; outline-color: #bec7ff66; }
.zahira-earth-tooltip[data-zh-theme="jeg"], #zahira-earth-workshop[data-zh-theme="jeg"] { --zh-night: #02091c; color: #F4FBFF; background: radial-gradient(ellipse at 92% 0%, #0c80ed44, transparent 48%), repeating-linear-gradient(125deg, transparent 0 37px, #bec7ff0b 38px 39px), linear-gradient(145deg, #07142c, #001361 58%, #020715); border-color: #bec7ffaa; box-shadow: inset 0 0 0 1px #00cee022, 0 14px 50px #000b, 0 0 25px #0c80ed44; }
.zahira-earth-tooltip[data-zh-theme="jeg"] .zahira-earth-tooltip__crest { background: radial-gradient(circle,#00cee033,#001361 75%); }
.zahira-earth-tooltip[data-zh-theme="jeg"] header small, #zahira-earth-workshop[data-zh-theme="jeg"] .zahira-earth-workshop__title small { color: #BEC7FF; }
.zahira-earth-tooltip[data-zh-theme="jeg"] .zahira-earth-tooltip__rocks { border-color: #00cee077; background: linear-gradient(100deg,#0c80ed22,#bec7ff11); }
.zahira-earth-tooltip[data-zh-theme="jeg"] .zahira-earth-tooltip__vfx i, #zahira-earth-workshop[data-zh-theme="jeg"] .zahira-earth-workshop__vfx i { opacity: .3; filter: drop-shadow(0 0 3px #00cee0); }
.zahira-faultline-tip[data-zh-theme="jeg"] { color: #F4FBFF; background: linear-gradient(135deg,#001361,#07142c); border: 1px solid #00cee088; box-shadow: inset 0 0 18px #0c80ed33,0 0 18px #00cee033; }
.zahira-faultline-tip[data-zh-theme="jeg"] strong, .zahira-faultline-tip[data-zh-theme="jeg"] small { color: #BEC7FF; }
.zahira-faultline-pill[data-zh-theme="jeg"] { color:#F4FBFF; background: #07142c; border-color: #0c80ed; box-shadow: 0 0 8px #00cee055; }
.zahira-faultline-pill[data-zh-theme="jeg"] .zahira-faultline-pill__crackbox { background: linear-gradient(135deg,#554b5e,#001361); border-color: #bec7ff88; }
.zahira-faultline-pill[data-zh-theme="jeg"] .zahira-faultline-pill__crackbox path.is-on { stroke: #00CEE0; filter: drop-shadow(0 0 2px #0c80ed); }
.zahira-faultline-pill[data-zh-theme="jeg"] .zahira-faultline-pill__pips i.is-on { background: #BEC7FF; box-shadow: 0 0 5px #00cee0; }
.zahira-faultline-pill[data-zh-theme="jeg"].is-ready { border-color: #F4FBFF; box-shadow: 0 0 12px #0c80ed88; }
[data-zh-theme="jeg"] .ability-inline-icon.is-zahira-keyword { filter: drop-shadow(0 0 3px #00cee088); }
@keyframes zhIceSnowTurn { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .zahira-lasso-meter[data-zh-theme="jeg"] .zahira-ice-meter-snowflake { animation: none; } }
body.bf-vfx-suspended .zahira-ice-meter-snowflake { animation-play-state: paused !important; }

:root {
    --zh-1: #7BD66B; --zh-2: #2F4A26; --zh-3: #B08A5A; --zh-4: #4FAE5C; --zh-5: #16210F;
    --zh-thread: #8BE07A; --zh-glow: #4FAE5C; --zh-spark: #E4FFD2;
    --zh-accent: #B08A5A; --zh-deep: #16210F; --zh-core: #1F2A17; --zh-ember: #5C4127;
    --zh-rock: #8C7A62; --zh-rock-shade: #463A2C; --zh-rock-idle: #6F6F6A;
    --zh-night: #070b05;
}
.zahira-lasso-meter, .zahira-earth-tooltip, #zahira-earth-workshop { --zh-resonance: 0; }

/* ---------------------------------------
   Közös szikla-forma (inline SVG: test, fazetta, zöld ér)
   Alap: szürke, kialudt (még nincs betöltve). .is-on: kanyon-kő zöld érrel.
   --------------------------------------- */
.zahira-lasso-meter__rocks i svg,
.zahira-earth-tooltip__rock svg,
.zahira-earth-tooltip__vfx svg,
.zahira-earth-workshop__vfx svg { display: block; width: 100%; height: 100%; overflow: visible; }
.zahira-lasso-meter__rocks .zh-rock-body,
.zahira-earth-tooltip__rock .zh-rock-body {
    fill: color-mix(in srgb, var(--zh-rock-idle) 78%, #000);
    stroke: color-mix(in srgb, var(--zh-rock-idle) 70%, #fff); stroke-width: .9; stroke-linejoin: round;
    transition: fill .4s, stroke .4s;
}
.zahira-lasso-meter__rocks .zh-rock-facet,
.zahira-earth-tooltip__rock .zh-rock-facet { fill: none; stroke: #0007; stroke-width: .8; stroke-linejoin: round; }
.zahira-lasso-meter__rocks .zh-rock-vein,
.zahira-earth-tooltip__rock .zh-rock-vein {
    fill: none; stroke: color-mix(in srgb, var(--zh-rock-idle) 60%, #fff); stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round;
    opacity: .35; transition: stroke .4s, opacity .4s;
}
.zahira-lasso-meter__rocks i.is-on .zh-rock-body,
.zahira-earth-tooltip__rock.is-on .zh-rock-body {
    fill: color-mix(in srgb, var(--zh-rock) 72%, var(--zh-rock-shade));
    stroke: color-mix(in srgb, var(--zh-accent) 70%, var(--zh-spark));
}
.zahira-lasso-meter__rocks i.is-on .zh-rock-facet,
.zahira-earth-tooltip__rock.is-on .zh-rock-facet { stroke: color-mix(in srgb, var(--zh-rock-shade) 80%, #000); }
.zahira-lasso-meter__rocks i.is-on .zh-rock-vein,
.zahira-earth-tooltip__rock.is-on .zh-rock-vein {
    stroke: var(--zh-spark); stroke-width: 1.5; opacity: 1;
    filter: drop-shadow(0 0 1.5px var(--zh-thread)) drop-shadow(0 0 3px var(--zh-glow));
}
/* Lebegő díszsziklák (tooltip / műhely háttér): mindig kanyon-kő. */
.zahira-earth-tooltip__vfx .zh-rock-body,
.zahira-earth-workshop__vfx .zh-rock-body { fill: color-mix(in srgb, var(--zh-rock) 60%, var(--zh-rock-shade)); stroke: color-mix(in srgb, var(--zh-accent) 55%, transparent); stroke-width: .8; }
.zahira-earth-tooltip__vfx .zh-rock-facet,
.zahira-earth-workshop__vfx .zh-rock-facet { fill: none; stroke: #0006; stroke-width: .7; }
.zahira-earth-tooltip__vfx .zh-rock-vein,
.zahira-earth-workshop__vfx .zh-rock-vein { fill: none; stroke: var(--zh-thread); stroke-width: 1.2; stroke-linecap: round; filter: drop-shadow(0 0 2px var(--zh-glow)); }

/* ---------------------------------------
   Lasszó-mérő a kártyán (mechanika-ikon)
   --------------------------------------- */
.zahira-lasso-meter {
    position: absolute; left: 40px; bottom: 5px; z-index: 19;
    width: 100px; height: 88px; padding: 0; border: 0;
    background: transparent; color: #fff; cursor: pointer; isolation: isolate;
    filter: drop-shadow(0 7px 9px #000d);
}
.zahira-lasso-meter[hidden] { display: none; }
.zahira-lasso-meter:focus-visible { outline: 2px solid var(--zh-glow); outline-offset: 2px; border-radius: 50%; }
/* Körvonalas, teljes kitöltésű háttér (nem kék keret): sötét földmag,
   zöld fény a közepén, homokkő szaggatott belső körvonallal. */
.zahira-lasso-meter::before {
    position: absolute; inset: 2px 12px 10px; z-index: -1; content: "";
    border: 1.5px solid color-mix(in srgb, var(--zh-thread) 42%, var(--zh-accent));
    border-radius: 50%;
    outline: 1px dashed color-mix(in srgb, var(--zh-accent) 55%, transparent); outline-offset: -5px;
    background:
        radial-gradient(circle at 50% 46%, color-mix(in srgb, var(--zh-glow) calc(14% + var(--zh-resonance) * 6%), transparent), transparent 60%),
        radial-gradient(ellipse 80% 40% at 50% 100%, color-mix(in srgb, var(--zh-ember) 55%, transparent), transparent 70%),
        radial-gradient(circle, color-mix(in srgb, var(--zh-core) 75%, transparent), color-mix(in srgb, var(--zh-night) 94%, #000));
    box-shadow: 0 0 10px color-mix(in srgb, var(--zh-glow) 28%, transparent), inset 0 0 18px color-mix(in srgb, #000 60%, var(--zh-ember));
    animation: zhMeterBreath 3.6s ease-in-out infinite alternate;
}
.zahira-lasso-meter.is-resonance-3::before {
    border-color: color-mix(in srgb, var(--zh-thread) 75%, var(--zh-accent));
    box-shadow: 0 0 15px color-mix(in srgb, var(--zh-glow) 45%, transparent), inset 0 0 18px #000;
}
.zahira-lasso-meter.is-one-with-earth::before {
    border-color: var(--zh-spark);
    background:
        radial-gradient(circle at 50% 46%, color-mix(in srgb, var(--zh-thread) 42%, transparent), transparent 62%),
        radial-gradient(ellipse 80% 40% at 50% 100%, color-mix(in srgb, var(--zh-accent) 45%, transparent), transparent 70%),
        radial-gradient(circle, color-mix(in srgb, var(--zh-deep) 80%, #000), #000);
    box-shadow: 0 0 22px var(--zh-glow), 0 0 40px color-mix(in srgb, var(--zh-deep) 80%, var(--zh-glow)), inset 0 0 22px #000;
    animation: zhEarthPulse .95s ease-in-out infinite alternate;
}
/* Háttérfény + szálló földdarabok (zöld földenergia-pára). */
.zahira-lasso-meter__aura {
    position: absolute; inset: -10px 2px 0; z-index: -2; border-radius: 50%; pointer-events: none;
    opacity: calc(.18 + var(--zh-resonance) * .16);
    background:
        radial-gradient(circle 2px at 22% 70%, var(--zh-accent), transparent 70%),
        radial-gradient(circle 1.6px at 76% 62%, var(--zh-thread), transparent 70%),
        radial-gradient(circle 2.2px at 64% 82%, var(--zh-rock), transparent 70%),
        radial-gradient(circle 1.4px at 36% 86%, var(--zh-spark), transparent 70%),
        radial-gradient(circle, color-mix(in srgb, var(--zh-glow) 55%, transparent), color-mix(in srgb, var(--zh-deep) 70%, transparent) 50%, transparent 72%);
    animation: zhAuraDrift 4.2s ease-in-out infinite;
    transition: opacity .5s;
}
.zahira-lasso-meter__aura::before, .zahira-lasso-meter__aura::after {
    position: absolute; content: ""; width: 5px; height: 4px; border-radius: 1px;
    background: color-mix(in srgb, var(--zh-rock) 80%, var(--zh-thread));
    box-shadow: 0 0 4px var(--zh-glow);
    clip-path: polygon(20% 0, 100% 15%, 85% 100%, 0 80%);
    animation: zhFragmentRise 3.4s linear infinite;
}
.zahira-lasso-meter__aura::before { left: 26%; bottom: 14px; }
.zahira-lasso-meter__aura::after { left: 70%; bottom: 10px; width: 4px; height: 3px; animation-duration: 4.1s; animation-delay: -1.7s; }
.zahira-lasso-meter.is-one-with-earth .zahira-lasso-meter__aura { opacity: 1; animation: zhAuraDrift 1.8s ease-in-out infinite, zhAuraFlicker 1.4s ease-in-out infinite; }
/* Földenergia-szálak a lasszótól a sziklákig. */
.zahira-lasso-meter__threads { position: absolute; inset: 0; z-index: 2; width: 100px; height: 88px; overflow: visible; pointer-events: none; }
.zahira-lasso-meter__thread {
    fill: none; stroke: color-mix(in srgb, var(--zh-rock-idle) 55%, transparent); stroke-width: .9; stroke-linecap: round;
    stroke-dasharray: 2 3; transition: stroke .4s, stroke-width .4s, filter .4s;
}
.zahira-lasso-meter__thread.is-on {
    stroke: var(--zh-thread); stroke-width: 1.6; stroke-dasharray: 6 3;
    filter: drop-shadow(0 0 2px var(--zh-glow));
    animation: zhThreadFlow 1.6s linear infinite; animation-delay: calc(var(--r-i) * -.4s);
}
.zahira-lasso-meter.is-one-with-earth .zahira-lasso-meter__thread.is-on { stroke: var(--zh-spark); stroke-width: 2; filter: drop-shadow(0 0 3px var(--zh-thread)) drop-shadow(0 0 5px var(--zh-glow)); animation-duration: .8s; }
.zahira-lasso-meter__glow {
    position: absolute; left: 50%; top: 42px; z-index: 3; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--zh-spark) 45%, transparent), color-mix(in srgb, var(--zh-glow) 34%, transparent) 45%, transparent 70%);
    opacity: calc(.14 + var(--zh-resonance) * .18); pointer-events: none; transition: opacity .5s;
}
.zahira-lasso-meter.is-one-with-earth .zahira-lasso-meter__glow { opacity: 1; animation: zhGlowPulse .95s ease-in-out infinite; }
/* A lasszó (skinfüggő ikon): alapból tompább, rezonanciánként erősebb. */
.zahira-lasso-meter__lasso {
    position: absolute; z-index: 4; left: 50%; top: 42px; width: 46px; height: 46px; margin: -23px 0 0 -23px; object-fit: contain;
    opacity: calc(.7 + var(--zh-resonance) * .075);
    filter: brightness(calc(.8 + var(--zh-resonance) * .08)) drop-shadow(0 0 4px color-mix(in srgb, var(--zh-glow) 60%, transparent)) drop-shadow(0 0 1px #000);
    animation: zhLassoSway 3.2s ease-in-out infinite;
    transition: filter .5s, opacity .5s;
}
.zahira-lasso-meter.is-one-with-earth .zahira-lasso-meter__lasso {
    opacity: 1; filter: brightness(1.15) drop-shadow(0 0 5px var(--zh-thread)) drop-shadow(0 0 10px var(--zh-glow));
    animation: zhLassoSpin 2.4s ease-in-out infinite;
}
/* A 4 Földrezonancia-szikla: szürke = még nincs betöltve, kő + zöld ér = betöltve. */
.zahira-lasso-meter__rocks { position: absolute; inset: 0; z-index: 5; pointer-events: none; }
.zahira-lasso-meter__rocks i {
    position: absolute; width: 16px; height: 15px; margin-left: -8px; font-style: normal;
    opacity: .58; filter: grayscale(.8) brightness(.8) drop-shadow(0 1px 2px #000);
    animation: zhRockFloat 3s ease-in-out infinite; animation-delay: calc(var(--r-i) * -.7s);
    transition: opacity .4s, filter .4s;
}
.zahira-lasso-meter__rocks i.is-on {
    opacity: 1; filter: drop-shadow(0 0 3px var(--zh-glow)) drop-shadow(0 1px 2px #000);
    animation: zhRockFloat 3s ease-in-out infinite, zhRockGlow 1.6s ease-in-out infinite alternate; animation-delay: calc(var(--r-i) * -.7s), calc(var(--r-i) * -.4s);
}
.zahira-lasso-meter.is-one-with-earth .zahira-lasso-meter__rocks i.is-on { animation: zhRockOrbit 1.2s ease-in-out infinite, zhRockGlow .7s ease-in-out infinite alternate; animation-delay: calc(var(--r-i) * -.3s), calc(var(--r-i) * -.2s); }
.zahira-lasso-meter__count {
    position: absolute; z-index: 6; left: 50%; bottom: 0; transform: translateX(-50%);
    display: flex; align-items: center; justify-content: center; min-width: 30px; padding: 3px 7px;
    border: 1px solid color-mix(in srgb, var(--zh-thread) 70%, var(--zh-accent)); border-radius: 10px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--zh-core) 80%, #000), #050803f0);
    box-shadow: 0 0 9px color-mix(in srgb, var(--zh-glow) 40%, transparent);
}
.zahira-lasso-meter__count b { font: 900 10px/1 Montserrat, sans-serif; white-space: nowrap; text-shadow: 0 0 6px var(--zh-thread); }
.zahira-lasso-meter.is-one-with-earth .zahira-lasso-meter__count { border-color: var(--zh-spark); background: linear-gradient(135deg, color-mix(in srgb, var(--zh-deep) 85%, var(--zh-glow)), #000); animation: zhBadgeGlow 1s ease-in-out infinite alternate; }
/* Egyszeri villanások: +1 rezonancia / 4/4 / elfogyasztás. */
.zahira-lasso-meter.is-gain .zahira-lasso-meter__lasso { animation: zhLassoGain .7s cubic-bezier(.2, 1.4, .4, 1); }
.zahira-lasso-meter.is-gain .zahira-lasso-meter__count { animation: zhPop .55s cubic-bezier(.2, 1.6, .4, 1); }
.zahira-lasso-meter.is-full-gain::after, .zahira-lasso-meter.is-consume::after {
    position: absolute; inset: -10px; z-index: 7; content: ""; border-radius: 50%; pointer-events: none;
    border: 2px solid var(--zh-spark);
    background: radial-gradient(circle, color-mix(in srgb, var(--zh-thread) 60%, transparent), transparent 70%);
    animation: zhBurst 1.1s ease-out forwards;
}
.zahira-lasso-meter.is-consume::after {
    inset: -16px; border-color: var(--zh-accent); border-style: dashed;
    background: radial-gradient(circle, color-mix(in srgb, var(--zh-accent) 55%, transparent), color-mix(in srgb, var(--zh-glow) 25%, transparent) 45%, transparent 70%);
    animation-duration: 1.3s;
}
.zahira-lasso-meter.is-full-gain .zahira-lasso-meter__lasso, .zahira-lasso-meter.is-consume .zahira-lasso-meter__lasso { animation: zhLassoSlam 1.1s cubic-bezier(.2, 1.4, .4, 1); }

/* ---------------------------------------
   Zahira kártyája: témás fény, Földdel Együtt, elesett
   --------------------------------------- */
.v3-card.zahira-card .hero-banner-wrapper { box-shadow: 0 0 14px rgba(0, 0, 0, .5), inset 0 -26px 34px -24px color-mix(in srgb, var(--zh-glow) 40%, transparent); }
.v3-card.zahira-one-with-earth .hero-banner-wrapper { box-shadow: 0 0 16px color-mix(in srgb, var(--zh-glow) 55%, transparent), inset 0 -40px 44px -26px color-mix(in srgb, var(--zh-thread) 55%, transparent); }
.v3-card.zahira-fallen .zahira-lasso-meter { filter: grayscale(.85) brightness(.6) drop-shadow(0 7px 9px #000d); }
.v3-card.zahira-fallen .zahira-lasso-meter *, .v3-card.zahira-fallen .zahira-lasso-meter::before { animation: none !important; }

/* ---------------------------------------
   Prémium tooltip (full-bleed, saját körvonal – nem kék keret)
   --------------------------------------- */
body.v3-body > .item-tooltip-floating:not(.v3-pikko-potion-tooltip):has(.zahira-earth-tooltip),
body.v3-body > .v3-floating-tooltip:has(.zahira-earth-tooltip) {
    width: min(430px, calc(100vw - 20px)) !important; max-width: 430px !important; max-height: none !important;
    padding: 0 !important; border: 0 !important; border-radius: 20px;
    background: transparent !important; box-shadow: none !important; overflow: visible !important;
}
body.v3-body > .item-tooltip-floating:not(.v3-pikko-potion-tooltip) > .item-tooltip-desc:has(.zahira-earth-tooltip) { margin: 0 !important; color: inherit; font-size: inherit !important; line-height: inherit !important; }
.item-tooltip-floating .item-tooltip-desc:has(.zahira-earth-tooltip) { margin: 0 !important; color: inherit; font-size: inherit; line-height: inherit; }
.zahira-earth-tooltip {
    position: relative; isolation: isolate; box-sizing: border-box; display: block; width: 100%;
    padding: 16px; overflow: hidden;
    border: 2px solid color-mix(in srgb, var(--zh-thread) 55%, var(--zh-accent)); border-radius: 20px;
    outline: 1px dashed color-mix(in srgb, var(--zh-accent) 55%, transparent); outline-offset: -6px;
    background:
        radial-gradient(circle at 8% 4%, color-mix(in srgb, var(--zh-glow) 22%, transparent), transparent 34%),
        radial-gradient(ellipse 70% 40% at 50% 108%, color-mix(in srgb, var(--zh-accent) 26%, transparent), transparent 70%),
        linear-gradient(155deg, color-mix(in srgb, var(--zh-core) 82%, #000), color-mix(in srgb, var(--zh-night) 94%, #000) 55%, color-mix(in srgb, var(--zh-deep) 80%, var(--zh-ember)));
    box-shadow: 0 24px 70px #000e, 0 0 26px color-mix(in srgb, var(--zh-glow) 28%, transparent), inset 0 0 48px #0008;
    color: #fff; font-family: Outfit, sans-serif; text-align: left;
}
.zahira-earth-tooltip.is-resonance-3 { border-color: color-mix(in srgb, var(--zh-thread) 80%, var(--zh-accent)); box-shadow: 0 24px 70px #000e, 0 0 32px color-mix(in srgb, var(--zh-glow) 45%, transparent), inset 0 0 48px #0009; }
.zahira-earth-tooltip.is-one-with-earth {
    border-color: var(--zh-spark);
    box-shadow: 0 24px 70px #000e, 0 0 42px var(--zh-glow), 0 0 0 3px color-mix(in srgb, var(--zh-deep) 75%, var(--zh-glow)), inset 0 0 52px #000b;
}
/* Kőzetréteg-textúra: rétegvonalak, repedések és földpor. */
.zahira-earth-tooltip::before, #zahira-earth-workshop::before {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .3;
    background:
        repeating-linear-gradient(172deg, transparent 0 17px, color-mix(in srgb, var(--zh-accent) 26%, transparent) 17px 18px, transparent 18px 31px),
        linear-gradient(118deg, transparent 46%, color-mix(in srgb, var(--zh-thread) 28%, transparent) 46.4% 46.8%, transparent 47.2%),
        linear-gradient(64deg, transparent 72%, color-mix(in srgb, var(--zh-thread) 22%, transparent) 72.3% 72.6%, transparent 73%),
        radial-gradient(circle 1.6px at 20% 30%, color-mix(in srgb, var(--zh-spark) 60%, transparent), transparent 70%),
        radial-gradient(circle 2.4px at 78% 68%, color-mix(in srgb, var(--zh-rock) 70%, transparent), transparent 70%);
    background-size: 100% 100%, 100% 100%, 100% 100%, 84px 76px, 116px 104px;
}
.zahira-earth-tooltip > * { position: relative; z-index: 2; }
.zahira-earth-tooltip > .zahira-earth-tooltip__vfx { position: absolute; z-index: 0; inset: 0; pointer-events: none; overflow: hidden; }
.zahira-earth-tooltip__vfx i {
    position: absolute; top: 104%; left: calc(5% + var(--m-i) * 17%); width: 14px; height: 13px; opacity: 0; font-style: normal;
    animation: zhRockRiseFar 7.5s linear infinite; animation-delay: calc(var(--m-i) * -1.25s);
}
.zahira-earth-tooltip__vfx i:nth-child(even) { width: 10px; height: 9px; }
.zahira-earth-tooltip.is-resonance-0 .zahira-earth-tooltip__vfx { opacity: .45; }
.zahira-earth-tooltip.is-one-with-earth .zahira-earth-tooltip__vfx i { animation-duration: 4.2s; }
.zahira-earth-tooltip header {
    display: flex; align-items: center; gap: 12px; margin-bottom: 11px; padding-bottom: 11px;
    border-bottom: 1px dashed color-mix(in srgb, var(--zh-accent) 45%, transparent);
}
.zahira-earth-tooltip__crest, .zahira-earth-workshop__crest { position: relative; flex: 0 0 62px; width: 62px; height: 66px; }
.zahira-earth-tooltip__crest > i, .zahira-earth-workshop__crest > i {
    position: absolute; inset: 2px; border-radius: 50%;
    border: 1px dashed color-mix(in srgb, var(--zh-accent) 70%, transparent);
    background: radial-gradient(circle, color-mix(in srgb, var(--zh-glow) 30%, transparent), transparent 68%);
    animation: zhSpin 16s linear infinite;
}
.zahira-earth-tooltip__crest > i + i, .zahira-earth-workshop__crest > i + i {
    inset: 10px; border-style: solid; border-color: color-mix(in srgb, var(--zh-thread) 45%, transparent) transparent; background: none;
    animation-duration: 7s; animation-direction: reverse;
}
.zahira-earth-tooltip__crest > img, .zahira-earth-workshop__crest > img {
    /* inset + margin:auto: a lengés-animáció transform-ja nem tolja el a középről. */
    position: absolute; inset: 0; margin: auto; width: 52px; height: 52px; object-fit: contain; transform-origin: 50% 50%;
    filter: drop-shadow(0 0 5px color-mix(in srgb, var(--zh-glow) 65%, transparent)) drop-shadow(0 0 2px #000);
    animation: zhLassoSway 3.2s ease-in-out infinite;
}
.zahira-earth-tooltip.is-one-with-earth .zahira-earth-tooltip__crest > img,
#zahira-earth-workshop.is-one-with-earth .zahira-earth-workshop__crest > img { filter: brightness(1.15) drop-shadow(0 0 6px var(--zh-spark)) drop-shadow(0 0 12px var(--zh-glow)); animation: zhGlowPulse .95s ease-in-out infinite; }
.zahira-earth-tooltip header > div { display: grid; flex: 1; gap: 2px; min-width: 0; }
.zahira-earth-tooltip header small { color: var(--zh-thread); font: 800 9px/1 Montserrat, sans-serif; letter-spacing: .16em; }
.zahira-earth-tooltip header strong { font: 900 17px/1.12 Montserrat, sans-serif; text-shadow: 0 0 14px color-mix(in srgb, var(--zh-glow) 80%, transparent); }
.zahira-earth-tooltip header em { color: color-mix(in srgb, var(--zh-accent) 45%, #fff); font: 800 10.5px/1.25 Outfit, sans-serif; font-style: normal; letter-spacing: .03em; }
.zahira-earth-tooltip.is-one-with-earth header em { color: var(--zh-spark); font-weight: 900; text-shadow: 0 0 8px var(--zh-glow); }
.zahira-earth-tooltip header > b { display: grid; justify-items: center; gap: 2px; padding: 5px 9px; border: 1px solid color-mix(in srgb, var(--zh-thread) 50%, var(--zh-accent)); border-radius: 11px; background: #0007; }
.zahira-earth-tooltip header > b span { color: #fff; font: 900 20px/1 Montserrat, sans-serif; text-shadow: 0 0 10px var(--zh-glow); }
.zahira-earth-tooltip header > b small { color: #fff; font: 800 7px/1 Montserrat, sans-serif; letter-spacing: .1em; }
/* Földrezonancia-sziklák: szürke foglalat / betöltött, izzó szikla. */
.zahira-earth-tooltip__rocks { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 2px 0 11px; }
.zahira-earth-tooltip__rock {
    display: grid; width: 36px; height: 36px; place-items: center; box-sizing: border-box; padding: 6px 5px;
    border: 1px dashed color-mix(in srgb, var(--zh-rock-idle) 60%, transparent); border-radius: 50%; background: #000a; font-style: normal;
    filter: grayscale(.7) brightness(.75); transition: filter .4s, border-color .4s, box-shadow .4s;
}
.zahira-earth-tooltip__rock.is-on {
    border-style: solid; border-color: var(--zh-thread); filter: none;
    background: radial-gradient(circle, color-mix(in srgb, var(--zh-glow) 30%, transparent), #000a 70%);
    box-shadow: 0 0 10px color-mix(in srgb, var(--zh-glow) 60%, transparent);
    animation: zhRockFloat 2.8s ease-in-out infinite; animation-delay: calc(var(--r-i) * -.6s);
}
.zahira-earth-tooltip.is-one-with-earth .zahira-earth-tooltip__rock.is-on { border-color: var(--zh-spark); animation: zhRockFloat 1.2s ease-in-out infinite, zhRockGlow .7s ease-in-out infinite alternate; animation-delay: calc(var(--r-i) * -.3s); }
.zahira-earth-tooltip__rocks > b { margin-left: 4px; color: #fff; font: 900 14px/1 Montserrat, sans-serif; letter-spacing: .04em; text-shadow: 0 0 8px var(--zh-glow); }
.zahira-earth-tooltip.is-one-with-earth .zahira-earth-tooltip__rocks > b { color: var(--zh-spark); font-size: 11px; letter-spacing: .1em; }
.zahira-earth-tooltip__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin-bottom: 8px; }
.zahira-earth-tooltip__facts span { display: grid; justify-items: center; gap: 3px; padding: 6px 4px; border: 1px solid color-mix(in srgb, var(--zh-thread) 22%, transparent); border-radius: 9px; background: #0006; text-align: center; }
.zahira-earth-tooltip__facts img { width: 18px; height: 18px; object-fit: contain; filter: drop-shadow(0 0 3px color-mix(in srgb, var(--zh-glow) 60%, transparent)); }
.zahira-earth-tooltip__facts small { color: color-mix(in srgb, var(--zh-accent) 45%, #fff); font: 700 8px/1.1 Montserrat, sans-serif; letter-spacing: .05em; }
.zahira-earth-tooltip__facts b { color: #fff; font: 900 13px/1 Montserrat, sans-serif; text-shadow: 0 0 7px var(--zh-glow); }
.zahira-earth-tooltip__line { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; padding: 7px 9px; border-left: 2px solid color-mix(in srgb, var(--zh-thread) 45%, transparent); border-radius: 0 8px 8px 0; background: #0005; color: color-mix(in srgb, var(--zh-accent) 35%, #fff); font: 500 10.5px/1.4 Outfit, sans-serif; }
/* Megjelölt ellenfelek (Törésvonal) – csak ha van ilyen. */
.zahira-earth-tooltip__marked { display: grid; gap: 4px; margin: 0 0 6px; }
.zahira-earth-tooltip__marked > span {
    display: grid; grid-template-columns: 22px minmax(0, 1fr) auto auto; align-items: center; gap: 7px; padding: 5px 8px;
    border-left: 2px solid color-mix(in srgb, var(--zh-accent) 70%, transparent); border-radius: 0 8px 8px 0; background: #0005;
}
.zahira-earth-tooltip__marked img { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; border: 1px solid color-mix(in srgb, var(--zh-accent) 70%, transparent); }
.zahira-earth-tooltip__marked strong { overflow: hidden; color: #fff; font: 800 10.5px/1.2 Montserrat, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.zahira-earth-tooltip__marked b { color: color-mix(in srgb, var(--zh-accent) 40%, #fff); font: 900 10px/1 Montserrat, sans-serif; white-space: nowrap; }
.zahira-earth-tooltip__marked small { color: color-mix(in srgb, var(--zh-accent) 30%, #bbb); font: 600 8.5px/1 Outfit, sans-serif; white-space: nowrap; }
.zahira-earth-tooltip__marked > span.is-deep { border-left-color: var(--zh-thread); }
.zahira-earth-tooltip__marked > span.is-ready { border-left-color: var(--zh-spark); background: color-mix(in srgb, var(--zh-deep) 60%, #0006); box-shadow: inset 0 0 12px color-mix(in srgb, var(--zh-glow) 30%, transparent); }
.zahira-earth-tooltip__marked > span.is-ready b { color: var(--zh-spark); letter-spacing: .06em; text-shadow: 0 0 7px var(--zh-glow); animation: zhReadyText 1s ease-in-out infinite alternate; }
.zahira-earth-tooltip__hint { display: block; margin-top: 9px; color: var(--zh-thread); font: 700 8px/1.3 Montserrat, sans-serif; text-align: center; letter-spacing: .06em; }
.zahira-earth-tooltip .ability-inline-icon.is-zahira-keyword { width: 1.4em; height: 1.4em; }

/* ---------------------------------------
   Ellenséges kártya: Törésvonal-pill (Nola Jel-pill helyén / alatta)
   --------------------------------------- */
.v3-card-slot > .zahira-faultline-pill {
    position: absolute; top: 92px; left: 12px; z-index: 222;
    display: flex; align-items: center; gap: 5px; height: 24px; padding: 0 8px 0 3px; overflow: hidden; box-sizing: border-box;
    border: 1px solid color-mix(in srgb, var(--zh-accent) 80%, var(--zh-thread)); border-radius: 999px;
    background:
        repeating-linear-gradient(172deg, transparent 0 5px, color-mix(in srgb, var(--zh-accent) 16%, transparent) 5px 6px),
        linear-gradient(135deg, color-mix(in srgb, var(--zh-core) 85%, var(--zh-ember)), #050803ee);
    box-shadow: 0 0 9px color-mix(in srgb, var(--zh-glow) 45%, transparent), inset 0 0 8px color-mix(in srgb, var(--zh-ember) 45%, transparent), 0 2px 6px #000c;
    color: #fff; pointer-events: auto; cursor: help;
    opacity: 1; visibility: visible; transition: opacity .18s ease, visibility 0s linear 0s, box-shadow .25s ease;
}
.v3-card-slot > .zahira-faultline-pill.has-nola { top: 122px; }
.v3-card-slot:has(> .v3-card.v3-flipped) > .zahira-faultline-pill {
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .18s ease, visibility 0s linear .18s;
}
.v3-card-slot:has(> .zahira-faultline-pill) .nunu-frost-orbit { padding-top: 136px; }
.v3-card-slot:has(> .zahira-faultline-pill) .raven-feather-orbit { padding-top: calc(136px + var(--raven-nunu-offset, 0px)); }
.v3-card-slot:has(> .nola-mark-pill):has(> .zahira-faultline-pill) .nunu-frost-orbit { padding-top: 166px; }
.v3-card-slot:has(> .nola-mark-pill):has(> .zahira-faultline-pill) .raven-feather-orbit { padding-top: calc(166px + var(--raven-nunu-offset, 0px)); }
.zahira-faultline-pill__crackbox {
    flex: 0 0 20px; width: 20px; height: 20px; border-radius: 4px; overflow: hidden;
    background: linear-gradient(150deg, var(--zh-rock), var(--zh-rock-shade));
    box-shadow: inset 0 0 5px #0008;
}
.zahira-faultline-pill__crackbox svg { display: block; width: 100%; height: 100%; }
.zahira-faultline-pill__crackbox path {
    fill: none; stroke: #0007; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round;
    transition: stroke .3s, stroke-width .3s;
}
.zahira-faultline-pill__crackbox path.is-on {
    stroke: var(--zh-thread); stroke-width: 1.8; filter: drop-shadow(0 0 2px var(--zh-glow));
}
.zahira-faultline-pill > b { color: color-mix(in srgb, var(--zh-accent) 30%, #fff); font: 800 9.5px/1 Montserrat, sans-serif; letter-spacing: .04em; white-space: nowrap; text-shadow: 0 0 5px #000; }
.zahira-faultline-pill__pips { display: flex; gap: 3px; }
.zahira-faultline-pill__pips i {
    width: 6px; height: 6px; border: 1px solid color-mix(in srgb, var(--zh-rock-idle) 80%, transparent); border-radius: 1px;
    background: #0009; transform: rotate(45deg); font-style: normal;
    transition: background .3s, border-color .3s, box-shadow .3s;
}
.zahira-faultline-pill__pips i.is-on {
    border-color: var(--zh-spark);
    background: linear-gradient(135deg, var(--zh-spark), var(--zh-thread) 55%, var(--zh-ember));
    box-shadow: 0 0 5px var(--zh-glow);
}
.v3-card-slot > .zahira-faultline-pill.is-deep { border-color: var(--zh-thread); }
.v3-card-slot > .zahira-faultline-pill.is-ready {
    border-color: var(--zh-spark);
    background:
        repeating-linear-gradient(172deg, transparent 0 5px, color-mix(in srgb, var(--zh-thread) 20%, transparent) 5px 6px),
        linear-gradient(135deg, color-mix(in srgb, var(--zh-deep) 70%, var(--zh-glow)), #050803ee);
    animation: zhPillReady .9s ease-in-out infinite alternate;
}
.zahira-faultline-pill.is-ready > b { color: var(--zh-spark); letter-spacing: .08em; text-shadow: 0 0 6px var(--zh-glow); }

/* Pill tooltip (kompakt, saját körvonal). */
body.v3-body > .item-tooltip-floating:not(.v3-pikko-potion-tooltip):has(.zahira-faultline-tip),
body.v3-body > .v3-floating-tooltip:has(.zahira-faultline-tip) {
    width: min(320px, calc(100vw - 20px)) !important; max-width: 320px !important;
    padding: 0 !important; border: 0 !important; border-radius: 16px;
    background: transparent !important; box-shadow: none !important; overflow: visible !important;
}
.item-tooltip-floating .item-tooltip-desc:has(.zahira-faultline-tip) { margin: 0 !important; color: inherit; font-size: inherit; line-height: inherit; }
.zahira-faultline-tip {
    position: relative; isolation: isolate; box-sizing: border-box; display: block; width: 100%;
    padding: 12px 14px; overflow: hidden;
    border: 2px solid color-mix(in srgb, var(--zh-accent) 75%, var(--zh-thread)); border-radius: 16px;
    outline: 1px dashed color-mix(in srgb, var(--zh-thread) 35%, transparent); outline-offset: -5px;
    background:
        radial-gradient(ellipse 70% 50% at 50% 110%, color-mix(in srgb, var(--zh-glow) 22%, transparent), transparent 70%),
        linear-gradient(150deg, color-mix(in srgb, var(--zh-core) 85%, var(--zh-ember)), color-mix(in srgb, var(--zh-night) 95%, #000));
    box-shadow: 0 18px 50px #000e, 0 0 20px color-mix(in srgb, var(--zh-glow) 35%, transparent);
    color: #fff; font-family: Outfit, sans-serif; text-align: left;
}
.zahira-faultline-tip.is-ready { border-color: var(--zh-spark); box-shadow: 0 18px 50px #000e, 0 0 28px var(--zh-glow); }
.zahira-faultline-tip strong { display: flex; align-items: center; gap: 7px; font: 900 13px/1.15 Montserrat, sans-serif; text-shadow: 0 0 10px var(--zh-glow); }
.zahira-faultline-tip strong img { width: 24px; height: 24px; object-fit: contain; filter: drop-shadow(0 0 4px var(--zh-glow)); }
.zahira-faultline-tip p { margin: 7px 0 5px; color: color-mix(in srgb, var(--zh-accent) 35%, #fff); font: 500 10.5px/1.4 Outfit, sans-serif; }
.zahira-faultline-tip small { color: var(--zh-thread); font: 700 8.5px/1.2 Montserrat, sans-serif; letter-spacing: .06em; }

.v3-card.zahira-earthbreak-ready .hero-banner-wrapper { box-shadow: 0 0 14px rgba(0, 0, 0, .5), inset 0 0 22px color-mix(in srgb, var(--zh-glow) 40%, transparent); }

/* ---------------------------------------
   A Dontosi Kanyon Lasszója popup (dialog)
   --------------------------------------- */
#zahira-earth-workshop {
    position: fixed; width: min(1140px, 95vw); max-width: 95vw; max-height: 92vh; padding: 0; overflow: hidden;
    border: 2px solid color-mix(in srgb, var(--zh-thread) 55%, var(--zh-accent)); border-radius: 22px;
    outline: 1px dashed color-mix(in srgb, var(--zh-accent) 50%, transparent); outline-offset: -7px;
    background:
        radial-gradient(circle at 8% 0, color-mix(in srgb, var(--zh-glow) 20%, transparent), transparent 34%),
        radial-gradient(ellipse 60% 30% at 50% 104%, color-mix(in srgb, var(--zh-accent) 24%, transparent), transparent 70%),
        linear-gradient(145deg, color-mix(in srgb, var(--zh-core) 80%, #000), color-mix(in srgb, var(--zh-night) 95%, #000) 60%, color-mix(in srgb, var(--zh-deep) 80%, var(--zh-ember)));
    box-shadow: 0 30px 100px #000f, 0 0 45px color-mix(in srgb, var(--zh-glow) 30%, transparent);
    color: #fff;
}
#zahira-earth-workshop.is-one-with-earth { border-color: var(--zh-spark); box-shadow: 0 30px 100px #000f, 0 0 60px color-mix(in srgb, var(--zh-glow) 55%, transparent); }
#zahira-earth-workshop::backdrop { background: rgba(4, 7, 3, .88); backdrop-filter: blur(8px); }
.zahira-earth-workshop__vfx { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.zahira-earth-workshop__vfx i {
    position: absolute; bottom: -24px; left: calc(2% + var(--m-i) * 8%); width: 16px; height: 15px; opacity: 0; font-style: normal;
    animation: zhWorkshopRise 14s linear infinite; animation-delay: calc(var(--m-i) * -1.15s);
}
.zahira-earth-workshop__vfx i:nth-child(3n) { width: 11px; height: 10px; }
#zahira-earth-workshop > header, .zahira-earth-workshop__content { position: relative; z-index: 1; }
#zahira-earth-workshop > header { display: flex; align-items: center; gap: 14px; padding: 14px 25px 12px; border-bottom: 1px dashed color-mix(in srgb, var(--zh-accent) 45%, transparent); }
.zahira-earth-workshop__title { flex: 1; }
.zahira-earth-workshop__title small { color: var(--zh-thread); font: 800 9px/1 Montserrat, sans-serif; letter-spacing: .2em; }
.zahira-earth-workshop__title h2 { margin: 5px 0 0; font: 900 25px/1 Montserrat, sans-serif; text-shadow: 0 0 16px var(--zh-glow); }
#zahira-earth-workshop > header button { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--zh-thread); border-radius: 50%; background: #0007; color: #fff; font-size: 22px; cursor: pointer; }
#zahira-earth-workshop > header button:hover, #zahira-earth-workshop > header button:focus-visible { border-color: var(--zh-spark); box-shadow: 0 0 12px var(--zh-glow); outline: none; }
.zahira-earth-workshop__content { display: grid; grid-template-columns: minmax(380px, .9fr) minmax(460px, 1.1fr); gap: 15px; max-height: calc(92vh - 100px); padding: 18px 22px 24px; overflow: auto; }
.zahira-earth-workshop__overview h3 { margin: 14px 0 0; color: var(--zh-thread); font: 900 11px/1 Montserrat, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.zahira-earth-workshop__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 10px; }
.zahira-earth-workshop__stats span { display: grid; justify-items: center; gap: 3px; padding: 8px 5px; border: 1px solid color-mix(in srgb, var(--zh-thread) 24%, transparent); border-radius: 10px; background: #0006; text-align: center; }
.zahira-earth-workshop__stats span.is-main { border-color: var(--zh-thread); background: color-mix(in srgb, var(--zh-deep) 60%, #0008); }
.zahira-earth-workshop__stats b { color: #fff; font: 900 16px/1 Montserrat, sans-serif; text-shadow: 0 0 8px var(--zh-glow); }
.zahira-earth-workshop__stats small { color: color-mix(in srgb, var(--zh-accent) 45%, #fff); font: 600 8.5px/1.2 Outfit, sans-serif; }
.zahira-earth-workshop__state ul, .zahira-earth-workshop__rules { display: grid; gap: 5px; margin: 8px 0 0; padding: 0; list-style: none; }
.zahira-earth-workshop__state li, .zahira-earth-workshop__rules li, .zahira-earth-workshop__basic li { padding: 6px 9px; border-left: 2px solid var(--zh-thread); border-radius: 0 8px 8px 0; background: #0005; color: color-mix(in srgb, var(--zh-accent) 35%, #fff); font: 500 10px/1.35 Outfit, sans-serif; }
.zahira-earth-workshop__state b, .zahira-earth-workshop__rules b, .zahira-earth-workshop__basic li b { color: #fff; }
.zahira-earth-workshop__state .zahira-earth-tooltip__marked { margin-top: 6px; }
.zahira-earth-workshop__summary { margin: 10px 0 0; color: color-mix(in srgb, var(--zh-accent) 35%, #fff); font: 500 10.5px/1.45 Outfit, sans-serif; }
.zahira-earth-workshop__gallery { display: grid; gap: 6px; margin-top: 9px; }
.zahira-earth-workshop__gallery article { display: grid; grid-template-columns: 50px 1fr; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid color-mix(in srgb, var(--zh-thread) 18%, transparent); border-radius: 11px; background: #0005; opacity: .82; }
.zahira-earth-workshop__gallery article.is-current { opacity: 1; border-color: var(--zh-thread); box-shadow: inset 0 0 16px color-mix(in srgb, var(--zh-deep) 60%, transparent), 0 0 12px color-mix(in srgb, var(--zh-glow) 32%, transparent); }
.zahira-earth-workshop__gallery img { width: 46px; height: 46px; object-fit: contain; filter: drop-shadow(0 0 6px var(--zh-glow)); }
.zahira-earth-workshop__gallery article:not(.is-current) img { filter: grayscale(.45) brightness(.8) drop-shadow(0 0 4px color-mix(in srgb, var(--zh-glow) 40%, transparent)); }
.zahira-earth-workshop__gallery small { color: var(--zh-thread); font: 800 8px/1 Montserrat, sans-serif; letter-spacing: .12em; }
.zahira-earth-workshop__gallery strong { display: block; margin-top: 2px; font: 900 14px/1.1 Montserrat, sans-serif; }
.zahira-earth-workshop__gallery p { margin: 3px 0 0; color: color-mix(in srgb, var(--zh-accent) 35%, #fff); font: 500 9.5px/1.3 Outfit, sans-serif; }
.zahira-earth-workshop__overview .zahira-earth-tooltip { box-shadow: 0 0 18px color-mix(in srgb, var(--zh-glow) 28%, transparent), inset 0 0 40px #0008; }
.zahira-earth-workshop__overview .zahira-earth-tooltip__hint { display: none; }
.zahira-earth-workshop__abilities { display: grid; align-content: start; gap: 9px; }
.zahira-earth-workshop__abilities article { display: grid; grid-template-columns: 68px 1fr; align-items: start; gap: 11px; padding: 11px; border: 1px solid color-mix(in srgb, var(--zh-thread) 24%, transparent); border-radius: 13px; background: #ffffff07; }
.zahira-earth-workshop__abilities article > img { width: 66px; height: 66px; object-fit: cover; border: 1px solid var(--zh-thread); border-radius: 11px; box-shadow: 0 0 13px color-mix(in srgb, var(--zh-glow) 40%, transparent); }
.zahira-earth-workshop__basic > img { object-fit: contain !important; background: radial-gradient(circle, color-mix(in srgb, var(--zh-glow) 30%, transparent), #000 75%); }
.zahira-earth-workshop__basic.is-passive { border-color: color-mix(in srgb, var(--zh-accent) 45%, transparent); }
.zahira-earth-workshop__basic.is-passive > img { border-color: var(--zh-accent); }
.zahira-earth-workshop__basic small { color: var(--zh-thread); font: 800 8px/1 Montserrat, sans-serif; letter-spacing: .14em; }
.zahira-earth-workshop__basic strong { display: block; margin-top: 3px; font: 900 15px/1.1 Montserrat, sans-serif; }
.zahira-earth-workshop__basic p { margin: 4px 0 6px; color: color-mix(in srgb, var(--zh-accent) 35%, #fff); font: 500 10.5px/1.4 Outfit, sans-serif; }
.zahira-earth-workshop__basic ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.zahira-earth-workshop__abilities .ability-progression { margin-top: 7px; }
@media (max-width: 900px) {
    .zahira-earth-workshop__content { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
    #zahira-earth-workshop > header { padding: 12px 14px 10px; gap: 10px; }
    .zahira-earth-workshop__title h2 { font-size: 19px; }
    .zahira-earth-workshop__content { padding: 14px 12px 18px; }
    .zahira-earth-workshop__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zahira-earth-workshop__abilities article { grid-template-columns: 48px 1fr; }
    .zahira-earth-workshop__abilities article > img { width: 46px; height: 46px; }
}

/* ---------------------------------------
   Harci napló: Zahira chip (Földrezonancia / Törésvonal)
   --------------------------------------- */
.v3-log-stat-zahira {
    border-color: #7BD66B99 !important;
    background: linear-gradient(135deg, #2F4A26cc, #16210Fcc) !important;
    color: #e4ffd2 !important;
    box-shadow: 0 0 8px #4FAE5C55;
}

/* ---------------------------------------
   Kulcsszó-ikonok és részletező lista (csak Zahira szövegeiben)
   --------------------------------------- */
.ability-inline-icon.is-zahira-keyword {
    width: 1.35em; height: 1.35em; margin: -.3em .14em -.28em 0;
    object-fit: contain;
    filter: drop-shadow(0 0 3px #4FAE5Caa);
}
.ability-inline-icon.is-zahira-keyword[src$="foldelegyutt.webp"],
.ability-inline-icon.is-zahira-keyword[src$="kanyonkoporos.webp"],
.ability-inline-icon.is-zahira-keyword[src$="vegsofoldrenges.webp"] { filter: drop-shadow(0 0 3px #E4FFD2) drop-shadow(0 0 5px #4FAE5C); }
.ability-progression.is-detail-list.is-zahira-details .ability-progression-step { grid-template-columns: 112px minmax(0, 1fr); border-left-color: rgba(123, 214, 107, .6); }
.ability-progression.is-detail-list.is-zahira-details .ability-progression-step.is-wide-label { grid-template-columns: minmax(0, 1fr); gap: 5px; }
.ability-progression.is-detail-list.is-zahira-details .ability-progression-label { color: #a9e79c; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.ability-progression.is-detail-list.is-zahira-details .ability-progression-step.is-wide-label .ability-progression-label {
    display: flex; flex-wrap: wrap; align-items: center; column-gap: 4px; padding-bottom: 5px;
    border-bottom: 1px solid rgba(123, 214, 107, .2);
}
.ability-progression.is-detail-list.is-zahira-details .ability-progression-step.is-wide-label .ability-progression-label > i { flex: 0 0 5px; align-self: center; }
.ability-progression.is-detail-list.is-zahira-details .ability-progression-step.is-zahira-empowered-row {
    border-color: rgba(176, 138, 90, .35); border-left-color: #B08A5A;
    background: linear-gradient(90deg, rgba(79, 174, 92, .12), rgba(8, 12, 5, .45) 58%, rgba(176, 138, 90, .1));
}
.ability-progression.is-detail-list.is-zahira-details .ability-progression-step.is-zahira-empowered-row .ability-progression-label { color: #E4FFD2; text-shadow: 0 0 8px rgba(79, 174, 92, .7); }
.ability-progression.is-detail-list.is-zahira-details .ability-progression-step.is-current {
    border-color: rgba(123, 214, 107, .9);
    background: linear-gradient(100deg, rgba(22, 33, 15, .9), rgba(0, 0, 0, .45) 62%, rgba(123, 214, 107, .2));
    box-shadow: inset 0 0 14px rgba(22, 33, 15, .7), 0 0 10px rgba(79, 174, 92, .4);
}
.ability-progression.is-detail-list.is-zahira-details .ability-progression-step.is-current .ability-progression-label { color: #f0ffe8; text-shadow: 0 0 8px rgba(123, 214, 107, .9); }
@media (max-width: 520px) {
    .ability-progression.is-detail-list.is-zahira-details .ability-progression-step { grid-template-columns: minmax(0, 1fr); gap: 5px; }
}

/* ---------------------------------------
   Keyframes
   --------------------------------------- */
@keyframes zhSpin { to { transform: rotate(360deg); } }
@keyframes zhMeterBreath { from { filter: brightness(.85); } to { filter: brightness(1.15); } }
@keyframes zhEarthPulse { from { filter: brightness(1); transform: scale(1); } to { filter: brightness(1.45); transform: scale(1.04); } }
@keyframes zhAuraDrift { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.04); } }
@keyframes zhAuraFlicker { 0%, 100% { filter: brightness(1); } 35% { filter: brightness(1.3); } 60% { filter: brightness(.85); } }
@keyframes zhFragmentRise { 0% { opacity: 0; transform: translate(0, 0) rotate(0); } 15% { opacity: .9; } 100% { opacity: 0; transform: translate(6px, -64px) rotate(140deg); } }
@keyframes zhThreadFlow { to { stroke-dashoffset: -18; } }
@keyframes zhGlowPulse { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.16); } 70% { transform: scale(.96); } }
@keyframes zhLassoSway { 0%, 100% { transform: rotate(-4deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-1.5px); } }
@keyframes zhLassoSpin { 0% { transform: rotate(-8deg) scale(1); } 50% { transform: rotate(8deg) scale(1.1); } 100% { transform: rotate(-8deg) scale(1); } }
@keyframes zhLassoGain { 0%, 100% { transform: scale(1); } 45% { transform: scale(1.18) rotate(6deg); filter: brightness(1.6) drop-shadow(0 0 8px var(--zh-thread)); } }
@keyframes zhLassoSlam { 0% { transform: scale(.6); } 30% { transform: scale(1.6) rotate(-10deg); filter: brightness(2.2) drop-shadow(0 0 18px var(--zh-spark)); } 55% { transform: scale(.92); } 100% { transform: scale(1); } }
@keyframes zhRockFloat { 0%, 100% { transform: translateY(0) rotate(-6deg); } 50% { transform: translateY(-3px) rotate(6deg); } }
@keyframes zhRockOrbit { 0%, 100% { transform: translate(0, 0) rotate(-12deg) scale(1); } 50% { transform: translate(0, -5px) rotate(12deg) scale(1.15); } }
@keyframes zhRockGlow { from { filter: drop-shadow(0 0 2px var(--zh-glow)) drop-shadow(0 1px 2px #000); } to { filter: drop-shadow(0 0 5px var(--zh-thread)) drop-shadow(0 0 9px var(--zh-glow)); } }
@keyframes zhBadgeGlow { from { box-shadow: 0 0 4px var(--zh-glow); } to { box-shadow: 0 0 12px var(--zh-glow), 0 0 3px #fff; } }
@keyframes zhBurst { 0% { opacity: 1; transform: scale(.5); } 100% { opacity: 0; transform: scale(1.7); } }
@keyframes zhPop { 0% { transform: translateX(-50%) scale(1); } 40% { transform: translateX(-50%) scale(1.3); } 100% { transform: translateX(-50%) scale(1); } }
@keyframes zhRockRiseFar { 0% { opacity: 0; transform: translate(0, 0) rotate(0); } 12% { opacity: .75; } 50% { transform: translate(12px, -180px) rotate(70deg); } 100% { opacity: 0; transform: translate(-10px, -380px) rotate(150deg); } }
@keyframes zhWorkshopRise { 0% { opacity: 0; transform: translate(0, 0) rotate(0); } 10% { opacity: .6; } 100% { opacity: 0; transform: translate(30px, -95vh) rotate(220deg); } }
@keyframes zhReadyText { from { opacity: .75; } to { opacity: 1; } }
@keyframes zhPillReady { from { box-shadow: 0 0 8px color-mix(in srgb, var(--zh-glow) 55%, transparent), 0 2px 6px #000c; } to { box-shadow: 0 0 16px var(--zh-thread), 0 0 4px var(--zh-spark), 0 2px 6px #000c; } }

/* VFX kikapcsolva / felfüggesztve / csökkentett mozgás. */
body.v3-vfx-disabled .zahira-lasso-meter *, body.v3-vfx-disabled .zahira-lasso-meter::before,
body.v3-vfx-disabled .zahira-faultline-pill,
body.v3-vfx-disabled .zahira-earth-tooltip *, body.v3-vfx-disabled #zahira-earth-workshop * { animation: none !important; }
body.bf-vfx-suspended .zahira-lasso-meter *, body.bf-vfx-suspended .zahira-lasso-meter::before,
body.bf-vfx-suspended .zahira-faultline-pill { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) {
    .zahira-lasso-meter *, .zahira-lasso-meter::before, .zahira-earth-tooltip *, #zahira-earth-workshop *,
    .zahira-faultline-pill { animation-duration: 0s !important; animation-iteration-count: 1 !important; }
}
