/* =======================================
   AROBIUS (heroId 59) – JEGES CSILLAGPENGÉK
   =======================================
   Paletta: --arobius-c1..c5 (skin szerint, a JS írja felül).
   Alap: #3A6DD9 #173656 #1F2742 #54D8FF #153A70 – jégszilánk-motívum.
   Rém Akadémia: #301B70 #5B6FD3 #9A5AED #511DD0 #461D7F – pók és denevér.
   c1 = fő szín, c2 = mély, c3 = sötét háttér, c4 = ragyogás, c5 = árnyék. */

.arobius-blade-meter,
.arobius-blade-tooltip,
.arobius-wreath-card-fx,
#arobius-blade-workshop,
.arobius-ability-vfx {
    --arobius-c1: #3A6DD9; --arobius-c2: #173656; --arobius-c3: #1F2742; --arobius-c4: #54D8FF; --arobius-c5: #153A70;
    --arobius-fill: 0;
}

/* ---------------------------------------
   Mechanika-ikon a kártyán
   --------------------------------------- */
.arobius-blade-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);
}
.arobius-blade-meter::before {
    position: absolute; inset: 8px 12px 6px; z-index: -1; content: "";
    border: 1px solid color-mix(in srgb, var(--arobius-c4) 60%, transparent);
    border-radius: 50%;
    background:
        radial-gradient(circle, color-mix(in srgb, var(--arobius-c4) calc(14% + var(--arobius-fill) * 26%), transparent), transparent 68%),
        radial-gradient(circle, color-mix(in srgb, var(--arobius-c1) 40%, var(--arobius-c3)), color-mix(in srgb, var(--arobius-c3) 94%, #000));
    box-shadow:
        0 0 calc(10px + var(--arobius-fill) * 16px) color-mix(in srgb, var(--arobius-c4) calc(35% + var(--arobius-fill) * 45%), transparent),
        inset 0 0 20px color-mix(in srgb, #000 50%, var(--arobius-c5));
    animation: arobiusMeterBreath 2.8s ease-in-out infinite alternate;
}
.arobius-blade-meter:focus-visible { outline: 2px solid var(--arobius-c4); outline-offset: 2px; border-radius: 50%; }
.arobius-blade-meter__bg { position: absolute; inset: 8px 12px 6px; z-index: 0; overflow: hidden; border-radius: 50%; pointer-events: none; }
.arobius-blade-meter__bg::before,
.arobius-blade-meter__bg::after {
    position: absolute; inset: 0; content: "";
    background:
        radial-gradient(circle at 22% 30%, #fff 0 1px, transparent 2px),
        radial-gradient(circle at 70% 22%, var(--arobius-c4) 0 1px, transparent 2px),
        radial-gradient(circle at 58% 76%, #fff 0 1px, transparent 2px),
        radial-gradient(circle at 30% 70%, var(--arobius-c4) 0 1px, transparent 2px);
    opacity: .7; animation: arobiusStarTwinkle 3.4s ease-in-out infinite alternate;
}
.arobius-blade-meter__bg::after { transform: rotate(140deg) scale(.8); animation-delay: -1.7s; }
.arobius-blade-meter__glow, .arobius-blade-meter__glow i { position: absolute; inset: 0; border-radius: 50%; pointer-events: none; }
.arobius-blade-meter__glow { opacity: calc(.35 + var(--arobius-fill) * .65); }
.arobius-blade-meter__glow i {
    inset: 6px 12px;
    border: 1px dashed color-mix(in srgb, var(--arobius-c4) 70%, transparent);
    animation: arobiusSpin 11s linear infinite;
}
.arobius-blade-meter__glow i:nth-child(2) {
    inset: 15px 21px; border-style: solid; border-color: color-mix(in srgb, var(--arobius-c1) 60%, transparent);
    animation-direction: reverse; animation-duration: 7s;
}
.arobius-blade-meter__glow i:nth-child(3) {
    inset: -3px 3px; border: 0;
    background: radial-gradient(circle, transparent 52%, color-mix(in srgb, var(--arobius-c4) calc(var(--arobius-fill) * 45%), transparent) 64%, transparent 76%);
    animation: arobiusAuraPulse 2s ease-in-out infinite alternate;
}
.arobius-blade-meter__blade {
    position: absolute; z-index: 3; left: 20px; top: 6px; width: 60px; height: 60px; object-fit: contain;
    filter: drop-shadow(0 0 5px #fff8) drop-shadow(0 0 calc(6px + var(--arobius-fill) * 10px) var(--arobius-c4)) drop-shadow(0 0 14px var(--arobius-c1));
    animation: arobiusBladeFloat 3.2s ease-in-out infinite;
    pointer-events: none;
}
/* 8 keringő kis penge: az ellipszis pályán forognak, a meglévők világítanak. */
.arobius-blade-meter__orbit {
    position: absolute; z-index: 4; left: 50%; top: 42%; width: 0; height: 0; pointer-events: none;
    animation: arobiusSpin 14s linear infinite;
}
.arobius-blade-meter__orbit i {
    position: absolute; left: 0; top: 0; width: 18px; height: 18px; margin: -9px 0 0 -9px;
    transform: rotate(calc(var(--blade-i) * 45deg)) translateY(-38px) rotate(90deg);
}
.arobius-blade-meter__orbit img {
    display: block; width: 100%; height: 100%; object-fit: contain;
    opacity: .16; filter: grayscale(1) brightness(.7);
    transition: opacity .35s, filter .35s, transform .35s;
}
.arobius-blade-meter__orbit i.is-on img {
    opacity: 1; filter: drop-shadow(0 0 3px #fff) drop-shadow(0 0 6px var(--arobius-c4));
    animation: arobiusOrbitGlint 2.2s ease-in-out infinite alternate;
    animation-delay: calc(var(--blade-i) * -.27s);
}
.arobius-blade-meter__pending { position: absolute; z-index: 5; right: 4px; bottom: 2px; display: flex; gap: 2px; pointer-events: none; }
.arobius-blade-meter__pending img {
    width: 20px; height: 20px; object-fit: contain; opacity: 0; transform: scale(.4);
    filter: drop-shadow(0 0 5px var(--arobius-c4));
    transition: opacity .3s, transform .3s cubic-bezier(.2,1.6,.4,1);
}
.arobius-blade-meter.is-ice-charged .arobius-blade-meter__pending .is-ice,
.arobius-blade-meter.is-slide-charged .arobius-blade-meter__pending .is-slide { opacity: 1; transform: scale(1); animation: arobiusPendingPulse 1.1s ease-in-out infinite alternate; }
.arobius-blade-meter.is-full::before {
    border-color: var(--arobius-c4);
    box-shadow: 0 0 20px var(--arobius-c4), 0 0 34px color-mix(in srgb, var(--arobius-c1) 70%, transparent), inset 0 0 18px color-mix(in srgb, var(--arobius-c4) 40%, transparent);
}
.arobius-blade-meter.is-full .arobius-blade-meter__orbit { animation-duration: 7s; }
.arobius-blade-meter.is-full .arobius-blade-meter__blade { filter: brightness(1.2) drop-shadow(0 0 6px #fff) drop-shadow(0 0 14px var(--arobius-c4)) drop-shadow(0 0 22px var(--arobius-c1)); }
.v3-card.arobius-wreath-full { box-shadow: 0 0 0 1px color-mix(in srgb, var(--arobius-c4) 55%, transparent), 0 0 22px color-mix(in srgb, var(--arobius-c4) 35%, transparent); }

/* ---------------------------------------
   Csillagkoszorú a kártya körül (8/8)
   --------------------------------------- */
.arobius-wreath-card-fx {
    position: absolute; z-index: 31; pointer-events: none;
    transform: translate(-50%, -50%); overflow: visible;
}
.arobius-wreath-card-fx__aura {
    position: absolute; inset: 12px; border-radius: 18px; opacity: 0;
    border: 2px solid color-mix(in srgb, var(--arobius-c4) 85%, #fff);
    box-shadow: inset 0 0 12px color-mix(in srgb, var(--arobius-c4) 55%, transparent), 0 0 18px var(--arobius-c4), 0 0 38px color-mix(in srgb, var(--arobius-c1) 70%, transparent);
    transition: opacity .5s;
}
.arobius-wreath-card-fx__blades { position: absolute; inset: 0; }
.arobius-wreath-card-fx__blades img {
    position: absolute; left: var(--wx); top: var(--wy); width: 26px; height: 26px; margin: -13px 0 0 -13px; object-fit: contain;
    opacity: 0; transform: rotate(var(--rot)) scale(.2);
    filter: drop-shadow(0 0 4px #fff) drop-shadow(0 0 9px var(--arobius-c4));
    transition: opacity .45s, transform .6s cubic-bezier(.2,1.5,.4,1);
    transition-delay: calc(var(--wreath-i) * 35ms);
}
.arobius-wreath-card-fx.is-full .arobius-wreath-card-fx__aura { opacity: 1; animation: arobiusWreathPulse 2.2s ease-in-out infinite alternate; }
.arobius-wreath-card-fx.is-full .arobius-wreath-card-fx__blades img {
    opacity: 1; transform: rotate(var(--rot)) scale(1);
    animation: arobiusWreathGlint 2.6s ease-in-out infinite alternate;
    animation-delay: calc(var(--wreath-i) * -.16s);
}
.arobius-wreath-card-fx.is-full.is-charged .arobius-wreath-card-fx__aura { border-color: #fff; box-shadow: inset 0 0 16px var(--arobius-c4), 0 0 26px var(--arobius-c4), 0 0 50px var(--arobius-c1); }
.arobius-wreath-card-fx__motifs { position: absolute; inset: 0; opacity: 0; transition: opacity .5s; }
.arobius-wreath-card-fx.is-full .arobius-wreath-card-fx__motifs { opacity: 1; }
.arobius-wreath-card-fx__motifs i { position: absolute; top: 50%; left: 50%; }
.arobius-wreath-card-fx__motifs i:nth-child(1) { left: 6%; top: 18%; }
.arobius-wreath-card-fx__motifs i:nth-child(2) { left: 92%; top: 26%; }
.arobius-wreath-card-fx__motifs i:nth-child(3) { left: 4%; top: 72%; }
.arobius-wreath-card-fx__motifs i:nth-child(4) { left: 94%; top: 78%; }
.arobius-wreath-card-fx__motifs i:nth-child(5) { left: 30%; top: 2%; }
.arobius-wreath-card-fx__motifs i:nth-child(6) { left: 68%; top: 98%; }

/* ---------------------------------------
   Motívumok: jégszilánk (alap), pók és denevér (Rém Akadémia)
   --------------------------------------- */
.is-flake {
    width: 12px; height: 12px; opacity: 0;
    background:
        linear-gradient(0deg, transparent 45%, var(--arobius-c4) 45% 55%, transparent 55%),
        linear-gradient(60deg, transparent 45%, var(--arobius-c4) 45% 55%, transparent 55%),
        linear-gradient(120deg, transparent 45%, var(--arobius-c4) 45% 55%, transparent 55%);
    filter: drop-shadow(0 0 4px var(--arobius-c4));
}
.is-spider {
    width: 12px; height: 10px; opacity: 0;
}
.is-spider::before {
    position: absolute; left: 50%; bottom: 100%; width: 1px; height: 26px; content: "";
    background: linear-gradient(180deg, transparent, color-mix(in srgb, #fff 55%, var(--arobius-c3)));
}
.is-spider s {
    position: absolute; inset: 0; border-radius: 50% 50% 45% 45%; text-decoration: none;
    background: radial-gradient(circle at 50% 35%, var(--arobius-c3) 0 32%, #0b0618 34% 100%);
    box-shadow: 0 0 6px var(--arobius-c3);
}
.is-spider s::before, .is-spider s::after {
    position: absolute; top: 45%; width: 20px; height: 7px; content: "";
    border-top: 1px solid #0b0618; border-radius: 50%;
}
.is-spider s::before { right: 60%; transform: rotate(-12deg); box-shadow: 0 -3px 0 -1px #0b0618; }
.is-spider s::after { left: 60%; transform: rotate(12deg); box-shadow: 0 -3px 0 -1px #0b0618; }
.is-bat { width: 18px; height: 8px; opacity: 0; }
.is-bat s {
    position: absolute; inset: 0; text-decoration: none;
    background: #0b0618;
    clip-path: polygon(0 20%, 18% 60%, 30% 45%, 42% 70%, 50% 30%, 58% 70%, 70% 45%, 82% 60%, 100% 20%, 78% 100%, 64% 80%, 50% 100%, 36% 80%, 22% 100%);
    filter: drop-shadow(0 0 3px var(--arobius-c3));
    animation: arobiusBatFlap .32s ease-in-out infinite alternate;
    transform-origin: 50% 50%;
}
.arobius-wreath-card-fx__motifs i { animation: arobiusMotifHover 3.4s ease-in-out infinite alternate; animation-delay: calc(var(--m-i) * -.5s); }

/* ---------------------------------------
   Prémium tooltip (full-bleed, saját körvonal)
   --------------------------------------- */
body.v3-body > .item-tooltip-floating:has(.arobius-blade-tooltip),
body.v3-body > .v3-floating-tooltip:has(.arobius-blade-tooltip) {
    width: min(480px, calc(100vw - 20px)) !important; max-width: 480px !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(.arobius-blade-tooltip) { margin: 0 !important; color: inherit; font-size: inherit; line-height: inherit; }
.arobius-blade-tooltip {
    position: relative; isolation: isolate; box-sizing: border-box; display: block; width: 100%;
    padding: 17px; overflow: hidden;
    border: 2px solid var(--arobius-c1); border-radius: 20px;
    outline: 1px solid color-mix(in srgb, var(--arobius-c4) 45%, transparent); outline-offset: -6px;
    background:
        radial-gradient(circle at 12% 6%, color-mix(in srgb, var(--arobius-c4) 22%, transparent), transparent 36%),
        radial-gradient(circle at 90% 84%, color-mix(in srgb, var(--arobius-c1) 30%, transparent), transparent 48%),
        linear-gradient(150deg, color-mix(in srgb, var(--arobius-c3) 92%, #000), #03050c 55%, color-mix(in srgb, var(--arobius-c5) 45%, #010208));
    box-shadow: 0 24px 70px #000e, 0 0 26px color-mix(in srgb, var(--arobius-c4) 40%, transparent), inset 0 0 48px #0008;
    color: #fff; font-family: Outfit, sans-serif; text-align: left;
}
.arobius-blade-tooltip.is-full { border-color: var(--arobius-c4); box-shadow: 0 24px 70px #000e, 0 0 44px var(--arobius-c4), 0 0 70px color-mix(in srgb, var(--arobius-c1) 60%, transparent), inset 0 0 48px #000a; }
.arobius-blade-tooltip > * { position: relative; z-index: 2; }
.arobius-blade-tooltip > .arobius-blade-tooltip__vfx { position: absolute; z-index: 0; inset: 0; pointer-events: none; overflow: hidden; }
.arobius-blade-tooltip__vfx i { position: absolute; top: -20px; animation: arobiusTooltipFall 7.5s linear infinite; }
.arobius-blade-tooltip__vfx i:nth-child(1) { left: 7%; animation-delay: -.5s; }
.arobius-blade-tooltip__vfx i:nth-child(2) { left: 21%; animation-delay: -3s; }
.arobius-blade-tooltip__vfx i:nth-child(3) { left: 36%; animation-delay: -5.4s; }
.arobius-blade-tooltip__vfx i:nth-child(4) { left: 52%; animation-delay: -1.6s; }
.arobius-blade-tooltip__vfx i:nth-child(5) { left: 67%; animation-delay: -4.2s; }
.arobius-blade-tooltip__vfx i:nth-child(6) { left: 81%; animation-delay: -6.3s; }
.arobius-blade-tooltip__vfx i:nth-child(7) { left: 93%; animation-delay: -2.4s; }
.arobius-blade-tooltip[data-arobius-motif="spider-bat"] .arobius-blade-tooltip__vfx i.is-bat { animation-name: arobiusTooltipBat; animation-duration: 9s; }
.arobius-blade-tooltip__vfx b {
    position: absolute; inset: -45%; border-radius: 45%;
    border: 1px dashed color-mix(in srgb, var(--arobius-c4) 20%, transparent);
    animation: arobiusSpin 26s linear infinite;
}
.arobius-blade-tooltip__vfx b:nth-of-type(2) { inset: -20%; border-style: dotted; border-color: color-mix(in srgb, var(--arobius-c1) 32%, transparent); animation-direction: reverse; animation-duration: 16s; }
.arobius-blade-tooltip__vfx em {
    position: absolute; inset: 0;
    background: linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--arobius-c4) 11%, transparent) 49%, transparent 68%);
    animation: arobiusTooltipScan 6.5s linear infinite;
}
.arobius-blade-tooltip header {
    display: flex; align-items: center; gap: 12px; margin-bottom: 11px; padding-bottom: 11px;
    border-bottom: 1px solid color-mix(in srgb, var(--arobius-c4) 26%, transparent);
}
.arobius-blade-tooltip__blade { display: grid; flex: 0 0 70px; width: 70px; height: 66px; place-items: center; }
.arobius-blade-tooltip__blade img {
    width: 72px; height: 72px; object-fit: contain;
    filter: drop-shadow(0 0 6px #fff9) drop-shadow(0 0 12px var(--arobius-c4)) drop-shadow(0 0 18px var(--arobius-c1));
    animation: arobiusBladeFloat 3.2s ease-in-out infinite;
}
.arobius-blade-tooltip header > div { display: grid; flex: 1; gap: 2px; min-width: 0; }
.arobius-blade-tooltip header small { color: var(--arobius-c4); font: 800 9px/1 Montserrat, sans-serif; letter-spacing: .16em; }
.arobius-blade-tooltip header strong { font: 900 21px/1.1 Montserrat, sans-serif; text-shadow: 0 0 15px var(--arobius-c1); }
.arobius-blade-tooltip header em { color: #cfe2ff; font: 700 10px/1.2 Outfit, sans-serif; font-style: normal; letter-spacing: .06em; }
.arobius-blade-tooltip header > b { display: grid; justify-items: end; font: 900 27px/1 Montserrat, sans-serif; }
.arobius-blade-tooltip header > b img { width: 26px; height: 26px; object-fit: contain; filter: drop-shadow(0 0 6px var(--arobius-c4)); }
.arobius-blade-tooltip header > b small { margin-top: 3px; color: #fff; font-size: 9px; letter-spacing: .1em; }
.arobius-blade-tooltip__track { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 4px; margin-bottom: 9px; }
.arobius-blade-tooltip__track span { display: grid; place-items: center; height: 28px; border: 1px solid #ffffff12; border-radius: 7px; background: #0006; }
.arobius-blade-tooltip__track span.is-milestone { border-color: color-mix(in srgb, var(--arobius-c4) 40%, transparent); }
.arobius-blade-tooltip__track img { width: 20px; height: 20px; object-fit: contain; opacity: .18; filter: grayscale(1); }
.arobius-blade-tooltip__track span.is-filled { border-color: color-mix(in srgb, var(--arobius-c4) 60%, transparent); background: color-mix(in srgb, var(--arobius-c1) 20%, #0007); box-shadow: inset 0 0 8px color-mix(in srgb, var(--arobius-c4) 35%, transparent); }
.arobius-blade-tooltip__track span.is-filled img { opacity: 1; filter: drop-shadow(0 0 4px var(--arobius-c4)); }
.arobius-blade-tooltip__tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin-bottom: 8px; }
.arobius-blade-tooltip__tiers span {
    display: grid; justify-items: center; gap: 2px; padding: 6px 3px;
    border: 1px solid #ffffff12; border-radius: 10px; background: #0006; opacity: .45; text-align: center;
}
.arobius-blade-tooltip__tiers span.is-reached { opacity: .82; }
.arobius-blade-tooltip__tiers span.is-current {
    opacity: 1; border-color: var(--arobius-c4);
    background: color-mix(in srgb, var(--arobius-c1) 18%, #0007);
    box-shadow: 0 0 12px color-mix(in srgb, var(--arobius-c4) 40%, transparent), inset 0 0 12px color-mix(in srgb, var(--arobius-c1) 22%, transparent);
}
.arobius-blade-tooltip__tiers img { width: 34px; height: 34px; object-fit: contain; }
.arobius-blade-tooltip__tiers span.is-current img { filter: drop-shadow(0 0 7px var(--arobius-c4)); }
.arobius-blade-tooltip__tiers b { font: 800 8.5px/1.1 Montserrat, sans-serif; }
.arobius-blade-tooltip__tiers small { color: #b9cbe8; font: 600 8px/1 Outfit, sans-serif; }
.arobius-blade-tooltip__progress { position: relative; height: 15px; margin-bottom: 11px; border: 1px solid color-mix(in srgb, var(--arobius-c4) 38%, transparent); border-radius: 8px; background: #0009; overflow: hidden; }
.arobius-blade-tooltip__progress i {
    position: absolute; top: 2px; bottom: 2px; left: 2px; width: calc(var(--arobius-progress) - 4px); max-width: calc(100% - 4px);
    border-radius: 6px; background: linear-gradient(90deg, var(--arobius-c5), var(--arobius-c1), var(--arobius-c4));
}
.arobius-blade-tooltip__progress span { position: absolute; inset: 0; font: 800 8px/13px Montserrat, sans-serif; text-align: center; text-shadow: 0 1px 2px #000; }
.arobius-blade-tooltip__bonuses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin-bottom: 10px; }
.arobius-blade-tooltip__bonuses span { display: grid; gap: 3px; padding: 6px 7px; border: 1px solid #ffffff10; border-radius: 8px; background: #0005; }
.arobius-blade-tooltip__bonuses small { color: #aebfdc; font: 600 8px/1 Outfit, sans-serif; }
.arobius-blade-tooltip__bonuses b { color: color-mix(in srgb, var(--arobius-c4) 75%, #fff); font: 900 12px/1 Montserrat, sans-serif; }
.arobius-blade-tooltip__status { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 8px; }
.arobius-blade-tooltip__rules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-bottom: 8px; }
.arobius-blade-tooltip__status span, .arobius-blade-tooltip__rules span {
    display: grid; grid-template-columns: 30px 1fr; grid-template-rows: auto auto; align-items: center; gap: 2px 7px;
    padding: 7px; border: 1px solid #ffffff11; border-radius: 9px; background: #0005;
}
.arobius-blade-tooltip__status span { opacity: .55; }
.arobius-blade-tooltip__status span.is-active {
    opacity: 1; border-color: var(--arobius-c4);
    background: color-mix(in srgb, var(--arobius-c1) 18%, #0006);
    box-shadow: 0 0 12px color-mix(in srgb, var(--arobius-c4) 38%, transparent);
}
.arobius-blade-tooltip__status span.is-ready { animation: arobiusStatusGlow 1.2s ease-in-out infinite alternate; }
.arobius-blade-tooltip__status img, .arobius-blade-tooltip__rules img { grid-row: 1 / 3; width: 29px; height: 29px; object-fit: contain; border-radius: 6px; filter: drop-shadow(0 0 5px var(--arobius-c4)); }
.arobius-blade-tooltip__status b, .arobius-blade-tooltip__rules b { font: 800 9px/1.1 Montserrat, sans-serif; }
.arobius-blade-tooltip__status small, .arobius-blade-tooltip__rules small { color: #bccbe4; font: 500 8.5px/1.2 Outfit, sans-serif; }
.arobius-blade-tooltip footer { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.arobius-blade-tooltip footer span {
    display: grid; gap: 3px; padding: 7px; border: 1px solid color-mix(in srgb, var(--arobius-c4) 24%, transparent);
    border-radius: 8px; background: #0006; color: #bccbe4; font: 600 8.5px/1.2 Outfit, sans-serif; text-align: center;
}
.arobius-blade-tooltip footer b { color: color-mix(in srgb, var(--arobius-c4) 75%, #fff); font: 900 13px/1 Montserrat, sans-serif; }
.arobius-blade-tooltip__hint { display: block; margin-top: 9px; color: var(--arobius-c4); font: 700 8px/1.3 Montserrat, sans-serif; text-align: center; letter-spacing: .06em; }
.arobius-blade-tooltip[data-arobius-theme="rem"] header small,
.arobius-blade-tooltip[data-arobius-theme="rem"] .arobius-blade-tooltip__hint { color: color-mix(in srgb, var(--arobius-c3) 70%, #fff); }
.arobius-blade-tooltip[data-arobius-theme="rem"] header strong { text-shadow: 0 0 15px var(--arobius-c3); }

/* ---------------------------------------
   Csillagkovácsműhely (dialog)
   --------------------------------------- */
#arobius-blade-workshop {
    position: fixed; width: min(1120px, 95vw); max-width: 95vw; max-height: 92vh; padding: 0; overflow: hidden;
    border: 1px solid var(--arobius-c4); border-radius: 22px;
    background:
        radial-gradient(circle at 15% 0, color-mix(in srgb, var(--arobius-c4) 18%, transparent), transparent 35%),
        radial-gradient(circle at 90% 100%, color-mix(in srgb, var(--arobius-c1) 28%, transparent), transparent 45%),
        linear-gradient(145deg, color-mix(in srgb, var(--arobius-c3) 94%, #000), #02040a 60%, color-mix(in srgb, var(--arobius-c5) 40%, #010208));
    box-shadow: 0 30px 100px #000f, 0 0 45px color-mix(in srgb, var(--arobius-c4) 38%, transparent);
    color: #fff;
}
#arobius-blade-workshop::backdrop { background: rgba(1, 4, 12, .84); backdrop-filter: blur(8px); }
.arobius-blade-workshop__vfx { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.arobius-blade-workshop__vfx i { position: absolute; top: -20px; animation: arobiusWorkshopFall 12s linear infinite; }
.arobius-blade-workshop__vfx i:nth-child(1) { left: 3%; animation-delay: -1s; }
.arobius-blade-workshop__vfx i:nth-child(2) { left: 11%; animation-delay: -6s; }
.arobius-blade-workshop__vfx i:nth-child(3) { left: 19%; animation-delay: -3s; }
.arobius-blade-workshop__vfx i:nth-child(4) { left: 28%; animation-delay: -9s; }
.arobius-blade-workshop__vfx i:nth-child(5) { left: 37%; animation-delay: -5s; }
.arobius-blade-workshop__vfx i:nth-child(6) { left: 46%; animation-delay: -11s; }
.arobius-blade-workshop__vfx i:nth-child(7) { left: 55%; animation-delay: -2s; }
.arobius-blade-workshop__vfx i:nth-child(8) { left: 64%; animation-delay: -7s; }
.arobius-blade-workshop__vfx i:nth-child(9) { left: 73%; animation-delay: -4s; }
.arobius-blade-workshop__vfx i:nth-child(10) { left: 81%; animation-delay: -10s; }
.arobius-blade-workshop__vfx i:nth-child(11) { left: 89%; animation-delay: -8s; }
.arobius-blade-workshop__vfx i:nth-child(12) { left: 96%; animation-delay: -.5s; }
#arobius-blade-workshop[data-arobius-motif="spider-bat"] .arobius-blade-workshop__vfx i.is-bat { animation-name: arobiusWorkshopBat; animation-duration: 14s; }
#arobius-blade-workshop > header, .arobius-blade-workshop__content { position: relative; z-index: 1; }
#arobius-blade-workshop > header { display: flex; align-items: center; gap: 14px; padding: 16px 25px 12px; border-bottom: 1px solid color-mix(in srgb, var(--arobius-c4) 26%, transparent); }
#arobius-blade-workshop > header > div { flex: 1; }
.arobius-blade-workshop__blade { width: 58px; height: 58px; object-fit: contain; filter: drop-shadow(0 0 8px #fff9) drop-shadow(0 0 16px var(--arobius-c4)); animation: arobiusBladeFloat 3.2s ease-in-out infinite; }
#arobius-blade-workshop > header small { color: var(--arobius-c4); font: 800 9px/1 Montserrat, sans-serif; letter-spacing: .2em; }
#arobius-blade-workshop > header h2 { margin: 5px 0 0; font: 900 25px/1 Montserrat, sans-serif; text-shadow: 0 0 16px var(--arobius-c1); }
#arobius-blade-workshop > header button { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--arobius-c4); border-radius: 50%; background: #0007; color: #fff; font-size: 22px; cursor: pointer; }
.arobius-blade-workshop__content { display: grid; grid-template-columns: minmax(360px, .85fr) minmax(460px, 1.15fr); gap: 15px; max-height: calc(92vh - 86px); padding: 18px 22px 24px; overflow: auto; }
.arobius-blade-workshop__tiers { display: grid; gap: 6px; margin-top: 9px; }
.arobius-blade-workshop__tiers article { display: grid; grid-template-columns: 50px 1fr; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid #ffffff12; border-radius: 11px; background: #0005; opacity: .6; }
.arobius-blade-workshop__tiers article.is-reached { opacity: .88; }
.arobius-blade-workshop__tiers article.is-current { opacity: 1; border-color: var(--arobius-c4); box-shadow: inset 0 0 16px color-mix(in srgb, var(--arobius-c1) 25%, transparent), 0 0 12px color-mix(in srgb, var(--arobius-c4) 32%, transparent); }
.arobius-blade-workshop__tiers img { width: 48px; height: 48px; object-fit: contain; }
.arobius-blade-workshop__tiers small { color: var(--arobius-c4); font: 800 8px/1 Montserrat, sans-serif; letter-spacing: .12em; }
.arobius-blade-workshop__tiers strong { display: block; margin-top: 2px; font: 900 14px/1.1 Montserrat, sans-serif; }
.arobius-blade-workshop__tiers p { margin: 3px 0 0; color: #bccbe4; font: 500 9.5px/1.3 Outfit, sans-serif; }
.arobius-blade-workshop__abilities { display: grid; align-content: start; gap: 9px; }
.arobius-blade-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(--arobius-c4) 22%, transparent); border-radius: 13px; background: #ffffff07; }
.arobius-blade-workshop__abilities article > img { width: 66px; height: 66px; object-fit: cover; border: 1px solid var(--arobius-c4); border-radius: 11px; box-shadow: 0 0 13px color-mix(in srgb, var(--arobius-c1) 45%, transparent); }
.arobius-blade-workshop__abilities .ability-progression { margin-top: 7px; }

/* ---------------------------------------
   Harci napló: Csillagpenge chip
   --------------------------------------- */
.v3-log-stat-blades {
    border-color: color-mix(in srgb, #54D8FF 55%, transparent) !important;
    background: linear-gradient(135deg, #153A70cc, #1F2742e6) !important;
    color: #bfefff !important;
    box-shadow: 0 0 8px #54D8FF44;
}

/* ---------------------------------------
   Kulcsszó-ikonok (csak Arobius szövegeiben)
   --------------------------------------- */
.ability-inline-icon.is-arobius-keyword {
    width: 1.45em; height: 1.45em; margin: -.3em .14em -.26em 0;
    filter: drop-shadow(0 0 3px #54D8FFaa);
}
.arobius-blade-tooltip .ability-inline-icon.is-arobius-keyword { width: 1.5em; height: 1.5em; }

/* Részletező leírás-lista (ability tooltip, workshop): a pengeszint-küszöbök
   sorai. Elért küszöb világosabb címkével, az aktuális (legmagasabb elért) kiemelve. */
.ability-progression.is-arobius-details .ability-progression-step {
    grid-template-columns: 124px minmax(0, 1fr);
}
.ability-progression.is-arobius-details .ability-progression-step.is-wide-label {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
}
.ability-progression.is-arobius-details .ability-progression-step.is-wide-label .ability-progression-label {
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(84, 216, 255, .28);
}
.ability-progression.is-arobius-details .ability-progression-step.is-reached .ability-progression-label { color: #d8f4ff; }
.ability-progression.is-arobius-details .ability-progression-step.is-current {
    background: linear-gradient(100deg, rgba(58, 109, 217, .32), rgba(0, 0, 0, .42) 62%, rgba(84, 216, 255, .18));
    border-color: rgba(84, 216, 255, .6);
    box-shadow: inset 0 0 14px rgba(58, 109, 217, .36), 0 0 10px rgba(84, 216, 255, .28);
}
.ability-progression.is-arobius-details .ability-progression-step.is-current .ability-progression-label {
    color: #eafaff;
    text-shadow: 0 0 8px rgba(84, 216, 255, .8);
}
body.v3-body > .ability-tooltip-floating .ability-progression.is-arobius-details .ability-progression-step {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    padding: 8px 10px 9px;
    border-radius: 10px;
}

/* ---------------------------------------
   Animációk
   --------------------------------------- */
@keyframes arobiusSpin { to { transform: rotate(360deg); } }
@keyframes arobiusMeterBreath { from { filter: brightness(.92); } to { filter: brightness(1.15); } }
@keyframes arobiusStarTwinkle { from { opacity: .25; } to { opacity: .85; } }
@keyframes arobiusAuraPulse { from { opacity: .45; transform: scale(.97); } to { opacity: 1; transform: scale(1.04); } }
@keyframes arobiusBladeFloat { 0%, 100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-4px) rotate(4deg); } }
@keyframes arobiusOrbitGlint { from { filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 4px var(--arobius-c4)); } to { filter: brightness(1.35) drop-shadow(0 0 4px #fff) drop-shadow(0 0 9px var(--arobius-c4)); } }
@keyframes arobiusPendingPulse { to { transform: scale(1.15); filter: drop-shadow(0 0 8px #fff) drop-shadow(0 0 12px var(--arobius-c4)); } }
@keyframes arobiusWreathPulse { from { opacity: .72; } to { opacity: 1; } }
@keyframes arobiusWreathGlint { from { filter: drop-shadow(0 0 3px #fff) drop-shadow(0 0 6px var(--arobius-c4)); } to { filter: brightness(1.4) drop-shadow(0 0 5px #fff) drop-shadow(0 0 13px var(--arobius-c4)); } }
@keyframes arobiusMotifHover { from { transform: translate(-50%, -50%) translateY(-3px); opacity: .55; } to { transform: translate(-50%, -50%) translateY(4px); opacity: .95; } }
@keyframes arobiusBatFlap { from { transform: scaleY(1); } to { transform: scaleY(.45); } }
@keyframes arobiusTooltipFall { 0% { opacity: 0; transform: translate(0, 0) rotate(0); } 12% { opacity: .8; } 100% { opacity: 0; transform: translate(26px, 520px) rotate(300deg); } }
@keyframes arobiusTooltipBat { 0% { opacity: 0; transform: translate(0, 40px); } 15% { opacity: .85; } 50% { transform: translate(40px, 220px); } 100% { opacity: 0; transform: translate(-20px, 480px); } }
@keyframes arobiusTooltipScan { from { transform: translateX(-130%); } to { transform: translateX(130%); } }
@keyframes arobiusStatusGlow { to { box-shadow: 0 0 20px color-mix(in srgb, var(--arobius-c4) 60%, transparent); } }
@keyframes arobiusWorkshopFall { 0% { opacity: 0; transform: translate(0, 0) rotate(0); } 10% { opacity: .6; } 100% { opacity: 0; transform: translate(50px, 95vh) rotate(420deg); } }
@keyframes arobiusWorkshopBat { 0% { opacity: 0; transform: translate(0, 0); } 10% { opacity: .75; } 40% { transform: translate(60px, 30vh); } 70% { transform: translate(-40px, 60vh); } 100% { opacity: 0; transform: translate(30px, 95vh); } }

/* Pók: lassan ereszkedik a fonalán (tooltip / műhely). */
.arobius-blade-tooltip__vfx i.is-spider,
.arobius-blade-workshop__vfx i.is-spider { animation-name: arobiusSpiderDrop; animation-timing-function: ease-in-out; animation-direction: alternate; }
@keyframes arobiusSpiderDrop { 0% { opacity: .9; transform: translateY(10px); } 100% { opacity: .9; transform: translateY(120px); } }

@media (max-width: 900px) {
    .arobius-blade-workshop__content { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .arobius-blade-tooltip__status, .arobius-blade-tooltip__rules { grid-template-columns: 1fr; }
    .arobius-blade-tooltip__bonuses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    .arobius-blade-meter, .arobius-blade-meter *, .arobius-blade-meter::before,
    .arobius-wreath-card-fx, .arobius-wreath-card-fx *,
    .arobius-blade-tooltip *, #arobius-blade-workshop * { animation: none !important; transition: none !important; }
}


/* Arobius cinematic canvas. Feedback numbers remain above this layer. */
.arobius-vfx-stage { position: fixed; inset: 0; z-index: 10040; pointer-events: none; overflow: hidden; contain: layout style; }
.arobius-vfx-stage canvas { display: block; width: 100%; height: 100%; }
.arobius-vfx-caption { position: absolute; display: grid; justify-items: center; gap: 5px; width: max-content; max-width: min(410px, 88vw); text-align: center; padding: 11px 20px; border-top: 1px solid color-mix(in srgb, var(--arobius-c4) 60%, transparent); background: radial-gradient(ellipse, #041020cc, transparent 75%); }
.arobius-vfx-caption strong { font: 900 clamp(13px, 1.5vw, 22px)/1.2 Montserrat, sans-serif; letter-spacing: .12em; color: #edfcff; text-shadow: 0 2px 8px #000, 0 0 15px var(--arobius-c4); }
.arobius-vfx-caption small { font: 600 clamp(10px, .9vw, 12px)/1.4 Outfit, sans-serif; letter-spacing: .05em; color: #cde8fa; text-shadow: 0 2px 4px #000; }
.arobius-vfx-stage.is-ultimate .arobius-vfx-caption strong { font-size: clamp(17px, 2.1vw, 30px); }
.arobius-vfx-stage[data-theme="rem"] .arobius-vfx-caption { background: radial-gradient(ellipse, #150728dd, transparent 75%); }
.arobius-wreath-card-fx__armor { position: absolute; inset: 8px; border-radius: 20px; opacity: 0; transition: opacity .25s; pointer-events: none; }
/* Keep the armor continuous around the entire card, including the ability row. */
.arobius-wreath-card-fx__armor {
    border: 1px solid color-mix(in srgb, var(--arobius-c4) 65%, #fff);
    box-shadow: inset 0 0 14px var(--arobius-c4), 0 0 12px color-mix(in srgb, var(--arobius-c4) 40%, transparent);
}
.arobius-wreath-card-fx.is-forge-active .arobius-wreath-card-fx__armor { opacity: .85; }
.arobius-wreath-card-fx.is-ice-charged .arobius-wreath-card-fx__blades img { filter: brightness(1.3) drop-shadow(0 0 3px #fff) drop-shadow(0 0 9px var(--arobius-c4)); }
.arobius-wreath-card-fx.is-slide-charged .arobius-wreath-card-fx__blades img { animation-duration: .85s; }
.arobius-wreath-card-fx.is-fallen { opacity: .25; }
body.v3-vfx-disabled .arobius-wreath-card-fx, body.v3-vfx-disabled .arobius-vfx-stage { display: none; }
body.v3-vfx-disabled .arobius-blade-meter *, body.v3-vfx-disabled .arobius-blade-meter::before { animation: none !important; }
@media (prefers-reduced-motion: reduce) { .arobius-vfx-stage { display: none; } }

/* Akadémia Arobius — charcoal uniform, gilt embroidery, floating textbooks.
   The skin palette is exact; dark cloth keeps the golden holograms readable. */
.arobius-blade-meter[data-arobius-theme="akademia"]::before {
    border-radius: 16px 16px 30px 30px;
    border: 2px solid #FCC83C;
    background: radial-gradient(ellipse at 50% 30%, #FDF22A38, transparent 64%), linear-gradient(145deg, #58525B, #211e28 70%);
    box-shadow: 0 0 18px #FDF22A66, inset 0 0 0 4px #211e28, inset 0 0 0 5px #FCC83C66;
}
.arobius-blade-meter[data-arobius-theme="akademia"]::after {
    content: ""; position: absolute; left: 39px; bottom: 0; width: 23px; height: 12px;
    background: linear-gradient(90deg, #FCC83C 0 44%, #58525B 45% 55%, #FCFC83 56%);
    clip-path: polygon(0 0, 45% 12%, 50% 25%, 55% 12%, 100% 0, 100% 82%, 55% 91%, 50% 100%, 45% 91%, 0 82%);
    filter: drop-shadow(0 0 4px #FDF22A);
}
.arobius-blade-tooltip[data-arobius-theme="akademia"],
#arobius-blade-workshop[data-arobius-theme="akademia"] {
    border-color: #FCC83C;
    background: radial-gradient(ellipse at 100% 0, #FCC83C2e, transparent 48%), linear-gradient(140deg, #302c35, #15131c 60%, #58525B);
    box-shadow: 0 18px 50px #000b, 0 0 20px #FCC83C44, inset 0 0 0 4px #211e28, inset 0 0 0 5px #FCC83C55;
}
.arobius-blade-tooltip[data-arobius-theme="akademia"] header strong,
.arobius-vfx-stage[data-theme="akademia"] .arobius-vfx-caption strong { color: #FCFC83; text-shadow: 0 2px 5px #000, 0 0 14px #FCC83C88; }
.arobius-academy-subtitle { display: block; margin-top: 5px; color: #FDE781; font: 600 9px/1.4 Outfit, sans-serif; letter-spacing: .045em; }
.arobius-blade-tooltip[data-arobius-theme="akademia"] .arobius-blade-tooltip__progress i { background: linear-gradient(90deg, #58525B, #FCC83C, #FDF22A); }
.arobius-blade-tooltip[data-arobius-theme="akademia"] .arobius-blade-tooltip__progress span { color: #fffbe7; text-shadow: 0 1px 2px #000, 0 0 3px #000; }
.arobius-blade-tooltip[data-arobius-theme="akademia"] .arobius-blade-tooltip__status img,
.arobius-blade-tooltip[data-arobius-theme="akademia"] .arobius-blade-tooltip__tiers span:last-child img,
.arobius-blade-meter[data-arobius-theme="akademia"] .arobius-blade-meter__pending img,
#arobius-blade-workshop[data-arobius-theme="akademia"] .is-effects img {
    filter: sepia(1) saturate(2) drop-shadow(0 0 5px #FDF22A88);
}
.arobius-vfx-stage[data-theme="akademia"] .arobius-vfx-caption { border-color: #FCC83C; background: radial-gradient(ellipse, #302c35e8, transparent 75%); }
.arobius-vfx-stage[data-theme="akademia"] .arobius-vfx-caption small { color: #FDE781; }
.arobius-academy-book, .arobius-academy-pin { display: block; width: 26px; height: 22px; filter: drop-shadow(0 0 4px #FCC83C88); }
.arobius-academy-book { border-bottom: 3px solid #FCC83C; border-radius: 3px; background: #58525B; }
.arobius-academy-book::before, .arobius-academy-book::after {
    content: ""; position: absolute; top: 1px; bottom: 2px; width: 45%; border: 1px solid #FCC83C;
    background: repeating-linear-gradient(0deg, #FCFC83 0 4px, #58525B 4px 5px, #FCFC83 5px 6px);
}
.arobius-academy-book::before { left: 1px; transform: skewY(8deg); }
.arobius-academy-book::after { right: 1px; transform: skewY(-8deg); }
.arobius-academy-pin {
    width: 22px; height: 27px; background: #FCC83C;
    clip-path: polygon(50% 0, 100% 20%, 86% 73%, 50% 100%, 14% 73%, 0 20%);
}
.arobius-academy-pin::before {
    content: ""; position: absolute; inset: 3px; background: #58525B;
    clip-path: polygon(50% 0, 100% 20%, 86% 73%, 50% 100%, 14% 73%, 0 20%);
}
.arobius-academy-pin::after {
    content: ""; position: absolute; inset: 6px; background: #FDF22A;
    clip-path: polygon(50% 0, 64% 37%, 100% 50%, 64% 63%, 50% 100%, 36% 63%, 0 50%, 36% 37%);
}
.arobius-blade-tooltip[data-arobius-theme="akademia"] .arobius-blade-tooltip__vfx i,
#arobius-blade-workshop[data-arobius-theme="akademia"] .arobius-blade-workshop__vfx i {
    opacity: .38; animation-duration: 15s; animation-timing-function: linear;
}
.arobius-wreath-card-fx[data-arobius-theme="akademia"] .arobius-wreath-card-fx__armor {
    border-radius: 10px; border: 2px solid #FCC83C;
    box-shadow: inset 0 0 0 4px #58525B66, inset 0 0 18px #FDF22A33, 0 0 12px #FCC83C66;
}
