/* =======================================
   MAGINA (heroId 89) – POLARIZÁLT MEZŐ 2.0 – MÁGNESES FEJLŐDÉS
   =======================================
   Paletta (skin szerint, a JS írja felül inline változókkal; a spec
   --color-1 ... --color-5 sorrendje):
   Alap:       #1A3C65, #76B2FF, #8492BD, #020007, #350A18 – éjkék mágnesmag, lila mező, acél Fémgyűrűk.
   Mesekönyv:  #A41953, #282622, #B33A58, #5B0714, #FFDDB5 – rózsaszín mag, szívecskék, buborékok.
   --mg-field: mágneses mező, --mg-glow: gyűrű körüli fény, --mg-spark:
   kisülés, --mg-accent: kiemelő, --mg-deep: mély árnyék, --mg-core: mag,
   --mg-ember: sötét perem. --mg-progress: haladás a következő szintig
   (0..1), --mg-total: haladás az 5000-ig, --mg-level: 0 / 1 / 2.
   Állapotok: .is-strong (Erős Polarizáció), .is-max (Maximális
   Polarizáció), .is-discharge-ready (a következő alaptámadás kisül). */

:root {
    --mg-1: #1A3C65; --mg-2: #76B2FF; --mg-3: #8492BD; --mg-4: #020007; --mg-5: #350A18;
    --mg-field: #8F7BFF; --mg-glow: #76B2FF; --mg-spark: #D8E8FF;
    --mg-accent: #8492BD; --mg-deep: #020007; --mg-core: #1A3C65; --mg-ember: #350A18;
    --mg-night: #05040d;
}
.magina-polarity-meter, .magina-polarity-tooltip, #magina-polarity-workshop { --mg-progress: 0; --mg-total: 0; --mg-level: 0; }
/* Mesekönyv: meleg, papírszerű sötét háttér. */
[data-mg-theme="mese"] { --mg-night: #140a0c; }

/* ---------------------------------------
   Témafüggő motívumok (inline SVG)
   --------------------------------------- */
.mg-motif { position: absolute; display: block; width: 12px; height: 12px; opacity: 0; pointer-events: none; font-style: normal; }
.mg-motif svg { display: block; width: 100%; height: 100%; overflow: visible; }
.mg-motif svg * { fill: var(--m-tint, var(--mg-field)); }
.mg-motif svg .is-line { fill: none; stroke: var(--m-tint, var(--mg-field)); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mg-motif svg .is-thin { stroke-width: 1.1; opacity: .7; }
.mg-motif svg .is-hi { fill: none; stroke: #ffffffb0; stroke-width: 1.4; stroke-linecap: round; }
.mg-motif svg .is-core { fill: #fff; }
.mg-motif.is-shard { width: 10px; height: 10px; }
.mg-motif.is-shard svg path:first-child { fill: color-mix(in srgb, var(--mg-accent) 70%, #fff); stroke: color-mix(in srgb, var(--mg-core) 80%, #000); stroke-width: .8; filter: drop-shadow(0 0 3px var(--mg-glow)); }
.mg-motif.is-field { width: 22px; height: 11px; }
.mg-motif.is-field svg { filter: drop-shadow(0 0 3px var(--mg-field)); }
.mg-motif.is-spark { width: 10px; height: 12px; }
.mg-motif.is-spark svg .is-line { stroke: var(--mg-spark); fill: color-mix(in srgb, var(--mg-spark) 35%, transparent); stroke-width: 1.2; filter: drop-shadow(0 0 3px var(--mg-glow)); }
.mg-motif.is-magnet { width: 13px; height: 13px; }
.mg-motif.is-magnet svg .is-body { stroke: color-mix(in srgb, var(--mg-accent) 80%, #fff); stroke-width: 3.2; }
.mg-motif.is-magnet svg .is-pole-n { fill: var(--mg-glow); }
.mg-motif.is-magnet svg .is-pole-s { fill: #e0486a; }
.mg-motif.is-heart { width: 11px; height: 10px; }
.mg-motif.is-heart svg path:first-child { filter: drop-shadow(0 0 3px var(--mg-glow)); }
.mg-motif.is-bubble { width: 12px; height: 12px; }
.mg-motif.is-bubble svg .is-bubble { fill: color-mix(in srgb, var(--mg-spark) 14%, transparent); stroke: color-mix(in srgb, var(--mg-spark) 85%, transparent); stroke-width: 1.2; }
.mg-motif.is-star { width: 9px; height: 9px; }
.mg-motif.is-star svg path { fill: var(--mg-spark); filter: drop-shadow(0 0 3px var(--mg-glow)); }
.mg-motif.is-page { width: 14px; height: 12px; }
.mg-motif.is-page svg .is-line { stroke: var(--mg-spark); fill: color-mix(in srgb, var(--mg-spark) 20%, transparent); stroke-width: 1.2; }

/* ---------------------------------------
   Fémgyűrű-mérő a kártyán (mechanika-ikon)
   --------------------------------------- */
.magina-polarity-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);
}
.magina-polarity-meter[hidden] { display: none; }
.magina-polarity-meter:focus-visible { outline: 2px solid var(--mg-glow); outline-offset: 2px; border-radius: 50%; }
/* Körvonalas, teljes kitöltésű mező-háttér (nem kék keret). */
.magina-polarity-meter::before {
    position: absolute; inset: 6px 12px 6px; z-index: -1; content: "";
    border: 1.5px solid color-mix(in srgb, var(--mg-field) 45%, transparent);
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--mg-field) 16%, transparent), transparent 62%),
        radial-gradient(circle, color-mix(in srgb, var(--mg-core) 60%, transparent), color-mix(in srgb, var(--mg-night) 94%, #000));
    box-shadow: 0 0 10px color-mix(in srgb, var(--mg-field) 30%, transparent), inset 0 0 18px color-mix(in srgb, #000 60%, var(--mg-ember));
    animation: mgMeterBreath 3.4s ease-in-out infinite alternate;
}
.magina-polarity-meter.is-strong::before {
    border-color: color-mix(in srgb, var(--mg-glow) 70%, transparent);
    background:
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--mg-field) 32%, transparent), transparent 64%),
        radial-gradient(circle, color-mix(in srgb, var(--mg-core) 75%, #000), #000);
    box-shadow: 0 0 16px color-mix(in srgb, var(--mg-field) 55%, transparent), inset 0 0 18px #000;
    animation-duration: 2.2s;
}
.magina-polarity-meter.is-max::before {
    border-color: var(--mg-spark);
    box-shadow: 0 0 22px var(--mg-field), 0 0 38px color-mix(in srgb, var(--mg-glow) 55%, transparent), inset 0 0 22px #000;
    animation: mgMaxPulse 1.2s ease-in-out infinite alternate;
}
/* Erővonalak és szikrák. */
.magina-polarity-meter__field { position: absolute; inset: 6px 12px 6px; z-index: 0; overflow: hidden; border-radius: 50%; pointer-events: none; }
.magina-polarity-meter__field i.is-line {
    position: absolute; left: 6%; right: 6%; top: 50%; height: calc(26% + var(--l-i) * 22%);
    border: 1px solid color-mix(in srgb, var(--mg-field) 45%, transparent); border-left-color: transparent; border-right-color: transparent;
    border-radius: 50%; transform: translateY(-50%);
    opacity: .35; animation: mgFieldLine 3.6s ease-in-out infinite; animation-delay: calc(var(--l-i) * -1.2s);
}
.magina-polarity-meter.is-strong .magina-polarity-meter__field i.is-line { opacity: .7; }
.magina-polarity-meter__field i.is-spark {
    position: absolute; left: calc(12% + var(--s-i) * 17%); top: calc(20% + (var(--s-i) * 23%) - (var(--s-i) * var(--s-i) * 3%)); width: 3px; height: 3px; border-radius: 50%;
    background: var(--mg-spark); box-shadow: 0 0 5px var(--mg-glow);
    opacity: 0;
}
.magina-polarity-meter.is-max .magina-polarity-meter__field i.is-spark { animation: mgSparkBlink calc(1.1s + var(--s-i) * .23s) ease-in-out infinite; animation-delay: calc(var(--s-i) * -.37s); }
/* Pólusjelek. */
.magina-polarity-meter__poles i {
    position: absolute; top: 50%; z-index: 1; display: grid; width: 13px; height: 13px; place-items: center;
    border-radius: 50%; font: 900 7px/1 Montserrat, sans-serif; font-style: normal; color: #fff;
    transform: translateY(-50%); opacity: .55;
}
.magina-polarity-meter__poles .is-n { left: 6px; background: color-mix(in srgb, var(--mg-glow) 70%, #000); box-shadow: 0 0 5px var(--mg-glow); }
.magina-polarity-meter__poles .is-s { right: 6px; background: color-mix(in srgb, #e0486a 70%, #000); box-shadow: 0 0 5px #e0486a; }
[data-mg-theme="mese"] .magina-polarity-meter__poles .is-n { background: color-mix(in srgb, var(--mg-spark) 45%, var(--mg-core)); box-shadow: 0 0 5px var(--mg-spark); }
.magina-polarity-meter.is-strong .magina-polarity-meter__poles i { opacity: .9; }
.magina-polarity-meter.is-max .magina-polarity-meter__poles i { opacity: 1; animation: mgPoleThrob 1.2s ease-in-out infinite alternate; }
/* Haladás-ív a következő szintig. */
.magina-polarity-meter__arc { position: absolute; left: 6px; top: 0; z-index: 2; width: 88px; height: 88px; overflow: visible; pointer-events: none; transform: rotate(-90deg); }
.magina-polarity-meter__arc circle { fill: none; stroke-width: 3; }
.magina-polarity-meter__arc .is-track { stroke: color-mix(in srgb, var(--mg-accent) 22%, transparent); stroke-dasharray: 2 4; }
.magina-polarity-meter__arc .is-fill {
    stroke: var(--mg-field); stroke-linecap: round;
    filter: drop-shadow(0 0 3px var(--mg-field));
    transition: stroke-dashoffset .8s cubic-bezier(.2, .9, .3, 1);
}
.magina-polarity-meter.is-strong .magina-polarity-meter__arc .is-fill { stroke: var(--mg-glow); filter: drop-shadow(0 0 4px var(--mg-glow)); }
.magina-polarity-meter.is-max .magina-polarity-meter__arc .is-fill { stroke: var(--mg-spark); filter: drop-shadow(0 0 4px var(--mg-glow)) drop-shadow(0 0 8px var(--mg-field)); }
/* Keringő kis Fémgyűrűk: Alapnál lazán (2), Erősnél közelebb (3), Maximálisnál gyors pályán (4). */
.magina-polarity-meter__orbit { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.magina-polarity-meter__orbit i {
    position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px;
    border: 2px solid color-mix(in srgb, var(--mg-accent) 75%, #fff); border-radius: 50%;
    box-shadow: 0 0 4px var(--mg-glow), inset 0 0 2px #000;
    --orbit: 40px;
    animation: mgOrbit calc(6s - var(--mg-level) * 1.6s) linear infinite;
    animation-delay: calc(var(--o-i) * (-6s + var(--mg-level) * 1.6s) / 4);
}
.magina-polarity-meter__orbit i:nth-child(n+3) { display: none; }
.magina-polarity-meter.is-strong .magina-polarity-meter__orbit i { --orbit: 33px; }
.magina-polarity-meter.is-strong .magina-polarity-meter__orbit i:nth-child(3) { display: block; }
.magina-polarity-meter.is-max .magina-polarity-meter__orbit i { --orbit: 30px; border-color: var(--mg-spark); box-shadow: 0 0 6px var(--mg-field), 0 0 2px #fff; }
.magina-polarity-meter.is-max .magina-polarity-meter__orbit i:nth-child(4) { display: block; }
.magina-polarity-meter__motifs { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.magina-polarity-meter__motifs .mg-motif { left: calc(18% + var(--m-i) * 26%); bottom: 12px; animation: mgMotifRise calc(3.8s + var(--m-i) * .6s) linear infinite; animation-delay: calc(var(--m-i) * -1.3s); }
.magina-polarity-meter:not(.is-strong) .magina-polarity-meter__motifs { opacity: .5; }
/* Mágnesmag: Maximálisnál izzik. */
.magina-polarity-meter__core {
    position: absolute; left: 50%; top: 50%; z-index: 3; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--mg-spark) 50%, transparent), color-mix(in srgb, var(--mg-field) 30%, transparent) 45%, transparent 70%);
    opacity: .12; pointer-events: none; transition: opacity .6s;
}
.magina-polarity-meter.is-strong .magina-polarity-meter__core { opacity: .45; }
.magina-polarity-meter.is-max .magina-polarity-meter__core { opacity: 1; animation: mgCoreGlow 1.4s ease-in-out infinite alternate; }
.magina-polarity-meter__ring {
    position: absolute; z-index: 4; left: 50%; top: 50%; width: 58px; height: 58px; margin: -29px 0 0 -29px; object-fit: contain;
    filter: brightness(.85) saturate(.9) drop-shadow(0 0 4px color-mix(in srgb, var(--mg-field) 55%, transparent));
    animation: mgRingFloat 4s ease-in-out infinite;
    transition: filter .5s, width .5s, height .5s, margin .5s;
}
.magina-polarity-meter.is-strong .magina-polarity-meter__ring {
    filter: brightness(1.05) saturate(1.1) drop-shadow(0 0 5px var(--mg-glow)) drop-shadow(0 0 2px #000);
    animation: mgRingFloat 2.8s ease-in-out infinite;
}
.magina-polarity-meter.is-max .magina-polarity-meter__ring {
    width: 62px; height: 62px; margin: -31px 0 0 -31px;
    filter: brightness(1.15) saturate(1.25) drop-shadow(0 0 5px var(--mg-spark)) drop-shadow(0 0 12px var(--mg-field)) drop-shadow(0 0 3px #000);
    animation: mgRingFloat 2.2s ease-in-out infinite, mgRingSpin 9s linear infinite;
}
/* Szint-jelvény (bal felül). */
.magina-polarity-meter__level {
    position: absolute; z-index: 6; left: 2px; top: 2px; width: 28px; height: 28px; padding: 2px;
    border: 1px solid color-mix(in srgb, var(--mg-field) 70%, transparent); border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--mg-core) 60%, transparent), #000 78%);
    box-shadow: 0 0 6px color-mix(in srgb, var(--mg-field) 45%, transparent);
}
.magina-polarity-meter__level img { display: block; width: 100%; height: 100%; object-fit: contain; }
.magina-polarity-meter__level b {
    position: absolute; right: -5px; bottom: -3px; min-width: 12px; padding: 1px 3px; border-radius: 6px;
    background: var(--mg-field); color: #fff; font: 900 7px/1 Montserrat, sans-serif; text-align: center;
}
.magina-polarity-meter__level b:empty { display: none; }
.magina-polarity-meter.is-strong .magina-polarity-meter__level { border-color: var(--mg-glow); }
.magina-polarity-meter.is-max .magina-polarity-meter__level { border-color: var(--mg-spark); box-shadow: 0 0 10px var(--mg-field); animation: mgBadgeGlow 1.2s ease-in-out infinite alternate; }
/* Kisülés-számláló (Maximálisnál, bal alul). */
.magina-polarity-meter__discharge { position: absolute; z-index: 6; left: 4px; bottom: 4px; display: none; gap: 3px; }
.magina-polarity-meter.is-max .magina-polarity-meter__discharge { display: flex; }
.magina-polarity-meter__discharge i { width: 7px; height: 7px; border: 1px solid color-mix(in srgb, var(--mg-spark) 70%, transparent); border-radius: 50%; background: #000a; transition: background .3s, box-shadow .3s; }
.magina-polarity-meter__discharge i.is-on { background: var(--mg-field); box-shadow: 0 0 5px var(--mg-field); }
.magina-polarity-meter__discharge i.is-ready { border-color: #fff; background: var(--mg-spark); box-shadow: 0 0 7px var(--mg-spark); animation: mgReady .5s ease-in-out infinite alternate; }
.magina-polarity-meter__count {
    position: absolute; z-index: 6; right: 0; bottom: 0;
    display: flex; align-items: center; justify-content: center; min-width: 38px; padding: 3px 7px;
    border: 1px solid color-mix(in srgb, var(--mg-field) 75%, transparent); border-radius: 11px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--mg-core) 70%, #000), #04030af0);
    box-shadow: 0 0 9px color-mix(in srgb, var(--mg-field) 40%, transparent);
}
.magina-polarity-meter__count b { font: 900 12px/1 Montserrat, sans-serif; text-shadow: 0 0 6px var(--mg-field); }
.magina-polarity-meter.is-max .magina-polarity-meter__count { border-color: var(--mg-spark); }
/* Egyszeri villanások. */
.magina-polarity-meter.is-level-up .magina-polarity-meter__ring { animation: mgSnap 1s cubic-bezier(.2, 1.4, .4, 1); }
.magina-polarity-meter.is-level-up .magina-polarity-meter__orbit i { animation: mgOrbitSnap .9s cubic-bezier(.2, 1.4, .4, 1); }
.magina-polarity-meter.is-level-max .magina-polarity-meter__ring { animation: mgMaxBurst 1.3s cubic-bezier(.2, 1.4, .4, 1); }
.magina-polarity-meter.is-level-up::after, .magina-polarity-meter.is-level-max::after {
    position: absolute; inset: -8px; z-index: 7; content: ""; border-radius: 50%; pointer-events: none;
    border: 2px solid var(--mg-spark);
    background: radial-gradient(circle, color-mix(in srgb, var(--mg-field) 60%, transparent), transparent 70%);
    animation: mgBurst 1s ease-out forwards;
}
.magina-polarity-meter.is-level-max::after { inset: -16px; box-shadow: 0 0 20px var(--mg-field); animation-duration: 1.4s; }
.magina-polarity-meter.is-zap .magina-polarity-meter__discharge, .magina-polarity-meter.is-zap .magina-polarity-meter__ring { animation: mgZap .5s steps(2, jump-none) 2; }
.magina-polarity-meter.is-gain .magina-polarity-meter__count { animation: mgPop .55s cubic-bezier(.2, 1.6, .4, 1); }

/* ---------------------------------------
   Prémium tooltip (full-bleed, saját körvonal)
   --------------------------------------- */
body.v3-body > .item-tooltip-floating:has(.magina-polarity-tooltip),
body.v3-body > .v3-floating-tooltip:has(.magina-polarity-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;
}
.item-tooltip-floating .item-tooltip-desc:has(.magina-polarity-tooltip) { margin: 0 !important; color: inherit; font-size: inherit; line-height: inherit; }
.magina-polarity-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(--mg-field) 60%, var(--mg-accent)); border-radius: 20px;
    outline: 1px dashed color-mix(in srgb, var(--mg-glow) 45%, transparent); outline-offset: -6px;
    background:
        radial-gradient(circle at 8% 4%, color-mix(in srgb, var(--mg-glow) 18%, transparent), transparent 34%),
        radial-gradient(ellipse 70% 40% at 50% 108%, color-mix(in srgb, var(--mg-field) 24%, transparent), transparent 70%),
        linear-gradient(155deg, color-mix(in srgb, var(--mg-core) 72%, #000), color-mix(in srgb, var(--mg-night) 94%, #000) 55%, color-mix(in srgb, var(--mg-ember) 60%, #000));
    box-shadow: 0 24px 70px #000e, 0 0 26px color-mix(in srgb, var(--mg-field) 28%, transparent), inset 0 0 48px #0008;
    color: #fff; font-family: Outfit, sans-serif; text-align: left;
}
.magina-polarity-tooltip.is-level-1 { border-color: var(--mg-glow); box-shadow: 0 24px 70px #000e, 0 0 32px color-mix(in srgb, var(--mg-field) 45%, transparent), inset 0 0 48px #0009; }
.magina-polarity-tooltip.is-level-2 { border-color: var(--mg-spark); box-shadow: 0 24px 70px #000e, 0 0 40px var(--mg-field), 0 0 0 3px color-mix(in srgb, var(--mg-field) 40%, transparent), inset 0 0 48px #000a; }
/* Alap: mágneses erővonalak és acélpor. */
.magina-polarity-tooltip::before, #magina-polarity-workshop::before {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .28;
    background:
        repeating-radial-gradient(ellipse 120% 55% at 0 50%, transparent 0 18px, color-mix(in srgb, var(--mg-field) 35%, transparent) 18px 19px),
        repeating-radial-gradient(ellipse 120% 55% at 100% 50%, transparent 0 18px, color-mix(in srgb, #e0486a 22%, transparent) 18px 19px),
        radial-gradient(1.4px 1.4px at 22% 34%, var(--mg-spark), transparent 60%),
        radial-gradient(1px 1px at 68% 62%, #fff, transparent 60%);
    background-size: 100% 100%, 100% 100%, 110px 90px, 110px 90px;
}
/* Mesekönyv: pöttyös mesekönyv-lap, szívecske-foltok. */
.magina-polarity-tooltip[data-mg-theme="mese"]::before, #magina-polarity-workshop[data-mg-theme="mese"]::before {
    opacity: .3;
    background:
        radial-gradient(circle 3px at 20% 30%, color-mix(in srgb, var(--mg-spark) 55%, transparent), transparent 70%),
        radial-gradient(circle 2px at 70% 70%, color-mix(in srgb, var(--mg-glow) 60%, transparent), transparent 70%),
        radial-gradient(circle 5px at 85% 20%, transparent 3.5px, color-mix(in srgb, var(--mg-spark) 50%, transparent) 4px, transparent 5px),
        radial-gradient(ellipse 50% 22% at 92% 0, color-mix(in srgb, var(--mg-core) 55%, transparent), transparent 70%),
        linear-gradient(90deg, transparent 49.6%, color-mix(in srgb, var(--mg-spark) 12%, transparent) 50%, transparent 50.4%);
    background-size: 90px 80px, 90px 80px, 120px 110px, 100% 100%, 100% 100%;
}
.magina-polarity-tooltip > * { position: relative; z-index: 2; }
.magina-polarity-tooltip > .magina-polarity-tooltip__vfx { position: absolute; z-index: 0; inset: 0; pointer-events: none; overflow: hidden; }
.magina-polarity-tooltip__vfx .mg-motif { top: 104%; left: calc(4% + var(--m-i) * 12%); animation: mgMotifRiseFar 8s linear infinite; animation-delay: calc(var(--m-i) * -.95s); }
.magina-polarity-tooltip.is-level-0 .magina-polarity-tooltip__vfx { opacity: .45; }
.magina-polarity-tooltip header {
    display: flex; align-items: center; gap: 12px; margin-bottom: 11px; padding-bottom: 11px;
    border-bottom: 1px solid color-mix(in srgb, var(--mg-field) 30%, transparent);
}
.magina-polarity-tooltip__crest, .magina-polarity-workshop__crest { position: relative; flex: 0 0 62px; width: 62px; height: 66px; }
.magina-polarity-tooltip__crest > i, .magina-polarity-workshop__crest > i {
    position: absolute; inset: 2px; border-radius: 50%;
    border: 1px dashed color-mix(in srgb, var(--mg-field) 60%, transparent);
    background: radial-gradient(circle, color-mix(in srgb, var(--mg-field) 28%, transparent), transparent 68%);
    animation: mgSpin 14s linear infinite;
}
.magina-polarity-tooltip__crest > i + i, .magina-polarity-workshop__crest > i + i {
    inset: 10px; border-style: solid; border-color: color-mix(in srgb, var(--mg-glow) 35%, transparent) transparent; background: none;
    animation-duration: 6s; animation-direction: reverse;
}
.magina-polarity-tooltip__crest > img, .magina-polarity-workshop__crest > img {
    position: absolute; left: 50%; top: 50%; width: 54px; height: 54px; object-fit: contain; transform: translate(-50%, -50%);
    filter: drop-shadow(0 0 5px color-mix(in srgb, var(--mg-glow) 60%, transparent)) drop-shadow(0 0 2px #000);
}
.magina-polarity-tooltip.is-level-2 .magina-polarity-tooltip__crest > img, .magina-polarity-workshop__crest.is-max > img { filter: brightness(1.15) drop-shadow(0 0 6px var(--mg-spark)) drop-shadow(0 0 12px var(--mg-field)); }
.magina-polarity-tooltip__crest > b {
    position: absolute; right: -4px; bottom: -2px; width: 24px; height: 24px; padding: 2px; border: 1px solid var(--mg-field); border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--mg-core) 70%, transparent), #000 80%);
}
.magina-polarity-tooltip__crest > b img { display: block; width: 100%; height: 100%; object-fit: contain; }
.magina-polarity-tooltip header > div { display: grid; flex: 1; gap: 2px; min-width: 0; }
.magina-polarity-tooltip header small { color: var(--mg-glow); font: 800 9px/1 Montserrat, sans-serif; letter-spacing: .16em; }
.magina-polarity-tooltip header strong { font: 900 18px/1.12 Montserrat, sans-serif; text-shadow: 0 0 14px color-mix(in srgb, var(--mg-field) 80%, transparent); }
.magina-polarity-tooltip header em { color: color-mix(in srgb, var(--mg-3) 60%, #fff); font: 800 10.5px/1.25 Outfit, sans-serif; font-style: normal; letter-spacing: .04em; }
.magina-polarity-tooltip.is-level-2 header em { color: var(--mg-spark); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; text-shadow: 0 0 8px var(--mg-field); }
.magina-polarity-tooltip header > b { display: grid; justify-items: center; gap: 2px; padding: 5px 9px; border: 1px solid color-mix(in srgb, var(--mg-field) 50%, transparent); border-radius: 11px; background: #0007; }
.magina-polarity-tooltip header > b span { color: #fff; font: 900 20px/1 Montserrat, sans-serif; text-shadow: 0 0 10px var(--mg-field); }
.magina-polarity-tooltip header > b small { color: #fff; font: 800 7px/1 Montserrat, sans-serif; letter-spacing: .1em; }
/* Szint-sáv: 0 / 2000 / 5000. */
.magina-polarity-tooltip__track {
    position: relative; height: 8px; margin: 4px 14px 30px;
    border: 1px solid color-mix(in srgb, var(--mg-accent) 40%, transparent); border-radius: 6px; background: #000a;
}
.magina-polarity-tooltip__track .is-fill {
    position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--mg-total) * 100%); border-radius: 6px;
    background: linear-gradient(90deg, var(--mg-core), var(--mg-field), var(--mg-glow), var(--mg-spark));
    box-shadow: 0 0 8px var(--mg-field);
}
.magina-polarity-tooltip__track i {
    position: absolute; top: 50%; left: calc(var(--at) * 100%); display: grid; justify-items: center; gap: 1px;
    transform: translate(-50%, -12px); font-style: normal;
}
.magina-polarity-tooltip__track i img { width: 26px; height: 26px; object-fit: contain; border: 1px solid color-mix(in srgb, var(--mg-accent) 40%, transparent); border-radius: 50%; background: #000c; filter: grayscale(.7) brightness(.7); }
.magina-polarity-tooltip__track i small { color: color-mix(in srgb, var(--mg-3) 50%, #fff); font: 800 7.5px/1 Montserrat, sans-serif; }
.magina-polarity-tooltip__track i.is-done img { filter: none; border-color: var(--mg-field); }
.magina-polarity-tooltip__track i.is-current img { filter: none; border-color: var(--mg-spark); box-shadow: 0 0 9px var(--mg-field); }
.magina-polarity-tooltip__track i.is-current small { color: #fff; }
.magina-polarity-tooltip__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin-bottom: 8px; }
.magina-polarity-tooltip__facts span { display: grid; justify-items: center; gap: 3px; padding: 6px 4px; border: 1px solid color-mix(in srgb, var(--mg-glow) 22%, transparent); border-radius: 9px; background: #0006; text-align: center; }
.magina-polarity-tooltip__facts img { width: 18px; height: 18px; object-fit: contain; }
.magina-polarity-tooltip__facts small { color: color-mix(in srgb, var(--mg-3) 55%, #fff); font: 700 8px/1.1 Montserrat, sans-serif; letter-spacing: .05em; }
.magina-polarity-tooltip__facts b { color: #fff; font: 900 13px/1 Montserrat, sans-serif; text-shadow: 0 0 7px var(--mg-field); }
.magina-polarity-tooltip__badges { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 8px; }
.magina-polarity-tooltip__badges span { display: inline-flex; align-items: center; gap: 4px; padding: 2px 7px 2px 2px; border: 1px solid var(--mg-glow); border-radius: 10px; background: color-mix(in srgb, var(--mg-core) 40%, #0008); font: 800 9px/1.2 Montserrat, sans-serif; }
.magina-polarity-tooltip__badges img { width: 18px; height: 18px; border-radius: 6px; object-fit: cover; }
.magina-polarity-tooltip__badges .is-max { border-color: var(--mg-spark); box-shadow: 0 0 8px color-mix(in srgb, var(--mg-field) 70%, transparent); }
.magina-polarity-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(--mg-field) 45%, transparent); border-radius: 0 8px 8px 0; background: #0005; color: color-mix(in srgb, var(--mg-3) 40%, #fff); font: 500 10.5px/1.4 Outfit, sans-serif; }
.magina-polarity-tooltip__line > img { flex: 0 0 26px; width: 26px; height: 26px; object-fit: contain; opacity: .8; }
.magina-polarity-tooltip__line.is-active { border-left-color: var(--mg-spark); background: color-mix(in srgb, var(--mg-core) 45%, #0006); color: #fff; }
.magina-polarity-tooltip__line.is-active > img { opacity: 1; filter: drop-shadow(0 0 5px var(--mg-field)); }
.magina-polarity-tooltip__hint { display: block; margin-top: 9px; color: var(--mg-glow); font: 700 8px/1.3 Montserrat, sans-serif; text-align: center; letter-spacing: .06em; }

/* ---------------------------------------
   Műhely / Mágnesszoba popup (dialog)
   --------------------------------------- */
#magina-polarity-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(--mg-field) 60%, var(--mg-accent)); border-radius: 22px;
    outline: 1px dashed color-mix(in srgb, var(--mg-glow) 40%, transparent); outline-offset: -7px;
    background:
        radial-gradient(circle at 8% 0, color-mix(in srgb, var(--mg-glow) 16%, transparent), transparent 34%),
        radial-gradient(ellipse 60% 30% at 50% 104%, color-mix(in srgb, var(--mg-field) 22%, transparent), transparent 70%),
        linear-gradient(145deg, color-mix(in srgb, var(--mg-core) 68%, #000), color-mix(in srgb, var(--mg-night) 95%, #000) 60%, color-mix(in srgb, var(--mg-ember) 55%, #000));
    box-shadow: 0 30px 100px #000f, 0 0 45px color-mix(in srgb, var(--mg-field) 30%, transparent);
    color: #fff;
}
#magina-polarity-workshop.is-max { border-color: var(--mg-spark); box-shadow: 0 30px 100px #000f, 0 0 60px color-mix(in srgb, var(--mg-field) 50%, transparent); }
#magina-polarity-workshop::backdrop { background: rgba(3, 2, 8, .88); backdrop-filter: blur(8px); }
.magina-polarity-workshop__vfx { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.magina-polarity-workshop__vfx .mg-motif {
    bottom: -24px; left: calc(2% + var(--m-i) * 7%); width: 16px; height: 16px;
    animation: mgWorkshopRise 14s linear infinite; animation-delay: calc(var(--m-i) * -1s);
}
#magina-polarity-workshop > header, .magina-polarity-workshop__content { position: relative; z-index: 1; }
#magina-polarity-workshop > header { display: flex; align-items: center; gap: 14px; padding: 14px 25px 12px; border-bottom: 1px solid color-mix(in srgb, var(--mg-field) 30%, transparent); }
.magina-polarity-workshop__title { flex: 1; }
.magina-polarity-workshop__title small { color: var(--mg-glow); font: 800 9px/1 Montserrat, sans-serif; letter-spacing: .2em; }
.magina-polarity-workshop__title h2 { margin: 5px 0 0; font: 900 25px/1 Montserrat, sans-serif; text-shadow: 0 0 16px var(--mg-field); }
#magina-polarity-workshop > header button { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--mg-field); border-radius: 50%; background: #0007; color: #fff; font-size: 22px; cursor: pointer; }
.magina-polarity-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; }
.magina-polarity-workshop__overview h3 { margin: 14px 0 0; color: var(--mg-glow); font: 900 11px/1 Montserrat, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.magina-polarity-workshop__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 10px; }
.magina-polarity-workshop__stats span { display: grid; justify-items: center; gap: 3px; padding: 8px 5px; border: 1px solid color-mix(in srgb, var(--mg-field) 24%, transparent); border-radius: 10px; background: #0006; text-align: center; }
.magina-polarity-workshop__stats span.is-main { border-color: var(--mg-field); background: color-mix(in srgb, var(--mg-core) 45%, #0008); }
.magina-polarity-workshop__stats b { color: #fff; font: 900 16px/1 Montserrat, sans-serif; text-shadow: 0 0 8px var(--mg-field); }
.magina-polarity-workshop__stats small { color: color-mix(in srgb, var(--mg-3) 55%, #fff); font: 600 8.5px/1.2 Outfit, sans-serif; }
.magina-polarity-workshop__state ul, .magina-polarity-workshop__rules { display: grid; gap: 5px; margin: 8px 0 0; padding: 0; list-style: none; }
.magina-polarity-workshop__state li, .magina-polarity-workshop__rules li, .magina-polarity-workshop__basic li, .magina-polarity-workshop__ladder li { padding: 6px 9px; border-left: 2px solid var(--mg-field); border-radius: 0 8px 8px 0; background: #0005; color: color-mix(in srgb, var(--mg-3) 45%, #fff); font: 500 10px/1.35 Outfit, sans-serif; }
.magina-polarity-workshop__state b, .magina-polarity-workshop__rules b, .magina-polarity-workshop__basic li b, .magina-polarity-workshop__ladder li b { color: #fff; }
.magina-polarity-workshop__ladder { display: grid; gap: 6px; margin-top: 9px; }
.magina-polarity-workshop__ladder article { display: grid; grid-template-columns: 44px 1fr; align-items: start; gap: 9px; padding: 9px; border: 1px solid color-mix(in srgb, var(--mg-3) 26%, transparent); border-radius: 11px; background: #0005; opacity: .62; }
.magina-polarity-workshop__ladder article.is-done { opacity: .85; }
.magina-polarity-workshop__ladder article.is-current { opacity: 1; border-color: var(--mg-glow); box-shadow: 0 0 12px color-mix(in srgb, var(--mg-field) 35%, transparent); }
.magina-polarity-workshop__ladder article.is-level-2.is-current { border-color: var(--mg-spark); background: color-mix(in srgb, var(--mg-core) 40%, #0006); box-shadow: 0 0 18px color-mix(in srgb, var(--mg-field) 55%, transparent); }
.magina-polarity-workshop__ladder ul { display: grid; gap: 4px; margin: 6px 0 0; padding: 0; list-style: none; }
.magina-polarity-workshop__badge img { display: block; width: 44px; height: 44px; object-fit: contain; filter: drop-shadow(0 0 4px color-mix(in srgb, var(--mg-field) 45%, transparent)); }
.magina-polarity-workshop__ladder article:not(.is-current):not(.is-done) .magina-polarity-workshop__badge img { filter: grayscale(.6) brightness(.75); }
.magina-polarity-workshop__ladder small { color: var(--mg-glow); font: 800 8px/1 Montserrat, sans-serif; letter-spacing: .12em; }
.magina-polarity-workshop__ladder strong { display: block; margin-top: 2px; font: 900 13px/1.1 Montserrat, sans-serif; }
.magina-polarity-workshop__ladder em { display: block; margin-top: 2px; color: var(--mg-spark); font: 700 9.5px/1.2 Outfit, sans-serif; font-style: normal; }
.magina-polarity-workshop__summary { margin: 10px 0 0; color: color-mix(in srgb, var(--mg-3) 45%, #fff); font: 500 10.5px/1.45 Outfit, sans-serif; }
.magina-polarity-workshop__gallery { display: grid; gap: 6px; margin-top: 9px; }
.magina-polarity-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(--mg-field) 18%, transparent); border-radius: 11px; background: #0005; opacity: .8; }
.magina-polarity-workshop__gallery article.is-current { opacity: 1; border-color: var(--mg-field); box-shadow: inset 0 0 16px color-mix(in srgb, var(--mg-core) 45%, transparent), 0 0 12px color-mix(in srgb, var(--mg-field) 32%, transparent); }
.magina-polarity-workshop__gallery img { width: 46px; height: 46px; object-fit: contain; filter: drop-shadow(0 0 6px var(--mg-field)); }
.magina-polarity-workshop__gallery small { color: var(--mg-glow); font: 800 8px/1 Montserrat, sans-serif; letter-spacing: .12em; }
.magina-polarity-workshop__gallery strong { display: block; margin-top: 2px; font: 900 14px/1.1 Montserrat, sans-serif; }
.magina-polarity-workshop__gallery p { margin: 3px 0 0; color: color-mix(in srgb, var(--mg-3) 45%, #fff); font: 500 9.5px/1.3 Outfit, sans-serif; }
.magina-polarity-workshop__overview .magina-polarity-tooltip { box-shadow: 0 0 18px color-mix(in srgb, var(--mg-field) 28%, transparent), inset 0 0 40px #0008; }
.magina-polarity-workshop__overview .magina-polarity-tooltip__hint { display: none; }
.magina-polarity-workshop__abilities { display: grid; align-content: start; gap: 9px; }
.magina-polarity-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(--mg-field) 24%, transparent); border-radius: 13px; background: #ffffff07; }
.magina-polarity-workshop__abilities article > img { width: 66px; height: 66px; object-fit: cover; border: 1px solid var(--mg-field); border-radius: 11px; box-shadow: 0 0 13px color-mix(in srgb, var(--mg-field) 40%, transparent); }
.magina-polarity-workshop__basic > img { object-fit: contain !important; background: radial-gradient(circle, color-mix(in srgb, var(--mg-field) 30%, transparent), #000 75%); }
.magina-polarity-workshop__basic small { color: var(--mg-glow); font: 800 8px/1 Montserrat, sans-serif; letter-spacing: .14em; }
.magina-polarity-workshop__basic strong { display: block; margin-top: 3px; font: 900 15px/1.1 Montserrat, sans-serif; }
.magina-polarity-workshop__basic p { margin: 4px 0 6px; color: color-mix(in srgb, var(--mg-3) 45%, #fff); font: 500 10.5px/1.4 Outfit, sans-serif; }
.magina-polarity-workshop__basic ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.magina-polarity-workshop__abilities .ability-progression { margin-top: 7px; }
@media (max-width: 900px) {
    .magina-polarity-workshop__content { grid-template-columns: minmax(0, 1fr); }
}

/* ---------------------------------------
   Harci napló: Magina chip (Polarizáció)
   --------------------------------------- */
.v3-log-stat-magina {
    border-color: #8F7BFF99 !important;
    background: linear-gradient(135deg, #1A3C65cc, #350A1888) !important;
    color: #e3ddff !important;
    box-shadow: 0 0 8px #8F7BFF55;
}

/* ---------------------------------------
   Kulcsszó-ikonok (csak Magina szövegeiben)
   --------------------------------------- */
.ability-inline-icon.is-magina-keyword {
    width: 1.4em; height: 1.4em; margin: -.3em .14em -.28em 0;
    object-fit: contain;
    filter: drop-shadow(0 0 3px #8F7BFFaa);
}
.ability-inline-icon.is-magina-keyword[data-magina-theme="mese"] { filter: drop-shadow(0 0 3px #FF7FA8cc); }
.ability-inline-icon.is-magina-keyword[data-magina-keyword="maximalis"] { filter: drop-shadow(0 0 3px #D8E8FF) drop-shadow(0 0 5px #8F7BFF); }
.magina-polarity-tooltip .ability-inline-icon.is-magina-keyword { width: 1.45em; height: 1.45em; }
/* Részletező leírás-lista: a Polarizáció aktuális szintjének sora kiemelt,
   az elért szintek sorai halványan jelölve. */
.ability-progression.is-magina-details .ability-progression-step.is-wide-label { grid-template-columns: minmax(0, 1fr); gap: 5px; }
.ability-progression.is-magina-details .ability-progression-step.is-magina-reached { border-color: rgba(143, 123, 255, .4); }
.ability-progression.is-magina-details .ability-progression-step.is-current {
    background: linear-gradient(100deg, rgba(26, 60, 101, .8), rgba(0, 0, 0, .45) 62%, rgba(143, 123, 255, .22));
    border-color: rgba(143, 123, 255, .9);
    box-shadow: inset 0 0 14px rgba(26, 60, 101, .6), 0 0 10px rgba(143, 123, 255, .35);
}
.ability-progression.is-magina-details .ability-progression-step.is-current .ability-progression-label {
    color: #e8e3ff;
    text-shadow: 0 0 8px rgba(143, 123, 255, .9);
}
.ability-progression.is-magina-details[data-magina-theme="mese"] .ability-progression-step.is-current {
    background: linear-gradient(100deg, rgba(164, 25, 83, .7), rgba(0, 0, 0, .45) 62%, rgba(255, 221, 181, .16));
    border-color: rgba(255, 127, 168, .9);
    box-shadow: inset 0 0 14px rgba(91, 7, 20, .6), 0 0 10px rgba(255, 127, 168, .35);
}
.ability-progression.is-magina-details[data-magina-theme="mese"] .ability-progression-step.is-current .ability-progression-label { color: #ffe9f0; text-shadow: 0 0 8px rgba(255, 127, 168, .9); }

@keyframes mgSpin { to { transform: rotate(360deg); } }
@keyframes mgMeterBreath { from { filter: brightness(.85); } to { filter: brightness(1.18); } }
@keyframes mgMaxPulse { from { filter: brightness(1); } to { filter: brightness(1.4); } }
@keyframes mgFieldLine { 0%, 100% { transform: translateY(-50%) scaleX(1); opacity: var(--line-o, .5); } 50% { transform: translateY(-50%) scaleX(.9); opacity: 1; } }
@keyframes mgSparkBlink { 0%, 60%, 100% { opacity: 0; transform: scale(.5); } 70% { opacity: 1; transform: scale(1.4); } }
@keyframes mgPoleThrob { from { transform: translateY(-50%) scale(1); } to { transform: translateY(-50%) scale(1.18); } }
@keyframes mgOrbit { from { transform: rotate(0deg) translateX(var(--orbit)) rotate(0deg); } to { transform: rotate(360deg) translateX(var(--orbit)) rotate(-360deg); } }
@keyframes mgOrbitSnap { 0% { transform: rotate(0deg) translateX(46px) scale(1.4); opacity: .4; } 100% { transform: rotate(180deg) translateX(var(--orbit)) scale(1); opacity: 1; } }
@keyframes mgMotifRise { 0% { opacity: 0; transform: translateY(0) rotate(0); } 15% { opacity: .85; } 100% { opacity: 0; transform: translateY(-78px) rotate(24deg); } }
@keyframes mgMotifRiseFar { 0% { opacity: 0; transform: translate(0, 0) rotate(0); } 12% { opacity: .7; } 50% { transform: translate(12px, -200px) rotate(24deg); } 100% { opacity: 0; transform: translate(-10px, -420px) rotate(-18deg); } }
@keyframes mgCoreGlow { from { transform: scale(.9); filter: brightness(1); } to { transform: scale(1.1); filter: brightness(1.5); } }
@keyframes mgRingFloat { 0%, 100% { translate: 0 0; } 50% { translate: 0 -3px; } }
@keyframes mgRingSpin { to { rotate: 360deg; } }
@keyframes mgBadgeGlow { from { box-shadow: 0 0 4px var(--mg-field); } to { box-shadow: 0 0 12px var(--mg-field), 0 0 3px #fff; } }
@keyframes mgReady { from { transform: scale(1); } to { transform: scale(1.35); } }
@keyframes mgSnap { 0% { transform: scale(1.5); filter: brightness(2) drop-shadow(0 0 14px var(--mg-glow)); } 40% { transform: scale(.85); } 100% { transform: scale(1); } }
@keyframes mgMaxBurst { 0% { transform: scale(1); } 30% { transform: scale(1.35) rotate(40deg); filter: brightness(2.4) drop-shadow(0 0 18px var(--mg-spark)); } 100% { transform: scale(1) rotate(0); } }
@keyframes mgBurst { 0% { opacity: 1; transform: scale(.5); } 100% { opacity: 0; transform: scale(1.6); } }
@keyframes mgZap { 0% { filter: brightness(2.2) drop-shadow(0 0 8px var(--mg-spark)); } 100% { filter: brightness(1); } }
@keyframes mgPop { 0% { transform: scale(1); } 40% { transform: scale(1.25); } 100% { transform: scale(1); } }
@keyframes mgWorkshopRise { 0% { opacity: 0; transform: translate(0, 0) rotate(0); } 10% { opacity: .6; } 100% { opacity: 0; transform: translate(30px, -95vh) rotate(140deg); } }

@media (prefers-reduced-motion: reduce) {
    .magina-polarity-meter *, .magina-polarity-tooltip *, #magina-polarity-workshop * { animation-duration: 0s !important; animation-iteration-count: 1 !important; }
}
body.v3-vfx-disabled .magina-polarity-meter * { animation: none !important; }

/* Cyber Magina: the same polarization data, projected as a violet terminal. */
.magina-polarity-meter[data-mg-theme="cyber"] .magina-polarity-meter__core {
    border-radius: 16%;
    background: repeating-linear-gradient(0deg, #FBBDFB00 0 5px, #FBBDFB38 6px 7px), radial-gradient(circle, #852DACaa, #482C6A00 72%);
    box-shadow: inset 0 0 12px #7670C3, 0 0 14px #852DAC66;
}
.magina-polarity-meter[data-mg-theme="cyber"] .magina-polarity-meter__orbit i { border-radius: 1px; border: 1px solid #FBBDFB; background: #58419B; }
.magina-polarity-meter[data-mg-theme="cyber"] .magina-polarity-meter__arc .is-track { stroke: #7670C3; stroke-dasharray: 3 5; }
.magina-polarity-meter[data-mg-theme="cyber"] .magina-polarity-meter__field .is-line { border-style: dashed; border-color: #FBBDFB99; }
.magina-polarity-meter[data-mg-theme="cyber"] .magina-polarity-meter__ring { filter: drop-shadow(0 0 5px #FBBDFB) drop-shadow(0 0 11px #852DAC); }
.magina-polarity-meter[data-mg-theme="cyber"] .magina-polarity-meter__discharge i { border-radius: 1px; }
.magina-polarity-tooltip[data-mg-theme="cyber"],
#magina-polarity-workshop[data-mg-theme="cyber"] {
    border-color: #FBBDFB99;
    background: repeating-linear-gradient(0deg, transparent 0 5px, #FBBDFB06 6px 7px), linear-gradient(135deg, #482C6Af5, #58419Bf5 55%, #482C6Af5);
    box-shadow: inset 0 0 32px #852DAC55, 0 0 22px #7670C366;
}
.magina-polarity-tooltip[data-mg-theme="cyber"] .magina-polarity-tooltip__vfx,
#magina-polarity-workshop[data-mg-theme="cyber"] .magina-polarity-workshop__vfx {
    background-image: linear-gradient(#FBBDFB0b 1px, transparent 1px), linear-gradient(90deg, #FBBDFB0b 1px, transparent 1px);
    background-size: 23px 23px;
    animation: mgCyberGrid 9s linear infinite;
}
[data-mg-theme="cyber"] .mg-motif { filter: drop-shadow(0 0 4px #FBBDFB); }
[data-mg-theme="cyber"] .mg-motif.is-voxel,
[data-mg-theme="cyber"] .mg-motif.is-hologram { color: #FBBDFB; --m-tint: #FBBDFB !important; }
.magina-polarity-tooltip[data-mg-theme="cyber"] .magina-polarity-tooltip__crest i { border-style: dashed; }
.ability-inline-icon.is-magina-keyword[data-magina-theme="cyber"] { filter: drop-shadow(0 0 4px #FBBDFB); }
.ability-progression.is-magina-details[data-magina-theme="cyber"] .ability-progression-step.is-current {
    border-color: #FBBDFBaa; background: linear-gradient(100deg, #482C6Add, #58419B99); box-shadow: inset 0 0 18px #852DAC55;
}
@keyframes mgCyberGrid { to { background-position: 23px 46px, 23px 46px; } }
@media (prefers-reduced-motion: reduce) {
    [data-mg-theme="cyber"] .magina-polarity-tooltip__vfx,
    [data-mg-theme="cyber"] .magina-polarity-workshop__vfx { animation: none !important; }
}
