.challenge-page{padding:72px 0 96px}
.challenge-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.challenge-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.challenge-nav a{color:var(--text);text-decoration:none;padding:8px 12px;border-radius:12px}
.challenge-nav a:hover{background:rgba(255,255,255,.06)}

.challenge-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:24px;align-items:start;margin-top:24px}
.challenge-hero__copy{display:grid;gap:16px;padding:34px;border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 72px rgba(0,0,0,.32)}
.challenge-kicker{margin:0;color:rgba(215,166,75,.92);font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.challenge-hero h1{margin:0;font-size:clamp(36px,5.4vw,64px);line-height:.94;color:#fbf4e5}
.challenge-lede{margin:0;color:rgba(245,245,247,.86);font-size:1.06rem;line-height:1.75}

.challenge-store-badges{display:flex;gap:12px;flex-wrap:wrap}
.challenge-store-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:190px;padding:14px 18px;border-radius:18px;background:rgba(15,15,16,.92);border:1px solid rgba(255,255,255,.12);color:var(--text);text-decoration:none;font-weight:700;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.challenge-store-button:hover{transform:translateY(-2px);background:rgba(255,255,255,.08)}
.challenge-store-button img{width:20px;height:20px;object-fit:contain}
.challenge-store-button--play{border-color:rgba(61,220,132,.45)}
.challenge-store-button--apple{border-color:rgba(255,255,255,.2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border-radius:14px;border:1px solid rgba(255,255,255,.15);color:var(--text);text-decoration:none;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.28);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03))}
.btn.primary{background:linear-gradient(135deg,#f0c978,#b57b24);color:#111;border:none;font-weight:800;letter-spacing:.02em;box-shadow:0 18px 44px rgba(215,166,75,.22)}

.challenge-prizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.prize-card{display:grid;gap:8px;padding:22px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 44px rgba(0,0,0,.28)}
.prize-card__tier{color:rgba(215,166,75,.96);font-size:.82rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.prize-card strong{font-size:clamp(26px,4vw,38px);color:#fff}
.prize-card p{margin:0;color:rgba(245,245,247,.76);line-height:1.55}

.challenge-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:24px;margin-top:28px}
.challenge-info,.challenge-form-shell{padding:28px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 54px rgba(0,0,0,.28)}
.challenge-info h2,.challenge-form-shell h2{margin:0 0 16px;font-size:clamp(28px,4vw,42px)}
.challenge-info h3{margin:24px 0 12px;font-size:1.1rem}
.challenge-steps,.challenge-rules{display:grid;gap:12px;padding-left:20px;color:rgba(245,245,247,.86)}
.challenge-steps li,.challenge-rules li{line-height:1.7}
.challenge-note{margin-top:20px;padding:18px;border-radius:18px;background:rgba(215,166,75,.08);border:1px solid rgba(215,166,75,.2);color:rgba(251,244,229,.92);line-height:1.65}
.challenge-side-link{display:grid;gap:10px;margin-top:18px;padding:20px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.challenge-side-link h3{margin:0;font-size:1.05rem}
.challenge-side-link p{margin:0;color:rgba(245,245,247,.78);line-height:1.65}

.challenge-form{display:grid;gap:16px}
.challenge-form label{display:grid;gap:8px}
.challenge-form span{color:#fff;font-weight:700}
.challenge-form input,.challenge-form select,.challenge-form textarea{width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:rgba(15,15,20,.72);color:#fff;font:inherit}
.challenge-form input:focus,.challenge-form select:focus,.challenge-form textarea:focus{outline:none;border-color:rgba(215,166,75,.55);box-shadow:0 0 0 2px rgba(215,166,75,.18)}
.challenge-form textarea{resize:vertical;min-height:120px}
.challenge-checks{display:grid;gap:12px}
.check-row{display:flex !important;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.check-row input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}
.check-row span{font-weight:500;color:rgba(245,245,247,.88);line-height:1.55}
.challenge-form__actions{display:flex;gap:12px;flex-wrap:wrap}
.form-status{min-height:24px;margin:0;color:#f7deb0;line-height:1.5}

.challenge-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}

@media (max-width:960px){
  .challenge-hero,.challenge-layout{grid-template-columns:1fr}
}

@media (max-width:640px){
  .challenge-page{padding:48px 0 72px}
  .challenge-topbar{flex-direction:column;align-items:flex-start}
  .challenge-nav{width:100%}
  .challenge-hero__copy,.challenge-info,.challenge-form-shell{padding:24px}
  .challenge-prizes{grid-template-columns:1fr}
  .challenge-store-badges,.challenge-form__actions{display:grid}
  .challenge-store-button,.challenge-form__actions .btn{width:100%}
  .challenge-footer{flex-direction:column;align-items:flex-start}
}
