*{box-sizing:border-box}

body{
  margin:0;
  font-family:Poppins,Arial;
  color:#fff;
  text-align:center;
  overflow:hidden;
}

/* BACKGROUND */
.bg{
  position:fixed;
  inset:0;
  background:
    linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.95)),
    url("assets/background.jpg");
  background-size:cover;
  background-position:center;
  z-index:-4;
}
.fog{
  position:fixed;
  inset:0;
  background:radial-gradient(circle,rgba(0,0,0,.25),rgba(0,0,0,.85));
  z-index:-3;
}

/* BLUR */
#blurLayer{
  position:fixed;
  inset:0;
  backdrop-filter:blur(8px);
  background:rgba(0,0,0,.35);
  opacity:0;
  pointer-events:none;
  transition:.5s;
  z-index:5;
}
#blurLayer.active{opacity:1}

/* HEADER */
header h1{
  margin:16px 0;
  font-size:clamp(22px,4vw,40px);
  letter-spacing:4px;
  text-shadow:0 0 25px gold;
}

/* NOMINASI */
.nom-select{
  position:fixed;
  top:16px;
  right:20px;
  z-index:30;
}
.nom-select select{
  height:42px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(0,0,0,.65);
  color:#fff;
  font-weight:700;
}

/* WINNER */
.winner-box{
  position:fixed;
  top:16px;
  left:16px;
  background:rgba(0,0,0,.75);
  border:2px solid gold;
  border-radius:14px;
  padding:12px 14px;
  z-index:40;
  min-width:220px;
  max-height:70vh;
  overflow:auto;
  text-align:left;
}

/* WHEEL */
.stage{display:flex;justify-content:center}
.wheel-container{position:relative;z-index:2}
.pointer-hand{
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  font-size:clamp(36px,6vw,64px);
  filter:drop-shadow(0 0 15px gold);
  z-index:10;
}
.spin-btn{
  margin:24px auto;
  padding:14px 50px;
  font-size:18px;
  font-weight:bold;
  border:none;
  border-radius:50px;
  background:linear-gradient(45deg,#FFD700,#FF9800);
  cursor:pointer;
  box-shadow:0 0 30px gold;
}

/* =========================
   ZEUS POPUP (FIX FINAL)
========================= */

/* BASE */
.zeus{
  position:fixed;
  left:50%;
  text-align:center;
  z-index:20;
  opacity:0;
  pointer-events:none;
  transition:all .8s ease;
}

/* MUNCUL */
.zeus.show{
  opacity:1;
  pointer-events:auto;
}

/* POSISI BAWAH (DEFAULT) */
.zeus.pos-bottom{
  bottom:90px;
  transform:translateX(-50%);
}

/* POSISI ATAS */
.zeus.pos-top{
  top:70px;
  transform:translateX(-50%);
}

/* POSISI CENTER */
.zeus.pos-center{
  top:50%;
  transform:translate(-50%,-50%);
}

/* SEBELUM MUNCUL (SLIDE DARI BAWAH) */
.zeus:not(.show){
  bottom:-420px;
}

/* KONTEN */
.zeus-body{
  font-size:150px;
  filter:drop-shadow(0 0 35px gold);
}
.zeus-award{
  margin-top:-24px;
  background:rgba(0,0,0,.8);
  border:4px solid gold;
  border-radius:22px;
  padding:16px 26px;
  box-shadow:0 0 35px gold;
  position:relative;
}
.zeus-award img{
  width:120px;
  height:120px;
  border-radius:50%;
  border:5px solid gold;
}
#zeusName{
  margin-top:10px;
  font-size:22px;
  font-weight:bold;
  color:gold;
}
.zeus-close{
  position:absolute;
  right:10px;
  top:8px;
  background:rgba(0,0,0,.6);
  color:gold;
  border:2px solid gold;
  padding:6px 10px;
  border-radius:12px;
  cursor:pointer;
  font-weight:800;
}

/* MASCOT (TIDAK DIUBAH) */
.mascot{
  position:fixed;
  bottom:0;
  width:260px;
  pointer-events:none;
  z-index:3;
  animation:float 6s ease-in-out infinite;
}
.mascot-left{left:20px}
.mascot-right{right:20px;transform:scaleX(-1)}
.mascot img{
  width:100%;
  filter:drop-shadow(0 0 25px rgba(255,215,0,.4));
}

/* RESPONSIVE */
@media(max-width:1200px){
  .mascot{width:200px}
}
@media(max-width:900px){
  .mascot{display:none}
}
@media(max-width:768px){
  .spin-btn{width:80%}
}
@media(max-width:480px){
  header h1{font-size:22px}
}

@keyframes float{
  0%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
  100%{transform:translateY(0)}
}
