/* Palette and atmosphere from MOVO Web; no page geometry is defined here. */
:root {
  --movo-bg: #000;
  --movo-panel: #000;
  --movo-control: #1e202b;
  --movo-line: #24242d;
  --movo-text-primary: #f4f2f7;
  --movo-text-secondary: #f4f2f7;
  --movo-text-muted: #8a8791;
  --movo-contrast-rgb: 244 242 247;
  --movo-canvas-rgb: 0 0 0;
  --movo-green-rgb: 52 181 142;
  --movo-blue-rgb: 57 124 221;
  --movo-glow-opacity: .6;
}
:root[data-theme="light"] {
  --movo-bg: #fff;
  --brand-cyan: #087a83;
  --brand-purple: #6d42be;
  --accent-green: #137e75;
  --movo-panel: #fff;
  --movo-control: #eeedf3;
  --movo-line: #e1dfe8;
  --movo-text-primary: #252231;
  --movo-text-secondary: #252231;
  --movo-text-muted: #777181;
  --movo-contrast-rgb: 37 34 49;
  --movo-canvas-rgb: 255 255 255;
  --movo-green-rgb: 28 184 132;
  --movo-blue-rgb: 46 119 232;
  --movo-glow-opacity: .82;
}
html[data-theme] {
  --bg-0: var(--movo-bg); --bg-1: var(--movo-bg); --bg-2: var(--movo-panel);
  --bg-card: var(--movo-panel); --bg-elevated: var(--movo-panel); --bg-code: var(--movo-panel);
  --text-1: var(--movo-text-primary); --text-2: var(--movo-text-secondary);
  --text-3: var(--movo-text-muted); --text-4: var(--movo-text-muted);
  --border: var(--movo-line); --border-2: var(--movo-line); --border-3: rgb(var(--movo-contrast-rgb) / .12);
  --ink: var(--movo-text-primary); --dark: var(--movo-bg); --panel: var(--movo-panel);
  --muted: var(--movo-text-secondary); --line: var(--movo-line);
  background: var(--movo-bg);
}
html[data-theme] body { background: var(--movo-bg); color: var(--movo-text-primary); isolation: isolate; }
.movo-atmosphere { position: fixed; inset: 0; z-index: -1; overflow: clip; pointer-events: none; opacity: var(--movo-glow-opacity); }
.movo-atmosphere::before, .movo-atmosphere::after {
  content: ''; position: absolute; left: 0; top: 0;
  width: min(74vw, 1000px); height: min(74vw, 1000px); border-radius: 50%;
  background: radial-gradient(circle, rgb(var(--movo-green-rgb) / .7) 0%, rgb(var(--movo-green-rgb) / .28) 30%, transparent 70%);
  animation: movo-green-drift 48s ease-in-out infinite alternate;
}
.movo-atmosphere::after {
  background: radial-gradient(circle, rgb(var(--movo-blue-rgb) / .7) 0%, rgb(var(--movo-blue-rgb) / .28) 30%, transparent 70%);
  animation: movo-blue-drift 56s ease-in-out -18s infinite alternate;
}
@keyframes movo-green-drift { 0% { transform: translate(4vw,4vh); } 35% { transform: translate(46vw,12vh); } 70% { transform: translate(34vw,48vh); } 100% { transform: translate(2vw,38vh); } }
@keyframes movo-blue-drift { 0% { transform: translate(54vw,46vh); } 35% { transform: translate(8vw,40vh); } 70% { transform: translate(20vw,0); } 100% { transform: translate(50vw,8vh); } }
@media (max-width: 639px) { .movo-atmosphere::before, .movo-atmosphere::after { width: 115vw; height: 115vw; } }
@media (prefers-reduced-motion: reduce) {
  .movo-atmosphere::before { animation: none; transform: translate(4vw,8vh); }
  .movo-atmosphere::after { animation: none; transform: translate(50vw,45vh); }
}
