/* Whole-card electricity with one deliberate rise and fall per charge. */
.cracked-charge-host { position: relative; }
.cracked-electricity { position: absolute !important; inset: 0; z-index: 8 !important; pointer-events: none; border-radius: inherit; opacity: 0; }
.cracked-electricity::before { content: ''; position: absolute; inset: 0; border: 1px solid #b9f3ffa8; border-radius: inherit; box-shadow: inset 0 0 22px #76d8ff38, 0 0 13px #b1ecffa0, 0 0 31px #67bdff68; }
.cracked-electricity svg { position: absolute; width: 100%; height: 100%; inset: 0; overflow: visible; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.cracked-electricity path { vector-effect: non-scaling-stroke; }
.cracked-arc-halo { stroke: #51c4ff; stroke-width: 8; filter: blur(4px); opacity: .95; }
.cracked-arc-core { stroke: #d9f8ff; stroke-width: 1.9; filter: drop-shadow(0 0 4px #90ddff); }
.cracked-arc-glints { stroke: #fff; stroke-width: 2.6; stroke-dasharray: 10 43; opacity: .9; }
.cracked-arc-forks { stroke: #a3eaff; stroke-width: 1.3; opacity: .9; filter: drop-shadow(0 0 2px #68cdff); }
[data-cracked-charge="pulse"] > .cracked-electricity { animation: cracked-charge-pulse 840ms ease-out both; }
[data-cracked-charge="select"] > .cracked-electricity { animation: cracked-charge-selected 1040ms ease-out both; }
[data-cracked-charge]:is([data-cracked-charge="pulse"],[data-cracked-charge="select"]) .cracked-arc-glints { animation: cracked-current-flow 840ms linear both; }
[data-cracked-charge="select"] > .cracked-electricity::before { box-shadow: inset 0 0 32px #b1eaff50, 0 0 20px #dcf7ffe0, 0 0 52px #61c3ff99; }
[data-cracked-charge="select"] .cracked-arc-core { stroke-width: 2.65; }
[data-cracked-charge="select"] .cracked-arc-halo { stroke-width: 11; }
/* Body-level, outside-only shadows are unaffected by card/artwork clipping. */
.cracked-charge-aura { position: fixed; z-index: 64; pointer-events: none; background: transparent; border-radius: 10px; opacity: 0; box-shadow: 0 0 15px 3px #b2f0ffb3, 0 0 38px 9px #49baff99, 0 0 75px 15px #1879e25c; animation: cracked-backlight 840ms ease-out both; }
.cracked-charge-host[data-cracked-charge="select"] { box-shadow: 0 0 21px 5px #d0faffdb, 0 0 48px 13px #63ccffb8, 0 0 91px 21px #248fff73 !important; }
.cracked-charge-host .lobby-mode-portrait.cracked { position: relative; }
.cracked-face-electricity { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; pointer-events: none; opacity: 0; }
.cracked-face-electricity svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; fill: none; }
.cracked-face-electricity path { vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
.cracked-eye-aura { fill: #86eaff; filter: blur(11px); }
.cracked-eye-core { fill: #fff5c9; filter: drop-shadow(0 0 17px #ecfeff); }
.cracked-face-arcs { stroke: #d9faff; stroke-width: 1.05; filter: drop-shadow(0 0 10px #4bc4ff); }
.cracked-face-branches { stroke: #69d2ff; stroke-width: .7; opacity: .85; }
[data-cracked-charge="pulse"] .cracked-face-electricity { animation: cracked-face-awake 840ms ease-out both; }
[data-cracked-charge="select"] .cracked-face-electricity { animation: cracked-face-awake 1040ms ease-out both; }
/* The existing flight clones computed styles; retain this deliberate click burst. */
.front-lock-ghost[data-cracked-charge="select"] > .cracked-electricity { animation: cracked-charge-selected 1040ms ease-out both !important; }
.front-lock-ghost[data-cracked-charge="select"] .cracked-face-electricity { animation: cracked-face-awake 1040ms ease-out both !important; }
@keyframes cracked-charge-pulse { 0% { opacity: 0; } 16% { opacity: 1; } 43% { opacity: .94; } 72% { opacity: .5; } 100% { opacity: 0; } }
@keyframes cracked-charge-selected { 0% { opacity: .35; } 12%, 39% { opacity: 1; } 72% { opacity: .66; } 100% { opacity: 0; } }
@keyframes cracked-backlight { 0% { opacity: 0; } 21% { opacity: 1; } 48% { opacity: .86; } 100% { opacity: 0; } }
@keyframes cracked-face-awake { 0% { opacity: 0; } 19% { opacity: 1; } 46% { opacity: .92; } 100% { opacity: 0; } }
@keyframes cracked-current-flow { from { stroke-dashoffset: 72; } to { stroke-dashoffset: 0; } }
[data-cracked-charge="quiet"] > .cracked-electricity { opacity: .3; }
[data-cracked-charge="quiet"] > .cracked-electricity svg, [data-cracked-charge="quiet"] .cracked-face-electricity { display: none; }
@media (prefers-reduced-motion: reduce) {
  .cracked-electricity, .cracked-face-electricity { animation: none !important; }
  .cracked-electricity svg, .cracked-face-electricity, .cracked-charge-aura { display: none !important; }
}
