.gaa-wrap{
  --gaa-primary:#ff3b6b;
  --gaa-secondary:#ff8a00;
  --gaa-bg:#090006;
  position:relative;
  overflow:hidden;
  border-radius:32px;
  background:
    radial-gradient(circle at 50% 16%, rgba(255,138,0,.18), transparent 28%),
    radial-gradient(circle at 50% 42%, rgba(255,59,107,.12), transparent 42%),
    linear-gradient(180deg, #18010d 0%, var(--gaa-bg) 100%);
  color:#fff;
  padding:26px;
  min-height:920px;
  box-shadow:0 24px 90px rgba(0,0,0,.48);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.gaa-wrap *{box-sizing:border-box}
.gaa-intro{position:relative;z-index:4;text-align:center;max-width:900px;margin:auto}
.gaa-badge{
  display:inline-flex;padding:8px 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;
  background:rgba(255,255,255,.08);backdrop-filter:blur(10px);font-size:14px;font-weight:800;color:#fff;
}
.gaa-intro h1{
  margin:18px 0 10px;font-size:clamp(30px,5vw,58px);line-height:1.02;font-weight:950;
  color:#fff;text-shadow:0 0 24px rgba(255,59,107,.48);
}
.gaa-intro p{font-size:clamp(16px,2.2vw,21px);opacity:.95;margin:0 auto 16px;max-width:760px;color:#fff}
.gaa-tip{margin-top:10px!important;font-size:14px!important;opacity:.82!important;color:#fff!important}
.gaa-form{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.gaa-name{
  width:min(100%,410px);height:56px;border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:0 18px;
  background:rgba(255,255,255,.96);font-size:17px;color:#1b0710;outline:none;
}
.gaa-create,.gaa-copy,.gaa-reset,.gaa-whatsapp{
  border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:15px 20px;font-weight:850;font-size:16px;
  cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:54px;
  transition:transform .2s ease, filter .2s ease, box-shadow .2s ease;
  color:#fff;background:linear-gradient(180deg, #231d2d 0%, #121019 100%);
  box-shadow:0 12px 32px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.06);
}
.gaa-create:hover,.gaa-copy:hover,.gaa-reset:hover,.gaa-whatsapp:hover{transform:translateY(-2px);filter:brightness(1.08)}

.gaa-stage{
  position:relative;z-index:2;height:660px;margin:22px auto 12px;border-radius:30px;overflow:hidden;
  border:1px solid rgba(255,255,255,.08);background:#050006;box-shadow:inset 0 0 90px rgba(255,255,255,.04),0 22px 60px rgba(0,0,0,.38);
  touch-action:none;cursor:grab;
}
.gaa-stage.is-dragging{cursor:grabbing}
.gaa-stars,.gaa-nebula,.gaa-scene,.gaa-labels,.gaa-bursts{position:absolute;inset:0}
.gaa-stars{
  background:
    radial-gradient(circle, rgba(255,255,255,.92) 0 1px, transparent 1.7px),
    radial-gradient(circle, rgba(255,170,110,.82) 0 1px, transparent 2px),
    radial-gradient(circle, rgba(255,255,255,.45) 0 1px, transparent 2px);
  background-size:58px 58px, 93px 93px, 140px 140px;
  opacity:.32; animation:gaaStars 18s linear infinite;
}
.gaa-nebula{
  background:
    radial-gradient(circle at center, rgba(255,145,45,.24), transparent 22%),
    radial-gradient(circle at center, rgba(255,59,107,.18), transparent 44%),
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.06), transparent 58%);
}
.gaa-scene{perspective:1100px; transform-style:preserve-3d}
.gaa-sphere-shell{
  position:absolute; left:50%; top:49%; transform:translate(-50%,-50%);
  border-radius:50%; border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 0 1px rgba(255,255,255,.02), inset 0 0 30px rgba(255,255,255,.03), 0 0 50px rgba(255,76,102,.08);
  z-index:2; pointer-events:none;
}
.gaa-labels{pointer-events:none}
.gaa-labels-back{z-index:4}
.gaa-labels-front{z-index:8}
.gaa-label{position:absolute; left:0; top:0; white-space:nowrap; will-change:transform,opacity; pointer-events:none}
.gaa-label b{
  display:inline-block; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16); box-shadow:0 0 18px rgba(255,70,110,.32); text-shadow:0 0 10px rgba(255,255,255,.84);
  backdrop-filter:blur(7px); font-size:14px; font-weight:800; color:#fff;
}
.gaa-label-back b{background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.08); opacity:.82}
.gaa-label-front b{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.18); box-shadow:0 0 22px rgba(255,90,130,.38)}

.gaa-planet-wrap{position:absolute; left:50%; top:49%; transform:translate(-50%,-50%); z-index:6; pointer-events:none}
.gaa-planet-glow{
  position:absolute; left:50%; top:50%; width:min(68vw,420px); height:min(68vw,420px); transform:translate(-50%,-50%);
  border-radius:50%; background:radial-gradient(circle, rgba(255,170,90,.28), rgba(255,59,107,.16) 42%, rgba(255,59,107,0) 72%);
  filter:blur(20px);
}
.gaa-planet{
  --lx:34%; --ly:28%; --sx:72%; --sy:68%; --p-rotate:0deg;
  position:relative; width:min(54vw,320px); height:min(54vw,320px); border-radius:50%; display:flex; align-items:center; justify-content:center;
  transform:rotate(var(--p-rotate));
  background:
    radial-gradient(circle at var(--lx) var(--ly), #ffe6bf 0 7%, var(--gaa-secondary) 18%, var(--gaa-primary) 46%, #17000e 82%),
    radial-gradient(circle at var(--sx) var(--sy), rgba(0,0,0,.48), rgba(0,0,0,0) 44%);
  box-shadow:
    0 0 58px rgba(255,80,90,.88),
    0 0 160px rgba(255,120,0,.28),
    inset -46px -42px 80px rgba(0,0,0,.52),
    inset 28px 22px 65px rgba(255,255,255,.16);
}
.gaa-planet::before{
  content:""; position:absolute; inset:10%; border-radius:50%;
  background:
    radial-gradient(circle at 34% 30%, rgba(255,255,255,.52), rgba(255,255,255,0) 28%),
    repeating-radial-gradient(circle at 45% 50%, rgba(255,255,255,.03) 0 9px, rgba(0,0,0,.03) 9px 18px);
  mix-blend-mode:screen; opacity:.72;
}
.gaa-planet::after{
  content:""; position:absolute; inset:-14px; border-radius:50%; border:2px solid rgba(255,255,255,.08);
  box-shadow:0 0 26px rgba(255,138,0,.16), inset 0 0 22px rgba(255,255,255,.05);
}
.gaa-planet-shine{
  position:absolute; inset:0; border-radius:50%;
  background:linear-gradient(140deg, rgba(255,255,255,.10), rgba(255,255,255,0) 26%, rgba(0,0,0,0) 70%, rgba(0,0,0,.12));
}
.gaa-planet-core{position:relative; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; max-width:74%; padding:10px 14px}
.gaa-target-name{display:block; font-size:clamp(28px,4.6vw,44px); line-height:1.04; font-weight:950; text-shadow:0 0 18px rgba(255,255,255,.38), 0 0 28px rgba(255,59,107,.45); word-break:break-word; color:#fff}
.gaa-planet-core small{display:block; margin-top:8px; font-size:13px; opacity:.84; text-shadow:0 0 12px rgba(0,0,0,.35); color:#fff}

.gaa-bursts{pointer-events:none; z-index:12}
.gaa-pop{position:absolute; font-style:normal; transform:translate(-50%,-50%); filter:drop-shadow(0 0 12px rgba(255,255,255,.8)); animation:gaaPop 1.5s cubic-bezier(.15,.7,.18,1) forwards}

.gaa-actions{position:relative; z-index:4; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:14px}
.gaa-status{text-align:center; min-height:22px; margin:14px 0 0; color:#fff; font-weight:750}

@keyframes gaaStars{to{transform:translate3d(80px,80px,0)}}
@keyframes gaaPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0deg)}10%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.4) rotate(var(--rot))}}

@media (max-width: 780px){
  .gaa-wrap{padding:18px; min-height:960px}
  .gaa-stage{height:620px}
}
@media (max-width: 640px){
  .gaa-wrap{border-radius:0; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:18px 14px 24px; min-height:960px}
  .gaa-stage{height:585px; border-radius:26px}
  .gaa-actions > *{width:100%}
  .gaa-name,.gaa-create{width:100%}
  .gaa-planet{width:min(70vw,300px); height:min(70vw,300px)}
  .gaa-label b{font-size:13px; padding:5px 10px}
}
