/* ONIX VISUAL ENGINE v2.0 — fondo premium corregido */
:root{
  --ove-pointer-x:50vw;
  --ove-pointer-y:38vh;
  --ove-logo-x:0px;
  --ove-logo-y:0px;
  --ove-scroll:0px;
}
html{background:#000}
body.onix-visual-engine{
  background:#000!important;
  color-scheme:dark;
  isolation:isolate;
}
/* El contenido siempre queda por encima del motor visual */
body.onix-visual-engine > *:not(.ove-stage){position:relative;z-index:2}
body.onix-visual-engine > .intro-screen{z-index:10000}
body.onix-visual-engine > .public-header{z-index:200}
body.onix-visual-engine > .notifications-panel,
body.onix-visual-engine > .assistant-panel,
body.onix-visual-engine > dialog,
body.onix-visual-engine > [class*="modal"]{z-index:1000}

.ove-stage{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  background:
    radial-gradient(720px 480px at 48% 20%,rgba(105,116,132,.095),transparent 68%),
    radial-gradient(680px 520px at 88% 78%,rgba(70,84,104,.07),transparent 70%),
    linear-gradient(155deg,#000 0%,#030405 45%,#07080a 74%,#010101 100%);
}
/* Marca de agua: pequeña, oscura y secundaria */
.ove-watermark{
  position:absolute;
  left:50%;
  top:49%;
  width:clamp(220px,27vw,430px);
  aspect-ratio:1;
  opacity:.035;
  background:url("../assets/backgrounds/onix-symbol-watermark.png") center/contain no-repeat;
  filter:blur(1.8px) brightness(.5) drop-shadow(0 0 44px rgba(255,255,255,.035));
  transform:translate3d(calc(-50% + var(--ove-logo-x)),calc(-50% + var(--ove-logo-y) + var(--ove-scroll)),0);
  animation:ove-breathe 12s ease-in-out infinite;
  will-change:transform,opacity;
}
body.dashboard-body .ove-watermark{
  left:76%;
  top:55%;
  width:clamp(180px,22vw,330px);
  opacity:.025;
  filter:blur(2.4px) brightness(.42) drop-shadow(0 0 38px rgba(255,255,255,.025));
}
/* Luz del mouse visible pero elegante */
.ove-pointer-light{
  position:absolute;
  inset:0;
  background:radial-gradient(330px circle at var(--ove-pointer-x) var(--ove-pointer-y),rgba(210,225,245,.095),rgba(170,194,225,.032) 36%,transparent 72%);
  opacity:.95;
  mix-blend-mode:screen;
  transition:opacity .25s ease;
}
body.dashboard-body .ove-pointer-light{
  background:radial-gradient(290px circle at var(--ove-pointer-x) var(--ove-pointer-y),rgba(205,222,245,.08),rgba(148,179,218,.026) 38%,transparent 74%);
}
.ove-vignette{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 0 70%,rgba(0,0,0,.55)),radial-gradient(circle at center,transparent 35%,rgba(0,0,0,.22) 100%);
}
.ove-noise{
  position:absolute;inset:-35%;opacity:.027;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  animation:ove-noise .9s steps(2) infinite;
}
.ove-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
.ove-waves{position:absolute;inset:0;width:100%;height:100%;opacity:0}
body.dashboard-body .ove-waves{opacity:.7}
.ove-orb{position:absolute;border:1px solid rgba(255,255,255,.065);border-radius:999px;background:rgba(255,255,255,.01);box-shadow:inset 0 0 22px rgba(255,255,255,.018),0 0 30px rgba(255,255,255,.018)}
.ove-orb-a{width:112px;height:112px;left:7%;top:70%;animation:ove-float-a 12s ease-in-out infinite}
.ove-orb-b{width:54px;height:54px;right:11%;top:18%;animation:ove-float-b 10s ease-in-out infinite}
.ove-orb-c{width:25px;height:25px;right:27%;bottom:12%;animation:ove-float-a 8s ease-in-out -3s infinite}
body.dashboard-body .ove-orb{opacity:.28}

/* Glass sin tocar dimensiones ni estructura */
body.onix-visual-engine :is(.public-card,.service-card,.plan-card,.dashboard-card,.dashboard-panel,.premium-card,.profile-card,.assistant-card,.preview-shell,.diagnostic-card){
  backdrop-filter:blur(18px) saturate(112%);
  -webkit-backdrop-filter:blur(18px) saturate(112%);
}
body.onix-visual-engine :is(button,.btn,.enter-btn,a[class*="button"],a[class*="btn"],.dashboard-card,.service-card,.plan-card){
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease;
}
body.onix-visual-engine :is(button,.btn,.enter-btn,a[class*="button"],a[class*="btn"]):hover{transform:translateY(-1px)}

/* Desactiva el fondo antiguo del dashboard para evitar duplicados */
body.dashboard-body .onix-ambient-canvas,
body.dashboard-body .onix-ambient-vignette{display:none!important}

@keyframes ove-breathe{
  0%,100%{opacity:.72;transform:translate3d(calc(-50% + var(--ove-logo-x)),calc(-50% + var(--ove-logo-y) + var(--ove-scroll)),0) scale(.98)}
  50%{opacity:1;transform:translate3d(calc(-50% + var(--ove-logo-x)),calc(-50% + var(--ove-logo-y) + var(--ove-scroll)),0) scale(1.025)}
}
@keyframes ove-float-a{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(30px,-62px,0)}}
@keyframes ove-float-b{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-36px,48px,0)}}
@keyframes ove-noise{0%{transform:translate(0,0)}25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}100%{transform:translate(0,0)}}

@media(max-width:760px){
  .ove-watermark{width:clamp(190px,58vw,285px);opacity:.028;top:42%}
  body.dashboard-body .ove-watermark{left:66%;top:38%;width:clamp(160px,48vw,240px);opacity:.02}
  .ove-pointer-light{background:radial-gradient(230px circle at var(--ove-pointer-x) var(--ove-pointer-y),rgba(210,225,245,.07),transparent 72%)}
  .ove-orb-a{width:82px;height:82px}.ove-orb-b{width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){
  .ove-watermark,.ove-noise,.ove-orb{animation:none!important}
  .ove-canvas,.ove-waves{display:none}
}
body[data-visual-effects="off"] .ove-canvas,
body[data-visual-effects="off"] .ove-waves,
body[data-visual-effects="off"] .ove-orb,
body[data-visual-effects="off"] .ove-noise,
body[data-visual-effects="off"] .ove-pointer-light{display:none}
