|
21 | 21 | .bigbang{position:absolute;inset:0;z-index:2} |
22 | 22 | .satellite{border:none} |
23 | 23 | .flag{display:block;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #2c2c38,0 2px 6px #000b;background:#222} |
24 | | -.flag.s12{width:44px;height:44px} |
| 24 | +.flag.s12{width:20px;height:20px} |
25 | 25 | .flag.lost{filter:grayscale(1);opacity:1;box-shadow:0 0 0 2px #2c2c38,0 2px 6px #000b} |
26 | 26 | .flag.won{box-shadow:0 0 0 2.5px #ffd34d,0 0 13px #ffd34daa} |
27 | 27 | .flag.tbd{border-radius:50%;background:repeating-conic-gradient(#15151d 0 30deg,#1f1f27 0 60deg);box-shadow:0 0 0 2px #2a2a34} |
|
32 | 32 | .onode.won{box-shadow:0 0 0 2.5px #ffd34d,0 0 13px #ffd34daa} |
33 | 33 | .onode.tbd{background:repeating-conic-gradient(#15151d 0 30deg,#1f1f27 0 60deg);box-shadow:0 0 0 2px #2a2a34} |
34 | 34 | .onode.up{box-shadow:0 0 0 2px #5a6072,0 0 8px #5a607255;cursor:pointer} |
35 | | -.crest{position:absolute;width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 2px 4px #000a);z-index:3} |
| 35 | +.crest{position:absolute;width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 2px 4px #000a);z-index:3} |
36 | 36 | .crest.lost{filter:grayscale(1) opacity(.55) drop-shadow(0 2px 4px #000a)} |
37 | 37 | .dot{fill:#4a4f60} |
38 | 38 | .dot.won{fill:#ffd34d} |
|
222 | 222 | if(playedOrSet(m)) return '<div class="onode tbd up zoom-me" data-to="match" data-id="'+num+'" style="'+st+'" title="'+m.team1+' vs '+m.team2+'"></div>'; |
223 | 223 | return '<div class="onode tbd" style="'+st+'"></div>'; |
224 | 224 | } |
225 | | - for(let i=0;i<16;i++){ const [x,y]=np.r16[i]; nodes+=nodeHTML(winners[i],30,x,y,matchNums[i]); } |
226 | | - for(let j=0;j<8;j++){ const [x,y]=np.r8[j]; nodes+=nodeHTML(nodeTeam(byNum[r16Match[j]]),24,x,y,r16Match[j]); } |
227 | | - for(let q=0;q<4;q++){ const [x,y]=np.r4[q]; nodes+=nodeHTML(nodeTeam(byNum[qfMatch[q]]),20,x,y,qfMatch[q]); } |
228 | | - for(let f=0;f<2;f++){ const [x,y]=np.r2[f]; nodes+=nodeHTML(nodeTeam(byNum[sfMatch[f]]),18,x,y,sfMatch[f]); } |
| 225 | + for(let i=0;i<16;i++){ const [x,y]=np.r16[i]; nodes+=nodeHTML(winners[i],26,x,y,matchNums[i]); } |
| 226 | + for(let j=0;j<8;j++){ const [x,y]=np.r8[j]; nodes+=nodeHTML(nodeTeam(byNum[r16Match[j]]),32,x,y,r16Match[j]); } |
| 227 | + for(let q=0;q<4;q++){ const [x,y]=np.r4[q]; nodes+=nodeHTML(nodeTeam(byNum[qfMatch[q]]),38,x,y,qfMatch[q]); } |
| 228 | + for(let f=0;f<2;f++){ const [x,y]=np.r2[f]; nodes+=nodeHTML(nodeTeam(byNum[sfMatch[f]]),44,x,y,sfMatch[f]); } |
229 | 229 | return { keysHTML: paths.join('')+dots.join(''), nodesHTML: nodes }; |
230 | 230 | } |
231 | 231 |
|
|
242 | 242 | let crests=''; |
243 | 243 | for(let k=0;k<teams.length;k++){ |
244 | 244 | const t=teams[k]; if(!t.name) continue; const src=CRESTS[t.name]; if(!src) continue; |
245 | | - const a=GEO.leaves[k], R=GEO.R32+48, x=cx+R*Math.cos(a), y=cy+R*Math.sin(a), h=21; |
| 245 | + const a=GEO.leaves[k], R=GEO.R32+36, x=cx+R*Math.cos(a), y=cy+R*Math.sin(a), h=11; |
246 | 246 | crests+='<img class="crest'+(t.lost?' lost':'')+'" style="left:'+(x-h).toFixed(1)+'px;top:'+(y-h).toFixed(1)+'px" src="'+src+'" title="'+t.name+'">'; |
247 | 247 | } |
248 | 248 | return '<svg class="keys" viewBox="0 0 '+BOX+' '+BOX+'">'+kn.keysHTML+'</svg>'+ |
|
0 commit comments