*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{
 --cyan:#1a6ef5;--cyan-hot:#3d8bff;--cyan-deep:#1254cc;--cyan-dark:#0a3ba3;
 --gold:#f5c000;--gold-deep:#c9940a;
 --bg:#f5f7ff;--bg2:#ffffff;--bg3:#eef2ff;
 --card:#ffffff;--border:rgba(26,110,245,.22);
 --text:#1a2332;--dim:#4a6275;--muted:#9ca3af;--ok:#059669;--err:#e53935
}
html{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;overflow-x:clip;max-width:100vw}
body{
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
 background:
   radial-gradient(ellipse 70% 50% at 50% -10%,rgba(26,110,245,.12) 0%,transparent 60%), radial-gradient(ellipse 40% 40% at 90% 90%,rgba(245,192,0,.06) 0%,transparent 55%), var(--bg);
 min-height:100vh;line-height:1.4;padding:.85rem;
 padding-top:calc(38px + 1rem);
 display:flex;flex-direction:column;align-items:center;overflow-x:hidden
}
/* Subtle animated dot grid — dark green */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
 background-image: radial-gradient(circle,rgba(26,110,245,.08) 1px,transparent 1px);
 background-size:32px 32px;
 animation:bgGridShift 25s linear infinite}
@keyframes bgGridShift{0%{background-position:0 0}to{background-position:32px 32px}}
@media(prefers-reduced-motion:reduce){body::after{animation:none}}
.wrap{position:relative;z-index:1;width:100%;max-width:440px;margin:.5rem auto 1.5rem}

.brand{display:flex;align-items:center;gap:.55rem;justify-content:space-between;margin-bottom:.75rem}
.pkt-clock{display:flex;align-items:center;gap:.35rem;margin-left:auto;
 background:rgba(26,110,245,.07);border:1px solid rgba(26,110,245,.2);
 border-radius:999px;padding:.3rem .7rem}
.pkt-flag{font-size:.8rem;line-height:1}
.pkt-time{font-size:.78rem;font-weight:900;letter-spacing:.05em;
 color:#1a6ef5;font-variant-numeric:tabular-nums}
.pkt-label{font-size:.5rem;font-weight:700;letter-spacing:.16em;
 text-transform:uppercase;color:var(--dim)}
.logo-box{width:32px;height:32px;background:linear-gradient(135deg,var(--gold),var(--gold-deep));
 display:flex;align-items:center;justify-content:center;
 font-weight:900;font-size:.68rem;color:#0a0f00;letter-spacing:.04em;
 border-radius:6px}
.logo-text{font-size:1.1rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--text)}
.logo-text span{color:var(--gold)}

.card{background:var(--bg2);
 box-shadow:0 0 0 1px rgba(26,110,245,.18),0 1px 4px rgba(0,0,0,.06);
 border:1px solid rgba(26,110,245,.2);padding:.85rem .75rem .9rem;position:relative;border-radius:16px;overflow:hidden}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;
 background:linear-gradient(90deg,var(--cyan-deep),var(--gold),var(--cyan))}

/* Step number badge */
.step{display:inline-flex;align-items:center;justify-content:center;
 width:18px;height:18px;background:linear-gradient(180deg,var(--cyan-hot),var(--cyan));color:#fff;
 font-size:.62rem;font-weight:900;border-radius:50%;margin-right:.45rem;
 flex-shrink:0;letter-spacing:0}
.lab.done .step{background:var(--ok)}
.lab.done .step::before{content:"✅"}
.lab.done .step{font-size:0}
.lab.done .step::before{font-size:.7rem}

.head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.7rem}
.head h1{font-size:.95rem;line-height:1.1;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text)}
.head h1 b{color:var(--gold);font-weight:900}
.badge{display:inline-flex;align-items:center;gap:.35rem;background:rgba(26,110,245,.12);
 border:1px solid rgba(26,110,245,.35);color:var(--cyan-hot);font-size:.55rem;font-weight:800;
 letter-spacing:.28em;text-transform:uppercase;padding:.28rem .55rem;
 border-radius:999px;white-space:nowrap}
.badge::before{content:"";width:5px;height:5px;background:var(--cyan-hot);border-radius:50%;animation:blink 1s step-end infinite}
@keyframes blink{50%{opacity:0}}

.lab{font-size:.58rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);
 margin:0 0 .35rem;display:flex;align-items:center;gap:.4rem}
.lab .req{color:var(--gold)}
.lab .pick{margin-left:auto;color:var(--gold);font-weight:700;letter-spacing:.08em;
 font-size:.62rem;text-transform:none;opacity:0;transition:opacity .15s;max-width:60%;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lab .pick.show{opacity:1}

fieldset{border:0;margin:0 0 .65rem;padding:0;min-width:0}
.evt-list{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}

.evt{position:relative;display:flex;align-items:center;gap:.4rem;
 min-height:36px;padding:.4rem .5rem;cursor:pointer;
 background:#f4f7ff;border:1px solid rgba(26,110,245,.15);border-radius:8px;
 transition:border-color .15s,background .15s,box-shadow .15s}
.evt input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.evt .radio{flex:0 0 auto;width:13px;height:13px;border-radius:50%;
 border:1.5px solid rgba(26,110,245,.4);background:transparent;
 display:flex;align-items:center;justify-content:center;transition:.15s}
.evt .radio::after{content:"";width:6px;height:6px;border-radius:50%;
 background:linear-gradient(180deg,var(--cyan-hot),var(--cyan));transform:scale(0);transition:transform .15s}
.evt .nm{flex:1;font-size:.66rem;font-weight:700;letter-spacing:.04em;
 text-transform:uppercase;color:var(--text);line-height:1.1;min-width:0}
.evt:hover{border-color:rgba(26,110,245,.5);background:rgba(26,110,245,.08)}
.evt input:focus-visible+.radio{box-shadow:0 0 0 2px var(--gold)}
.evt:has(input:checked){border-color:var(--cyan-hot);background:rgba(26,110,245,.12);
 box-shadow:0 0 0 1px var(--cyan)}
.evt:has(input:checked) .radio{border-color:var(--cyan-hot)}
.evt:has(input:checked) .radio::after{transform:scale(1)}
.evt:has(input:checked) .nm{color:var(--cyan-hot)}

/* Selected event banner — only appears after pick */
.evt-banner{margin-top:.6rem;position:relative;width:100%;aspect-ratio:4/5;
 overflow:hidden;border:1px solid rgba(26,110,245,.3);background:var(--bg3);border-radius:10px;
 box-shadow:
 animation:bannerIn .25s ease-out}
@keyframes bannerIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.evt-banner img{width:100%;height:100%;object-fit:cover;display:block}
.evt-banner .tag{position:absolute;top:8px;left:8px;z-index:2;
 display:inline-flex;align-items:center;gap:.35rem;
 background:rgba(18,84,204,.92);border:1px solid rgba(61,139,255,.4);color:var(--cyan-hot);
 font-size:.6rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
 padding:.3rem .55rem;border-radius:999px}
.evt-banner .tag::before{content:"";width:6px;height:6px;background:var(--cyan-hot);
 border-radius:50%;animation:blink 1s step-end infinite}

.row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.55rem;min-width:0}
.row.two{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;align-items:start;margin-bottom:.55rem}
.row.two .field{display:flex;flex-direction:column;gap:.25rem;min-width:0}

.ctl{width:100%;min-height:42px;background:#ffffff;color:var(--text);
 border:1px solid rgba(26,110,245,.2);padding:.55rem .75rem;font:inherit;font-size:.9rem;
 outline:none;transition:border-color .15s,box-shadow .15s;
 -webkit-appearance:none;appearance:none;border-radius:8px}
select.ctl{
 background-image:linear-gradient(45deg,transparent 50%,var(--cyan) 50%),linear-gradient(180deg,var(--cyan) 50%,transparent 50%);
 background-position:calc(100% - 16px) 19px,calc(100% - 11px) 19px;
 background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2.1rem}
.ctl:focus{border-color:var(--cyan-hot);box-shadow:0 0 0 2px rgba(26,110,245,.25)}
.ctl::placeholder{color:#b0c4ce}
.ctl[aria-invalid="true"]{border-color:var(--err);box-shadow:0 0 0 2px rgba(255,69,69,.18)}
.hint{font-size:.6rem;color:var(--muted);min-height:1em;line-height:1.25}
.hint.err{color:var(--err)}
.hint.ok{color:var(--ok)}

/* Custom platform picker */
.plat-trigger{width:100%;min-height:46px;background:#ffffff;color:var(--text);
 border:1px solid rgba(26,110,245,.2);padding:.5rem .75rem;
 display:flex;align-items:center;gap:.55rem;cursor:pointer;text-align:left;
 font:inherit;font-size:.9rem;border-radius:0;-webkit-appearance:none;appearance:none;
 touch-action:manipulation;border-radius:8px;
 transition:border-color .15s,box-shadow .15s}
.plat-trigger:hover{border-color:var(--cyan-hot)}
.plat-trigger:focus-visible{outline:none;border-color:var(--cyan-hot);box-shadow:0 0 0 2px rgba(26,110,245,.25)}
.plat-trigger[aria-invalid="true"]{border-color:var(--err);box-shadow:0 0 0 2px rgba(255,69,69,.18)}
.plat-trigger img{width:28px;height:28px;object-fit:contain;flex:0 0 auto;background:transparent}
.plat-trigger .plat-ph{flex:0 0 auto;width:28px;height:28px;border:1px dashed rgba(26,110,245,.3);
 display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.75rem}
.plat-trigger .plat-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
 font-weight:700;letter-spacing:.04em}
.plat-trigger .plat-name.dim{color:#9ab8c0;font-weight:400}
.plat-trigger .plat-arr{flex:0 0 auto;width:0;height:0;
 border-left:5px solid transparent;border-right:5px solid transparent;
 border-top:6px solid var(--cyan);transition:transform .15s}
.plat-trigger[aria-expanded="true"] .plat-arr{transform:rotate(180deg)}

.plat-pop{position:fixed;z-index:99998;
 left:50%;top:50%;transform:translate(-50%,-50%);
 width:min(440px,calc(100vw - 24px));max-height:80vh;overflow:auto;
 background:#fff;border:1px solid rgba(26,110,245,.25);border-radius:16px;
 box-shadow:0 20px 60px -10px rgba(0,0,0,.8),0 0 0 1px rgba(26,110,245,.15);
 display:none}
.plat-backdrop{position:fixed;inset:0;z-index:99997;background:rgba(0,0,0,.88);
 display:none}
.plat-backdrop.show,.plat-pop.show{display:block}
.plat-pop-head{display:flex;align-items:center;justify-content:space-between;
 padding:.7rem .9rem;border-bottom:1px solid rgba(26,110,245,.15);
 position:sticky;top:0;background:#fff;z-index:1;border-radius:16px 16px 0 0}
.plat-pop-head strong{font-size:.78rem;letter-spacing:.12em;color:var(--gold)}
.plat-pop-close{background:none;border:0;color:var(--text);font-size:1.4rem;
 line-height:1;cursor:pointer;padding:0 .2rem}
@keyframes popFade{from{opacity:0}to{opacity:1}}
.plat-pop.show,.plat-backdrop.show{animation:popFade .15s ease-out}
.plat-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.3rem;padding:.45rem}

.plat-opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;
 padding:.55rem .35rem;background:#f4f7ff;border:1px solid rgba(26,110,245,.12);border-radius:8px;
 cursor:pointer;font:inherit;color:var(--text);text-align:center;min-height:74px;
 -webkit-appearance:none;appearance:none;
 touch-action:manipulation;-webkit-user-select:none;user-select:none;
 transition:border-color .15s,background .15s,transform .1s}
.plat-opt:hover{border-color:var(--cyan-hot);background:rgba(26,110,245,.1);box-shadow:0 0 10px rgba(26,110,245,.15)}
.plat-opt:active{transform:scale(.97)}
.plat-opt[aria-selected="true"]{border-color:var(--cyan-hot);background:rgba(26,110,245,.15);
 box-shadow:inset 0 0 0 1px var(--cyan),0 0 12px rgba(26,110,245,.25)}
.plat-opt img{width:38px;height:38px;object-fit:contain;background:transparent}
.plat-opt span{font-size:.62rem;font-weight:800;letter-spacing:.06em;line-height:1;
 color:var(--text)}
.plat-wrap{position:relative}

.btn{width:100%;min-height:48px;font-size:.85rem;font-weight:800;letter-spacing:.2em;
 text-transform:uppercase;color:#fff;background:linear-gradient(180deg,var(--cyan-hot),var(--cyan));
 border:none;cursor:pointer;padding:.8rem 1rem;
 transition:filter .2s,box-shadow .2s,background .22s;
 margin-top:.3rem;border-radius:999px;
 box-shadow:0 2px 6px rgba(0,0,0,.1);
 -webkit-appearance:none;appearance:none}

.btn.ready{
  background:linear-gradient(180deg,var(--cyan-hot),var(--cyan-deep));
}
.btn:not(.ready){
  background:linear-gradient(180deg,#d1d5db,#9ca3af 80%);
  border-color:transparent;color:#fff;
  animation:none;box-shadow:none;
}

.btn:hover{filter:brightness(1.12)}
.btn:active{filter:brightness(.95)}
.btn[disabled]{opacity:.5;cursor:wait;filter:none;box-shadow:none}

.alert{padding:.6rem .75rem;border:1px solid;font-size:.82rem;margin-bottom:.7rem;border-radius:8px}
.alert.err{border-color:rgba(255,69,69,.45);background:rgba(255,69,69,.08);color:#ffb3b3}

.foot{text-align:center;color:var(--muted);font-size:.62rem;letter-spacing:.22em;
 text-transform:uppercase;margin-top:.85rem}
.foot a{color:var(--dim);text-decoration:none;border-bottom:1px dotted var(--muted)}

/* Register-account CTA — high-conversion */
.signup{position:relative;margin-top:1.1rem;padding:1.1rem .9rem 1rem;
 background:var(--bg2);
 border:1px solid rgba(26,110,245,.18);border-radius:16px;overflow:hidden;
 box-shadow:0 4px 24px rgba(26,110,245,.06),0 1px 4px rgba(0,0,0,.3)}
.signup::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
 background:linear-gradient(90deg,var(--cyan-deep),var(--gold),var(--cyan));border-radius:16px 16px 0 0;pointer-events:none}
.signup::after{content:"";position:absolute;left:-30%;top:0;width:30%;height:100%;
 background:linear-gradient(90deg,transparent,rgba(26,110,245,.05),transparent);
 transform:skewX(-20deg);animation:sweep 3.5s ease-in-out infinite;pointer-events:none}
@keyframes sweep{0%,60%{left:-30%}100%{left:130%}}

.signup-flag{position:absolute;top:0;right:0;background:linear-gradient(180deg,var(--cyan-hot),var(--cyan));color:#fff;
 font-size:.55rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
 padding:.32rem .65rem .32rem .75rem;
 border-radius:0 16px 0 12px;z-index:2}
.signup-flag::before{content:"";display:inline-block;width:5px;height:5px;background:#fff;
 border-radius:50%;margin-right:.35rem;vertical-align:middle;animation:blink 1s step-end infinite}

.signup-eyebrow{position:relative;z-index:1;display:flex;align-items:center;gap:.45rem;
 font-size:.55rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase;
 color:var(--cyan-hot);margin-bottom:.45rem}
.signup-eyebrow::before,.signup-eyebrow::after{content:"";flex:1;height:1px;
 background:linear-gradient(90deg,transparent,rgba(26,110,245,.35),transparent)}

.signup-title{position:relative;z-index:1;text-align:center;font-size:1.05rem;
 font-weight:800;letter-spacing:.04em;line-height:1.2;color:var(--text);margin-bottom:.2rem}
.signup-title b{color:var(--gold)}
.signup-sub{position:relative;z-index:1;text-align:center;font-size:.7rem;color:var(--dim);
 margin-bottom:.7rem;line-height:1.35}
.signup-sub b{color:var(--text);font-weight:700}

.signup-perks{position:relative;z-index:1;display:flex;justify-content:center;gap:.4rem;
 flex-wrap:wrap;margin-bottom:.85rem}
.signup-perks span{font-size:.55rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
 color:var(--cyan-hot);background:rgba(26,110,245,.1);border:1px solid rgba(26,110,245,.3);
 padding:.28rem .6rem;border-radius:999px}

.signup-cta{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;
 gap:.55rem;min-height:54px;padding:.85rem 1rem;text-decoration:none;
 background:linear-gradient(135deg,#ffe44d 0%,#f5c000 40%,#e0a800 100%);
 border:0;color:#1a0f00;border-radius:999px;
 font-weight:900;font-size:.92rem;letter-spacing:.18em;text-transform:uppercase;
 box-shadow:0 3px 12px rgba(0,0,0,.15);
 transition:transform .15s,filter .2s}
.signup-cta:hover{transform:translateY(-2px);filter:brightness(1.08)}
.signup-cta:active{transform:translateY(0)}
.signup-cta .arr{font-size:1.05rem;line-height:1;animation:arrSlide 1.4s ease-in-out infinite}
@keyframes arrSlide{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}

.signup-trust{position:relative;z-index:1;text-align:center;font-size:.58rem;
 color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-top:.55rem}
.signup-trust b{color:var(--cyan-deep);font-weight:800}
@media (prefers-reduced-motion:reduce){
 .signup::after,.signup-cta,.signup-cta .arr{animation:none}
}

.success{display:none;text-align:center;padding:.3rem .2rem 0}
.success.show{display:block}
#newBtn{
 background:linear-gradient(135deg,var(--cyan-hot),var(--cyan),var(--gold,#f5c000));
 background-size:200% 200%;
 color:#fff;
 box-shadow:0 4px 20px rgba(26,110,245,.35);
 animation:newBtnGrad 3s ease infinite;
 border:none;
}
#newBtn:hover{filter:brightness(1.12);animation-play-state:paused}

@keyframes newBtnGrad{
 0%{background-position:0% 50%}
 50%{background-position:100% 50%}
 100%{background-position:0% 50%}
}
.ok-icon{width:56px;height:56px;border-radius:50%;border:2px solid var(--ok);background:rgba(5,150,105,.07);
 display:flex;align-items:center;justify-content:center;margin:0 auto .8rem;
 color:var(--ok);font-size:1.7rem;font-weight:800}
.success h2{font-size:1.15rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem}
.success p{color:var(--dim);font-size:.85rem;margin-bottom:.8rem}
.recap{background:#f4f7ff;border:1px solid rgba(26,110,245,.14);border-radius:10px;padding:.7rem .8rem;margin:.6rem 0 .9rem;text-align:left}
.recap dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem .8rem}
.recap dt{color:var(--dim);font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;align-self:center}
.recap dd{color:var(--text);font-weight:700;font-size:.88rem;word-break:break-word}
.disclaimer{color:var(--dim);font-size:.72rem;line-height:1.55;text-align:left;
 background:#f4f7ff;border:1px solid rgba(26,110,245,.12);border-left:3px solid var(--cyan);
 padding:.7rem .8rem;margin:.4rem 0 0;border-radius:8px}

/* Countdown timer (per event) */
.evt-timer{display:none;margin-top:.6rem;padding:.6rem .7rem;
 background:#fffde7;border:1px solid rgba(245,192,0,.35);border-left:3px solid var(--gold);border-radius:8px;
 animation:bannerIn .25s ease-out}
.evt-timer.show{display:block}
.et-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}
.et-lbl{font-size:.55rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
 display:flex;align-items:center;gap:.4rem}
.et-lbl::before{content:"";width:6px;height:6px;background:var(--gold);border-radius:50%;
 box-shadow:0 0 6px var(--gold);animation:blink 1.2s step-end infinite}
.et-when{font-size:.6rem;color:var(--dim);font-weight:700;letter-spacing:.04em;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%;text-align:right}
.et-clock{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;text-align:center}
.et-cell{background:#fff;border:1px solid rgba(245,192,0,.25);border-radius:6px;padding:.45rem .2rem .35rem;box-shadow:0 2px 6px rgba(245,192,0,.1)}
.et-num{font-size:1.15rem;font-weight:900;color:var(--text);letter-spacing:.04em;line-height:1;
 font-variant-numeric:tabular-nums}
.et-unit{font-size:.5rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-top:.25rem}
.et-after{font-size:.6rem;color:var(--muted);text-align:center;margin-top:.45rem;line-height:1.35}
.et-after b{color:var(--gold);font-weight:700}

/* Contact strip (above submit button) — ultra compact */
.contact-strip{margin:.3rem 0 .55rem}
.contact-strip .cs-head{display:none}
.contact-strip .cs-desc{font-size:.65rem;line-height:1.35;color:var(--dim);margin:0 0 .4rem;text-align:center}
.contact-strip .cs-desc b{color:var(--text);font-weight:700}
.contact-strip .cs-btns{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}
.cs-btn{display:flex;align-items:center;gap:.4rem;min-height:30px;padding:.3rem .5rem;
 text-decoration:none;color:var(--text);background:#f4f7ff;
 border:1px solid rgba(26,110,245,.14);border-radius:8px;
 transition:background .15s,border-color .15s,transform .1s;
 -webkit-appearance:none;appearance:none;cursor:pointer}
.cs-btn:hover{background:#e8f8fa;border-color:var(--cyan-hot)}
.cs-btn:active{transform:scale(.98)}
.cs-btn .cs-ico{flex:0 0 auto;width:20px;height:20px;display:flex;align-items:center;justify-content:center;
 border-radius:50%;color:#fff}
.cs-btn .cs-ico svg{width:12px;height:12px;display:block;fill:currentColor}
.cs-btn .cs-ico.tg{background:linear-gradient(180deg,#37bbfe,#007dbb)}
.cs-btn .cs-ico.wa{background:linear-gradient(180deg,#25d366,#128c7e)}
.cs-btn .cs-meta{flex:1;min-width:0;display:flex;align-items:baseline;gap:.3rem;text-align:left;line-height:1}
.cs-btn .cs-lbl{display:none}
.cs-btn .cs-val{font-size:.7rem;font-weight:800;color:var(--text);letter-spacing:.01em;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Highlighted contact card on success view */
.contact-card{position:relative;margin-top:.9rem;padding:.95rem .9rem 1rem;
 background:
   radial-gradient(ellipse 70% 50% at 50% 0%,rgba(245,192,0,.12),transparent 70%),
   #fff;
 border:1px solid rgba(245,192,0,.35);border-radius:12px;text-align:left;
 box-shadow:0 0 0 1px rgba(245,192,0,.15),0 8px 28px -8px rgba(245,192,0,.35)}
.contact-card .ct-title{display:flex;align-items:center;gap:.45rem;
 font-size:.65rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
 color:var(--gold);margin-bottom:.6rem}
.contact-card .ct-title::before{content:"";width:6px;height:6px;background:var(--gold);
 border-radius:50%;animation:blink 1.2s step-end infinite}
.contact-card .ct-row{display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;margin-top:.4rem;
 background:#f4f7ff;border:1px solid rgba(26,110,245,.12);
 border-radius:8px;text-decoration:none;color:var(--text);
 transition:border-color .15s,background .15s,transform .1s}
.contact-card .ct-row:hover{border-color:var(--gold);background:rgba(26,110,245,.08);transform:translateX(2px)}
.contact-card .ct-ico{flex:0 0 auto;width:34px;height:34px;display:flex;align-items:center;justify-content:center;
 color:#fff;border-radius:50%;box-shadow:0 0 0 2px rgba(26,110,245,.14)}
.contact-card .ct-ico svg{width:20px;height:20px;display:block;fill:currentColor}
.contact-card .ct-ico.tg{background:linear-gradient(180deg,#37bbfe,#007dbb)}
.contact-card .ct-ico.wa{background:linear-gradient(180deg,#25d366,#128c7e)}
.contact-card .ct-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}
.contact-card .ct-lbl{font-size:.55rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.contact-card .ct-val{font-size:.85rem;font-weight:800;color:var(--text);letter-spacing:.02em;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-card .ct-arr{flex:0 0 auto;color:var(--gold);font-size:1rem;font-weight:900}
.btn-ghost{display:inline-block;width:100%;text-align:center;background:transparent;color:var(--dim);
 border:1px solid rgba(26,110,245,.2);border-radius:999px;min-height:46px;padding:.7rem;text-transform:uppercase;
 letter-spacing:.2em;font-size:.72rem;font-weight:700;cursor:pointer;text-decoration:none}
.btn-ghost:hover{color:var(--text);border-color:var(--border)}

/* ═══════════════════════ MOBILE ≤480px ═══════════════════════ */
@media (max-width:480px){
 body{padding:.5rem .5rem}
 .wrap{margin:.3rem auto 5.5rem} /* room above bottom nav */

 /* Brand */
 .logo-box{width:36px;height:36px;font-size:.74rem}
 .logo-text{font-size:1.2rem}

 /* Card */
 .card{padding:1rem .9rem 1.1rem;border-radius:14px}

 /* Heading */
 .head{margin-bottom:.8rem}
 .head h1{font-size:1rem}

 /* Step badge */
 .step{width:20px;height:20px;font-size:.66rem}

 /* Event grid — 2 cols on all mobile (3 cols too cramped) */
 .evt-list{grid-template-columns:1fr 1fr;gap:.4rem}
 .evt{min-height:48px;padding:.55rem .6rem;border-radius:10px}
 .evt .nm{font-size:.72rem}

 /* Timer */
 .et-num{font-size:1.3rem;font-weight:900}
 .et-unit{font-size:.52rem}

 /* ⚠ iOS ZOOM FIX — inputs must be ≥16px or iOS zooms the page */
 .ctl{font-size:1rem;min-height:50px;padding:.7rem .9rem;border-radius:10px}
 .plat-trigger{font-size:1rem;min-height:50px;border-radius:10px}

 /* Labels */
 .lab{font-size:.65rem;margin-bottom:.4rem}
 .hint{font-size:.68rem}

 /* Name + WA: stack vertically on mobile */
 .row.two{grid-template-columns:1fr;gap:.5rem}

 /* Contact strip */
 .contact-strip .cs-desc{font-size:.7rem;line-height:1.45}
 .cs-btn{min-height:48px;padding:.55rem .7rem;border-radius:10px}
 .cs-btn .cs-val{font-size:.75rem}

 /* Submit button — big, thumb-friendly */
 .btn{min-height:54px;font-size:.9rem;border-radius:999px}

 /* Signup block */
 .signup{padding:1.2rem .9rem 1.1rem;border-radius:14px}
 .signup-title{font-size:1rem}
 .signup-perks{gap:.35rem}
 .signup-cta{min-height:56px;font-size:.88rem}

 /* Winners */
 .wm-card{width:120px;height:170px}

 /* Platform popup */
 .plat-grid{grid-template-columns:1fr 1fr;gap:.4rem}
 .plat-opt{min-height:80px}
}

/* Extra small — ≤360px */
@media (max-width:360px){
 .card{padding:.85rem .75rem 1rem;border-radius:12px}
 .evt-list{gap:.3rem}
 .ctl{font-size:1rem;min-height:48px}
 .btn{font-size:.82rem}
}

/* ═══ Session pill — inline inside Daily Roulette evt label ═══ */
.evt--daily{grid-column:span 2}
.sess-pill{flex-shrink:0;font-size:.62rem;font-weight:800;letter-spacing:.04em;
 font-variant-numeric:tabular-nums;color:var(--gold-deep);
 background:rgba(245,192,0,.13);border:1px solid rgba(245,192,0,.45);
 border-radius:999px;padding:.18rem .52rem;transition:opacity .15s}
.sess-pill:empty{display:none}

/* Winners marquee (auto-scroll) */
.winners{margin:1.1rem -.85rem .2rem;position:relative;overflow:hidden;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
         mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.winners-head{display:flex;align-items:center;justify-content:center;gap:.45rem;
 margin:0 .85rem .55rem;font-size:.62rem;font-weight:800;letter-spacing:.28em;
 text-transform:uppercase;color:var(--gold)}
.winners-head::before,.winners-head::after{content:"";flex:1;height:1px;
 background:linear-gradient(90deg,transparent,rgba(26,110,245,.4),transparent);max-width:60px}
.winners-head .dot{width:6px;height:6px;background:var(--ok);border-radius:50%;
 box-shadow:0 0 8px var(--ok);animation:wpulse 1.5s infinite}
@keyframes wpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.wm-track{display:flex;gap:.55rem;width:max-content;
 animation:wmScroll 60s linear infinite;will-change:transform}
.winners:hover .wm-track{animation-play-state:paused}
@keyframes wmScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.wm-track{animation:none}}
.wm-card{flex:0 0 auto;width:140px;height:200px;background:#ffffff;
 border:1px solid rgba(26,110,245,.18);border-radius:8px;overflow:hidden;position:relative;
 cursor:zoom-in;-webkit-appearance:none;appearance:none;padding:0;margin:0}
.wm-card img{width:100%;height:100%;object-fit:cover;display:block;
 filter:saturate(1.05);transition:transform .3s;pointer-events:none}
.wm-card:hover,.wm-card:focus-visible{border-color:var(--border);outline:none}
.wm-card:focus-visible{box-shadow:0 0 0 2px var(--gold)}
.wm-card:hover img{transform:scale(1.04)}


/* Lightbox */
.lb{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.88);
 display:none;align-items:center;justify-content:center;padding:1rem;
 -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lb.show{display:flex;animation:lbIn .15s ease-out}
@keyframes lbIn{from{opacity:0}to{opacity:1}}
.lb img{max-width:100%;max-height:90vh;object-fit:contain;
 box-shadow:0 8px 32px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.12);border-radius:12px}
.lb-close{position:absolute;top:.7rem;right:.7rem;width:44px;height:44px;
 background:rgba(0,0,0,.55);color:#fff;border:1px solid rgba(255,255,255,.2);
 font-size:1.5rem;font-weight:700;line-height:1;cursor:pointer;
 display:flex;align-items:center;justify-content:center;border-radius:50%;
 -webkit-appearance:none;appearance:none}
.lb-close:hover{background:var(--cyan-dark);border-color:var(--cyan);color:#fff}

/* Bottom floating nav bar (5 items, center bumped) */
.bottom-nav-bar{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);
 background:#fff;border:1px solid rgba(0,0,0,.1);
 display:flex;align-items:center;justify-content:center;gap:14px;
 padding:9px 18px;border-radius:22px;z-index:40;
 width:max-content;max-width:95vw;
 box-shadow:0 8px 28px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.12)}
.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;
 text-decoration:none;color:#333;font-size:.55rem;font-weight:800;
 letter-spacing:.06em;text-transform:uppercase;
 padding:5px;border-radius:11px;min-width:54px;
 transition:all .2s ease}
.nav-item:hover{background:rgba(26,110,245,.08);color:var(--cyan-hot);transform:translateY(-3px)}
.nav-item img{width:42px;height:42px;object-fit:cover;margin-bottom:3px;
 transition:transform .2s ease}
.nav-item:hover img{transform:scale(1.1)}
.nav-svg{width:20px;height:20px;display:block;margin-bottom:4px;opacity:.65}
.nav-item:hover .nav-svg{opacity:1}
.nav-item.main-item{transform:translateY(-16px)}
.nav-main-circle{
 display:flex;align-items:center;justify-content:center;
 width:50px;height:50px;border-radius:50%;
 background:linear-gradient(135deg,var(--cyan-hot),var(--cyan-dark));
 box-shadow:0 4px 18px rgba(26,110,245,.55),0 0 0 3px #fff;
 margin-bottom:4px;
 transition:filter .2s,transform .15s}
.nav-item.main-item:hover .nav-main-circle{filter:brightness(1.1);transform:scale(1.08)}
@media (max-width:620px){
 .bottom-nav-bar{bottom:0;width:100%;max-width:100%;border-radius:0;
  padding:7px 0;padding-bottom:calc(7px + env(safe-area-inset-bottom));
  gap:0;justify-content:space-evenly;border-left:0;border-right:0;border-bottom:0}
 .nav-item{min-width:auto;flex:1;padding:5px 0}
}
/* push page content above the fixed bar */
body{padding-bottom:110px}
@media (max-width:620px){body{padding-bottom:96px}}

/* Warn banner */
body{padding-top:calc(.85rem + 38px)}
.warn-banner{background:linear-gradient(90deg,var(--cyan-deep),var(--cyan));position:fixed;top:0;left:0;right:0;width:100%;z-index:50;
 display:flex;align-items:center;gap:.55rem;height:38px;
 border-bottom:1px solid rgba(61,139,255,.2);
 padding:0 .75rem;
 backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
 box-shadow:0 2px 8px rgba(0,0,0,.12)}
.warn-tag{flex:0 0 auto;font-size:.55rem;font-weight:800;letter-spacing:.18em;
 color:#fff;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);
 padding:.22rem .45rem;text-transform:uppercase;
 clip-path:polygon(4px 0%,100% 0%,calc(100% - 4px) 100%,0% 100%)}
.warn-text{flex:1;min-width:0;font-size:.7rem;color:#fff;line-height:1.2;
 overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.warn-text #warn-inner{display:inline-block;transition:opacity .35s ease}
.warn-text strong{color:var(--gold);font-weight:800;letter-spacing:.04em}
@media (max-width:380px){.warn-text{font-size:.62rem}.warn-tag{letter-spacing:.12em;font-size:.5rem}}
