/* Shared glass light: decoration only; dimensions, text and controls stay intact. */
:root { --glass-cursor-x:50vw; --glass-cursor-y:20vh; --glass-fractal:none; --glass-shift-x:0px; --glass-shift-y:0px; }
.glass-cursor-light { position:fixed; inset:0; z-index:80; pointer-events:none; user-select:none; background:radial-gradient(ellipse 540px 420px at var(--glass-cursor-x) var(--glass-cursor-y),color-mix(in srgb,var(--gold,var(--accent,#c4a2ff)) 7%,transparent),transparent 70%); }
.glass-reactive { --glass-pane-x:50%; --glass-pane-y:0px; --glass-offset:0px;
  background-image:radial-gradient(ellipse 430px 290px at var(--glass-pane-x) var(--glass-pane-y),color-mix(in srgb,var(--gold,var(--accent,#c4a2ff)) 3%,transparent),transparent 76%),var(--glass-fractal),var(--glass-original-background,none);
  background-size:auto,720px 504px,auto; background-repeat:no-repeat,repeat,no-repeat;
  background-position:0 0,calc(var(--glass-shift-x) + var(--glass-offset)) var(--glass-shift-y),0 0;
  outline:1px solid color-mix(in srgb,var(--gold,var(--accent,#c4a2ff)) 20%,transparent); outline-offset:-4px;
}
/* Glass surfaces: a canvas of leaded panes behind the element's own content.
   The element becomes a stacking context so the canvas sits above its
   background and below its text; the script gives static elements a position. */
.glass-surface { isolation:isolate; }
.glass-pane-canvas { position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; user-select:none; border-radius:inherit; }
/* The hero keeps a clear reading surface: the glass is strong at its edges and
   only a breath of it lies behind the wordmark. */
.home-hero > .glass-pane-canvas { inset:auto; -webkit-mask-image:linear-gradient(90deg,#000 0,#000 13%,rgba(0,0,0,.18) 27%,rgba(0,0,0,.18) 73%,#000 87%,#000 100%); mask-image:linear-gradient(90deg,#000 0,#000 13%,rgba(0,0,0,.18) 27%,rgba(0,0,0,.18) 73%,#000 87%,#000 100%); }
.cta.glass-surface, .devad-support__launcher.glass-surface { overflow:hidden; }
.cta.glass-surface { text-shadow:0 1px 0 #ffffff59; }
@media (prefers-reduced-motion:reduce),(pointer:coarse) { .glass-cursor-light { display:none; } .glass-reactive { --glass-shift-x:0px; --glass-shift-y:0px; } }
@media (prefers-contrast:more),(forced-colors:active) { .glass-cursor-light, .glass-pane-canvas { display:none; } .glass-reactive { background-image:var(--glass-original-background,none); outline:none; } }

/* The window: the page's own background. The script adds the class; without it the page keeps its solid ground. */
html.glass-window-on { background:var(--surface-0,#0d0914); }
html.glass-window-on body { background:transparent; }
/* The window carries the pointer's light behind the page; a second one laid OVER the text washed the theme out. */
html.glass-window-on .glass-cursor-light { display:none; }
html.glass-window-on .hero-glass-edge, html.glass-window-on .hero-glass-light { visibility:hidden; }
html.glass-window-on .home .home-intro { background:radial-gradient(closest-side, color-mix(in srgb, var(--surface-0,#0d0914) 78%, transparent), color-mix(in srgb, var(--surface-0,#0d0914) 52%, transparent) 70%, transparent); border-radius:28px; padding:18px 12px 22px; }
.glass-window { position:fixed; inset:0; width:100vw; height:100vh; z-index:-1; pointer-events:none; user-select:none; }
@media (prefers-contrast:more),(forced-colors:active) { .glass-window { display:none; } html.glass-window-on body { background:var(--surface-0,#0d0914); } }
