/* Top Traders League block on the landing page — self-contained, every class is lgp-* */
@keyframes lgpIn{from{opacity:0;transform:translateY(14px) scale(.985);}to{opacity:1;transform:none;}}
@keyframes lgpFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
@keyframes lgpRays{to{transform:rotate(360deg);}}
@keyframes lgpShine{0%{transform:translateX(-50px);}55%,100%{transform:translateX(190px);}}
@keyframes lgpSpark{0%,100%{opacity:0;transform:scale(.4);}50%{opacity:1;transform:scale(1);}}
@keyframes lgpSweep{0%{transform:translateX(-160%) skewX(-20deg);}60%,100%{transform:translateX(320%) skewX(-20deg);}}
@keyframes lgpPulse{0%{box-shadow:0 0 0 0 rgba(251,191,36,.6);}70%{box-shadow:0 0 0 8px rgba(251,191,36,0);}100%{box-shadow:0 0 0 0 rgba(251,191,36,0);}}
@keyframes lgpModalIn{from{opacity:0;transform:translateY(12px) scale(.97);}to{opacity:1;transform:none;}}

.lgp{position:relative;overflow:hidden;}
.lgp .lgp-num,.lgp-modal .lgp-num{font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;}
.lgp-bg{position:absolute;inset:0;z-index:0;pointer-events:none;
    background:radial-gradient(640px 360px at 50% 34%,rgba(245,158,11,.15),transparent 70%),
               radial-gradient(900px 420px at 50% 105%,rgba(0,82,204,.14),transparent 70%);}
.lgp-grid{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55;
    background-image:linear-gradient(rgba(251,191,36,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(251,191,36,.05) 1px,transparent 1px);
    background-size:38px 38px;-webkit-mask-image:radial-gradient(520px 300px at 50% 40%,#000,transparent 75%);mask-image:radial-gradient(520px 300px at 50% 40%,#000,transparent 75%);}

/* heading */
.lgp-kicker{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;padding:6px 15px;border-radius:999px;font-size:12.5px;font-weight:700;color:#fcd34d;
    background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.3);}
.lgp-dot{width:7px;height:7px;border-radius:50%;background:#fbbf24;animation:lgpPulse 2s infinite;flex-shrink:0;}
.lgp-season{color:#fde68a;}
.lgp-season:not(:empty)::before{content:'·';margin-inline-end:8px;opacity:.6;}
.lgp-title{margin-top:18px;font-size:clamp(32px,5.2vw,48px);font-weight:800;line-height:1.3;
    background:linear-gradient(180deg,#fff8dc 10%,#fbbf24 60%,#d97706);-webkit-background-clip:text;background-clip:text;color:transparent;
    filter:drop-shadow(0 8px 34px rgba(245,158,11,.28));}
.lgp-sub{margin-top:14px;font-size:16.5px;line-height:2;color:#94a3b8;}

/* podium (same artwork as the dashboard's league page) */
.lgp-stage{position:relative;max-width:780px;margin:46px auto 0;}
.lgp-podium{position:relative;display:grid;grid-template-columns:1fr 1.22fr 1fr;align-items:end;gap:16px;padding:18px 6px 0;}
.lgp-podium::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(251,191,36,.45),transparent);}
.lgp-pod{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;animation:lgpIn .6s cubic-bezier(.16,1,.3,1) both;}
.lgp-pod.p1{animation-delay:.12s;} .lgp-pod.p2{animation-delay:.24s;} .lgp-pod.p3{animation-delay:.32s;}
.lgp-trophy{position:relative;width:96px;height:116px;}
.lgp-pod.p1 .lgp-trophy{width:134px;height:160px;}
.lgp-trophy svg{position:relative;z-index:1;width:100%;height:100%;overflow:visible;}
.lgp-pod.p1 .lgp-trophy svg{filter:drop-shadow(0 18px 30px rgba(245,158,11,.55));animation:lgpFloat 4s ease-in-out infinite;}
.lgp-pod.p2 .lgp-trophy svg{filter:drop-shadow(0 14px 22px rgba(148,163,184,.4));}
.lgp-pod.p3 .lgp-trophy svg{filter:drop-shadow(0 14px 22px rgba(234,88,12,.4));}
.lgp-shine{animation:lgpShine 3.8s ease-in-out infinite;}
.lgp-pod.p2 .lgp-shine{animation-delay:1.1s;} .lgp-pod.p3 .lgp-shine{animation-delay:2s;}
.lgp-rays{position:absolute;left:50%;top:44%;width:240px;height:240px;margin:-120px 0 0 -120px;border-radius:50%;pointer-events:none;z-index:0;
    background:repeating-conic-gradient(from 0deg,rgba(253,224,71,.16) 0deg 7deg,transparent 7deg 22deg);
    -webkit-mask-image:radial-gradient(circle,#000 18%,transparent 66%);mask-image:radial-gradient(circle,#000 18%,transparent 66%);
    animation:lgpRays 26s linear infinite;}
.lgp-spark{position:absolute;z-index:2;width:6px;height:6px;border-radius:50%;pointer-events:none;
    background:radial-gradient(circle,#fff 0%,#fde68a 40%,transparent 70%);animation:lgpSpark 2.4s ease-in-out infinite;}
.lgp-ava{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-top:4px;border-radius:50%;
    font-size:22px;font-weight:800;color:#fff;background:linear-gradient(145deg,var(--m2),var(--m4));
    box-shadow:0 0 0 3px rgba(5,9,20,.9),0 0 0 5px var(--m3),0 14px 28px -10px var(--mg);}
.lgp-pod.p1 .lgp-ava{width:68px;height:68px;font-size:26px;}
.lgp-crown{position:absolute;top:-24px;left:50%;width:34px;height:26px;margin-left:-17px;filter:drop-shadow(0 4px 8px rgba(245,158,11,.6));}
.lgp-name{max-width:100%;margin-top:12px;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;unicode-bidi:plaintext;font-size:15px;font-weight:800;color:#f8fafc;}
.lgp-pod.p1 .lgp-name{font-size:17px;}
.lgp-pnl{margin-top:4px;direction:ltr;font-family:'Inter',sans-serif;font-size:21px;font-weight:800;color:#4ade80;}
.lgp-pnl.down{color:#f87171;}
.lgp-pod.p1 .lgp-pnl{font-size:26px;}
.lgp-label{font-size:11px;color:#7c8aa5;}
.lgp-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:10px;}
.lgp-stat{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:9px;white-space:nowrap;font-size:11px;color:#aab3c6;
    background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);}
.lgp-stat b{font-family:'Inter',sans-serif;font-weight:800;color:#f1f5f9;}
.lgp-base{position:relative;display:flex;align-items:flex-start;justify-content:center;width:100%;margin-top:14px;overflow:hidden;border-radius:16px 16px 0 0;
    background:linear-gradient(180deg,var(--mb1),var(--mb2));border:1px solid var(--mbb);border-bottom:none;}
.lgp-base::before{content:'';position:absolute;inset:0 0 auto 0;height:7px;opacity:.9;background:linear-gradient(90deg,var(--m4),var(--m2),var(--m1),var(--m2),var(--m4));}
.lgp-base span{margin-top:20px;font-family:'Inter',sans-serif;font-size:44px;font-weight:800;line-height:1;opacity:.9;
    background:linear-gradient(180deg,var(--m1),var(--m3));-webkit-background-clip:text;background-clip:text;color:transparent;}
.lgp-pod.p1 .lgp-base{height:136px;} .lgp-pod.p2 .lgp-base{height:102px;} .lgp-pod.p3 .lgp-base{height:80px;}
.lgp-pod.p1 .lgp-base span{font-size:58px;}
.lgp-pod.empty .lgp-trophy svg{filter:grayscale(1) opacity(.28);}
.lgp-pod.empty .lgp-ava{color:#5b6b87;background:rgba(255,255,255,.05);box-shadow:0 0 0 3px rgba(5,9,20,.9),0 0 0 5px rgba(255,255,255,.08);}
.lgp-pod.empty .lgp-name{color:#5b6b87;}
.lgp-tier1{--m1:#fff7cc;--m2:#fcd34d;--m3:#f59e0b;--m4:#b45309;--mg:rgba(245,158,11,.75);--mb1:rgba(245,158,11,.20);--mb2:rgba(245,158,11,.03);--mbb:rgba(251,191,36,.32);}
.lgp-tier2{--m1:#ffffff;--m2:#e2e8f0;--m3:#94a3b8;--m4:#475569;--mg:rgba(148,163,184,.7);--mb1:rgba(148,163,184,.18);--mb2:rgba(148,163,184,.02);--mbb:rgba(203,213,225,.26);}
.lgp-tier3{--m1:#ffedd5;--m2:#fdba74;--m3:#ea580c;--m4:#7c2d12;--mg:rgba(234,88,12,.7);--mb1:rgba(234,88,12,.18);--mb2:rgba(234,88,12,.02);--mbb:rgba(251,146,60,.28);}

/* chips + call to action */
.lgp-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:34px;}
.lgp-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;font-size:13px;font-weight:600;color:#e2e8f0;
    background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);}
.lgp-chip svg{flex-shrink:0;color:#fbbf24;}
.lgp-cta-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:30px;}
.lgp-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;padding:16px 40px;white-space:nowrap;border:none;border-radius:16px;cursor:pointer;
    font-family:inherit;font-size:17px;font-weight:800;color:#1c1300;background:linear-gradient(135deg,#d97706,#fbbf24 55%,#fde68a);
    box-shadow:0 18px 40px -14px rgba(245,158,11,.85),inset 0 0 0 1px rgba(255,255,255,.18);transition:transform .2s,box-shadow .2s;}
.lgp-cta:hover{transform:translateY(-2px);box-shadow:0 24px 52px -14px rgba(245,158,11,.95),inset 0 0 0 1px rgba(255,255,255,.25);}
.lgp-cta:active{transform:scale(.98);}
.lgp-cta .lgp-cta-shine{position:absolute;top:0;bottom:0;left:0;width:34%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);
    animation:lgpSweep 3.4s ease-in-out infinite;}
.lgp-cta > svg,.lgp-cta > span:not(.lgp-cta-shine){position:relative;}
.lgp-note{font-size:12.5px;color:#64748b;}

/* "how to join" modal */
.lgp-modal{display:none;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center;padding:20px;
    background:rgba(3,7,18,.8);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.lgp-modal.show{display:flex;}
.lgp-modal-card{position:relative;width:100%;max-width:460px;max-height:calc(100vh - 40px);overflow-y:auto;padding:30px 26px 24px;border-radius:26px;text-align:center;
    background:linear-gradient(165deg,rgba(38,26,8,.97),rgba(12,17,32,.98) 45%,rgba(8,12,26,.98));border:1px solid rgba(251,191,36,.28);
    box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 60px -10px rgba(245,158,11,.25);animation:lgpModalIn .28s cubic-bezier(.16,1,.3,1);}
.lgp-close{position:absolute;top:14px;inset-inline-end:14px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;cursor:pointer;
    font-size:15px;color:#94a3b8;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:all .2s;}
.lgp-close:hover{color:#fbbf24;border-color:rgba(251,191,36,.45);}
.lgp-modal-cup{width:70px;height:84px;margin:0 auto;animation:lgpFloat 4.5s ease-in-out infinite;}
.lgp-modal-cup svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 12px 22px rgba(245,158,11,.5));}
.lgp-modal-title{margin-top:12px;font-size:21px;font-weight:800;background:linear-gradient(180deg,#fff8dc,#fbbf24);-webkit-background-clip:text;background-clip:text;color:transparent;}
.lgp-modal-sub{margin-top:6px;font-size:13.5px;line-height:1.9;color:#94a3b8;}
.lgp-steps{display:flex;flex-direction:column;gap:10px;margin:20px 0 0;padding:0;list-style:none;text-align:start;}
.lgp-steps li{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);}
.lgp-steps .n{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:9px;font-family:'Inter',sans-serif;font-size:13px;font-weight:800;
    color:#1c1300;background:linear-gradient(145deg,#fde68a,#f59e0b);box-shadow:0 6px 14px -6px rgba(245,158,11,.9);}
.lgp-steps b{display:block;font-size:14px;font-weight:800;color:#f8fafc;}
.lgp-steps li span:not(.n){display:block;margin-top:3px;font-size:12.5px;line-height:1.85;color:#a9b2c6;}
.lgp-stores{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;}
.lgp-store{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 10px;border-radius:14px;text-decoration:none;color:#e2e8f0;
    background:rgba(15,23,42,.9);border:1px solid rgba(255,255,255,.1);transition:all .2s;}
.lgp-store:hover{border-color:rgba(0,210,255,.5);color:#fff;transform:translateY(-1px);}
.lgp-store small{display:block;font-family:'Inter',sans-serif;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;text-align:start;}
.lgp-store b{display:block;font-family:'Inter',sans-serif;font-size:14px;font-weight:700;text-align:start;}
.lgp-login{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:14px;border-radius:14px;text-decoration:none;
    font-size:15px;font-weight:800;color:#1c1300;background:linear-gradient(135deg,#d97706,#fbbf24);box-shadow:0 12px 28px -12px rgba(245,158,11,.9);transition:transform .2s,box-shadow .2s;}
.lgp-login:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(245,158,11,1);}
[dir="ltr"] .lgp-login svg{transform:scaleX(-1);}

@media (max-width:640px){
    .lgp-sub{font-size:14.5px;}
    .lgp-stage{margin-top:34px;}
    .lgp-podium{gap:6px;padding:12px 0 0;grid-template-columns:1fr 1.15fr 1fr;}
    .lgp-trophy{width:66px;height:80px;} .lgp-pod.p1 .lgp-trophy{width:90px;height:108px;}
    .lgp-rays{width:150px;height:150px;margin:-75px 0 0 -75px;}
    .lgp-ava{width:42px;height:42px;font-size:16px;} .lgp-pod.p1 .lgp-ava{width:50px;height:50px;font-size:19px;}
    .lgp-crown{top:-20px;width:28px;height:21px;margin-left:-14px;}
    .lgp-name{font-size:12px;} .lgp-pod.p1 .lgp-name{font-size:13px;}
    .lgp-pnl{font-size:15px;} .lgp-pod.p1 .lgp-pnl{font-size:18px;}
    .lgp-label{font-size:9.5px;}
    .lgp-stats{gap:3px;} .lgp-stat{padding:3px 5px;font-size:9.5px;}
    .lgp-stat.sg{display:none;}
    .lgp-pod.p1 .lgp-base{height:96px;} .lgp-pod.p2 .lgp-base{height:72px;} .lgp-pod.p3 .lgp-base{height:56px;}
    .lgp-base span{margin-top:14px;font-size:30px;} .lgp-pod.p1 .lgp-base span{font-size:40px;}
    .lgp-chip{padding:8px 13px;font-size:12px;}
    .lgp-cta{padding:15px 34px;font-size:16px;}
    .lgp-modal-card{padding:26px 18px 20px;}
    .lgp-stores{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
    .lgp-pod,.lgp-pod.p1 .lgp-trophy svg,.lgp-shine,.lgp-rays,.lgp-spark,.lgp-dot,.lgp-cta-shine,.lgp-modal-cup,.lgp-modal-card{animation:none;}
}
