
/* VEXMIRA v2.5.9 — V78 viewport/modal/sentinel stability */
:root{--vx78-header:76px;--vx78-overlay:2147483600}
html.vx78-ready{scroll-padding-top:calc(var(--vx78-header) + 12px)!important;background:#070817!important}
html.vx78-ready body{margin-top:0!important;background:radial-gradient(1050px 640px at 8% 4%,rgba(125,59,255,.13),transparent 66%),radial-gradient(900px 620px at 94% 20%,rgba(41,211,241,.08),transparent 67%),linear-gradient(180deg,#070817,#070817 54%,#060713)!important}

/* Desktop: remove the legacy reserved header strip. The topbar is in flow via sticky. */
@media(min-width:1025px){
 html.vx78-ready body{padding-top:0!important}
 html.vx78-ready .app,html.vx78-ready .main-col{padding-top:0!important;margin-top:0!important}
 html.vx78-ready #topbar{position:sticky!important;inset:auto!important;top:0!important;left:auto!important;right:auto!important;width:100%!important;height:var(--vx78-header)!important;min-height:var(--vx78-header)!important;margin:0!important;transform:none!important;translate:none!important;z-index:2147480000!important}
 html.vx78-ready #mainContent,html.vx78-ready main#mainContent{padding-top:0!important;margin-top:0!important}
 html.vx78-ready #page-home>.wrap:first-child,html.vx78-ready #page-home .vx65-hero{margin-top:0!important}
}

/* Authentication and every modal must sit above the navigation, never under it. */
html.vx78-ready .modal-veil{z-index:var(--vx78-overlay)!important;isolation:isolate!important}
html.vx78-ready .modal-veil.show{z-index:var(--vx78-overlay)!important}
html.vx78-ready #modal-auth.modal-veil{z-index:2147483620!important;inset:0!important;padding:12px!important;align-items:center!important;justify-content:center!important;background:radial-gradient(760px 480px at 50% 43%,rgba(111,48,226,.22),transparent 72%),rgba(2,4,12,.94)!important;backdrop-filter:blur(16px) saturate(1.08)!important;-webkit-backdrop-filter:blur(16px) saturate(1.08)!important}
html.vx78-ready #modal-auth .auth-modal{position:relative!important;z-index:2!important;margin:auto!important;max-height:calc(100dvh - 24px)!important}
html.vx78-auth-open #topbar{z-index:40!important;pointer-events:none!important}
html.vx78-auth-open .chat-fab,html.vx78-auth-open .vx-chat-fab,html.vx78-auth-open [class*="chat-fab"]{z-index:30!important;pointer-events:none!important}

/* Sentinel: no rectangular compositor/filter layer behind the head. */
html.vx78-ready .vx74-nexus-sentinel,
html.vx78-ready .vx74-auth-guardian .vx74-sentinel,
html.vx78-ready .vx74-nexus-sentinel .vx74-sentinel{
 background:transparent!important;
 box-shadow:none!important;
 filter:none!important;
 overflow:visible!important;
 contain:none!important;
 isolation:isolate!important;
}
html.vx78-ready .vx74-sentinel{background:transparent!important;filter:none!important;contain:none!important;overflow:visible!important;border-radius:54px!important;will-change:transform!important}
html.vx78-ready .vx74-sentinel::before{
 inset:3px 8px 9px!important;
 border-radius:42px 42px 50px 50px!important;
 clip-path:inset(0 round 42px 42px 50px 50px)!important;
 -webkit-clip-path:inset(0 round 42px 42px 50px 50px)!important;
 box-shadow:inset 0 1px rgba(255,255,255,.52),inset 0 -32px 42px rgba(4,6,20,.26),0 0 0 7px rgba(137,68,255,.075),0 22px 44px -25px rgba(0,0,0,.75),0 0 54px -12px rgba(127,70,255,.78)!important;
}
html.vx78-ready .vx74-sentinel::after{filter:blur(6px)!important;opacity:.52!important}
html.vx78-ready .vx74-sentinel-face{overflow:hidden!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.vx78-ready .vx74-eye{transform:translateZ(0)!important;backface-visibility:hidden!important}
html.vx78-ready .vx74-eye::after{transition:none!important;will-change:translate!important}
html.vx78-ready .vx74-sentinel-mouth{transition:none!important;will-change:transform!important;backface-visibility:hidden!important}

/* Make the NEXUS robot merge with its scene instead of looking pasted on. */
html.vx78-ready .vx74-nexus-center{overflow:visible!important}
html.vx78-ready .vx74-nexus-sentinel{border-radius:60px!important;mix-blend-mode:normal!important}
html.vx78-ready .vx74-nexus-sentinel::before,html.vx78-ready .vx74-nexus-sentinel::after{background:transparent!important;box-shadow:none!important}
html.vx78-ready .vx74-auth-guardian{overflow:visible!important}
html.vx78-ready #modal-auth .auth-aside{overflow:hidden!important}

/* Keep modal close control above its own artwork. */
html.vx78-ready #modal-auth .modal-x,html.vx78-ready .modal-veil .modal-x{z-index:8!important}

@media(max-width:1024px){
 html.vx78-ready #modal-auth.modal-veil{padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important}
 html.vx78-ready #modal-auth .auth-modal{max-height:calc(100dvh - 16px)!important}
}
@media(prefers-reduced-motion:reduce){html.vx78-ready .vx74-sentinel,html.vx78-ready .vx74-nexus-sentinel{will-change:auto!important}}
