/* LUXVIS GAME CENTER – Startanimation (einmal pro Sitzung, überspringbar, entfällt bei reduzierter Bewegung) */
@property --gs-r{syntax:'<length>';inherits:false;initial-value:0px}
html.gc-intro-an body{overflow:hidden}
html.gc-intro-an .gc *,html.gc-intro-an .gc{animation-play-state:paused!important}
html.gc-intro-an::after{content:"";position:fixed;inset:0;z-index:9998;background:#000;animation:gs-notaus .5s 5s forwards}
html.gc-intro-bereit::after{display:none}
@keyframes gs-notaus{to{opacity:0;visibility:hidden}}

#gc-start{position:fixed;inset:0;z-index:9999;background:#000;overflow:hidden;cursor:pointer;
  -webkit-mask:radial-gradient(circle at 50% 46%,transparent var(--gs-r),#000 calc(var(--gs-r) + 2px));
          mask:radial-gradient(circle at 50% 46%,transparent var(--gs-r),#000 calc(var(--gs-r) + 2px));
  font-family:'Space Grotesk','Segoe UI',system-ui,sans-serif;color:#f3efe4;user-select:none;-webkit-user-select:none}
#gc-start canvas{position:absolute;inset:0;width:100%;height:100%}
#gc-start.gs-auf{transition:--gs-r .85s cubic-bezier(.7,0,.2,1);--gs-r:150vmax}
#gc-start.gs-auf .gs-buehne{transition:transform .85s cubic-bezier(.7,0,.2,1),opacity .6s;transform:scale(1.8);opacity:0}
.gs-buehne{position:absolute;left:0;right:0;top:46%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:clamp(6px,1.4vh,14px);pointer-events:none}
.gs-buehne.gs-wackeln{animation:gs-wackeln .42s linear}
@keyframes gs-wackeln{0%,100%{translate:0 0}10%{translate:-9px 5px}20%{translate:8px -6px}30%{translate:-7px -4px}40%{translate:6px 6px}55%{translate:-4px 2px}70%{translate:3px -3px}85%{translate:-1px 1px}}

.gs-logo{width:clamp(64px,11vw,120px);height:auto;opacity:0;filter:drop-shadow(0 0 30px rgba(240,216,121,.7))}
.gs-logo.an{animation:gs-logo .55s cubic-bezier(.2,1.6,.4,1) forwards}
@keyframes gs-logo{0%{opacity:0;transform:scale(3.4) rotate(-25deg);filter:blur(14px) drop-shadow(0 0 60px #fff)}60%{opacity:1}100%{opacity:1;transform:none;filter:blur(0) drop-shadow(0 0 30px rgba(240,216,121,.7))}}

.gs-marke{display:flex;font-size:clamp(3.6rem,15vw,10rem);line-height:1;letter-spacing:.06em;margin-right:-.06em}
.gs-marke span{display:inline-block;opacity:0;color:#f0d879;
  background:linear-gradient(160deg,#fff6cf 0%,#f0d879 35%,#d4af37 65%,#8a6d1a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.gs-marke span.b{font-weight:700}.gs-marke span.l{font-weight:300}
.gs-marke span.an{animation:gs-slam .5s cubic-bezier(.2,1.5,.35,1) forwards}
@keyframes gs-slam{0%{opacity:0;transform:scale(3.2) translateY(-30%);filter:blur(10px) drop-shadow(-12px 0 0 rgba(255,40,90,.9)) drop-shadow(12px 0 0 rgba(40,220,255,.9))}
  55%{opacity:1;filter:blur(0) drop-shadow(-5px 0 0 rgba(255,40,90,.8)) drop-shadow(5px 0 0 rgba(40,220,255,.8))}
  100%{opacity:1;transform:none;filter:drop-shadow(0 0 18px rgba(240,216,121,.45))}}

.gs-unter{display:flex;font-size:clamp(.95rem,3vw,1.7rem);font-weight:500;letter-spacing:.62em;margin-right:-.62em;text-transform:uppercase}
.gs-unter span{display:inline-block;opacity:0;white-space:pre}
.gs-unter span.an{animation:gs-neon .6s steps(1) forwards}
@keyframes gs-neon{0%{opacity:.9;text-shadow:0 0 12px #46d4ff}10%{opacity:0}22%{opacity:1}30%{opacity:.2}42%,100%{opacity:1;text-shadow:0 0 14px rgba(70,212,255,.8),0 0 2px #fff}}

.gs-ring{position:absolute;left:50%;top:50%;width:0;height:0}
.gs-ring img{position:absolute;width:clamp(44px,7vmin,78px);height:auto;aspect-ratio:1;border-radius:24%;margin:calc(clamp(44px,7vmin,78px) / -2) 0 0 calc(clamp(44px,7vmin,78px) / -2);
  box-shadow:0 0 0 1px rgba(240,216,121,.35),0 8px 30px rgba(0,0,0,.6),0 0 24px rgba(212,175,55,.35);opacity:0;will-change:transform,opacity}

.gs-blitz{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,#fff 0%,rgba(255,236,170,.85) 22%,rgba(212,175,55,0) 60%);opacity:0;pointer-events:none;mix-blend-mode:screen}
.gs-blitz.an{animation:gs-blitz .5s ease-out}
@keyframes gs-blitz{0%{opacity:.95}100%{opacity:0}}
.gs-scan{position:absolute;left:0;right:0;height:2px;top:-4px;background:linear-gradient(90deg,transparent,#f0d879 30%,#fff 50%,#46d4ff 70%,transparent);box-shadow:0 0 18px #f0d879;animation:gs-scan .8s .05s cubic-bezier(.6,0,.3,1) forwards}
@keyframes gs-scan{to{top:calc(100% + 4px)}}

.gs-weiter{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));font:500 12px/1 'Space Grotesk',system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(243,239,228,.6);background:rgba(255,255,255,.04);border:1px solid rgba(240,216,121,.25);border-radius:999px;padding:10px 16px;cursor:pointer}
.gs-weiter:hover,.gs-weiter:focus-visible{color:#f0d879;border-color:#f0d879;outline:none}
