/* ===== source style 21: web-content-protection-rules ===== */

/* ===== Web protection: prevent text copying / image dragging in the game UI ===== */
html,
body,
.app,
.stage,
.screen,
.modal,
.pass-drawer,
.nav,
button,
a,
span,
div,
p,
h1,
h2,
h3,
small,
b,
em,
strong{
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-touch-callout:none!important;
}
img,
svg,
canvas,
.emoji-bubble,
.target,
.avatar,
.avatar-choice,
.frame-choice,
.reward-mini-icon,
.sticker-item,
.sticker-cover{
  -webkit-user-drag:none!important;
  user-drag:none!important;
  pointer-events:auto;
}
input,
textarea{
  -webkit-user-select:text!important;
  user-select:text!important;
  -webkit-touch-callout:default!important;
}


/* ===== source style 22: desktop-iphone13-frame-adaptive ===== */

/* ===== Desktop adaptive shell: iPhone 13 frame =====
   Mobile remains fullscreen. On desktop the game is centered inside a 390×844 iPhone 13-like body. */
@media (min-width:700px){
  html,body{
    width:100%;
    min-width:100%;
    min-height:100%;
    overflow:hidden!important;
  }
  body{
    background:
      radial-gradient(circle at 50% 18%,rgba(123,60,255,.30),transparent 34%),
      radial-gradient(circle at 20% 82%,rgba(255,79,160,.16),transparent 30%),
      radial-gradient(circle at 82% 78%,rgba(85,197,255,.13),transparent 28%),
      linear-gradient(145deg,#050012,#11002d 52%,#03000b)!important;
  }
  .app{
    width:100vw;
    height:100dvh;
    min-height:100dvh;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:28px;
    overflow:hidden!important;
    background:
      radial-gradient(circle at 50% 50%,rgba(255,255,255,.045),transparent 26%),
      radial-gradient(circle at 50% 8%,rgba(255,209,91,.07),transparent 22%);
  }
  .stage{
    position:relative!important;
    width:min(390px,calc(100vw - 76px))!important;
    height:min(844px,calc(100dvh - 76px))!important;
    max-width:390px!important;
    max-height:844px!important;
    margin:0!important;
    border-radius:48px!important;
    overflow:hidden!important;
    background:
      radial-gradient(circle at 18% 0%,rgba(138,63,255,.25),transparent 24%),
      radial-gradient(circle at 92% 16%,rgba(255,79,160,.16),transparent 24%),
      linear-gradient(180deg,rgba(17,2,48,.98),rgba(7,2,22,.99))!important;
    box-shadow:
      0 0 0 10px #050509,
      0 0 0 12px rgba(255,255,255,.075),
      0 30px 90px rgba(0,0,0,.72),
      0 0 80px rgba(123,60,255,.16)!important;
    border:1px solid rgba(255,255,255,.08)!important;
    isolation:isolate;
  }
  /* iPhone 13 notch: attached to the upper device frame, not floating over content */
  .stage:before{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:0!important;
    width:132px!important;
    height:32px!important;
    transform:translateX(-50%)!important;
    border-radius:0 0 19px 19px!important;
    background:linear-gradient(180deg,#05050a 0%,#020205 100%)!important;
    box-shadow:
      inset 0 -1px 0 rgba(255,255,255,.055),
      0 7px 16px rgba(0,0,0,.34)!important;
    opacity:1!important;
    z-index:340!important;
    pointer-events:none!important;
    mask-image:none!important;
    background-size:auto!important;
  }
  .stage:after{
    content:"";
    position:absolute;
    left:50%;
    top:9px;
    width:58px;
    height:6px;
    transform:translateX(-50%);
    border-radius:999px;
    background:linear-gradient(180deg,#24242b,#101015);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.025),
      inset 0 1px 0 rgba(255,255,255,.08);
    z-index:341;
    pointer-events:none;
  }
  .screen{
    padding-top:56px!important;
  }
  .pass-drawer{
    padding-top:56px!important;
  }
  .modal{
    border-radius:inherit;
  }
  .toast{
    bottom:calc(106px + var(--safeBottom))!important;
  }
  .nav button,
  .level-card,
  .shop-card,
  .profile-action,
  .booster,
  .answer,
  .claim-btn,
  .primary,
  .ghost,
  .avatar-choice,
  .frame-choice{
    cursor:pointer;
  }
  .nav button:hover,
  .profile-action:hover,
  .shop-card:hover,
  .booster:hover:not(:disabled),
  .answer:hover,
  .claim-btn:hover:not(:disabled),
  .primary:hover:not(:disabled),
  .ghost:hover:not(:disabled){
    filter:brightness(1.06) saturate(1.04);
  }
  #screen-levels .level-card:not(.locked):hover{
    border-color:rgba(255,209,91,.48)!important;
    box-shadow:
      0 16px 38px rgba(0,0,0,.40),
      0 0 24px rgba(255,79,160,.18),
      inset 0 1px 0 rgba(255,255,255,.09)!important;
  }
  .levels,
  .pass-track,
  .panel,
  .avatar-picker-grid-wrap,
  .sticker-pack-body,
  .strip{
    scrollbar-width:none;
  }
  .levels::-webkit-scrollbar,
  .pass-track::-webkit-scrollbar,
  .panel::-webkit-scrollbar,
  .avatar-picker-grid-wrap::-webkit-scrollbar,
  .sticker-pack-body::-webkit-scrollbar,
  .strip::-webkit-scrollbar{
    display:none;
  }
}

@media (min-width:700px) and (max-height:760px){
  .app{padding:18px}
  .stage{
    width:min(360px,calc(100vw - 58px))!important;
    height:calc(100dvh - 58px)!important;
    border-radius:44px!important;
  }
  .stage:before{width:124px!important;height:30px!important;border-radius:0 0 18px 18px!important}
  .stage:after{top:8px;width:54px;height:6px}
  .screen,.pass-drawer{padding-top:52px!important}
}


/* ===== source style 23: minimal-clean-headers-final ===== */

/* ===== Minimal headers: remove duplicate explanatory text ===== */
#screen-levels #playerLine,
#screen-profile #profilePlayerLine,
#screen-guide .guide-title-wrap p,
#screen-game #gameProgressText{
  display:none!important;
}
#screen-levels .player-copy,
#screen-profile .player-copy{
  justify-content:center;
}
#screen-levels .player-copy h1,
#screen-profile .player-copy h1{
  margin-top:0;
}
#screen-game .level-name{
  display:flex;
  align-items:center;
  min-width:0;
}
#screen-game #gameLevelTitle{
  display:block!important;
  font-size:15px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#screen-guide .guide-title-wrap{
  justify-content:center;
}


/* ===== source style 24: energy-resource-ui ===== */

/* ===== Energy resource: shared header economy pill ===== */
.player-resource-group,.shop-resource-group{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:0 0 auto}
.player-energy-pill,.shop-energy-pill{min-height:42px;min-width:58px;padding:8px 11px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:16px;font-weight:1000;color:#fffaf0;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.18),transparent 32%),linear-gradient(135deg,rgba(85,197,255,.22),rgba(123,60,255,.18) 48%,rgba(65,24,137,.78));border:1px solid rgba(85,197,255,.32);box-shadow:0 10px 22px rgba(0,0,0,.24),0 0 20px rgba(85,197,255,.12),inset 0 1px 0 rgba(255,255,255,.13)}
.player-energy-icon,.shop-energy-icon{font-size:18px;line-height:1;filter:drop-shadow(0 0 8px rgba(85,197,255,.28))}
.energy-shop-card{border-color:rgba(85,197,255,.28)!important;background:linear-gradient(160deg,rgba(40,58,140,.62),rgba(21,7,55,.88))!important}
.energy-shop-card .primary:disabled{opacity:.58;filter:grayscale(.25);cursor:default;box-shadow:none}
@media(max-width:370px){.player-resource-group,.shop-resource-group{gap:5px}.player-energy-pill,.shop-energy-pill{min-height:39px;min-width:52px;padding:7px 9px;font-size:15px}.player-energy-icon,.shop-energy-icon{font-size:17px}}


/* ===== source style 25: hero-bundle-shop-google-play ===== */

/* ===== Hero bundle: energy + booster + premium avatar/frame ===== */
.bundle-shop-card{
  position:relative;overflow:hidden;
  border-color:rgba(255,209,91,.32)!important;
  background:
    radial-gradient(circle at 82% 10%,rgba(255,209,91,.18),transparent 34%),
    radial-gradient(circle at 20% 18%,rgba(255,79,160,.14),transparent 34%),
    linear-gradient(160deg,rgba(73,27,132,.76),rgba(21,7,55,.92))!important;
}
.bundle-shop-card:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(110deg,transparent 0 30%,rgba(255,209,91,.15) 48%,transparent 66%);
  transform:translateX(-120%);animation:adSweep 4.2s ease-in-out infinite;
}
.bundle-shop-card .ic{filter:drop-shadow(0 0 14px rgba(255,209,91,.32))}
.bundle-reward-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.bundle-reward-pill{
  min-height:27px;padding:5px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;
  background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12);
  color:#efe7ff;font-size:10.5px;font-weight:1000;white-space:nowrap;
}
.bundle-shop-card .primary{
  background:linear-gradient(135deg,#ffd15b,#ff9d35 48%,#ff4fa0)!important;
  color:#fff;box-shadow:0 12px 26px rgba(255,157,53,.26),0 0 20px rgba(255,209,91,.16),inset 0 1px 0 rgba(255,255,255,.34)!important;
}
.google-pay-badge.bundle-badge{
  background:linear-gradient(135deg,#ffd15b,#ff9d35 48%,#ff4fa0);
  color:white;
}
.bundle-product-row{
  display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px;
}
.bundle-product-cell{
  min-height:52px;border-radius:16px;padding:8px;display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);
  color:#fff;font-size:12px;font-weight:1000;
}
.bundle-product-cell span{font-size:22px;line-height:1}
@media(max-width:370px){.bundle-product-row{grid-template-columns:1fr}.bundle-reward-pill{font-size:10px;padding:5px 7px}}

