:root{
  --bg:#f6f7ef;
  --ink:#0b0d0b;
  --muted:#61655c;
  --card:#ffffff;
  --lime:#c7ff2e;
  --blue:#1b49ff;
  --line:rgba(11,13,11,.12);
  --shadow:0 30px 90px rgba(0,0,0,.14);
  --radius:28px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  background:
    radial-gradient(circle at 15% 10%, rgba(199,255,46,.45), transparent 28%),
    radial-gradient(circle at 80% 0%, rgba(27,73,255,.16), transparent 26%),
    var(--bg);
  color:var(--ink);
}

a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}

.page{width:min(1180px, calc(100% - 32px)); margin:0 auto}
.hero{
  min-height:100vh;
  display:grid;
  grid-template-columns: 1.02fr .88fr;
  gap:48px;
  align-items:center;
  padding:54px 0 38px;
}

.eyebrow{
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.55);
  backdrop-filter: blur(16px);
  color:#222;
  font-weight:750;
  letter-spacing:-.02em;
}

.dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--lime);
  box-shadow:0 0 0 6px rgba(199,255,46,.25);
}

h1{
  margin:22px 0 18px;
  font-size:clamp(58px, 8.7vw, 124px);
  line-height:.84;
  letter-spacing:-.085em;
  font-weight:950;
}

h1 span{
  display:inline-block;
  background:var(--ink);
  color:var(--lime);
  border-radius:22px;
  padding:6px 18px 14px;
  transform:rotate(-1deg);
}

.lead{
  max-width:620px;
  color:#30342d;
  font-size:clamp(18px, 2vw, 24px);
  line-height:1.22;
  letter-spacing:-.035em;
  margin:0 0 26px;
}

.hero__actions{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:26px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:14px 20px;
  border-radius:999px;
  border:1px solid var(--line);
  font-weight:850;
  letter-spacing:-.025em;
  cursor:pointer;
  transition:.18s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--ink);color:white;box-shadow:0 16px 35px rgba(0,0,0,.18)}
.btn--ghost{background:rgba(255,255,255,.62);backdrop-filter:blur(12px)}
.btn--submit{width:100%;background:var(--lime);color:var(--ink);border:none;font-size:18px}

.stats{display:flex;gap:12px;flex-wrap:wrap}
.stats div{
  min-width:160px;
  padding:16px 18px;
  background:rgba(255,255,255,.72);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:0 14px 40px rgba(0,0,0,.06);
}
.stats b{display:block;font-size:28px;letter-spacing:-.05em}
.stats span{display:block;color:var(--muted);font-weight:700;font-size:14px}

.hero__posterWrap{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
}
.posterGlow{
  position:absolute;
  width:82%;
  height:72%;
  background:linear-gradient(135deg, rgba(199,255,46,.9), rgba(27,73,255,.25));
  filter:blur(45px);
  border-radius:42px;
  transform:rotate(-7deg);
}
.poster{
  position:relative;
  width:min(100%, 430px);
  border-radius:32px;
  box-shadow:var(--shadow);
  transform:rotate(2deg);
  border:10px solid rgba(255,255,255,.85);
  background:white;
}

.strip{
  overflow:hidden;
  padding:14px;
  border-radius:999px;
  background:var(--ink);
  color:var(--lime);
  box-shadow:0 18px 50px rgba(0,0,0,.14);
  margin:0 0 84px;
  position:relative;
}

.strip__track{
  display:flex;
  gap:10px;
  width:max-content;
  will-change:transform;
  animation:strip-sway 14s ease-in-out infinite alternate;
}

.strip:hover .strip__track{
  animation-play-state:paused;
}

.strip.is-static .strip__track{
  animation:none;
  transform:none;
}

.strip span{
  white-space:nowrap;
  padding:8px 16px;
  border:1px solid rgba(199,255,46,.25);
  border-radius:999px;
  font-weight:900;
  letter-spacing:-.02em;
  flex:0 0 auto;
}

@keyframes strip-sway{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(calc(-1 * var(--strip-shift, 0px)));
  }
}

@media (prefers-reduced-motion: reduce){
  .strip__track{
    animation:none !important;
    transform:none !important;
  }
}

.section{padding:0 0 92px}
.sectionHead{display:grid;grid-template-columns:.35fr 1fr;gap:30px;align-items:start;margin-bottom:24px}
.sectionHead p,.tag{
  margin:0;
  color:var(--blue);
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px;
}
.section h2{
  margin:0;
  font-size:clamp(34px, 5vw, 66px);
  line-height:.93;
  letter-spacing:-.07em;
}

.cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.card{
  min-height:245px;
  background:rgba(255,255,255,.76);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:0 20px 55px rgba(0,0,0,.07);
}
.card span{
  display:inline-flex;
  width:42px;
  height:42px;
  border-radius:50%;
  align-items:center;
  justify-content:center;
  background:var(--lime);
  font-weight:950;
  margin-bottom:24px;
}
.card h3{
  margin:0 0 10px;
  font-size:25px;
  letter-spacing:-.05em;
  line-height:1;
}
.card p{
  margin:0;
  color:var(--muted);
  font-weight:650;
  line-height:1.35;
}

.formSection{
  display:grid;
  grid-template-columns:.75fr 1fr;
  gap:24px;
  align-items:start;
}
.formCopy{
  position:sticky;
  top:24px;
  background:var(--ink);
  color:white;
  border-radius:var(--radius);
  padding:30px;
  overflow:hidden;
}
.formCopy:after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-80px;
  width:220px;
  height:220px;
  background:var(--lime);
  border-radius:50%;
  filter:blur(10px);
  opacity:.65;
}
.formCopy h2{
  color:white;
  margin:12px 0 16px;
}
.formCopy p:last-child{
  position:relative;
  z-index:1;
  color:rgba(255,255,255,.72);
  font-size:18px;
  line-height:1.35;
  font-weight:650;
}

.form{
  background:rgba(255,255,255,.84);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:var(--shadow);
}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;margin-bottom:14px}
label span{
  display:block;
  margin:0 0 8px;
  font-size:14px;
  color:#343832;
  font-weight:850;
}
input,textarea,select,.adminInput{
  width:100%;
  border:1px solid rgba(11,13,11,.14);
  background:#f9faf4;
  border-radius:18px;
  padding:15px 16px;
  outline:none;
  color:var(--ink);
}
textarea{min-height:128px;resize:vertical}
input:focus,textarea:focus,select:focus,.adminInput:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 5px rgba(27,73,255,.08);
}

.footer{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:26px 0 44px;
  border-top:1px solid var(--line);
  color:var(--muted);
}
.footer b{color:var(--ink)}

.thanks{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
}
.thanksCard{
  width:min(520px,100%);
  background:rgba(255,255,255,.86);
  border:1px solid var(--line);
  border-radius:34px;
  padding:34px;
  text-align:center;
  box-shadow:var(--shadow);
}
.ok{
  width:72px;
  height:72px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--lime);
  font-size:40px;
  font-weight:950;
  margin:0 auto 18px;
}
.thanksCard h1{
  font-size:48px;
  line-height:.94;
  margin:0 0 12px;
}
.thanksCard p{
  color:var(--muted);
  font-weight:700;
  margin:0 0 22px;
}
.error{color:#c01818!important}

.adminPage{padding:28px;max-width:1400px;margin:auto}
.adminTop{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.adminTop h1{font-size:48px;margin:0}
.tableWrap{
  overflow:auto;
  background:white;
  border-radius:24px;
  border:1px solid var(--line);
  box-shadow:0 18px 50px rgba(0,0,0,.08);
}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:12px;border-bottom:1px solid rgba(0,0,0,.08);text-align:left;vertical-align:top}
th{background:#f3f5ed;white-space:nowrap}
td{min-width:120px}
td:nth-child(6),td:nth-child(7){min-width:260px}

@media (max-width: 900px){
  .page{width:min(100% - 22px, 680px)}
  .hero{grid-template-columns:1fr;gap:24px;min-height:auto;padding:28px 0 28px}
  .hero__copy{order:1}
  .hero__posterWrap{order:0}
  .poster{width:min(84vw, 360px);border-radius:24px}
  h1{font-size:clamp(54px, 18vw, 92px)}
  .lead{font-size:18px}
  .sectionHead{grid-template-columns:1fr;gap:10px}
  .cards{grid-template-columns:1fr}
  .card{min-height:auto}
  .formSection{grid-template-columns:1fr}
  .formCopy{position:relative;top:auto}
  .grid2{grid-template-columns:1fr}
  .footer{flex-direction:column}
}


/* SANYA MARQUEE FINAL */
.strip{
  overflow:hidden;
  padding:14px 0;
  border-radius:999px;
  background:var(--ink);
  color:var(--lime);
  box-shadow:0 18px 50px rgba(0,0,0,.14);
  margin:0 0 84px;
  position:relative;
  border:1px solid rgba(199,255,46,.18);
}

.strip__track{
  display:flex;
  width:max-content;
  animation:sanya-marquee 24s linear infinite;
  will-change:transform;
}

.strip:hover .strip__track{
  animation-play-state:paused;
}

.strip__group{
  display:flex;
  gap:10px;
  padding:0 10px;
  flex:0 0 auto;
}

.strip span{
  white-space:nowrap;
  padding:8px 16px;
  border:1px solid rgba(199,255,46,.25);
  border-radius:999px;
  font-weight:900;
  letter-spacing:-.02em;
  flex:0 0 auto;
  background:rgba(199,255,46,.03);
}

@keyframes sanya-marquee{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce){
  .strip__track{
    animation:none !important;
    transform:none !important;
  }
}

/* FORCE FINAL MARQUEE OVERRIDE */
.strip{
  overflow:hidden !important;
}

.strip__track{
  display:flex !important;
  width:max-content !important;
  will-change:transform !important;
  animation:sanya-marquee-final 12s linear infinite !important;
}

.strip:hover .strip__track{
  animation-play-state:paused !important;
}

.strip__group{
  display:flex !important;
  gap:10px !important;
  padding:0 10px !important;
  flex:0 0 auto !important;
}

@keyframes sanya-marquee-final{
  0%{
    transform:translateX(0);
  }
  100%{
    transform:translateX(-50%);
  }
}

/* ABSOLUTE FINAL MARQUEE */
.strip .strip__track{
  animation: sanya-strip-drive 6s linear infinite !important;
}

@keyframes sanya-strip-drive{
  0% { transform: translateX(0) !important; }
  100% { transform: translateX(-50%) !important; }
}


/* ============================================
   SANYA FINAL TICKER — REBUILT FROM SCRATCH
   ============================================ */

.ticker{
  width:100%;
  overflow:hidden;
  padding:14px 0;
  border-radius:999px;
  background:#0b0d0b;
  color:#c7ff2e;
  box-shadow:0 18px 50px rgba(0,0,0,.14);
  margin:0 0 84px;
  border:1px solid rgba(199,255,46,.18);
}

.ticker__move{
  display:flex;
  width:max-content;
  animation:sanyaTickerMove 22s linear infinite;
  will-change:transform;
}

.ticker__row{
  display:flex;
  flex:0 0 auto;
  gap:10px;
  padding:0 10px;
  white-space:nowrap;
}

.ticker span{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  flex:0 0 auto;
  padding:8px 16px;
  border:1px solid rgba(199,255,46,.25);
  border-radius:999px;
  background:rgba(199,255,46,.035);
  font-weight:900;
  letter-spacing:-.02em;
}

.ticker:hover .ticker__move{
  animation-play-state:paused;
}

@keyframes sanyaTickerMove{
  from{
    transform:translate3d(0,0,0);
  }
  to{
    transform:translate3d(-50%,0,0);
  }
}


/* ============================================
   MOBILE WOW PATCH
   ============================================ */

.hero{
  position:relative;
  overflow:hidden;
}

.hero__orbs{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:0;
}

.hero__copy,
.hero__posterWrap{
  position:relative;
  z-index:1;
}

.orb{
  position:absolute;
  display:block;
  border-radius:999px;
  filter:blur(18px);
  opacity:.62;
  transform:translate3d(0,0,0);
  animation:orbFloat 9s ease-in-out infinite alternate;
}

.orb--one{
  width:120px;
  height:120px;
  background:rgba(199,255,46,.65);
  top:9%;
  left:-36px;
}

.orb--two{
  width:160px;
  height:160px;
  background:rgba(27,73,255,.16);
  top:23%;
  right:-70px;
  animation-duration:12s;
}

.orb--three{
  width:110px;
  height:110px;
  background:rgba(199,255,46,.32);
  bottom:22%;
  left:48%;
  animation-duration:10s;
}

@keyframes orbFloat{
  from{
    transform:translate3d(-10px, 8px, 0) scale(.96);
  }
  to{
    transform:translate3d(18px, -16px, 0) scale(1.08);
  }
}

.reveal{
  opacity:0;
  transform:translate3d(0, 28px, 0);
  transition:
    opacity .78s cubic-bezier(.2,.8,.2,1) var(--reveal-delay, 0ms),
    transform .78s cubic-bezier(.2,.8,.2,1) var(--reveal-delay, 0ms);
}

.reveal--zoom{
  transform:translate3d(0, 24px, 0) scale(.965);
}

.reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

.poster{
  animation:posterBreath 5.5s ease-in-out infinite alternate;
  transform-origin:center;
}

@keyframes posterBreath{
  from{
    transform:rotate(2deg) translate3d(0,0,0) scale(1);
  }
  to{
    transform:rotate(1.2deg) translate3d(0,-7px,0) scale(1.012);
  }
}

.progress{
  width:100%;
  height:9px;
  margin-top:12px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(11,13,11,.09);
}

.progress i{
  display:block;
  height:100%;
  min-width:8px;
  border-radius:999px;
  background:linear-gradient(90deg, #c7ff2e, #1b49ff);
  box-shadow:0 0 20px rgba(199,255,46,.45);
}

.stat small{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}

.btn--share{
  color:var(--ink);
}

.mobileDock{
  position:fixed;
  left:16px;
  right:16px;
  bottom:calc(14px + env(safe-area-inset-bottom));
  z-index:999;
  display:none;
  transition:opacity .25s ease, transform .25s ease;
}

.mobileDock.is-hidden{
  opacity:0;
  transform:translateY(18px);
  pointer-events:none;
}

.mobileDock__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  width:100%;
  border-radius:999px;
  background:#0b0d0b;
  color:#fff;
  font-weight:950;
  font-size:18px;
  letter-spacing:-.035em;
  box-shadow:0 22px 55px rgba(0,0,0,.26);
  border:1px solid rgba(199,255,46,.28);
}

.mobileDock__btn:active{
  transform:scale(.985);
}

.thanks--wow{
  background:
    radial-gradient(circle at 50% 20%, rgba(199,255,46,.55), transparent 32%),
    radial-gradient(circle at 100% 20%, rgba(27,73,255,.18), transparent 28%),
    var(--bg);
}

.ok--pulse{
  animation:okPulse 1.5s ease-in-out infinite alternate;
}

@keyframes okPulse{
  from{
    box-shadow:0 0 0 0 rgba(199,255,46,.45);
    transform:scale(1);
  }
  to{
    box-shadow:0 0 0 14px rgba(199,255,46,0);
    transform:scale(1.035);
  }
}

.thanksActions{
  display:grid;
  gap:10px;
}

@media (max-width: 900px){
  body{
    padding-bottom:82px;
  }

  .mobileDock{
    display:block;
  }

  .hero{
    padding-top:18px;
  }

  .hero__actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .hero__actions .btn{
    width:100%;
  }

  .stats{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .stat--progress{
    grid-column:1 / -1;
  }

  .poster{
    animation:posterBreathMobile 5.8s ease-in-out infinite alternate;
  }

  @keyframes posterBreathMobile{
    from{
      transform:rotate(1.5deg) translate3d(0,0,0) scale(1);
    }
    to{
      transform:rotate(.8deg) translate3d(0,-5px,0) scale(1.01);
    }
  }

  .card{
    transition:opacity .72s cubic-bezier(.2,.8,.2,1), transform .72s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease;
  }

  .card.is-visible{
    box-shadow:0 22px 65px rgba(0,0,0,.08);
  }
}

/* CONFETTI THANKS PAGE */
.confettiCanvas{
  position:fixed;
  inset:0;
  z-index:1000;
  pointer-events:none;
  width:100vw;
  height:100vh;
}

.thanksCard{
  position:relative;
  z-index:2;
}


/* QUIET FORM PLACEHOLDERS */
input::placeholder,
textarea::placeholder{
  color:rgba(20,20,20,.26) !important;
  font-weight:500 !important;
}

textarea::placeholder{
  line-height:1.35;
}

select{
  color:rgba(20,20,20,.78);
}


/* PROGRESS BAR FIX */
.progress{
  background:rgba(11,13,11,.08) !important;
}

.progress i{
  display:block !important;
  height:100% !important;
  width:var(--progress-width, auto);
  min-width:10px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, #c7ff2e, #b7ff00) !important;
  box-shadow:0 0 18px rgba(199,255,46,.45) !important;
}


/* HARD FINAL PROGRESS BAR */
.stat--progress .progress{
  display:block !important;
  width:100% !important;
  height:12px !important;
  margin-top:12px !important;
  overflow:hidden !important;
  border-radius:999px !important;
  background:rgba(11,13,11,.12) !important;
  position:relative !important;
}

.stat--progress .progress__fill,
.stat--progress .progress i{
  display:block !important;
  height:100% !important;
  min-width:0 !important;
  border-radius:999px !important;
  background:#c7ff2e !important;
  box-shadow:0 0 18px rgba(199,255,46,.65) !important;
  transition:width .7s cubic-bezier(.2,.8,.2,1) !important;
}

.stat--progress small{
  display:block !important;
  margin-top:8px !important;
  color:rgba(11,13,11,.58) !important;
  font-size:12px !important;
  font-weight:850 !important;
}


/* FINAL INLINE PROGRESS SUPPORT */
.progress--inline{
  display:block !important;
  width:100% !important;
  height:12px !important;
  margin-top:12px !important;
  border-radius:999px !important;
  overflow:hidden !important;
  background:rgba(11,13,11,.14) !important;
}

.progress--inline .progress__fill{
  display:block !important;
  height:100% !important;
  min-width:0 !important;
  border-radius:999px !important;
  background:#c7ff2e !important;
  box-shadow:0 0 18px rgba(199,255,46,.75) !important;
}

html{
  scroll-behavior:auto !important;
}


/* FINAL INLINE PROGRESS SUPPORT */
.progress--inline{
  display:block !important;
  width:100% !important;
  height:12px !important;
  margin-top:12px !important;
  border-radius:999px !important;
  overflow:hidden !important;
  background:rgba(11,13,11,.14) !important;
}

.progress--inline .progress__fill{
  display:block !important;
  height:100% !important;
  min-width:0 !important;
  border-radius:999px !important;
  background:#c7ff2e !important;
  box-shadow:0 0 18px rgba(199,255,46,.75) !important;
}

html{
  scroll-behavior:auto !important;
}

/* FIX PROGRESS LOOK */
.stat--progress .progress,
.progress--inline{
  height: 8px !important;
  padding: 0 !important;
  background: rgba(11,13,11,.12) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  box-shadow: inset 0 0 0 1px rgba(11,13,11,.08) !important;
}

.stat--progress .progress__fill,
.progress--inline .progress__fill{
  height: 100% !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #c7ff2e, #9cff00) !important;
  box-shadow: none !important;
  transform: none !important;
}


/* REMOVE PROGRESS BAR CLEANLY */
.stat--clean .progress,
.stat--clean small,
.stat--progress .progress,
.stat--progress small{
  display:none !important;
}

.stat--clean{
  min-height:auto !important;
}

.stat--clean span{
  font-size:16px !important;
  line-height:1.25 !important;
}


/* QR MODAL */
.qr-open{
  overflow:hidden;
}

.qrModal{
  position:fixed;
  inset:0;
  z-index:2000;
  display:grid;
  place-items:center;
  padding:22px;
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}

.qrModal.is-open{
  opacity:1;
  pointer-events:auto;
}

.qrModal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(11,13,11,.54);
  backdrop-filter:blur(16px);
}

.qrModal__card{
  position:relative;
  width:min(390px, 100%);
  border-radius:34px;
  padding:26px;
  background:rgba(255,255,255,.94);
  box-shadow:0 30px 100px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.7);
  text-align:center;
  transform:translate3d(0,18px,0) scale(.96);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}

.qrModal.is-open .qrModal__card{
  transform:translate3d(0,0,0) scale(1);
}

.qrModal__close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:#0b0d0b;
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.qrModal h2{
  margin:8px 0 8px;
  font-size:38px;
  line-height:.95;
  letter-spacing:-.06em;
}

.qrModal__text{
  margin:0 auto 18px;
  color:rgba(11,13,11,.62);
  font-weight:750;
  line-height:1.25;
  max-width:280px;
}

.qrModal__qrWrap{
  padding:14px;
  background:#fff;
  border-radius:26px;
  border:1px solid rgba(11,13,11,.1);
  box-shadow:0 16px 40px rgba(0,0,0,.08);
}

.qrModal__qrWrap img{
  display:block;
  width:100%;
  height:auto;
  border-radius:14px;
}

.qrModal__url{
  display:inline-flex;
  margin-top:14px;
  padding:9px 13px;
  border-radius:999px;
  background:#c7ff2e;
  color:#0b0d0b;
  font-weight:950;
  font-size:14px;
  letter-spacing:-.02em;
}

@media (max-width: 900px){
  .qrModal{
    align-items:end;
    padding:16px;
    padding-bottom:calc(16px + env(safe-area-inset-bottom));
  }

  .qrModal__card{
    width:100%;
    border-radius:30px;
  }

  .qrModal h2{
    font-size:36px;
  }
}


/* FINAL STATS LOOK */
.stats--final{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  width:100% !important;
  max-width:520px !important;
}

.stats--final .stat--final{
  width:100% !important;
  min-width:0 !important;
  min-height:122px !important;
  padding:22px 20px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  background:rgba(255,255,255,.76) !important;
  border:1px solid rgba(11,13,11,.12) !important;
  border-radius:22px !important;
  box-shadow:0 14px 40px rgba(0,0,0,.06) !important;
}

.stats--final .stat--final b{
  display:block !important;
  margin:0 0 10px !important;
  font-size:42px !important;
  line-height:.9 !important;
  letter-spacing:-.06em !important;
  color:#0b0d0b !important;
}

.stats--final .stat--final span{
  display:block !important;
  margin:0 !important;
  font-size:16px !important;
  line-height:1.12 !important;
  font-weight:850 !important;
  color:rgba(11,13,11,.62) !important;
}

.stats--final .progress,
.stats--final small{
  display:none !important;
}

@media (max-width:900px){
  .stats--final{
    grid-template-columns:1fr 1fr !important;
    max-width:none !important;
  }

  .stats--final .stat--final{
    min-height:112px !important;
    padding:20px 18px !important;
  }

  .stats--final .stat--final b{
    font-size:40px !important;
  }

  .stats--final .stat--final span{
    font-size:15px !important;
  }
}

/* PROGRAM TITLE GAP */
.programTitle span{
  display:block;
  height:.18em;
}

/* QR SCANNER ANIMATION */
.qrModal__qrWrap{
  position:relative !important;
  overflow:hidden !important;
}

.qrModal__scan{
  position:absolute;
  left:18px;
  right:18px;
  top:18px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, #1b49ff, #c7ff2e, transparent);
  box-shadow:0 0 18px rgba(27,73,255,.55), 0 0 22px rgba(199,255,46,.45);
  animation:qrScanMove 2.4s ease-in-out infinite;
  pointer-events:none;
}

@keyframes qrScanMove{
  0%{ transform:translateY(0); opacity:.05; }
  12%{ opacity:1; }
  88%{ opacity:1; }
  100%{ transform:translateY(268px); opacity:.05; }
}

/* MINI GAME BLOCK */
.gameBlock{
  margin:0 0 64px;
  border-radius:34px;
  padding:24px;
  background:
    radial-gradient(circle at 100% 100%, rgba(199,255,46,.52), transparent 42%),
    #0b0d0b;
  color:#fff;
  box-shadow:0 28px 80px rgba(0,0,0,.16);
  overflow:hidden;
}

.gameBlock__inner{
  display:grid;
  gap:14px;
}

.gameBlock h2{
  margin:0;
  font-size:clamp(42px, 10vw, 78px);
  line-height:.88;
  letter-spacing:-.07em;
}

.gameBlock p:not(.tag){
  margin:0;
  color:rgba(255,255,255,.72);
  font-weight:800;
  line-height:1.25;
  font-size:18px;
}

.gameStartBtn{
  margin-top:6px;
  width:100%;
}

/* GAME MODAL */
.game-open{
  overflow:hidden;
}

.gameModal{
  position:fixed;
  inset:0;
  z-index:2400;
  display:grid;
  place-items:center;
  padding:16px;
  background:rgba(11,13,11,.62);
  backdrop-filter:blur(16px);
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}

.gameModal.is-open{
  opacity:1;
  pointer-events:auto;
}

.gameModal__shell{
  position:relative;
  width:min(430px, 100%);
  height:min(720px, calc(100vh - 32px));
  border-radius:38px;
  background:
    radial-gradient(circle at 70% 18%, rgba(199,255,46,.42), transparent 34%),
    linear-gradient(180deg, #f8fff1, #eef5e9);
  box-shadow:0 34px 110px rgba(0,0,0,.34);
  border:1px solid rgba(255,255,255,.72);
  overflow:hidden;
  transform:translate3d(0, 18px, 0) scale(.96);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}

.gameModal.is-open .gameModal__shell{
  transform:translate3d(0,0,0) scale(1);
}

.gameModal__close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:5;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:#0b0d0b;
  color:#fff;
  font-size:30px;
  line-height:1;
}

.gameIntro,
.gameResult{
  height:100%;
  padding:34px 26px;
  display:grid;
  align-content:center;
  gap:16px;
  text-align:left;
}

.gameIntro h2,
.gameResult h2{
  margin:0;
  max-width:330px;
  font-size:clamp(48px, 13vw, 78px);
  line-height:.86;
  letter-spacing:-.075em;
}

.gameIntro p:not(.tag),
.gameResult p:not(.tag){
  margin:0;
  color:rgba(11,13,11,.62);
  font-size:19px;
  font-weight:850;
  line-height:1.22;
}

.gameStage{
  display:none;
  height:100%;
  padding:18px;
}

.gameHud{
  position:relative;
  z-index:3;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(11,13,11,.08);
  font-weight:950;
  font-size:18px;
  box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.gameArea{
  position:relative;
  height:calc(100% - 68px);
  margin-top:12px;
  border-radius:30px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 40%, rgba(199,255,46,.28), transparent 38%),
    rgba(255,255,255,.42);
  border:1px solid rgba(11,13,11,.08);
}

.badCard{
  position:absolute;
  min-width:126px;
  min-height:54px;
  padding:12px 16px;
  border:0;
  border-radius:20px;
  background:#0b0d0b;
  color:#fff;
  font-size:17px;
  font-weight:950;
  letter-spacing:-.03em;
  box-shadow:0 16px 45px rgba(0,0,0,.18);
  opacity:0;
  transition:opacity .18s ease, transform .2s cubic-bezier(.2,.8,.2,1), filter .2s ease;
  touch-action:manipulation;
}

.badCard.is-in{
  opacity:1;
}

.badCard.is-old{
  filter:brightness(.9);
}

.badCard.is-pop{
  opacity:0;
  transform:scale(.45) rotate(12deg) !important;
}

.gameBit{
  position:absolute;
  z-index:4;
  width:9px;
  height:15px;
  border-radius:3px;
  animation:gameBitPop .7s ease-out forwards;
  pointer-events:none;
}

@keyframes gameBitPop{
  from{
    opacity:1;
    transform:translate3d(0,0,0) rotate(0);
  }
  to{
    opacity:0;
    transform:translate3d(var(--x), var(--y), 0) rotate(var(--r));
  }
}

@media (max-width:900px){
  .gameBlock{
    margin-bottom:58px;
  }

  .gameModal{
    align-items:end;
    padding:10px;
    padding-bottom:calc(10px + env(safe-area-inset-bottom));
  }

  .gameModal__shell{
    width:100%;
    height:min(680px, calc(100vh - 20px));
    border-radius:34px;
  }
}

/* HERO GAME BUTTON POLISH */
#gameStartBtn{
  cursor:pointer;
}

.hero__actions #gameStartBtn{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(11,13,11,.12);
  color:#0b0d0b;
}

.hero__actions #gameStartBtn:active{
  transform:scale(.985);
}

/* MINI GAME UX POLISH */
.gameModal{
  align-items:end !important;
  place-items:end center !important;
  padding:12px !important;
  padding-bottom:calc(12px + env(safe-area-inset-bottom)) !important;
}

.gameModal__shell{
  height:min(650px, calc(100vh - 34px)) !important;
  border-radius:36px !important;
  transform:translate3d(0, 34px, 0) scale(.98) !important;
}

.gameModal.is-open .gameModal__shell{
  transform:translate3d(0,0,0) scale(1) !important;
}

.gameIntro,
.gameResult{
  align-content:end !important;
  padding:34px 26px 38px !important;
  gap:16px !important;
}

.gameIntro::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 74% 18%, rgba(199,255,46,.52), transparent 30%),
    radial-gradient(circle at 12% 9%, rgba(27,73,255,.12), transparent 28%);
  pointer-events:none;
}

.gameIntro > *,
.gameResult > *{
  position:relative;
  z-index:1;
}

.gameIntro h2,
.gameResult h2{
  font-size:clamp(52px, 14vw, 82px) !important;
  line-height:.84 !important;
}

.gameIntro p:not(.tag),
.gameResult p:not(.tag){
  max-width:330px !important;
  font-size:18px !important;
  line-height:1.18 !important;
}

.gameStage{
  padding:16px !important;
}

.gameHud{
  height:54px !important;
}

.gameProgress{
  height:8px;
  margin:10px 6px 12px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(11,13,11,.11);
}

.gameProgress i{
  display:block;
  width:0%;
  height:100%;
  border-radius:999px;
  background:#c7ff2e;
  box-shadow:0 0 18px rgba(199,255,46,.75);
  transition:width .22s ease;
}

.gameArea{
  height:calc(100% - 86px) !important;
}

.badCard{
  min-width:138px !important;
  min-height:58px !important;
  font-size:18px !important;
  border-radius:22px !important;
  transition:
    opacity .22s ease,
    transform .26s cubic-bezier(.2,.8,.2,1),
    filter .2s ease !important;
}

.badCard::after{
  content:"тап";
  position:absolute;
  right:10px;
  top:-9px;
  padding:4px 8px;
  border-radius:999px;
  background:#c7ff2e;
  color:#0b0d0b;
  font-size:11px;
  font-weight:950;
  opacity:.92;
}

.badCard.is-pop::after{
  opacity:0;
}

@media (max-width:900px){
  .gameModal__shell{
    width:100% !important;
    height:min(640px, calc(100vh - 24px)) !important;
    border-radius:34px !important;
  }

  .gameIntro,
  .gameResult{
    padding:32px 24px 36px !important;
  }
}

/* HYPER LOOP GAME POLISH */
.gameHud{
  grid-template-columns:1fr auto 1fr !important;
  display:grid !important;
}

#gameCombo{
  padding:7px 12px;
  border-radius:999px;
  background:#0b0d0b;
  color:#c7ff2e;
  font-weight:950;
  box-shadow:0 0 0 1px rgba(199,255,46,.18);
}

.gameModal.is-fever .gameModal__shell{
  background:
    radial-gradient(circle at 50% 18%, rgba(199,255,46,.76), transparent 34%),
    radial-gradient(circle at 100% 70%, rgba(27,73,255,.18), transparent 28%),
    linear-gradient(180deg, #f8fff1, #eef5e9) !important;
}

.gameModal.is-fever .gameArea{
  box-shadow:inset 0 0 0 2px rgba(199,255,46,.45), 0 0 55px rgba(199,255,46,.22);
}

.badCard--bonus{
  background:#c7ff2e !important;
  color:#0b0d0b !important;
  box-shadow:0 18px 48px rgba(199,255,46,.28) !important;
}

.badCard--heavy{
  background:#1b49ff !important;
  color:#fff !important;
}

.badCard--bonus::after{
  content:"бонус" !important;
  background:#0b0d0b !important;
  color:#fff !important;
}

.badCard--heavy::after{
  content:"x2" !important;
  background:#fff !important;
  color:#1b49ff !important;
}

.floatPoints{
  position:absolute;
  z-index:8;
  transform:translate(-50%, -10px);
  color:#c7ff2e;
  -webkit-text-stroke:1px rgba(11,13,11,.25);
  font-size:28px;
  font-weight:950;
  letter-spacing:-.06em;
  pointer-events:none;
  animation:floatPointsUp .76s ease-out forwards;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.18));
}

@keyframes floatPointsUp{
  0%{
    opacity:0;
    transform:translate(-50%, 6px) scale(.85);
  }
  18%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:translate(-50%, -58px) scale(1.08);
  }
}

/* FREE MODE GAME POLISH */
.gameProgress{
  background:rgba(11,13,11,.10) !important;
}

.gameProgress::before{
  content:"очки порядка";
  position:absolute;
  transform:translateY(-22px);
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(11,13,11,.45);
}

.gameHud span:first-child::after{
  content:" очков";
  font-size:12px;
  margin-left:4px;
  color:rgba(11,13,11,.55);
}

/* CLASS LEADERBOARD */
.leaderboardBlock{
  margin:0 0 72px;
  padding:24px;
  border-radius:34px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(11,13,11,.10);
  box-shadow:0 22px 70px rgba(0,0,0,.08);
}

.leaderboardBlock__head{
  display:grid;
  gap:8px;
  margin-bottom:18px;
}

.leaderboardBlock__head h2{
  margin:0;
  font-size:clamp(42px, 10vw, 68px);
  line-height:.88;
  letter-spacing:-.07em;
}

.leaderboardBlock__head span{
  color:rgba(11,13,11,.58);
  font-weight:850;
}

.leaderboardList{
  display:grid;
  gap:10px;
}

.leaderRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px;
  border-radius:22px;
  background:#0b0d0b;
  color:#fff;
}

.leaderRow div{
  display:flex;
  align-items:center;
  gap:10px;
}

.leaderRow b{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:#c7ff2e;
  color:#0b0d0b;
  font-weight:950;
}

.leaderRow strong{
  font-size:20px;
  letter-spacing:-.04em;
}

.leaderRow span{
  color:#c7ff2e;
  font-weight:950;
  white-space:nowrap;
}

.leaderEmpty{
  padding:18px;
  border-radius:22px;
  background:#0b0d0b;
  color:#fff;
}

.leaderEmpty b{
  display:block;
  font-size:22px;
  margin-bottom:5px;
}

.leaderEmpty span{
  color:rgba(255,255,255,.68);
  font-weight:800;
}

/* SCORE SUBMIT IN GAME */
.scoreSubmit{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:24px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(11,13,11,.08);
}

.scoreSubmit label{
  margin:0;
}

.scoreSubmit input{
  background:#fff;
  text-transform:uppercase;
  text-align:center;
  font-weight:950;
  font-size:20px;
}

.scoreSubmit small{
  display:block;
  min-height:18px;
  text-align:center;
  color:rgba(11,13,11,.65);
  font-weight:850;
}

#gameSaveScoreBtn:disabled{
  opacity:.72;
  cursor:default;
}

@media (max-width:900px){
  .leaderboardBlock{
    margin-bottom:58px;
    padding:22px;
  }

  .leaderRow{
    padding:13px;
  }

  .leaderRow strong{
    font-size:19px;
  }

  .leaderRow span{
    font-size:14px;
  }
}

/* GAME AS PRIMARY CTA */
.btn--gamePrimary{
  position:relative;
  overflow:hidden;
}

.btn--gamePrimary::after{
  content:"";
  position:absolute;
  inset:-1px;
  background:linear-gradient(115deg, transparent 0%, rgba(199,255,46,.0) 36%, rgba(199,255,46,.35) 50%, rgba(199,255,46,.0) 64%, transparent 100%);
  transform:translateX(-120%);
  animation:gamePrimaryShine 3.2s ease-in-out infinite;
  pointer-events:none;
}

@keyframes gamePrimaryShine{
  0%, 35%{ transform:translateX(-120%); }
  70%, 100%{ transform:translateX(120%); }
}

.mobileDock__btn{
  border:0;
  cursor:pointer;
  font:inherit;
}

.mobileDock__btn--game{
  background:#0b0d0b !important;
  color:#c7ff2e !important;
  box-shadow:0 22px 55px rgba(0,0,0,.28), 0 0 0 1px rgba(199,255,46,.28) !important;
}

/* FIRST GAME PROMPT */
.first-game-open{
  overflow:hidden;
}

.firstGamePrompt{
  position:fixed;
  inset:0;
  z-index:2300;
  display:grid;
  align-items:end;
  padding:16px;
  padding-bottom:calc(16px + env(safe-area-inset-bottom));
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}

.firstGamePrompt.is-open{
  opacity:1;
  pointer-events:auto;
}

.firstGamePrompt__backdrop{
  position:absolute;
  inset:0;
  background:rgba(11,13,11,.48);
  backdrop-filter:blur(16px);
}

.firstGamePrompt__card{
  position:relative;
  z-index:1;
  width:min(430px, 100%);
  margin:0 auto;
  padding:26px;
  border-radius:34px;
  background:
    radial-gradient(circle at 88% 12%, rgba(199,255,46,.52), transparent 32%),
    rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 30px 100px rgba(0,0,0,.28);
  transform:translate3d(0, 28px, 0) scale(.98);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}

.firstGamePrompt.is-open .firstGamePrompt__card{
  transform:translate3d(0,0,0) scale(1);
}

.firstGamePrompt__card h2{
  margin:8px 0 10px;
  font-size:clamp(44px, 13vw, 70px);
  line-height:.86;
  letter-spacing:-.075em;
}

.firstGamePrompt__card p:not(.tag){
  margin:0 0 18px;
  color:rgba(11,13,11,.64);
  font-weight:850;
  font-size:18px;
  line-height:1.18;
}

.firstGamePrompt__card .btn{
  width:100%;
}

.firstGamePrompt__skip{
  display:block;
  width:100%;
  margin-top:12px;
  border:0;
  background:transparent;
  color:rgba(11,13,11,.55);
  font-weight:850;
  padding:10px;
  cursor:pointer;
}

/* GAME SAVE STATUS STRONGER */
#gameSaveStatus{
  line-height:1.25 !important;
}

#gameShowQrBtn{
  background:#0b0d0b !important;
  color:#fff !important;
  border-color:rgba(11,13,11,.12) !important;
}

/* GAME AS PRIMARY CTA */
.btn--gamePrimary{
  position:relative;
  overflow:hidden;
}

.btn--gamePrimary::after{
  content:"";
  position:absolute;
  inset:-1px;
  background:linear-gradient(115deg, transparent 0%, rgba(199,255,46,.0) 36%, rgba(199,255,46,.35) 50%, rgba(199,255,46,.0) 64%, transparent 100%);
  transform:translateX(-120%);
  animation:gamePrimaryShine 3.2s ease-in-out infinite;
  pointer-events:none;
}

@keyframes gamePrimaryShine{
  0%, 35%{ transform:translateX(-120%); }
  70%, 100%{ transform:translateX(120%); }
}

.mobileDock__btn{
  border:0;
  cursor:pointer;
  font:inherit;
}

.mobileDock__btn--game{
  background:#0b0d0b !important;
  color:#c7ff2e !important;
  box-shadow:0 22px 55px rgba(0,0,0,.28), 0 0 0 1px rgba(199,255,46,.28) !important;
}

/* FIRST GAME PROMPT */
.first-game-open{
  overflow:hidden;
}

.firstGamePrompt{
  position:fixed;
  inset:0;
  z-index:2300;
  display:grid;
  align-items:end;
  padding:16px;
  padding-bottom:calc(16px + env(safe-area-inset-bottom));
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}

.firstGamePrompt.is-open{
  opacity:1;
  pointer-events:auto;
}

.firstGamePrompt__backdrop{
  position:absolute;
  inset:0;
  background:rgba(11,13,11,.48);
  backdrop-filter:blur(16px);
}

.firstGamePrompt__card{
  position:relative;
  z-index:1;
  width:min(430px, 100%);
  margin:0 auto;
  padding:26px;
  border-radius:34px;
  background:
    radial-gradient(circle at 88% 12%, rgba(199,255,46,.52), transparent 32%),
    rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 30px 100px rgba(0,0,0,.28);
  transform:translate3d(0, 28px, 0) scale(.98);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}

.firstGamePrompt.is-open .firstGamePrompt__card{
  transform:translate3d(0,0,0) scale(1);
}

.firstGamePrompt__card h2{
  margin:8px 0 10px;
  font-size:clamp(44px, 13vw, 70px);
  line-height:.86;
  letter-spacing:-.075em;
}

.firstGamePrompt__card p:not(.tag){
  margin:0 0 18px;
  color:rgba(11,13,11,.64);
  font-weight:850;
  font-size:18px;
  line-height:1.18;
}

.firstGamePrompt__card .btn{
  width:100%;
}

.firstGamePrompt__skip{
  display:block;
  width:100%;
  margin-top:12px;
  border:0;
  background:transparent;
  color:rgba(11,13,11,.55);
  font-weight:850;
  padding:10px;
  cursor:pointer;
}

/* GAME SAVE STATUS STRONGER */
#gameSaveStatus{
  line-height:1.25 !important;
}

#gameShowQrBtn{
  background:#0b0d0b !important;
  color:#fff !important;
  border-color:rgba(11,13,11,.12) !important;
}


/* FIX GAME BUTTONS BACK TO PREMIUM PRIMARY STYLE */
.hero__actions #gameStartBtn,
#firstGamePlayBtn,
#gamePlayBtn,
#gameSaveScoreBtn{
  background:#0b0d0b !important;
  color:#fff !important;
  border:1px solid rgba(11,13,11,.12) !important;
  box-shadow:0 16px 35px rgba(0,0,0,.18) !important;
}

.hero__actions #gameStartBtn::after{
  display:none !important;
}

.mobileDock__btn{
  background:#0b0d0b !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 22px 55px rgba(0,0,0,.26) !important;
}

#gameShowQrBtn{
  background:#0b0d0b !important;
  color:#fff !important;
}

.firstGamePrompt__card .btn,
.gameIntro .btn,
.gameResult .btn,
.scoreSubmit .btn{
  border-radius:999px !important;
}
