/* Join area: play-now sheet + mode tiles, game hero, home game card + tournament carousel, challenge banners / page /
   game choice, matchmaking view, tournaments list, rules. Black & gold; numbers in Poppins (.num). */

/* ---------- shared bits ---------- */
.jn-2p{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:7px;font-size:11px;font-weight:700;color:#241800;background:var(--gold);white-space:nowrap;flex:none}
.jn-gsuit{position:absolute;inset-inline-end:-6px;top:-14px;font-size:64px;letter-spacing:4px;color:rgba(242,193,78,.07);white-space:nowrap;pointer-events:none;font-family:'DejaVu Sans',system-ui;transform:rotate(-8deg)}
.sk{background:linear-gradient(90deg,#141416 0%,#1F1F23 50%,#141416 100%) 0 0/200% 100%;animation:shm 1.4s linear infinite;border:1px solid #1E1E22}
.jn-sech{gap:12px}.jn-sech h2{font-size:17px}.jn-sech .g{height:1px;background:linear-gradient(90deg,transparent,rgba(242,193,78,.45),transparent)}
@keyframes jnUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes jnPop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.08)}100%{transform:none}}

/* ---------- play-now sheet + mode tiles ---------- */
.md.pns{gap:14px;padding:18px 16px;background:radial-gradient(90% 60% at 50% 0%,rgba(242,193,78,.13),rgba(242,193,78,0) 70%),linear-gradient(180deg,#1C1C20,#0E0E10);border-color:rgba(242,193,78,.35)}
.md.pns::before{content:"";width:44px;height:5px;border-radius:3px;background:#3A3A42;align-self:center;margin:-8px 0 -4px}
.pns-note{line-height:1.6}
.np-tiles{gap:12px}
.np-row{background:#0B0B0D;border:1px solid #26262B;border-radius:16px;padding:6px 6px 6px 12px;gap:10px}
[dir=rtl] .np-row{padding:6px 12px 6px 6px}
.np-lb{display:flex;align-items:center;gap:7px;font-weight:600;font-size:13px;color:#D8D8DE}.np-lb svg{color:var(--gd)}
.np-seg{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);width:150px;height:40px;border-radius:12px;background:#17171A;border:1px solid #2A2A30;padding:3px;flex:none}
.np-thumb{position:absolute;top:3px;bottom:3px;inset-inline-start:3px;width:calc((100% - 6px) / var(--n));border-radius:9px;background:var(--gold);box-shadow:0 4px 14px rgba(242,193,78,.35),inset 0 1px 0 rgba(255,255,255,.6);transform:translateX(calc(var(--k) * 100%));transition:transform .28s cubic-bezier(.3,1.4,.5,1)}
[dir=rtl] .np-thumb{transform:translateX(calc(var(--k) * -100%))}
.np-seg button{position:relative;z-index:1;border-radius:9px;color:#9A9AA6;font-size:17px;transition:color .2s}
.np-seg button.on{color:#241800}
.mts{gap:10px}
.mt{position:relative;overflow:hidden;height:auto;min-height:118px;padding:14px 8px 12px;gap:4px;border-radius:18px;isolation:isolate;transition:transform .12s ease}
.mt:active{transform:scale(.97)}
.mt.dk{background:linear-gradient(180deg,#24242A,#151518);border:1px solid #34343C}
.mt.dk::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 55% at 50% 22%,rgba(242,193,78,.12),transparent 70%)}
.mt.gd{background:radial-gradient(80% 60% at 50% 15%,#FFF3C4 0%,rgba(255,243,196,0) 60%),var(--gold)}
.mt.gd::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-130%);animation:msheen 4.5s ease-in-out infinite}
.mt-ic{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.mt.dk .mt-ic{background:rgba(242,193,78,.08);border:1px solid rgba(242,193,78,.22)}
.mt.gd .mt-ic{background:rgba(36,24,0,.12)}
.mt.gd .mt-ic svg [fill^="url"]{fill:#2A1B00}
.mt-tt{font-size:15px;font-weight:700;line-height:1.25}
.mt-sb{font-size:11px;font-weight:500;opacity:.62;line-height:1.3}
.mt.gd .mt-sb{opacity:.75}
.mt-free{position:absolute;top:9px;inset-inline-end:9px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px;background:#241800;color:var(--gd)}
.h-game .g4 .mt{min-height:120px}

/* ---------- game hero (#/play/<id>, #/rules/<id>) ---------- */
.jn-ghero{position:relative;overflow:hidden;border-radius:20px;padding:18px 16px;border:1px solid rgba(242,193,78,.4);
  background:radial-gradient(70% 120% at 100% 0%,rgba(242,193,78,.26),rgba(242,193,78,0) 65%),radial-gradient(60% 90% at 0% 100%,color-mix(in srgb,var(--gh,#C9213A) 30%,transparent),transparent 70%),linear-gradient(180deg,#1B1B1F,#0E0E10)}
.jn-ghero h1{font-size:24px}
.jn-links .btn{font-size:12px;gap:5px;padding:0 6px}

/* ---------- home game card ---------- */
.jn-hg{position:relative;overflow:hidden;padding:0;gap:0}
.jn-hg>*{margin-inline:14px}
.jn-hg-top{position:relative;overflow:hidden;margin:0 0 12px;padding:16px 14px 14px;background:radial-gradient(80% 140% at 100% 0%,rgba(242,193,78,.22),rgba(242,193,78,0) 62%),linear-gradient(180deg,#202025,#141417);border-bottom:1px solid rgba(242,193,78,.18)}
.jn-hg-top .hg-name{font-size:22px}
.jn-hg-btns{margin-bottom:14px}
.jn-hg-btns .btn{height:52px;font-size:16px}
.jn-hg-sec{margin-bottom:8px}
.jn-hg>.dk-only{margin-bottom:14px}
[data-tours]{margin-inline:0!important}
.jn-tours{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 14px 12px;scrollbar-width:none}
.jn-tours::-webkit-scrollbar{display:none}
.jn-tc{scroll-snap-align:start;flex:0 0 132px;border-radius:16px;padding:9px 10px 10px;display:flex;flex-direction:column;align-items:center;gap:5px;position:relative;
  background:radial-gradient(90% 55% at 50% 30%,rgba(242,193,78,.2),rgba(242,193,78,0) 70%),linear-gradient(180deg,#1E1E23,#121214);border:1px solid #33333B;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.jn-tc.sk{height:178px}
.jn-tc:first-child:not(.sk){border-color:rgba(242,193,78,.6);box-shadow:0 0 22px rgba(242,193,78,.12),inset 0 1px 0 rgba(255,255,255,.08)}
.jn-tc.on{border-color:var(--ok)}
.jn-tc-top{width:100%;min-height:20px}
.jn-tc-seats{gap:3px;font-size:11px;color:#C8C8D0;background:#0B0B0D;border:1px solid #2A2A30;border-radius:7px;padding:1px 6px}
.jn-tc-tro{filter:drop-shadow(0 4px 12px rgba(242,193,78,.35));margin-top:-2px}
.jn-tc-nm{font-size:12px;font-weight:600;color:#D8D8DE;max-width:100%}
.jn-tc-pz{gap:5px;font-size:18px}.jn-tc-pz b{color:var(--gd)}
.jn-tc-bar{width:100%;height:4px;border-radius:2px;background:#26262B;overflow:hidden}.jn-tc-bar i{display:block;height:100%;background:var(--gold)}
.jn-tc-fee{width:100%;justify-content:space-between;font-size:10px;color:var(--mu);gap:4px}.jn-tc-fee b{gap:3px;font-size:12px;color:#fff}
.jn-tours-empty{margin:0 14px 12px;padding:12px;border:1px dashed #33333B;border-radius:14px}
.jn-hl{margin-bottom:14px;gap:8px}.jn-hl .btn{font-size:12px;gap:5px;padding:0 4px}

/* ---------- challenge banners ---------- */
.jn-cbs{gap:16px}
.jn-cb{display:block;border-radius:20px;overflow:hidden;border:1px solid #2E2E35;background:#111113;box-shadow:0 10px 28px rgba(0,0,0,.45);animation:jnUp .4s ease both;transition:transform .15s}
.jn-cb:active{transform:scale(.985)}
.jn-cb.sk{height:200px;border-radius:20px}
.jn-cb-art{position:relative;height:150px;padding:16px 18px;display:flex;align-items:center;gap:10px;overflow:hidden;isolation:isolate;
  --c1:#3A2A06;--c2:#F2C14E;background:radial-gradient(90% 130% at 100% 100%,color-mix(in srgb,var(--c2) 55%,transparent),transparent 62%),linear-gradient(135deg,#141416 10%,var(--c1) 100%)}
.th1 .jn-cb-art{--c1:#3B0A16;--c2:#E0455E}.th2 .jn-cb-art{--c1:#05302D;--c2:#2CC7B4}.th3 .jn-cb-art{--c1:#1E0F45;--c2:#8B5CF6}
.jn-cb-suits{position:absolute;inset:0;z-index:-1;background:var(--suits);opacity:.9;mask-image:linear-gradient(90deg,#000,transparent 75%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 75%)}
[dir=rtl] .jn-cb-suits{mask-image:linear-gradient(-90deg,#000,transparent 75%);-webkit-mask-image:linear-gradient(-90deg,#000,transparent 75%)}
.jn-cb-art::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.1) 50%,transparent 60%);transform:translateX(-130%);animation:msheen 6s ease-in-out infinite}
.jn-cb-txt{flex:1;min-width:0;gap:5px;z-index:1}
.jn-cb-kick{font-size:11px;font-weight:600;color:rgba(255,255,255,.72);letter-spacing:.2px}
.jn-cb-txt h3{font-size:24px;line-height:1.3;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.6);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.jn-cb-game{align-self:flex-start;font-size:12px;font-weight:700;padding:4px 10px;border-radius:9px;background:var(--gold);color:#241800;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.jn-one,.jn-fan{flex:none;position:relative;z-index:1;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55))}
.jn-one .gi{transform:rotate(-8deg)}
.jn-fan{width:112px;height:90px}
.jn-fan>span{position:absolute;top:8px;inset-inline-start:calc(var(--i) * 26px);transform:rotate(calc(-14deg + var(--i) * 14deg)) translateY(calc(var(--i) * -2px));transform-origin:50% 120%}
.jn-st{position:absolute;top:12px;inset-inline-start:18px;z-index:2;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:8px}
.jn-st.y{background:var(--gold);color:#241800;box-shadow:0 0 16px rgba(242,193,78,.55)}.jn-st.ok{background:rgba(61,220,151,.18);color:var(--ok);border:1px solid rgba(61,220,151,.5)}
.jn-cb-foot{padding:10px 14px;background:linear-gradient(180deg,#1A1A1E,#111113);border-top:1px solid #26262B;gap:10px}
.jn-cb-prog{flex:1;max-width:46%;gap:6px}.jn-cb-prog .bar{height:6px}
.jn-ends{gap:6px;font-size:12px;color:#CFCFD6;background:#0A0A0B;border:1px solid #2A2A30;border-radius:999px;padding:4px 10px 4px 12px;flex:none}
.jn-ends svg{color:var(--gd)}.jn-ends b{color:#fff;font-weight:700}

/* ---------- challenge page ---------- */
.jn-chal{gap:14px;padding-bottom:40px}
.jn-ctabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -14px;padding:0 14px}
.jn-ctabs::-webkit-scrollbar{display:none}
.jn-ctabs a{flex:none;height:34px;padding:0 14px;border-radius:17px;display:flex;align-items:center;font-size:12px;font-weight:600;color:var(--mu);background:var(--s1);border:1px solid #26262B}
.jn-ctabs a.on{color:#241800;background:var(--gold);border:0}
.jn-cb-hero{animation:none}.jn-cb-hero .jn-cb-art{height:140px}
.jn-stats{gap:10px}
.jn-stat{display:flex;align-items:center;gap:10px;padding:12px;border-radius:18px;background:var(--panel);border:1px solid var(--ln);min-width:0}
@media (max-width:340px){.jn-stat{padding:10px 8px;gap:7px}}
.jn-heart,.jn-shield{position:relative;flex:none;width:52px;height:52px;display:flex;align-items:center;justify-content:center}
.jn-heart svg,.jn-shield svg{position:absolute;inset:2px;width:48px;height:48px}
.jn-heart svg{filter:drop-shadow(0 4px 10px rgba(255,77,94,.45))}
.jn-heart b,.jn-shield b{position:relative;font-size:19px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.jn-shield svg{filter:drop-shadow(0 4px 10px rgba(242,193,78,.45))}
.jn-shield b{color:var(--gd);margin-top:-2px}
.jn-sl{font-size:12px;font-weight:700;line-height:1.3}
.jn-hearts{gap:3px}.jn-hearts i{display:flex;color:#3A3A42}.jn-hearts i.on{color:var(--rd)}
.jn-renew{height:30px;font-size:11px;padding:0 8px;align-self:flex-start;gap:4px}
.jn-claim{animation:jnUp .35s ease both}.jn-claim-ic{animation:jnPop .6s ease both}
.jn-pathbox{display:flex;flex-direction:column;gap:8px;padding:12px 0 10px;border-radius:18px;background:linear-gradient(180deg,#141417,#0C0C0E);border:1px solid #26262B}
.jn-pathbox>.row{padding:0 14px}
.jn-chosen{gap:6px;font-size:12px;font-weight:600;color:var(--gd)}.jn-chosen .gi{border-radius:8px}
.jn-path-wrap{overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent)}
.jn-path-wrap::-webkit-scrollbar{display:none}
.ch-path.jn-path{position:relative;display:grid;grid-template-columns:repeat(var(--n),64px);gap:0;padding:4px 18px;width:max-content}
.jn-rail{position:absolute;top:50%;inset-inline:50px;height:6px;margin-top:-3px;border-radius:3px;background:#24242A;overflow:hidden}
.jn-rail i{display:block;height:100%;background:linear-gradient(90deg,#C48A17,#FFE596);box-shadow:0 0 10px rgba(242,193,78,.6)}
[dir=rtl] .jn-rail i{margin-inline-start:0;background:linear-gradient(-90deg,#C48A17,#FFE596)}
.jn-stop{position:relative;display:grid;grid-template-rows:56px 52px 56px;align-items:center;justify-items:center}
.jn-stop .st{position:relative;z-index:1;width:40px;height:40px;border-radius:12px;font-size:15px;margin:0;transform:rotate(0)}
.jn-stop .st.k{background:#17171A;border:1px solid #33333B;color:#7A7A86}
.jn-stop .st.d{background:linear-gradient(180deg,#5A4410,#2A1F06);border:1.5px solid #B88A1C;color:var(--gd)}
.jn-stop .st.n{width:46px;height:46px;border-radius:14px;font-size:17px}
.jn-lk{position:absolute;bottom:-5px;inset-inline-end:-5px;width:17px;height:17px;border-radius:50%;background:#0B0B0D;border:1px solid #33333B;display:flex;align-items:center;justify-content:center;color:#8A8A96}
.jn-stop .jn-rw{position:relative;width:52px;height:50px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:linear-gradient(180deg,#222227,#161619);border:1px solid #303038;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.jn-stop .jn-rw b{font-size:10px;color:#E8E8EE;line-height:1}
.jn-stop .jn-rw.ph{visibility:hidden}
.jn-stop .jn-rw.big{width:58px;height:56px;border-color:rgba(242,193,78,.7);background:radial-gradient(70% 70% at 50% 40%,rgba(242,193,78,.3),transparent),linear-gradient(180deg,#2A2310,#151208);box-shadow:0 0 18px rgba(242,193,78,.3)}
.jn-stop .jn-rw.got{opacity:.55}
.jn-stop.up .jn-rw:not(.ph)::after,.jn-stop.dn .jn-rw:not(.ph)::after{content:"";position:absolute;left:50%;width:2px;height:8px;margin-left:-1px;background:#33333B}
.jn-stop.up .jn-rw::after{bottom:-9px}.jn-stop.dn .jn-rw::after{top:-9px}
.jn-stop.n .jn-rw{border-color:rgba(242,193,78,.6)}
.jn-tick{position:absolute;top:-6px;inset-inline-end:-6px;width:18px;height:18px;border-radius:50%;background:var(--ok);color:#06281A;display:flex;align-items:center;justify-content:center}
.jn-next{gap:8px;padding:0 14px;line-height:1.5}
.jn-main{gap:8px;margin-top:4px}
.jn-big{height:56px;font-size:17px;border-radius:16px}
.jn-bsub{font-size:11px;font-weight:600;opacity:.7}

/* ---------- choose the challenge game ---------- */
.cg-scr{gap:12px}
.cg-warn{justify-content:center;gap:7px;color:#FF8A95;font-weight:700;font-size:13px;padding:10px;border-radius:14px;background:rgba(255,77,94,.08);border:1px solid rgba(255,77,94,.3)}
.cg-list{gap:10px}
.cg-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:18px;text-align:start;background:linear-gradient(180deg,#1C1C20,#121214);border:1px solid #2E2E35;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);animation:jnUp .35s ease both;animation-delay:calc(var(--i) * 45ms);transition:border-color .15s,transform .12s}
.cg-row:hover{border-color:rgba(242,193,78,.55)}.cg-row:active{transform:scale(.98)}
.cg-ic{flex:none}
.cg-nm{font-size:17px}
.cg-two,.cg-n{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:4px 9px;border-radius:9px;flex:none}
.cg-two{background:var(--gold);color:#241800}.cg-n{background:#0B0B0D;border:1px solid #2A2A30;color:var(--mu)}
.md.cg-md{position:relative;border-color:rgba(242,193,78,.45);padding:20px 16px 16px}
.cg-x{position:absolute;top:12px;inset-inline-end:12px;width:34px;height:34px}
.cg-cf h2{font-size:21px}
.cg-cf-ic{margin:4px 0;animation:jnPop .5s ease both;filter:drop-shadow(0 10px 22px rgba(242,193,78,.25))}
.cg-about{line-height:1.7}

/* ---------- matchmaking ---------- */
.mm{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;overflow:hidden auto;padding:12px 16px calc(16px + env(safe-area-inset-bottom));gap:10px;
  background:radial-gradient(60% 45% at 50% 72%,rgba(242,193,78,.16),rgba(242,193,78,0) 70%),radial-gradient(90% 40% at 50% 0%,rgba(242,193,78,.12),transparent 70%),var(--suits),#060607}
.mm-beam{position:absolute;left:50%;top:-10%;width:340px;height:85%;margin-left:-170px;pointer-events:none;z-index:-1;
  background:linear-gradient(180deg,rgba(255,229,150,.0),rgba(255,229,150,.10) 40%,rgba(255,229,150,.0));clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);animation:mmBeam 3.2s ease-in-out infinite}
@keyframes mmBeam{0%,100%{opacity:.55}50%{opacity:1}}
.mm-top{width:100%;max-width:520px}
.mm-count{gap:6px;padding:6px 12px;border-radius:999px;background:rgba(10,10,11,.8);border:1px solid rgba(242,193,78,.45);color:var(--gd);box-shadow:0 0 18px rgba(242,193,78,.15)}
.mm-count b{font-size:15px;color:#fff}
.mm-count.bump{animation:jnPop .35s ease}
.mm-head{align-items:center;gap:6px;margin-top:2px}
.mm-gi{animation:jnPop .5s ease both;margin-bottom:2px}
.mm-title{font-size:21px;display:flex;align-items:baseline;gap:2px}
.mm-dots{display:inline-flex;gap:3px;margin-inline-start:4px}
.mm-dots i{width:5px;height:5px;border-radius:50%;background:var(--gd);animation:mpulse 1.2s ease-in-out infinite}
.mm-dots i:nth-child(2){animation-delay:.2s}.mm-dots i:nth-child(3){animation-delay:.4s}
.mm-sub{font-size:13px;color:var(--mu);text-align:center}
.mm-seats{display:flex;justify-content:center;align-items:flex-start;gap:14px;margin-top:10px;width:100%;max-width:420px;flex-wrap:wrap}
.mm-seats.n3 .mm-seat:nth-child(2){margin-top:-14px}
.mm-seats.many{gap:8px;max-width:330px}.mm-seats.many .mm-seat{width:34px}.mm-seats.many .mm-ring{width:34px;height:34px}.mm-seats.many .mm-ring::after{inset:-3px;border-width:1.5px}.mm-seats.many .mm-q svg{width:16px;height:16px}.mm-seats.many .mm-ring .av{width:28px!important;height:28px!important;font-size:12px!important}.mm-seats.many .mm-nm{display:none}
.mm-seat{display:flex;flex-direction:column;align-items:center;gap:6px;width:78px}
.mm-ring{position:relative;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.mm-seat.empty .mm-ring{border:2px dashed rgba(242,193,78,.32);background:radial-gradient(circle,rgba(242,193,78,.06),transparent 70%)}
.mm-seat.empty .mm-ring::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid transparent;border-top-color:rgba(242,193,78,.55);animation:sp 1.6s linear infinite;animation-delay:calc(var(--i) * -.4s)}
.mm-q{color:#4A4A55;animation:mpulse 2s ease-in-out infinite;animation-delay:calc(var(--i) * .3s);display:flex}
.mm-seat.on .mm-ring{background:conic-gradient(from 200deg,#FFE596,#C48A17,#FFE596);padding:3px;box-shadow:0 0 22px rgba(242,193,78,.35)}
.mm-seat.on .mm-ring .av{border:3px solid #0B0B0C}
.mm-seat.late{animation:jnPop .5s cubic-bezier(.3,1.5,.5,1) both;animation-delay:var(--d)}
.mm-bot{background:linear-gradient(160deg,#2C2C33,#141417)!important;color:var(--gd)}
.mm-nm{font-size:11px;font-weight:600;color:#C8C8D0;max-width:100%}
.mm-seat.empty .mm-nm{color:#5A5A66}
.mm-stage{position:relative;margin-top:auto;display:flex;flex-direction:column;align-items:center;padding-top:8px}
.mm-me{position:relative;z-index:1;align-items:center;gap:8px;margin-bottom:-26px}
.mm-halo{position:absolute;top:-16px;left:50%;width:150px;height:150px;margin-left:-75px;border-radius:50%;background:radial-gradient(circle,rgba(242,193,78,.4),rgba(242,193,78,0) 65%);animation:mpulse 2.4s ease-in-out infinite;pointer-events:none}
.mm-meav{position:relative;border-radius:50%;padding:4px;background:conic-gradient(from 0deg,#FFE596,#C48A17,#FFF3C4,#C48A17,#FFE596);box-shadow:0 0 0 6px rgba(242,193,78,.12),0 0 40px rgba(242,193,78,.5)}
.mm-meav .av{border:4px solid #0B0B0C}
.mm-meav::after{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px solid rgba(242,193,78,.5);animation:mmRing 2.2s ease-out infinite}
@keyframes mmRing{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.35);opacity:0}}
.mm-mename{font-size:14px;max-width:180px;padding:3px 12px;border-radius:999px;background:rgba(0,0,0,.65);border:1px solid rgba(242,193,78,.4)}
.mm-podium{position:relative;width:250px;height:64px}
.mm-podium::before{content:"";position:absolute;inset:0 0 18px;border-radius:50%;background:radial-gradient(ellipse at 50% 40%,#FFF3C4 0%,#F2C14E 30%,#8A5E0E 70%,#3A2706 100%);box-shadow:0 0 50px rgba(242,193,78,.55),inset 0 -6px 14px rgba(0,0,0,.45)}
.mm-podium::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40px;border-radius:0 0 50% 50% / 0 0 100% 100%;background:linear-gradient(180deg,#7A520C,#2A1C04);z-index:-1}
.mm-podium i{position:absolute;inset:4px 30px 26px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.55),transparent 60%);filter:blur(2px)}
.mm-hint{justify-content:center;gap:6px;font-size:12px;color:#CFCFD6;margin-top:10px;padding:6px 12px;border-radius:999px;background:rgba(242,193,78,.07);border:1px solid rgba(242,193,78,.2)}
.mm-hint svg{color:var(--gd)}
.mm-actions{width:100%;max-width:420px}
.mm-cancel{width:100%;max-width:240px;margin:0 auto;height:46px}
@media (max-height:700px){.mm-gi{display:none}.mm-ring{width:58px;height:58px}.mm-ring .av{width:50px!important;height:50px!important}.mm-meav .av{width:84px!important;height:84px!important}.mm-podium{width:210px;height:54px}.mm-halo{width:120px;height:120px;margin-left:-60px}.mm-seats{margin-top:4px}}

/* tournament waiting room (matchmaking + details) */
.tr-wait{position:relative;padding:0!important}
.tj-mm{position:relative;inset:auto;min-height:100%;padding-top:10px}
.tj-mm .mm-stage{margin-top:14px}
.tj-wfoot{gap:10px;width:100%;max-width:420px}
.tj-refund{gap:10px;padding:8px 12px;border-radius:14px;background:rgba(10,10,11,.7);border:1px solid #26262B}
.tj-refund .cd{width:58px!important;height:58px!important;margin:0;box-shadow:none;flex:none}
.tj-refund .cd>div{width:48px!important;height:48px!important}.tj-refund .cd b{font-size:12px!important}
.tj-rules{padding:0 4px}
.tj-mm .tr-btns{width:100%}

/* ---------- tournaments list ---------- */
.tj-tabs .on{background:var(--gold);color:#241800}
.tj-filter{gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -14px;padding:0 14px 2px;flex-wrap:nowrap}
.tj-filter::-webkit-scrollbar{display:none}
.tj-f{flex:none;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 6px;border-radius:12px;background:var(--s1);border:1px solid #26262B;font-size:12px;font-weight:600;color:#C8C8D0}
[dir=rtl] .tj-f{padding:0 6px 0 12px}
.tj-f:first-child{padding:0 12px}
.tj-f .gi{border-radius:7px;box-shadow:none}
.tj-f.on{border-color:var(--gd);color:var(--gd);background:rgba(242,193,78,.08)}
.tj-card{position:relative;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;gap:0!important;animation:jnUp .35s ease both;
  background:radial-gradient(70% 120% at 0% 50%,rgba(242,193,78,.13),rgba(242,193,78,0) 60%),linear-gradient(180deg,#1A1A1E,#101012);border:1px solid #2E2E35}
[dir=rtl] .tj-card{background:radial-gradient(70% 120% at 0% 50%,rgba(242,193,78,.13),rgba(242,193,78,0) 60%),linear-gradient(180deg,#1A1A1E,#101012)}
.tj-card.hot{border-color:rgba(242,193,78,.6);box-shadow:0 0 24px rgba(242,193,78,.12)}
.tj-card.on{border-color:rgba(61,220,151,.6)}
.tj-main{padding:14px 14px 8px;gap:12px;align-items:center}
.tj-main h3{font-size:16px}
.tj-ln{gap:6px;font-size:13px}.tj-ln .mu{min-width:84px}.tj-ln b{font-size:15px}
.tj-art{position:relative;align-items:center;flex:none;width:86px}
.tj-art .gi{position:absolute;top:-4px;inset-inline-end:2px;z-index:1;border-radius:9px}
.tj-tro{display:flex;width:76px;height:76px;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle,rgba(242,193,78,.28),rgba(242,193,78,0) 68%);filter:drop-shadow(0 6px 14px rgba(242,193,78,.3))}
.tj-meta{padding:8px 14px 12px;border-top:1px solid rgba(255,255,255,.05);gap:8px}
.tj-m{gap:4px;font-size:12px;color:#B8B8C2}.tj-m svg{color:var(--gd)}.tj-m b{color:#fff;font-size:12px}
.tj-go{min-width:82px}
.tj-bar{height:3px;background:#1E1E22}.tj-bar i{display:block;height:100%;background:var(--gold)}

/* ---------- rules ---------- */
.rj-scr{gap:12px}
.rj-goal{display:flex;gap:6px;font-size:13px;font-weight:600;color:#E8E2CF;line-height:1.5}.rj-goal svg{flex:none;margin-top:2px;color:var(--gd)}
.rj-sec{gap:8px}.rj-sec h3{gap:8px;color:var(--gd)}
.rj-ul{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:7px;font-size:13px;line-height:1.65;color:#E4E4EA}
.rj-ul li::marker{color:var(--gd)}

/* ---------- desktop ---------- */
@media (min-width:900px){
  .jn-hg>*{margin-inline:22px}
  .jn-hg-top{padding:22px}
  .jn-tours{padding:4px 22px 12px}
  .jn-tc{flex-basis:150px}
  .jn-cbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .jn-cb-art{height:170px}
  .jn-chal{max-width:760px;margin:0 auto;width:100%}
  .md.pns{max-width:520px}
}
.jn-cb-art:has(.jn-st) .jn-cb-txt{padding-top:20px}
/* polish: tournaments grid + ticket chip, balanced matchmaking stage */
.tj-grid{display:grid;gap:10px}
@media (min-width:900px){.tj-grid{grid-template-columns:1fr 1fr;gap:14px}}
.tj-tix{gap:4px;margin-inline-start:6px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#7FE7D3;background:rgba(61,220,190,.08);border:1px solid rgba(61,220,190,.25)}
.mm-seats{margin-top:auto}
.mm:not(.tj-mm) .mm-stage{margin-top:auto}
@media (min-height:760px){.mm-seats:not(.many) .mm-seat{width:96px}.mm-seats:not(.many) .mm-ring{width:86px;height:86px}.mm-seats:not(.many) .mm-ring .av{width:78px!important;height:78px!important}.mm-seats:not(.many) .mm-nm{font-size:12px}}

/* ---- redesign pass: skeletons, section header in the stage path, rules section icons ---- */
.jn-pathbox>.jn-pt{padding:0 14px;font-size:14px;margin:0;align-self:stretch}
.jn-stat-sk{height:96px;border-radius:18px}.jn-path-sk{height:240px;border-radius:18px}
.cg-skw{height:44px;border-radius:14px}.cg-sk{height:78px;border-radius:18px}
.jn-ghero-sk{height:104px;border-radius:20px}.jn-tiles-sk{height:290px;border-radius:var(--r3)}
.rj-ic{width:30px;height:30px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--gd);
  background:radial-gradient(circle at 50% 20%,rgba(242,193,78,.22),rgba(242,193,78,.04));border:1px solid var(--hair);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.rj-sec{background:var(--surf)}
.play-scr .jn-links .btn{background:var(--dark);border-color:#34343C;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),var(--sh1)}
.play-scr .jn-links .btn svg{color:var(--gd)}
