/* ═══════════════════════════════════════════════════════════
   CHAMPCHASE — BETA PAGE STYLES (JOIN THE FIGHT)
   ═══════════════════════════════════════════════════════════ */

/* ═══ UTILITY COPIES (from style.css — not loaded on this page) ═══ */
/* WPass 136: 100dvh fallback — iOS visual viewport ≠ 100vh when address
   bar is visible. 100vh kept as first value so iOS 14 / older Safari still
   get a working layout; 100dvh (iOS 15.4+) overrides when supported. */
.sec{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:80px 0;position:relative;overflow:hidden}
.dark-sec{background:var(--bg2)}
.sec-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;opacity:.15;filter:blur(1px)}
.dark-overlay{position:absolute;inset:0;background:rgba(9,9,11,.88);z-index:1}
.stitle{font-size:clamp(16px,3.5vw,26px);text-align:center;margin-bottom:8px;letter-spacing:2px}
.ssub{text-align:center;color:rgba(255,255,255,.65);font-size:15px;margin-bottom:36px}
.anim-in{opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.anim-in.visible{opacity:1;transform:translateY(0)}

/* ═══ B1: HERO + COUNTDOWN ═══ */
.beta-hero{text-align:center;min-height:100vh;min-height:100dvh}
.beta-particles{position:absolute;inset:0;z-index:0;pointer-events:none}
.beta-title{font-size:clamp(28px,8vw,64px);color:var(--cherry-l);animation:glowCycle 3s ease-in-out infinite alternate;margin-bottom:12px}
@keyframes glowCycle{
  0%{text-shadow:0 0 40px var(--cherry-g);color:var(--cherry-l)}
  50%{text-shadow:0 0 60px var(--gold-g);color:var(--gold)}
  100%{text-shadow:0 0 80px var(--cherry-g);color:var(--cherry-l)}
}
.beta-subtitle{font-family:var(--dp);font-size:clamp(16px,3vw,24px);color:var(--w2);letter-spacing:2px;margin-bottom:24px}
.beta-countdown{display:flex;gap:8px;justify-content:center;align-items:center;margin-bottom:20px;flex-wrap:wrap}
.cd-unit{background:rgba(17,17,21,.8);border:1px solid var(--dg);padding:12px 16px;border-radius:4px;min-width:70px;text-align:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cd-num{font-size:clamp(28px,6vw,52px);color:var(--gold);display:block;text-shadow:0 0 20px var(--gold-g);transition:transform .15s var(--bounce)}
.cd-num.tick{transform:scale(1.1)}
.cd-lbl{font-family:var(--dp);font-size:10px;color:var(--g);letter-spacing:2px;display:block;margin-top:4px}
.cd-sep{font-size:clamp(20px,4vw,36px);color:var(--dg)}
.beta-live{font-size:12px;color:var(--g);letter-spacing:1px;margin-top:8px}
.beta-live-state{font-family:var(--dp);font-size:clamp(24px,5vw,40px);color:var(--gold);letter-spacing:3px;animation:heartbeat 2s ease-in-out infinite}

/* ═══ B2: SIGNUP FORM ═══ */
.beta-form{display:flex;flex-direction:column;gap:12px;max-width:420px;margin:0 auto;position:relative;z-index:2}
.beta-form-inline{flex-direction:row;max-width:500px;gap:8px}
.beta-form-inline .beta-input{flex:1}
/* WPass 136: font-size:16px is the iOS Safari auto-zoom threshold. Below
   16px the viewport zooms on focus and never cleanly zooms back. */
.beta-input{background:var(--bg3);border:1px solid var(--dg);color:var(--w);padding:14px 18px;border-radius:3px;font-family:var(--bd);font-size:16px;transition:border-color .3s var(--ease),box-shadow .3s}
.beta-input:focus{border-color:var(--cherry);box-shadow:0 0 12px var(--cherry-g);outline:none}
.beta-input:focus-visible{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold),0 0 12px var(--gold-g);outline:none}
.beta-input::placeholder{color:var(--g)}
select.beta-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239CA3AF' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}
.beta-submit{font-size:20px;padding:16px 32px}
.beta-form-note{font-size:12px;color:var(--g);margin-top:8px;text-align:center}

/* ═══ B3: ID CARD ═══ */
.beta-id-section{display:none}
.beta-card-wrap{margin:0 auto 20px;max-width:400px}
.beta-card-wrap canvas{width:100%;height:auto;border:1px solid var(--dg);border-radius:4px;box-shadow:0 8px 40px rgba(0,0,0,.4)}
.beta-id-actions{display:flex;gap:12px;justify-content:center;margin-bottom:24px}
.beta-referral{margin-top:16px}
.referral-text{font-size:13px;color:var(--g);margin-bottom:8px}
.referral-box{display:flex;gap:8px;max-width:420px;margin:0 auto}
/* Referral link is read-only + display-only — 14px here won't trigger auto-zoom
   on tap-and-select since the input is not user-typed into. */
.referral-box .beta-input{flex:1;font-size:14px;padding:10px 12px}

/* ═══ B5: BENEFITS ═══ */
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.benefit-card{background:var(--bg3);border:1px solid var(--dg);padding:28px 22px;border-radius:4px;text-align:center;position:relative;overflow:hidden;transition:all .3s var(--ease)}
.benefit-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--cherry),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.benefit-card:hover{border-color:var(--cherry);transform:translateY(-6px);box-shadow:0 12px 40px rgba(0,0,0,.3)}
.benefit-card:hover::before{transform:scaleX(1)}
.benefit-icon{font-size:32px;display:block;margin-bottom:12px}
.benefit-name{font-family:var(--dp);font-size:20px;letter-spacing:1px;color:var(--w);margin-bottom:8px}
.benefit-desc{font-size:13px;color:var(--w2);line-height:1.6}

/* ═══ B8: FAQ ═══ */
.faq-list{max-width:700px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--dg)}
.faq-item summary{font-family:var(--dp);font-size:18px;letter-spacing:1px;color:var(--w);padding:18px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;transition:color .2s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:20px;color:var(--dg);transition:all .3s var(--ease)}
.faq-item[open] summary{color:var(--gold)}
.faq-item[open] summary::after{content:'-';color:var(--gold);transform:rotate(180deg)}
.faq-answer{font-size:14px;color:var(--w2);line-height:1.7;padding:0 0 18px;max-width:600px}

/* ═══ CONFETTI ═══ */
#confettiWrap{position:fixed;inset:0;pointer-events:none;z-index:10000;overflow:hidden}
.confetti-piece{position:absolute;width:8px;height:8px;top:-10px;animation:confettiFall 2.4s linear forwards}
/* WPass 136: translateY(110vh) instead of 100vh ensures confetti fully
   exits the visual viewport on iOS Safari (100vh underflows when the
   address bar is visible). 110 is cheap insurance across all devices. */
@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(110vh) rotate(720deg);opacity:0}}

/* ═══ RESPONSIVE 768px ═══ */
@media(max-width:768px){
  .sec{padding:60px 0;min-height:auto}
  .beta-hero{min-height:100vh;min-height:100dvh}
  .cd-unit{padding:8px 10px;min-width:55px}
  .cd-num{font-size:clamp(24px,5vw,36px)}
  .benefit-grid{grid-template-columns:repeat(2,1fr)}
  .beta-form-inline{flex-direction:column}
}

/* ═══ RESPONSIVE 480px ═══ */
@media(max-width:480px){
  .cd-unit{min-width:48px;padding:6px 8px}
  .cd-num{font-size:24px}
  .cd-sep{font-size:16px}
  .benefit-grid{grid-template-columns:1fr}
  .beta-form{padding:0 8px}
}

/* ═══ REDUCED MOTION ═══ */
@media(prefers-reduced-motion:reduce){
  .anim-in{opacity:1;transform:none;transition:none}
  .beta-title{animation:none}
}
