/* =========================================================
   PROJECT_05:59 — TGX HOLOGRAM LOBBY // V4.2 MERGED
   Audio-reactive to ./assets/musica tgx.mp3
========================================================= */

#tgx-lobby-node {
    --member-accent: #b85cff;
    --audio-level: 0;
    --audio-bass: 0;
    --audio-mid: 0;
    --audio-high: 0;
    --audio-peak: 0;
    isolation: isolate;
    color: #ecf8ff;
    background: #000;
}

.lobby-void {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 43% 52%, rgba(72,189,218,.055), transparent 27%),
        radial-gradient(circle at 68% 50%, color-mix(in srgb, var(--member-accent) 8%, transparent), transparent 34%),
        #000;
    z-index: 0;
}

.lobby-grid {
    position: absolute;
    inset: -20%;
    z-index: 0;
    opacity: calc(.11 + (var(--audio-bass) * .06));
    background-image:
        linear-gradient(rgba(88,218,255,.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(88,218,255,.12) 1px, transparent 1px);
    background-size: 46px 46px;
    transform: perspective(600px) rotateX(67deg) translateY(26%);
    transform-origin: center 68%;
    mask-image: linear-gradient(to bottom, transparent 0%, #000 35%, #000 74%, transparent 98%);
}

.lobby-nebula {
    position: absolute;
    width: 42vw;
    aspect-ratio: 1;
    border-radius: 50%;
    filter: blur(130px);
    opacity: calc(.07 + (var(--audio-level) * .09));
    z-index: 0;
    animation: lobbyNebula 11s ease-in-out infinite alternate;
}
.lobby-nebula-a { left: -16vw; top: -20vh; background: #22d9ff; }
.lobby-nebula-b { right: -13vw; bottom: -18vh; background: var(--member-accent); animation-delay: -5s; }

.lobby-scanlines {
    position: absolute;
    inset: 0;
    z-index: 20;
    pointer-events: none;
    opacity: calc(.13 + (var(--audio-high) * .12));
    background: repeating-linear-gradient(to bottom, rgba(255,255,255,.027) 0 1px, transparent 1px 4px);
    mix-blend-mode: screen;
}

.lobby-header {
    position: absolute;
    z-index: 12;
    left: 3vw;
    right: 3vw;
    top: 3vh;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    color: #6994a3;
    font: 10px/1.4 Consolas, "Courier New", monospace;
    letter-spacing: .2em;
}
.lobby-header b { color: #b76cff; font-weight: 600; }

.lobby-layout {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: grid;
    grid-template-columns: minmax(0,1.35fr) minmax(310px,.58fr);
    gap: 2vw;
    align-items: center;
    padding: 8vh 4vw 5vh;
}

.lobby-holo-zone {
    position: relative;
    height: min(78vh,780px);
    display: grid;
    place-items: center;
}

.lobby-orbit {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(100,235,255,.13);
    opacity: calc(.42 + (var(--audio-mid) * .34));
    transform: scale(calc(1 + (var(--audio-bass) * .012)));
}
.orbit-a { width: min(62vw,760px); aspect-ratio: 1; border-style: dashed; animation: orbit 31s linear infinite; }
.orbit-b { width: min(48vw,590px); aspect-ratio: 1; border-color: color-mix(in srgb,var(--member-accent) 48%,transparent); animation: orbit 21s linear reverse infinite; }
.orbit-c { width: min(34vw,420px); aspect-ratio: 1; border-color: rgba(255,255,255,.08); box-shadow: 0 0 45px rgba(100,220,255,.05); animation: orbit 14s linear infinite; }

.lobby-image-shell {
    position: relative;
    width: min(67vw,1080px);
    max-height: 68vh;
    display: grid;
    place-items: center;
    transform: translateZ(0) scale(calc(1 + (var(--audio-bass) * .008)));
    filter: drop-shadow(0 0 calc(22px + (var(--audio-level) * 18px)) color-mix(in srgb,var(--member-accent) 18%,transparent));
    transition: filter 80ms linear;
}

#lobby-group-image {
    position: relative;
    z-index: 3;
    width: 100%;
    max-height: 66vh;
    object-fit: contain;
    opacity: calc(.35 + (var(--audio-level) * .14));
    filter:
        brightness(calc(.50 + (var(--audio-bass) * .18)))
        contrast(calc(1.18 + (var(--audio-mid) * .16)))
        saturate(calc(.68 + (var(--audio-high) * .28)))
        drop-shadow(0 0 calc(8px + (var(--audio-level) * 13px)) rgba(71,222,255,.28));
    animation: lobbyHoloFloat 4.2s ease-in-out infinite, lobbyFlicker 5.1s steps(1) infinite;
    will-change: filter, opacity, transform;
}

.lobby-rgb-ghost {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: calc(.025 + (var(--audio-peak) * .15));
    background: url("./assets/retrato_neón_del_equipo_tgx.png") center/contain no-repeat;
    mix-blend-mode: screen;
    pointer-events: none;
    transition: opacity 80ms linear, transform 80ms linear;
}
.ghost-a {
    filter: hue-rotate(140deg) brightness(.55);
    transform: translateX(calc(-3px - (var(--audio-peak) * 8px)));
}
.ghost-b {
    filter: hue-rotate(305deg) brightness(.55);
    transform: translateX(calc(3px + (var(--audio-peak) * 8px)));
}

.lobby-holo-lines {
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    opacity: calc(.55 + (var(--audio-high) * .36));
    background: repeating-linear-gradient(to bottom, transparent 0 4px, rgba(102,235,255,.10) 5px);
    mix-blend-mode: screen;
}

.lobby-sweep {
    position: absolute;
    z-index: 6;
    left: 1%; right: 1%;
    height: 11%; top: -12%;
    pointer-events: none;
    background: linear-gradient(to bottom, transparent, rgba(86,230,255,.21), color-mix(in srgb,var(--member-accent) 20%,transparent), transparent);
    filter: blur(3px);
    opacity: calc(.55 + (var(--audio-mid) * .4));
    animation: lobbySweep 3.1s linear infinite;
}

.lobby-audio-flare {
    position: absolute;
    z-index: 2;
    inset: 18% 8%;
    pointer-events: none;
    border-radius: 50%;
    opacity: calc(var(--audio-bass) * .28);
    background: radial-gradient(circle, color-mix(in srgb,var(--member-accent) 36%,transparent), rgba(78,222,255,.08) 38%, transparent 70%);
    filter: blur(calc(18px + (var(--audio-bass) * 28px)));
    transform: scale(calc(.96 + (var(--audio-bass) * .08)));
}

.lobby-projection-cone {
    position: absolute;
    z-index: 0;
    bottom: 8%;
    width: 64%;
    height: 62%;
    clip-path: polygon(41% 100%,59% 100%,88% 0,12% 0);
    background: linear-gradient(to top, rgba(76,219,255,.06), rgba(144,67,255,.018) 70%, transparent);
    filter: blur(7px);
    opacity: calc(.65 + (var(--audio-level) * .35));
}

.lobby-projector {
    position: absolute;
    bottom: 5%;
    width: 34%;
    height: 4%;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(93,231,255,.34), rgba(104,89,255,.08) 48%, transparent 72%);
    filter: blur(3px);
    display: flex;
    justify-content: center;
    gap: 10%;
    box-shadow: 0 0 calc(32px + (var(--audio-bass) * 28px)) rgba(73,222,255,.15);
    transform: scaleX(calc(1 + (var(--audio-bass) * .05)));
}
.lobby-projector i {
    width: 8px;
    height: 8px;
    margin-top: 3px;
    border-radius: 50%;
    background: var(--member-accent);
    box-shadow: 0 0 calc(8px + (var(--audio-bass) * 16px)) var(--member-accent);
    opacity: calc(.45 + (var(--audio-level) * .55));
    animation: projectorBlink 1.1s steps(1) infinite;
}

.lobby-member-strip {
    position: absolute;
    bottom: 0;
    left: 4%; right: 4%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    z-index: 8;
}
.lobby-member-strip span {
    border: 1px solid rgba(111,220,244,.12);
    background: rgba(2,7,12,.72);
    color: #445b66;
    padding: 5px 8px;
    font: 8px/1 Consolas, "Courier New", monospace;
    letter-spacing: .11em;
    transition: .25s ease;
}
.lobby-member-strip span.active {
    color: #fff;
    border-color: color-mix(in srgb,var(--member-accent) 70%,#79eeff);
    box-shadow: 0 0 calc(14px + (var(--audio-level) * 12px)) color-mix(in srgb,var(--member-accent) 24%,transparent);
    text-shadow: 0 0 8px var(--member-accent);
}

.lobby-console {
    position: relative;
    z-index: 8;
    border-left: 1px solid rgba(104,222,247,.22);
    padding: 26px 28px;
    background: linear-gradient(90deg, rgba(1,6,12,.88), rgba(0,0,0,.25));
    min-width: 0;
}
.lobby-console::before {
    content: "";
    position: absolute;
    left: 0; top: 0;
    width: 64px;
    border-top: 2px solid var(--member-accent);
    box-shadow: 0 0 calc(10px + (var(--audio-level) * 12px)) var(--member-accent);
}
.lobby-console-kicker {
    color: #55717e;
    font: 9px/1.4 Consolas, "Courier New", monospace;
    letter-spacing: .22em;
}
#lobby-name {
    margin: 10px 0 4px;
    color: #fff;
    font-size: clamp(35px,5vw,76px);
    line-height: .95;
    letter-spacing: .04em;
    text-shadow: 0 0 9px var(--member-accent), 0 0 calc(28px + (var(--audio-level) * 18px)) color-mix(in srgb,var(--member-accent) 25%,transparent);
}
.lobby-origin {
    display: inline-block;
    margin: 6px 0 23px;
    padding: 4px 7px;
    border: 1px solid color-mix(in srgb,var(--member-accent) 35%,transparent);
    color: var(--member-accent);
    font: 8px/1 Consolas, "Courier New", monospace;
    letter-spacing: .18em;
}
.lobby-profile-lines { display: grid; gap: 10px; }
.lobby-profile-lines > div {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 10px;
    align-items: baseline;
    border-bottom: 1px solid rgba(92,180,202,.08);
    padding-bottom: 6px;
}
.lobby-profile-lines span {
    color: #536a75;
    font: 8px/1.3 Consolas, "Courier New", monospace;
    letter-spacing: .14em;
}
.lobby-profile-lines b {
    color: #b8d8e2;
    font: 11px/1.3 Consolas, "Courier New", monospace;
    font-weight: 500;
    letter-spacing: .08em;
}
.lobby-profile-lines .membership-active {
    color: #6bffa3;
    text-shadow: 0 0 10px rgba(86,255,146,.22);
}

.lobby-audio-module {
    margin-top: 24px;
    border: 1px solid rgba(111,222,245,.15);
    background: rgba(2,8,13,.68);
    padding: 15px;
}
.lobby-audio-top {
    display: flex;
    justify-content: space-between;
    color: #79eaff;
    font: 8px/1 Consolas, "Courier New", monospace;
    letter-spacing: .15em;
}
.lobby-wave {
    height: 34px;
    margin: 10px 0;
    display: flex;
    align-items: center;
    gap: 3px;
    overflow: hidden;
}
.lobby-wave i {
    width: 2px;
    height: calc(12% + (var(--audio-level) * 54%));
    background: var(--member-accent);
    opacity: calc(.55 + (var(--audio-high) * .45));
    box-shadow: 0 0 calc(3px + (var(--audio-level) * 7px)) var(--member-accent);
    animation: lobbyWave .7s ease-in-out infinite alternate;
    animation-delay: calc(var(--i) * -43ms);
}
.lobby-log-title { color: #fff; font: 14px/1.3 Consolas, "Courier New", monospace; letter-spacing: .08em; }
#lobby-log-copy { min-height: 48px; color: #66818d; font: 9px/1.65 Consolas, "Courier New", monospace; letter-spacing: .07em; }
#lobby-random-log {
    width: 100%;
    border: 1px solid color-mix(in srgb,var(--member-accent) 42%,#64ddff);
    background: rgba(4,8,16,.82);
    color: #c8eff8;
    padding: 10px 12px;
    cursor: pointer;
    font: 8px/1 Consolas, "Courier New", monospace;
    letter-spacing: .16em;
}
#lobby-random-log:hover { color: #fff; box-shadow: 0 0 20px color-mix(in srgb,var(--member-accent) 15%,transparent); }
#lobby-random-log:disabled { opacity: .5; cursor: default; }
.lobby-return {
    margin-top: 14px;
    border: 0;
    background: transparent;
    color: #49616b;
    cursor: pointer;
    font: 8px/1 Consolas, "Courier New", monospace;
    letter-spacing: .15em;
    padding: 6px 0;
}
.lobby-return:hover { color: #8feeff; }
.lobby-heal-countdown {
    margin-top: 18px;
    min-height: 18px;
    color: #ff6b7f;
    font: 8px/1.5 Consolas, "Courier New", monospace;
    letter-spacing: .14em;
}

.audio-playing #lobby-group-image {
    opacity: calc(.40 + (var(--audio-level) * .16));
    filter:
        brightness(calc(.55 + (var(--audio-bass) * .2)))
        contrast(1.3)
        saturate(.8)
        drop-shadow(0 0 calc(12px + (var(--audio-level) * 12px)) var(--member-accent));
    animation-duration: 2.6s, .9s;
}
.heal-restored #lobby-name {
    color: #fff;
    text-shadow: 0 0 8px #ff5369, 0 0 calc(30px + (var(--audio-level) * 18px)) rgba(255,48,79,.3);
}
.heal-restored .lobby-console::before { border-color: #ff5369; box-shadow: 0 0 14px rgba(255,61,91,.7); }
.heal-restored #lobby-group-image { opacity: calc(.38 + (var(--audio-level) * .13)); }

.audio-peak .lobby-image-shell {
    filter: drop-shadow(0 0 30px color-mix(in srgb,var(--member-accent) 28%,transparent));
}
.audio-peak .lobby-sweep { filter: blur(2px) brightness(1.3); }

.lobby-data-column {
    position: absolute;
    top: 10%; bottom: 10%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    opacity: calc(.12 + (var(--audio-high) * .1));
    pointer-events: none;
}
.lobby-data-column.left { left: 1.2vw; }
.lobby-data-column.right { right: 1.2vw; align-items: flex-end; }
.lobby-data-column span {
    color: #67e7ff;
    font: 7px/1 Consolas, "Courier New", monospace;
    letter-spacing: .15em;
    animation: dataBlink 3.6s steps(1) infinite;
    animation-delay: var(--delay);
}

.lobby-corner {
    position: absolute;
    z-index: 15;
    width: 28px;
    height: 28px;
    opacity: calc(.26 + (var(--audio-level) * .18));
    pointer-events: none;
}
.lobby-corner.c1 { left: 2vw; top: 7vh; border-left: 1px solid #62eaff; border-top: 1px solid #62eaff; }
.lobby-corner.c2 { right: 2vw; top: 7vh; border-right: 1px solid #b95cff; border-top: 1px solid #b95cff; }
.lobby-corner.c3 { left: 2vw; bottom: 3vh; border-left: 1px solid #b95cff; border-bottom: 1px solid #b95cff; }
.lobby-corner.c4 { right: 2vw; bottom: 3vh; border-right: 1px solid #62eaff; border-bottom: 1px solid #62eaff; }

#tgx-lobby-node.lobby-shutdown {
    animation: lobbyPowerDown 2.2s ease forwards;
}
#tgx-lobby-node.lobby-shutdown .lobby-image-shell {
    animation: lobbyImageShutdown 2s steps(7,end) forwards;
}

@keyframes lobbyNebula { to { transform: translate(5vw,3vh) scale(1.08); } }
@keyframes orbit { to { transform: rotate(360deg); } }
@keyframes lobbyHoloFloat { 50% { transform: translateY(-7px) scale(1.003); } }
@keyframes lobbyFlicker { 0%,100% { opacity: 1; } 27% { opacity: .86; } 28% { opacity: 1; } 63% { opacity: .92; } 64% { opacity: 1; } }
@keyframes lobbySweep { from { transform: translateY(-30%); opacity: 0; } 15% { opacity: 1; } to { transform: translateY(760%); opacity: 0; } }
@keyframes projectorBlink { 0%,72%,100% { opacity: .45; } 73% { opacity: 1; } 75% { opacity: .2; } 77% { opacity: .8; } }
@keyframes lobbyWave { to { transform: scaleY(1.25); } }
@keyframes dataBlink { 0%,85%,100% { opacity: .45; } 86% { opacity: 1; } 88% { opacity: .1; } }
@keyframes lobbyPowerDown { 0% { opacity: 1; filter: none; } 55% { opacity: .8; filter: contrast(1.3); } 68% { opacity: .25; filter: contrast(1.8) brightness(1.4); } 100% { opacity: 0; filter: brightness(0); } }
@keyframes lobbyImageShutdown { 0% { transform: none; } 25% { transform: translateX(3px) skewX(.5deg); } 32% { transform: translateX(-8px); } 49% { transform: translateX(12px) scaleY(.985); } 70% { transform: translateX(-4px) scaleY(.96); } 100% { transform: scaleY(.01); opacity: 0; } }

@media (max-width: 980px) {
    .lobby-layout {
        grid-template-columns: 1fr;
        padding: 7vh 4vw 3vh;
        overflow: auto;
    }
    .lobby-holo-zone { height: 53vh; }
    .lobby-console { width: min(720px,94vw); margin: 0 auto 4vh; }
    #lobby-group-image { max-height: 47vh; }
    .lobby-member-strip { bottom: -8px; }
    .lobby-header { font-size: 8px; }
}


/* V4.3 — HEAL manual transition */
.lobby-critical-recovery {
    width: 100%;
    margin-top: 16px;
    padding: 14px 16px;
    border: 1px solid color-mix(in srgb, var(--member-accent) 70%, #ffffff);
    background: rgba(5, 8, 14, .82);
    color: #fff;
    font: 700 11px/1.2 Consolas, "Courier New", monospace;
    letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 0 18px color-mix(in srgb, var(--member-accent) 24%, transparent);
    text-shadow: 0 0 9px color-mix(in srgb, var(--member-accent) 65%, #fff);
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.lobby-critical-recovery:hover {
    transform: translateY(-1px);
    box-shadow: 0 0 28px color-mix(in srgb, var(--member-accent) 38%, transparent);
}
.lobby-critical-recovery:disabled { opacity: .62; cursor: default; transform: none; }
.lobby-critical-recovery[hidden] { display: none !important; }


/* =========================================================
   V4.4 — MEMBER AUDIO CAROUSEL + HEAL RESTORED REVEAL
========================================================= */
.lobby-audio-actions {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: stretch;
}
#lobby-next-member,
#lobby-origin-log {
    border: 1px solid color-mix(in srgb,var(--member-accent) 42%,#64ddff);
    background: rgba(4,8,16,.82);
    color: #c8eff8;
    padding: 10px 12px;
    cursor: pointer;
    font: 8px/1 Consolas, "Courier New", monospace;
    letter-spacing: .16em;
    transition: border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
#lobby-next-member { width: 100%; }
#lobby-origin-log {
    color: #8e778f;
    border-color: rgba(188,93,255,.22);
    white-space: nowrap;
}
#lobby-next-member:hover,
#lobby-origin-log:hover {
    color: #fff;
    border-color: color-mix(in srgb,var(--member-accent) 72%,#7cf2ff);
    box-shadow: 0 0 20px color-mix(in srgb,var(--member-accent) 15%,transparent);
}
#lobby-origin-log[hidden] { display: none !important; }

.heal-strip-node { display: none !important; }
.heal-strip-node.heal-visible { display: inline-block !important; }

.lobby-heal-banner {
    position: absolute;
    z-index: 12;
    left: 50%;
    top: 7%;
    transform: translate(-50%,-8px);
    display: grid;
    justify-items: center;
    gap: 5px;
    opacity: 0;
    pointer-events: none;
    text-align: center;
}
.lobby-heal-banner strong {
    color: #fff;
    font: 800 clamp(44px,7vw,104px)/.84 Consolas, "Courier New", monospace;
    letter-spacing: .08em;
    text-shadow: 0 0 8px #c04fff, 0 0 28px rgba(94,222,255,.45), 0 0 54px rgba(205,69,255,.22);
}
.lobby-heal-banner span {
    color: #e6f9ff;
    font: 700 clamp(10px,1.3vw,18px)/1.2 Consolas, "Courier New", monospace;
    letter-spacing: .32em;
    text-shadow: 0 0 10px rgba(117,230,255,.55);
}
.heal-restored .lobby-heal-banner[aria-hidden="false"] {
    animation: healWelcomeIn 1.25s 380ms ease forwards;
}

/* Foto restaurada: la misma imagen aprobada, solo algo más visible. */
.heal-restored #lobby-group-image {
    opacity: calc(.78 + (var(--audio-level) * .08));
    filter:
        brightness(calc(.98 + (var(--audio-bass) * .14)))
        contrast(calc(1.12 + (var(--audio-mid) * .08)))
        saturate(calc(.94 + (var(--audio-high) * .14)))
        drop-shadow(0 0 calc(14px + (var(--audio-level) * 16px)) rgba(86,225,255,.36));
}
.heal-restored .lobby-rgb-ghost { opacity: calc(.035 + (var(--audio-peak) * .10)); }

.lobby-critical-recovery.critical-visible {
    animation: criticalButtonIn .65s ease both;
}

@keyframes healWelcomeIn {
    from { opacity: 0; transform: translate(-50%,-15px) scale(.96); filter: blur(8px); }
    to { opacity: 1; transform: translate(-50%,0) scale(1); filter: blur(0); }
}
@keyframes criticalButtonIn {
    from { opacity: 0; transform: translateY(8px); filter: blur(4px); }
    to { opacity: 1; transform: none; filter: none; }
}

@media (max-width: 700px) {
    .lobby-audio-actions { grid-template-columns: 1fr; }
    #lobby-origin-log { white-space: normal; }
    .lobby-heal-banner { top: 5%; }
}


/* =========================================================
   FINAL POLISH — HEAL RESTORE PACING
   Evita que holograma + panel + audio aparezcan todos encima.
========================================================= */
.lobby-heal-boot {
    position: absolute;
    z-index: 18;
    left: 50%;
    top: 50%;
    width: min(620px, 82vw);
    padding: 24px 28px;
    transform: translate(-50%, -50%);
    display: grid;
    justify-items: center;
    gap: 12px;
    text-align: center;
    background: rgba(0, 0, 0, .78);
    border: 1px solid rgba(111, 230, 255, .18);
    box-shadow: 0 0 34px rgba(111, 230, 255, .06), inset 0 0 26px rgba(188, 78, 255, .04);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .65s ease, visibility .65s ease;
}
.lobby-heal-boot[aria-hidden="false"] {
    opacity: 1;
    visibility: visible;
}
.lobby-heal-boot-kicker {
    color: #6fe6ff;
    font: 8px/1 Consolas, "Courier New", monospace;
    letter-spacing: .28em;
}
.lobby-heal-boot-title {
    color: #fff;
    font: 800 clamp(20px, 3vw, 38px)/1 Consolas, "Courier New", monospace;
    letter-spacing: .10em;
    text-shadow: 0 0 10px rgba(255,255,255,.8), 0 0 28px rgba(255,71,95,.28);
}
.lobby-heal-boot-status {
    min-height: 1.5em;
    color: #8daab5;
    font: 9px/1.6 Consolas, "Courier New", monospace;
    letter-spacing: .16em;
}
.lobby-heal-boot-line {
    position: relative;
    width: min(420px, 68vw);
    height: 2px;
    overflow: hidden;
    background: rgba(91, 226, 255, .10);
}
.lobby-heal-boot-line i {
    position: absolute;
    inset: 0 auto 0 0;
    width: 34%;
    background: linear-gradient(90deg, transparent, #70e8ff, #c15cff, transparent);
    box-shadow: 0 0 14px rgba(112,232,255,.5);
    animation: healBootScan 1.35s linear infinite;
}

.heal-restored.heal-sequencing .lobby-holo-zone {
    opacity: .05;
    transform: translateY(12px) scale(.985);
    filter: blur(7px) brightness(.45);
    transition: opacity 1.15s ease, transform 1.15s ease, filter 1.15s ease;
}
.heal-restored.heal-sequencing.heal-holo-ready .lobby-holo-zone {
    opacity: 1;
    transform: none;
    filter: none;
}
.heal-restored.heal-sequencing .lobby-console {
    opacity: 0;
    transform: translateX(18px);
    filter: blur(7px);
    pointer-events: none;
    transition: opacity 1.05s ease, transform 1.05s ease, filter 1.05s ease;
}
.heal-restored.heal-sequencing.heal-profile-ready .lobby-console {
    opacity: 1;
    transform: none;
    filter: none;
}

@keyframes healBootScan {
    from { transform: translateX(-115%); }
    to { transform: translateX(390%); }
}
