/* GoToGym “Quantum G” — a shared, organic luxury canvas. */
:root {
  --gtg-quantum-black: #050403;
  --gtg-quantum-deep: #120d05;
  --gtg-quantum-gold: #d4b46a;
  --gtg-quantum-champagne: #ffe6a4;
  --gtg-orbit-line: rgba(240, 208, 135, 0.16);
}

html {
  min-height: 100%;
  background:
    radial-gradient(ellipse at 72% 35%, rgba(212, 180, 106, 0.14), transparent 38%),
    radial-gradient(ellipse at 8% 88%, rgba(143, 107, 45, 0.08), transparent 32%),
    linear-gradient(145deg, var(--gtg-quantum-black), var(--gtg-quantum-deep) 52%, var(--gtg-quantum-black));
  background-attachment: fixed;
}

html body {
  min-height: 100vh;
  min-height: 100dvh;
  background: transparent !important;
  isolation: isolate;
  --gtg-orbit-x: 62%;
  --gtg-orbit-y: 44%;
  --gtg-orbit-size: min(76vw, 820px);
  --gtg-orbit-opacity: 0.82;
}

.gtg-quantum-canvas {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
  opacity: 1;
  transition: opacity 900ms ease;
}

body.gtg-quantum-focus .gtg-quantum-canvas { opacity: 0.52; }

.gtg-quantum-nebula {
  position: absolute;
  width: var(--gtg-orbit-size);
  aspect-ratio: 1;
  left: var(--gtg-orbit-x);
  top: var(--gtg-orbit-y);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 180, 106, 0.13), rgba(143, 107, 45, 0.035) 42%, transparent 70%);
  filter: blur(18px);
  animation: gtg-nebula-breathe 19s ease-in-out infinite alternate;
}

.gtg-quantum-orbits {
  position: absolute;
  width: var(--gtg-orbit-size);
  aspect-ratio: 1;
  left: var(--gtg-orbit-x);
  top: var(--gtg-orbit-y);
  overflow: visible;
  filter: drop-shadow(0 0 7px rgba(212, 180, 106, 0.14));
  opacity: var(--gtg-orbit-opacity);
  transform-origin: center;
  animation: gtg-orbit-float 24s ease-in-out infinite alternate;
}

.gtg-orbit {
  fill: none;
  stroke: var(--gtg-orbit-line);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.gtg-orbit--g {
  stroke: rgba(240, 208, 135, 0.24);
  stroke-width: 1.25;
  stroke-linecap: round;
  stroke-dasharray: 690 150;
}

.gtg-orbit--inner {
  stroke-dasharray: 4 16;
  opacity: 0.55;
}

.gtg-g-stem {
  stroke: rgba(240, 208, 135, 0.18);
  stroke-width: 1.2;
  stroke-linecap: round;
}

.gtg-quantum-electron {
  fill: var(--gtg-quantum-champagne);
  filter: drop-shadow(0 0 4px #ffe6a4) drop-shadow(0 0 11px rgba(212, 180, 106, 0.8));
}

.gtg-quantum-star {
  --star-size: 2px;
  --star-alpha: 0.5;
  --star-duration: 5s;
  --star-delay: 0s;
  position: absolute;
  left: var(--star-x);
  top: var(--star-y);
  width: var(--star-size);
  height: var(--star-size);
  border-radius: 50%;
  opacity: var(--star-alpha);
  background: var(--gtg-quantum-champagne);
  box-shadow: 0 0 5px rgba(255, 230, 164, 0.9), 0 0 12px rgba(212, 180, 106, 0.45);
  animation: gtg-star-pulse var(--star-duration) ease-in-out var(--star-delay) infinite alternate;
}

@keyframes gtg-orbit-float {
  from { transform: translate(-50%, -50%) rotate(-3deg); }
  to { transform: translate(-50%, -50%) rotate(4deg); }
}

@keyframes gtg-nebula-breathe {
  from { opacity: 0.58; transform: translate(-50%, -50%) scale(0.98); }
  to { opacity: 0.86; transform: translate(-50%, -50%) scale(1.02); }
}

@keyframes gtg-star-pulse {
  from { opacity: calc(var(--star-alpha) * 0.42); transform: translate3d(-3px, 5px, 0) scale(0.72); }
  to { opacity: var(--star-alpha); transform: translate3d(5px, -7px, 0) scale(1.25); }
}

body[data-theme="light"] {
  --gtg-quantum-black: #f8f9fa;
  --gtg-quantum-deep: #ece7dc;
  --gtg-orbit-line: rgba(143, 103, 27, 0.1);
}

/* The visual signature moves away from each screen's attention zone. */
body[data-quantum-layout="auth"] {
  --gtg-orbit-x: 58%;
  --gtg-orbit-y: 31%;
  --gtg-orbit-size: min(72vw, 720px);
  --gtg-orbit-opacity: 0.86;
}

body[data-quantum-layout="dashboard"] {
  --gtg-orbit-x: 76%;
  --gtg-orbit-y: 24%;
  --gtg-orbit-size: min(68vw, 760px);
  --gtg-orbit-opacity: 0.46;
}

body[data-quantum-layout="chat"] {
  --gtg-orbit-x: 18%;
  --gtg-orbit-y: 82%;
  --gtg-orbit-size: min(62vw, 680px);
  --gtg-orbit-opacity: 0.4;
}

body[data-quantum-layout="focus"] {
  --gtg-orbit-x: 78%;
  --gtg-orbit-y: 18%;
  --gtg-orbit-size: min(62vw, 660px);
  --gtg-orbit-opacity: 0.36;
}

body[data-quantum-layout="landing"] {
  --gtg-orbit-x: 68%;
  --gtg-orbit-y: 38%;
  --gtg-orbit-size: min(78vw, 860px);
  --gtg-orbit-opacity: 0.72;
}

@media (max-width: 768px) {
  html { background-attachment: scroll; }
  html body,
  body[data-quantum-layout="auth"],
  body[data-quantum-layout="landing"] {
    --gtg-orbit-x: 58%;
    --gtg-orbit-y: 34%;
    --gtg-orbit-size: 118vw;
  }
  body[data-quantum-layout="dashboard"],
  body[data-quantum-layout="focus"] {
    --gtg-orbit-x: 68%;
    --gtg-orbit-y: 22%;
    --gtg-orbit-size: 106vw;
  }
  body[data-quantum-layout="chat"] {
    --gtg-orbit-x: 24%;
    --gtg-orbit-y: 82%;
    --gtg-orbit-size: 104vw;
  }
  .gtg-quantum-star:nth-of-type(n + 10) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .gtg-quantum-canvas * { animation: none !important; }
}
