:root{
  --green:#123d29;--green-deep:#0d3121;--green-card:#17492f;
  --gold:#f2b96a;--gold-lo:#eaa451;--gold-hi:#f8d29a;--cream:#fbf4e6;--cream-dim:#e7ddc7b3;--radius:18px;
  /* 3D depth system (used cohesively across every panel/button/pill) */
  --shadow-1: 0 1px 0 #ffffff10 inset, 0 -8px 20px #06180f45 inset, 0 14px 30px #06180f55, 0 4px 8px #06180f40;
  --shadow-2: 0 1px 0 #ffffff18 inset, 0 -12px 24px #06180f55 inset, 0 22px 44px #06180f66, 0 8px 14px #06180f50;
  --shadow-btn: 0 1px 0 #ffffff88 inset, 0 -3px 0 #8f5f1a inset, 0 8px 22px #7a4c1855, 0 2px 6px #06180f30;
  --shadow-btn-press: 0 1px 0 #ffffff55 inset, 0 -1px 0 #8f5f1a inset, 0 3px 8px #06180f35;
  --shine: linear-gradient(180deg, #ffffff35 0%, #ffffff08 30%, transparent 55%);
  --glass: linear-gradient(180deg, #ffffff10, #ffffff00 60%);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Jost',system-ui,sans-serif;color:var(--cream);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  background:radial-gradient(120% 70% at 50% -8%,#1c5638 0%,var(--green) 42%,var(--green-deep) 100%) fixed;min-height:100vh}
.sparkles{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.sparkle{position:absolute;font-size:18px;opacity:.16;animation:float linear infinite}
@keyframes float{0%{transform:translateY(110vh) rotate(0)}100%{transform:translateY(-12vh) rotate(360deg)}}
.wrap{position:relative;z-index:1;max-width:540px;margin:0 auto;padding:30px 20px 48px;text-align:center}

.brand{font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:.04em;font-size:clamp(30px,8vw,44px);line-height:1;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold) 55%,var(--gold-lo));-webkit-background-clip:text;background-clip:text;color:transparent}
.tagline{margin-top:8px;font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--cream-dim);padding-left:.42em}
.badge{display:inline-block;margin:26px 0 14px;padding:7px 16px;border-radius:999px;font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:#3a2409;background:linear-gradient(180deg,var(--gold-hi),var(--gold));animation:wobble 3.4s ease-in-out infinite}
@keyframes wobble{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
h1{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:clamp(28px,7.4vw,40px);line-height:1.12;color:var(--cream)}
.sub{margin:14px auto 0;max-width:420px;color:var(--cream-dim);font-size:15.5px}

.price{margin:26px auto 4px;display:flex;align-items:center;justify-content:center;gap:16px}
.price .was{font-size:22px;color:#cbb98f;text-decoration:line-through;text-decoration-color:#e0632f}
.price .arrow{color:var(--gold);font-size:20px}
.price .now{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:clamp(46px,13vw,66px);line-height:1;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold-lo));-webkit-background-clip:text;background-clip:text;color:transparent}
.save{display:inline-block;margin-top:8px;font-weight:600;font-size:13px;color:#0d3121;background:var(--gold);padding:5px 14px;border-radius:999px}

.urgency{margin:26px 0 6px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.chip{display:flex;align-items:center;gap:9px;background:#0d312166;border:1px solid #f2b96a2e;border-radius:14px;padding:12px 16px}
.dot{width:9px;height:9px;border-radius:50%;background:#ff7a59;animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 #ff7a5977}70%{box-shadow:0 0 0 10px #ff7a5900}100%{box-shadow:0 0 0 0 #ff7a5900}}
.chip b{color:var(--gold);font-weight:600}
.chip small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--cream-dim)}
.count{display:flex;gap:6px}
.u{min-width:42px;background:linear-gradient(180deg,#1c5638,#123d29);border:1px solid #f2b96a2e;border-radius:10px;padding:6px 4px}
.n{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:20px;color:var(--cream);line-height:1}
.l{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-dim)}

.card{margin:28px 0 0;background:linear-gradient(180deg,#18492fcc,#123d29cc);border:1px solid #f2b96a33;border-radius:var(--radius);padding:24px 20px 22px;text-align:left}
.card h3{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:19px;color:var(--cream);text-align:center;margin-bottom:4px}
.card .hint{text-align:center;color:var(--cream-dim);font-size:13px;margin-bottom:18px}
label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0 0 6px 2px}
.field{margin-bottom:14px}
input{width:100%;font-family:inherit;font-size:16px;color:var(--cream);background:#0d3121;border:1px solid #ffffff1a;border-radius:12px;padding:14px 15px;outline:none;transition:border-color .15s,box-shadow .15s}
input::placeholder{color:#b9c8bd80}
input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #f2b96a2b}
.phone{display:flex;gap:8px}
.phone .cc{display:flex;align-items:center;padding:0 13px;background:#0d3121;border:1px solid #ffffff1a;border-radius:12px;color:var(--cream-dim);font-size:15px}

.btn{width:100%;font-family:inherit;font-weight:600;font-size:16.5px;cursor:pointer;border:none;color:#3a2409;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold) 60%,var(--gold-lo));padding:15px;border-radius:12px;margin-top:4px;transition:transform .12s,filter .15s}
.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.btn:active{transform:translateY(0) scale(.99)}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;filter:grayscale(.2)}
.err{color:#ffb59c;font-size:13px;margin:2px 2px 10px;display:none}
.err.show{display:block}
.num{color:var(--gold);font-weight:600}

.otp-row{display:flex;gap:8px;justify-content:space-between;margin-bottom:6px}
.otp-row input{text-align:center;font-family:'Fraunces',Georgia,serif;font-size:22px;padding:12px 0}
.resend{text-align:center;font-size:13px;color:var(--cream-dim);margin:12px 0 2px}
.resend button{background:none;border:none;color:var(--gold);font-family:inherit;font-size:13px;cursor:pointer;text-decoration:underline}
.resend button[disabled]{color:#8fa393;cursor:default;text-decoration:none}

.step{display:none}.step.active{display:block;animation:rise .35s ease}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.closed{text-align:center;padding:8px 0}
.success{text-align:center}
.tick{width:64px;height:64px;margin:2px auto 12px;border-radius:50%;background:linear-gradient(180deg,var(--gold-hi),var(--gold-lo));display:flex;align-items:center;justify-content:center;font-size:34px;color:#123d29;animation:pop .4s ease}
@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
.vcode{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:26px;letter-spacing:.06em;color:var(--gold);background:#0d3121;border:1px dashed var(--gold);border-radius:12px;padding:12px;margin:12px 0;text-align:center}
.success p{color:var(--cream-dim);font-size:14.5px}

.trust{margin-top:20px;font-size:12px;color:#b9c8bd99}
.trust b{color:var(--gold)}
footer{margin-top:26px;font-size:12px;color:#9fb2a4aa;line-height:1.9}
footer a{color:var(--gold);text-decoration:none}
canvas#confetti{position:fixed;inset:0;pointer-events:none;z-index:5}

/* Ensure the [hidden] attribute always wins over display rules below. */
[hidden]{display:none!important}

/* Shout-to-win game */
.mic-btn{width:110px;height:110px;border-radius:50%;border:none;cursor:pointer;font-size:46px;color:#3a2409;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold-lo));margin:8px auto 0;display:block;
  box-shadow:0 0 0 0 #f2b96a66;animation:micpulse 1.6s infinite}
.mic-btn:active{transform:scale(.96)}
@keyframes micpulse{0%{box-shadow:0 0 0 0 #f2b96a55}70%{box-shadow:0 0 0 20px #f2b96a00}100%{box-shadow:0 0 0 0 #f2b96a00}}
.shout-word{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:clamp(34px,11vw,52px);letter-spacing:.06em;text-align:center;
  color:var(--gold);margin:6px 0 14px;animation:shoutpop .5s ease}
@keyframes shoutpop{0%{transform:scale(.7);opacity:0}100%{transform:scale(1);opacity:1}}
.meter{position:relative;height:26px;border-radius:999px;background:#0d3121;border:1px solid #ffffff1a;overflow:hidden}
.meter-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:999px;
  background:linear-gradient(90deg,#7bd88f,var(--gold) 65%,#ff7a59);transition:width .06s linear}
.meter-target{position:absolute;top:-4px;bottom:-4px;width:3px;background:var(--cream);left:55%;box-shadow:0 0 6px #fff8}
.shout-status{text-align:center;font-weight:600;color:var(--gold);margin-top:12px;font-size:15px;min-height:20px}
.linklike{display:block;margin:14px auto 0;background:none;border:none;color:var(--cream-dim);font-family:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.jackpot-note{margin:6px auto 10px;display:inline-block;padding:8px 16px;border-radius:999px;font-weight:700;letter-spacing:.02em;
  color:#3a2409;background:linear-gradient(180deg,var(--gold-hi),var(--gold-lo));box-shadow:0 6px 20px #f2b96a55;animation:shoutpop .5s ease}
.meter-loud{background:#ff7a59;box-shadow:0 0 6px #ff7a5988}
.meter-legend{display:flex;justify-content:space-between;font-size:11px;color:var(--cream-dim);margin-top:6px;padding:0 2px}
.meter-legend span:last-child{color:var(--gold);font-weight:600}
.btn-ghost{background:transparent!important;color:var(--cream)!important;border:1px solid #f2b96a55!important;box-shadow:none!important;margin-top:8px}

/* Retry / referral upsell */
.retry-box{margin-top:18px;padding:16px;border:1px solid #f2b96a44;border-radius:14px;background:#0d312166;text-align:center}
.retry-box h4{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:18px;color:var(--gold);margin:0 0 6px}
.retry-prog{font-weight:600;color:var(--cream);margin:10px 0;font-size:15px}
.retry-prog b{color:var(--gold)}

.my-code{font-size:14px;color:var(--cream-dim);margin:2px 0 8px}
.my-code b{font-family:'Fraunces',Georgia,serif;font-size:22px;letter-spacing:.16em;color:var(--gold);background:#0d3121;border:1px dashed var(--gold);border-radius:10px;padding:4px 14px;display:inline-block;margin-top:5px}

/* --- Mobile typography + readability polish --- */
.wrap{padding-top:max(28px, env(safe-area-inset-top, 28px));padding-bottom:calc(48px + env(safe-area-inset-bottom, 0px))}
.tagline{font-size:12px;letter-spacing:.34em;padding-left:.34em}
.sub{font-size:16px;line-height:1.5}
.card{padding:26px 22px 24px}
.card h3{font-size:21px;margin-bottom:6px}
.card .hint{font-size:14.5px;line-height:1.55;margin-bottom:18px}
label{font-size:12.5px;margin-bottom:7px}
.opt{color:#b9c8bd66;text-transform:none;letter-spacing:0;font-weight:400}
input{font-size:16.5px;padding:15px 15px}
.btn{font-size:17px;padding:16px}
#refcode{letter-spacing:.12em}
.shout-word{margin:8px 0 16px}
.meter{height:30px}
.shout-status{font-size:16.5px;min-height:24px;margin-top:14px}
.jackpot-hint{text-align:center;display:block;margin:-4px auto 16px;font-size:13.5px;color:var(--gold);
  background:#f2b96a1a;border:1px solid #f2b96a3a;border-radius:999px;padding:8px 14px}
.jackpot-hint b{color:var(--gold-hi)}
.vcode{font-size:28px;letter-spacing:.08em;padding:14px}
.success p{font-size:15px;line-height:1.55}
footer{font-size:12px;line-height:1.7;padding:0 8px;max-width:460px;margin-left:auto;margin-right:auto}
.trust{font-size:12.5px;line-height:1.6;padding:0 8px}
@media (max-width:380px){
  .wrap{padding-left:16px;padding-right:16px}
  .card{padding:22px 18px 20px}
  .urgency{gap:10px}
  .u{min-width:38px}
}

/* Legal modal */
.legal-modal{position:fixed;inset:0;z-index:20;background:#06180fcc;display:flex;align-items:center;justify-content:center;padding:20px}
.legal-card{position:relative;background:#17492f;border:1px solid #f2b96a44;border-radius:16px;max-width:520px;width:100%;max-height:80vh;overflow:auto;padding:26px 22px;color:var(--cream);text-align:left;font-size:14px;line-height:1.6}
.legal-card a{color:var(--gold)}
.legal-close{position:absolute;top:10px;right:14px;background:none;border:none;color:var(--cream-dim);font-size:26px;line-height:1;cursor:pointer}

/* Instagram-tag bonus popup */
.ig-modal{position:fixed;inset:0;z-index:22;background:#06180fd0;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.ig-card{position:relative;background:linear-gradient(180deg,#17492f,#123d29);border:1px solid #f2b96a55;border-radius:18px;max-width:420px;width:100%;padding:26px 22px 22px;color:var(--cream);text-align:center;box-shadow:0 20px 60px #06180f99;animation:shoutpop .35s ease}
.ig-close{position:absolute;top:8px;right:12px;background:none;border:none;color:var(--cream-dim);font-size:26px;line-height:1;cursor:pointer}
.ig-badge{display:inline-block;padding:5px 14px;border-radius:999px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#3a2409;background:linear-gradient(180deg,var(--gold-hi),var(--gold));margin-bottom:10px}
.ig-badge b{font-weight:700}
.ig-card h3{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:22px;color:var(--gold);margin:2px 0 10px}
.ig-card .hint{color:var(--cream);font-size:14.5px;line-height:1.55;margin-bottom:12px}
.ig-note{color:var(--cream-dim);font-size:13px;margin:10px 0 16px}
.ig-thanks{color:var(--gold);font-weight:600;margin-top:12px}

/* =========== Percentage hero + meter + win screen (v3) =========== */
.price.percent-hero{flex-direction:column;gap:6px;margin-top:20px}
.mrp{display:flex;gap:8px;align-items:baseline;justify-content:center}
.mrp-label{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--cream-dim)}
.mrp-strike{font-size:20px;color:#cbb98f;text-decoration:line-through;text-decoration-color:#e0632f}
.pct-big{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-top:2px;
  filter:drop-shadow(0 2px 0 #8f5f1a) drop-shadow(0 12px 22px #7a4c1a70)}
.pct-big .pct-up{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:clamp(18px,4.5vw,22px);color:var(--cream)}
.pct-big .pct-num{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:clamp(60px,17vw,88px);line-height:1;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold-lo));-webkit-background-clip:text;background-clip:text;color:transparent}
.pct-big .pct-sign{font-size:.55em;margin-left:2px}
.pct-big .pct-off{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:clamp(22px,6vw,32px);color:var(--gold);letter-spacing:.05em}

/* Live percentage meter (shout screen) */
.pct-meter{margin-top:8px}
.pct-display{text-align:center;font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:clamp(48px,15vw,74px);line-height:1;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold-lo));-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 0 #8f5f1a) drop-shadow(0 8px 16px #7a4c1a70);
  margin-bottom:8px;transition:transform .08s ease-out}
.pct-display .pct-sm{font-size:.32em;color:var(--gold);letter-spacing:.08em;-webkit-background-clip:initial;background-clip:initial;background:none;filter:none}
.pct-meter .meter{height:34px;position:relative;overflow:hidden}
.meter-ticks{position:absolute;inset:0;pointer-events:none}
.tick-mark{position:absolute;top:6px;bottom:6px;width:2px;background:#ffffff35;border-radius:2px}
.meter-legend{display:flex;justify-content:space-between;font-size:11px;color:var(--cream-dim);margin-top:6px;padding:0 2px}
.meter-legend span:last-child{color:var(--gold);font-weight:600}
.meter-legend span:nth-child(2){color:var(--cream);font-weight:600}

/* Pulse when the meter is near max */
#meterWrap.is-max .meter-fill{animation:meterFlash .35s ease-in-out infinite alternate}
@keyframes meterFlash{
  from{filter:brightness(1) drop-shadow(0 0 0 transparent)}
  to{filter:brightness(1.25) drop-shadow(0 0 18px #ff7a59cc)}
}

/* Win screen: big % + line copy */
.win-pct{text-align:center;font-family:'Fraunces',Georgia,serif;font-weight:700;line-height:1;margin:10px 0 6px;
  font-size:clamp(58px,18vw,84px);
  background:linear-gradient(180deg,var(--gold-hi),var(--gold-lo));-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 0 #8f5f1a) drop-shadow(0 10px 20px #7a4c1a70)}
.win-pct .win-pct-sm{font-size:.32em;color:var(--gold);letter-spacing:.08em;-webkit-background-clip:initial;background-clip:initial;background:none;filter:none;margin-left:6px}
.win-line{color:var(--cream);font-size:15px;margin:4px 0 10px}
.win-line s{color:var(--cream-dim);text-decoration-color:#e0632f}
.win-line b.num{color:var(--gold)}

/* ============================================================
 * 3D / dimensional pass (v2) — coordinated depth on every element.
 * Same brand, same layout — just deeper light, glass, bevel, shine.
 * ============================================================ */

/* Backdrop: layered radial light + soft green vignette + a subtle grain */
body{
  background:
    radial-gradient(60% 40% at 22% 8%, #2d704b6a 0%, transparent 60%),
    radial-gradient(45% 35% at 82% 14%, #f2b96a20 0%, transparent 60%),
    radial-gradient(120% 70% at 50% -8%, #1c5638 0%, var(--green) 42%, var(--green-deep) 100%) fixed;
}
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(75% 45% at 50% 105%, #06180fbb, transparent 60%),
    repeating-linear-gradient(0deg, #ffffff05 0 1px, transparent 1px 3px);
  mix-blend-mode:overlay;opacity:.35;
}

/* Wordmark: subtle emboss so the gold reads as engraved metal */
.brand{
  filter:drop-shadow(0 1px 0 #ffffff35) drop-shadow(0 3px 6px #06180f80);
  text-shadow:0 1px 0 #ffffff20;
}
.tagline{text-shadow:0 1px 0 #06180f80}

/* Flash Contest badge -> glossy gold pill with bevel + shine */
.badge{
  background:
    linear-gradient(180deg, #ffffff70, transparent 40%),
    linear-gradient(180deg, var(--gold-hi), var(--gold) 55%, var(--gold-lo));
  box-shadow:
    0 1px 0 #ffffffaa inset, 0 -2px 0 #8f5f1a inset,
    0 10px 22px #7a4c1866, 0 2px 6px #06180f40;
  text-shadow:0 1px 0 #ffffff40;
}

/* Hero headline: layered depth */
h1{
  text-shadow:
    0 1px 0 #ffffff10,
    0 2px 0 #06180f55,
    0 8px 22px #06180f88;
}
.sub{text-shadow:0 1px 2px #06180f55}

/* Price stack — the money is the hero */
.price .now{
  filter:drop-shadow(0 2px 0 #8f5f1a) drop-shadow(0 10px 18px #7a4c1a70);
}
.price .was{
  text-shadow:0 1px 0 #06180f;
}
.price .arrow{filter:drop-shadow(0 2px 4px #06180f80)}
.save{
  background:
    linear-gradient(180deg, #ffffff88, transparent 45%),
    linear-gradient(180deg, var(--gold-hi), var(--gold));
  box-shadow:
    0 1px 0 #ffffffaa inset, 0 -2px 0 #8f5f1a inset,
    0 8px 18px #7a4c1a55, 0 2px 4px #06180f30;
  text-shadow:0 1px 0 #ffffff55;
}

/* Chips (slots + countdown) become glass tiles */
.chip{
  background:
    linear-gradient(180deg, #ffffff10, #ffffff02 40%, #06180f30),
    #0d312188;
  border:1px solid #f2b96a3a;
  box-shadow:
    0 1px 0 #ffffff18 inset,
    0 -10px 20px #06180f66 inset,
    0 10px 26px #06180f55,
    0 3px 6px #06180f40;
  backdrop-filter:blur(6px);
}
.u{
  background:
    linear-gradient(180deg, #ffffff10, #ffffff00 45%),
    linear-gradient(180deg, #1c5638, #0e3323);
  border:1px solid #f2b96a30;
  box-shadow:
    0 1px 0 #ffffff20 inset,
    0 -4px 10px #06180f60 inset,
    0 4px 10px #06180f45;
}
.n{text-shadow:0 1px 0 #06180f, 0 2px 4px #06180f80}

/* Card panels get a rich glass look */
.card, .ig-card, .legal-card, .retry-box{
  background:
    linear-gradient(180deg, #ffffff10, transparent 22%),
    linear-gradient(180deg, #18492fee, #123d29ee);
  border:1px solid #f2b96a40;
  box-shadow: var(--shadow-2);
  backdrop-filter:blur(6px);
}
.card{position:relative;isolation:isolate}
.card::before{
  content:'';position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;
  background:var(--shine);opacity:.6;
}
/* Every direct-visible piece inside the card sits ABOVE the shine layer. */
.card > *{position:relative;z-index:1}

/* Inputs: inset depth so they feel like real slots */
input, .phone .cc{
  background:linear-gradient(180deg, #0a2b1c, #0f3624);
  box-shadow:
    0 2px 4px #06180f66 inset,
    0 -1px 0 #ffffff10 inset,
    0 1px 0 #ffffff08;
  border-color:#ffffff1a;
}
input:focus{
  box-shadow:
    0 2px 4px #06180f66 inset,
    0 0 0 3px #f2b96a3a,
    0 0 20px #f2b96a25;
}

/* Buttons: glossy gold with a real bevel + press animation */
.btn{
  position:relative;
  background:
    linear-gradient(180deg, #ffffff85 0%, #ffffff10 22%, transparent 45%),
    linear-gradient(180deg, var(--gold-hi), var(--gold) 55%, var(--gold-lo));
  box-shadow:var(--shadow-btn);
  text-shadow:0 1px 0 #ffffff55;
  letter-spacing:.01em;
}
.btn:hover{transform:translateY(-2px); filter:brightness(1.06); box-shadow:var(--shadow-btn), 0 14px 30px #7a4c1a55}
.btn:active{transform:translateY(1px) scale(.99); box-shadow:var(--shadow-btn-press); filter:brightness(.98)}
.btn-ghost, .btn.btn-ghost{
  background:
    linear-gradient(180deg, #ffffff08, transparent 45%),
    linear-gradient(180deg, #0d3121a0, #0d31217a) !important;
  color:var(--cream) !important;
  border:1px solid #f2b96a55 !important;
  box-shadow:0 1px 0 #ffffff10 inset, 0 6px 16px #06180f60, 0 2px 4px #06180f40 !important;
  text-shadow:0 1px 0 #06180f;
}
.btn-ghost:hover{filter:brightness(1.05); transform:translateY(-2px)}

/* Mic button becomes a real domed gold sphere */
.mic-btn{
  background:
    radial-gradient(circle at 32% 26%, #fff4d8 0%, #ffe3a8 18%, var(--gold-hi) 40%, var(--gold) 65%, #b57516 100%);
  box-shadow:
    0 2px 0 #ffffffcc inset,
    0 -14px 22px #6e4713 inset,
    0 22px 44px #7a4c1a66,
    0 6px 12px #06180f55;
  text-shadow:0 1px 0 #ffffff55, 0 2px 6px #6e471380;
  transform:translateZ(0);
}
.mic-btn:active{transform:translateY(2px) scale(.97)}

/* Countdown target markers: raised gold pins */
.meter{
  background:linear-gradient(180deg, #071a11, #0e2f1f);
  box-shadow:
    0 3px 6px #06180f80 inset,
    0 -1px 0 #ffffff10 inset,
    0 1px 0 #ffffff10;
}
.meter-fill{
  transition:width .06s linear;
  background:
    linear-gradient(180deg, #ffffff40, transparent 40%),
    linear-gradient(90deg, #7bd88f, var(--gold) 65%, #ff7a59);
  box-shadow:0 0 18px #f2b96a55, 0 0 6px #ffe0a880 inset;
}
.meter-target{
  background:var(--cream);
  box-shadow:0 0 8px #ffffff90, 0 1px 0 #06180f80;
}
.meter-loud{
  background:#ff7a59;
  box-shadow:0 0 8px #ff7a59aa, 0 1px 0 #06180f80;
}

/* SHOUT word: 3D bevel */
.shout-word{
  filter:
    drop-shadow(0 1px 0 #ffffff20)
    drop-shadow(0 2px 0 #8f5f1a)
    drop-shadow(0 10px 20px #06180f88);
}

/* OTP boxes get inset depth so digits look punched-in */
.otp-row input{
  background:linear-gradient(180deg,#0a2b1c,#0f3624);
  box-shadow:
    0 2px 4px #06180f80 inset,
    0 -1px 0 #ffffff10 inset;
}

/* Voucher card: embossed physical card with a shine sweep on reveal */
.vcode{
  position:relative;overflow:hidden;
  background:
    linear-gradient(180deg, #ffffff08, transparent 30%),
    linear-gradient(180deg, #0d3121, #0a2b1c);
  border:1px dashed var(--gold);
  box-shadow:
    0 1px 0 #ffffff18 inset,
    0 -6px 14px #06180f66 inset,
    0 18px 30px #06180f60,
    0 4px 10px #06180f45;
  text-shadow:0 1px 0 #06180f, 0 2px 8px #f2b96a44;
}
.vcode::after{
  content:'';position:absolute;top:0;left:-60%;width:60%;height:100%;
  background:linear-gradient(100deg, transparent 20%, #ffffff45 50%, transparent 80%);
  transform:skewX(-18deg);
  animation:sheen 3.4s ease-in-out infinite;
}
@keyframes sheen{
  0%,60%{left:-60%}
  85%{left:130%}
  100%{left:130%}
}

/* Tick circle: glossy raised gold coin */
.tick{
  background:
    radial-gradient(circle at 32% 26%, #ffe9bd 0%, #ffd58a 25%, var(--gold-hi) 45%, var(--gold) 68%, #b57516 100%);
  box-shadow:
    0 2px 0 #ffffffcc inset,
    0 -10px 20px #6e4713 inset,
    0 14px 30px #7a4c1a55,
    0 4px 8px #06180f55;
  text-shadow:0 1px 0 #ffffff88;
}

/* Jackpot + IG badges as glossy gold chips */
.jackpot-note, .ig-badge{
  background:
    linear-gradient(180deg, #ffffff85, transparent 45%),
    linear-gradient(180deg, var(--gold-hi), var(--gold-lo));
  box-shadow:
    0 1px 0 #ffffffaa inset, 0 -2px 0 #8f5f1a inset,
    0 8px 22px #7a4c1a55;
  text-shadow:0 1px 0 #ffffff55;
}

/* Pulse-dot on the "slots left" chip: glowing orb */
.dot{
  background:radial-gradient(circle at 30% 30%, #ffb495 0%, #ff7a59 55%, #b83d20 100%);
  box-shadow:0 0 10px #ff7a59aa, 0 1px 0 #ffffff40 inset;
}

/* Referral own-code pill: engraved gold */
.my-code b{
  background:linear-gradient(180deg, #0a2b1c, #0f3624);
  box-shadow:0 2px 4px #06180f80 inset, 0 0 0 1px var(--gold);
  text-shadow:0 1px 0 #06180f, 0 2px 6px #f2b96a44;
}

/* Trust bar + footer with a soft engraved feel */
.trust{text-shadow:0 1px 0 #06180f80}
footer{text-shadow:0 1px 0 #06180f80}
