

/* roboto-condensed-300 - latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/roboto-condensed-v18-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Roboto Condensed Light'), local('RobotoCondensed-Light'),
       url('fonts/roboto-condensed-v18-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/roboto-condensed-v18-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/roboto-condensed-v18-latin-300.woff') format('woff'), /* Modern Browsers */
       url('fonts/roboto-condensed-v18-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/roboto-condensed-v18-latin-300.svg#RobotoCondensed') format('svg'); /* Legacy iOS */
}

/* roboto-condensed-regular - latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/roboto-condensed-v18-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Roboto Condensed'), local('RobotoCondensed-Regular'),
       url('fonts/roboto-condensed-v18-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/roboto-condensed-v18-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/roboto-condensed-v18-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('fonts/roboto-condensed-v18-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/roboto-condensed-v18-latin-regular.svg#RobotoCondensed') format('svg'); /* Legacy iOS */
}

/* roboto-condensed-700 - latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/roboto-condensed-v18-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Roboto Condensed Bold'), local('RobotoCondensed-Bold'),
       url('fonts/roboto-condensed-v18-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/roboto-condensed-v18-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/roboto-condensed-v18-latin-700.woff') format('woff'), /* Modern Browsers */
       url('fonts/roboto-condensed-v18-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/roboto-condensed-v18-latin-700.svg#RobotoCondensed') format('svg'); /* Legacy iOS */
}

:root {
      --color-back: rgb(84,0,48);
      --color-card: rgb(52,22,34);
      --color-text: rgb(255,192,0);
    }

html { /* scroll */
       overflow-y: scroll; scroll-behavior: smooth; }
	   


       
.body_sk { /* distance */
           margin: 0;
           /* background, color: main2 */
           background-color: var(--color-back);
           /* font */
           font-family: Roboto Condensed; font-weight: 400; font-size: 1rem; font-style: normal; line-height: 1.33rem; color: var(--color-text); }
    
    
.anchor { /*display */
          display: block; position: relative; top: 0; visibility: hidden; }
          
.symbols { /*display*/
           display: -webkit-flex; display: flex; justify-content: center; align-items: center; 
		   /*distance*/
		   padding-left: 0.4rem; padding-right: 0.4rem;
           /* font */
           font-size: 1.1rem; text-align: center; }
						
          
          
.symbolplus {   /* display */
                display: block; }

.symbolminus {  /* display */
                display: none; }
    

.img100p { /* display */
           width: 100%; }
           
    
.padM { /* distance */
        padding-bottom: 0.2rem; }    
    
    
    
    
                    

.main { /* display */
        max-width: 32rem; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; align-items: stretch; justify-content: flex-start;
        /* distance */
        margin: 0 auto; padding-left: 0.4rem; padding-top: 0.3rem; padding-bottom: 0.6rem; }
        

.L { /* display */
     flex-grow: 0; flex-shrink: 0; flex-basis: 5.0rem; }

                              
.L_sticky { /* display */
            position: -webkit-sticky; position: sticky; top: 0.3rem; }
                        
         
.L_sticky_top { /* display */
                width: 5.0rem; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-direction: column; }
                            

.L_sticky_top_logo { /* display */
                     display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; justify-content: center;
                     /* distance */
                     padding-bottom: 0.3rem; }
                                     

.L_sticky_top_logo_img { /* display */
                         width: 5.0rem; display: block; }
                                             
                                             
                                             

.L_sticky_top_titels { /* display */
                       display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-direction: column; }
                                       

.L_sticky_top_titels_1 { /* font, color: main1 */
                         text-align: left; font-size: 1.2rem; line-height: 1.6rem; font-weight: 300;}
						 
.L_sticky_top_titels_2 { /* font, color: main1 */
                         font-size: 1.6rem; font-weight: 400;}

                                             
                                             

.L_sticky_top_sandwichbutton { /*display */
                               width: 2.8rem; display: none; flex-direction: column; align-items: center; justify-content: center;
                               /* distance */
                               padding: 0.3rem;
                               /* animation */
                               cursor: pointer; transition: 0.5s; }
                                               

.sandwich_line1 { /* display */
                  width: 2.3rem; height: 0.35rem;
                  /* distance */
                  margin: 0.175rem; margin-top: 0.65rem; margin-left: 0.3rem; margin-right: 0.2rem;
                  /* background, color: contrast1 */
                  background-color: var(--color-text); border-radius: 0.2rem;
                  /* animation */
                  transition: 0.5s; }
                                      
                                      
.active .sandwich_line1 { /* background, color: white */
                          background-color: var(--color-text);
                          /* animation */
                          -webkit-transform: rotate(-45deg) translate(-0.5rem, 0.5rem); transform: rotate(-45deg) translate(-0.5rem, 0.5rem); }                                      
                    

.sandwich_line2 { /* display */
                  width: 2.3rem; height: 0.35rem;
                  /* distance */
                  margin: 0.175rem; margin-left: 0.3rem; margin-right: 0.2rem;
                  /* background, color: contrast1 */
                  background-color: var(--color-text); border-radius: 0.2rem;
                  /* animation */
                  transition: 0.5s; }
                    
                    
.active .sandwich_line2 { /* animation */
                          opacity: 0; }


.sandwich_line3 { /* display */
                  width: 2.3rem; height: 0.35rem;
                  /* distance */
                  margin: 0.175rem; margin-bottom: 0.65rem; margin-left: 0.3rem; margin-right: 0.2rem;
                  /* background, color: contrast1 */
                  background-color: var(--color-text); border-radius: 0.2rem;
                  /* animation */
                  transition: 0.5s; }
                    
                    
.active .sandwich_line3 { /* background, color: white */
                          background-color: var(--color-text);
                          /* animation */
                          -webkit-transform: rotate(45deg) translate(-0.5rem, -0.5rem); transform: rotate(45deg)  translate(-0.5rem, -0.5rem); }
                                      
                    
    
    
.L_sticky_menu { /* display */
                 width: 5.0rem; display: block;
                 /* distance */
                 padding-top: 0.6rem;
                 /* font */
                 text-align: left; font-size: 1.0rem;}
                             
			
.L_sticky_menu_elemfirst { /* display */
                           display: -webkit-flex; display: flex; justify-content: stretch;
                           /* distance */
                           padding-top: 0.2rem; padding-bottom: 0.2rem;
                           /* animation */
                           cursor: pointer; }
                                            

.L_sticky_menu_elem { /* display */
                      display: -webkit-flex; display: flex; justify-content: stretch;
                      /* distance */
                      padding-top: 0.2rem; padding-bottom: 0.2rem;
                      /* border */
                      border-top: solid 1px rgba(255, 192, 0);
                      /* animation */
                      cursor: pointer; }
                                      
				
.L_sticky_menu_elem_link { /* display */
                           width: 100%; 
                           /* font, color: main1 */
                           color: var(--color-text); text-decoration: none;
                           /* animation */
                           cursor: pointer; }



a.L_sticky_menu_elem_link2,
a.L_sticky_menu_elem_link2:link,
a.L_sticky_menu_elem_link2:visited,
a.L_sticky_menu_elem_link2:hover,
a.L_sticky_menu_elem_link2:active,
a.L_sticky_menu_elem_link2:focus {
  width: 100%;
  color: var(--color-text);
  text-decoration: underline;
  text-decoration-color: currentColor;
  cursor: pointer;
}			

                        
					
					
					
.R { /* display */
     flex-grow: 1; flex-shrink: 1; flex-basis: auto;
     /* distance */
     padding-left: 0.6rem; }
	

.box { /* distance */
	   padding-bottom: 1rem; }

		

			
.card { /* display */
		max-width: 24rem;
		/* distance */
		margin: auto; padding: 0.5rem;
		/*background*/
		background: linear-gradient(to bottom, rgb(110,29,41), rgb(84,0,48));
		/* border */
		/* border: 1px solid rgba(255,192,0)*/;}
		
.card_head { /* distance */
            padding: 0.4rem;
            /*font*/
			font-size: 1.4rem; font-weight: 300; text-align: center;}
			
.card_img { /* display */
			max-width: 20rem; margin: 0 auto;
			/* distance */
            padding: 0.4rem;}
		
		
.menu {
  /* display */
  display: -webkit-flex; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: center;
  /* distance */
  padding: 0.4rem; padding-top: 0rem;
}		
		
.select_archive1 {
  /* font */
  font-size: 1.0rem; font-weight: 300;
}		
		


.box_stats_line_t {
  /* display */
  display: -webkit-flex; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: stretch; margin: 0 auto;
  /* background */
  background: linear-gradient(to bottom, rgb(110,29,41), rgb(84,0,48));
}


.box_stats_line_change_u {
  /* display */
  width: 1.4rem; display: -webkit-flex; display: flex; align-items: center; justify-content: flex-end;
  /* distance */
  padding-left: 0.2rem;
  /*font*/
  color: rgb(0, 176, 80);
}


.box_stats_line_change_d {
  /* display */
  width: 1.4rem; display: -webkit-flex; display: flex; align-items: center; justify-content: flex-end;
  /* distance */
  padding-left: 0.2rem;
  /*font*/
  color: rgb(255, 0, 0);
}

.box_stats_line_change_n {
  /* display */
  width: 1.4rem; display: -webkit-flex; display: flex; align-items: center; justify-content: flex-end;
  /* distance */
  padding-left: 0.2rem;
  /* font */
  color: var(--color-text);
}


.box_stats_line_rank {
  /* display */
  width: 1.4rem; display: -webkit-flex; display: flex; align-items: center; justify-content: flex-end;
  /* distance */
  padding-left: 0.2rem;
}                    


.box_stats_line_img_div {
  /* display */
  width: 3.0rem;
  /* distance */
  padding: 0.4rem;
}


.box_stats_line_img_div2 {
  /* display */
  width: 4.3rem; display: -webkit-flex; display: flex; align-items: center; justify-content: center;
  /* distance */
  padding: 0.4rem;
}


.box_stats_line_img {
  /* display */
  width: 100%
}


.box_stats_line_img2 {
  /* display */
  max-width: 4.3rem; max-height: 4.3rem; width: auto; height: auto;
}

.box_stats_line_player {
  /* display */
  flex: 1; display: -webkit-flex; display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
  /* distance */
  padding: 0.4rem; padding-left: 0; padding-right: 0;
}

.box_stats_line_points {
  /* display */
  width: 4.0rem; display: -webkit-flex; display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
  /* distance */
  padding-right: 0.4rem;
  /* font */
  font-size: 1.2rem;
}

.box_stats_line_points2 {
  /* font */
  font-weight: 300; font-size: 1rem;
} 

.box_stats_line_tag {
  /* font */
  font-weight: 300; font-size: 0.9rem;
} 

.box_stats_line_data {
  /* display */
  flex: 1; display: -webkit-flex; display: flex; flex-direction: column; align-items: stretch; justify-content: start;
  /* distance */
  padding-right: 0.4rem; padding-top: 0.4rem; padding-bottom: 0.4rem;
}

.box_stats_line_data_name {
  /* font */
  text-align: center;
  /* border */
  border-bottom: solid 1px rgb(255,192,0);
  /* distance */
  padding-bottom: 0.2rem;
}

.box_stats_line_data_tags {
  /* display */
  display: -webkit-flex; display: flex; flex-direction: row; flex-wrap: nowrap; justify-items: center;
  /* font */
  font-weight: 300; font-size: 0.9rem;
}

.box_stats_line_data_tag {
  /* display */
  flex: 1;
  /* font */
  text-align: center;
}
		
.box_stats_line_data_ranks {
  /* display */
  display: -webkit-flex; display: flex; flex-direction: row; justify-content: space-around;
}

.box_stats_line_data_rank1 {
  width: 1.2rem; background-color: rgb(0, 176, 80); border-radius: 0.6rem; text-align: center; color: rgb(84,0,48);
}	

.box_stats_line_data_rank2 {
  width: 1.2rem; background-color: rgb(73, 192, 80); border-radius: 0.6rem; text-align: center; color: rgb(84,0,48);
}	

.box_stats_line_data_rank3 {
  width: 1.2rem; background-color: rgb(146, 208, 80); border-radius: 0.6rem; text-align: center; color: rgb(84,0,48);
}	

.box_stats_line_data_rank4 {
  width: 1.2rem; background-color: rgb(255, 192, 0); border-radius: 0.6rem; text-align: center; color: rgb(84,0,48);
}	

.box_stats_line_data_rank5 {
  width: 1.2rem; background-color: rgb(255, 0, 0); border-radius: 0.6rem; text-align: center; color: rgb(84,0,48);
}	

.box_stats_line_data_rank6 {
  width: 1.2rem; text-align: center;
}	


.box_stats_line_data_table {
  /* display */
  display: -webkit-flex; display: flex; flex-direction: row; justify-content: space-around;
  /* font */
  font-weight: 300; font-size: 0.9rem;
}

.box_stats_line_data_table2 {
  /* display */
  display: -webkit-flex; display: flex; flex-direction: row; justify-content: space-around;
  /* font */
  font-weight: 300; font-size: 0.9rem; color: rgb(84,0,48);
  /* background */
  background: rgb(255, 192, 0)
}

.box_stats_line_data_t {
  /* display */
  width: 3.5rem;
}

.box_stats_line_data_t2 {
  /* display */
  width: 7.0rem;
}


.box_stats_line_menu {
  /* display */
  display: -webkit-flex; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: stretch;
  /* distance */
  margin-top: 1rem; margin-bottom: 1.5rem;
  /*background*/
  background: linear-gradient(to bottom, rgb(110,29,41), rgb(84,0,48));
  /* border */
  /* border: solid 1px rgb(255, 192, 0); */
  /* animation */
  cursor: pointer;}
  
.box_stats_line_menu_data {
  /* display */
  flex: 1; display: -webkit-flex; display: flex; flex-direction: column; align-items: space-between;
  /* distance */
  padding-left: 0.4rem; padding-right: 0.4rem; }
  
.box_stats_line_menu_data1 {
  /* display */
  display: -webkit-flex; display: flex; align-items: center;
  /* distance */
  padding-top: 0.6rem; padding-bottom: 0.4rem;
  /* font */
  font-size: 1.1rem; }
                                                
                        
.box_stats_line_data1_menu_name {
  /* display */
  flex-grow: 1; }

.box_stats_line_G1_1 { /* display */
					   display: -webkit-flex; display: flex; max-width: 20rem; margin: 0 auto;
					   /* background */
                       background: linear-gradient(to bottom, rgba(0, 176, 80, 1), rgba(0, 176, 80, 0.9));
					   /* border */
					   border-bottom: solid 1px rgb(84,0,48);
                       /* font */
                       color: rgb(84, 0, 48); }
                  
.box_stats_line_G2_1 { /* display */
					   display: -webkit-flex; display: flex; max-width: 20rem; margin: 0 auto;
					   /* background */
                       background: linear-gradient(to bottom, rgba(0, 176, 80, 1), rgba(0, 176, 80, 0.9));
					   /* distance */
					   margin-bottom: 1rem;
                       /* font */
                       color: rgb(84, 0, 48); }
					   
.box_stats_line_G1_2 { /* display */
					   display: -webkit-flex; display: flex; max-width: 20rem; margin: 0 auto;
					   /* background */
                       background: linear-gradient(to bottom, rgba(146, 208, 80, 1), rgba(146, 208, 80, 0.9));
					   /* border */
					   border-bottom: solid 1px rgb(84,0,48);
                       /* font */
                       color: rgb(84, 0, 48); }
                  
.box_stats_line_G2_2 { /* display */
					   display: -webkit-flex; display: flex; max-width: 20rem; margin: 0 auto;
					   /* background */
                       background: linear-gradient(to bottom, rgba(146, 208, 80, 1), rgba(146, 208, 80, 0.9));
					   /* distance */
					   margin-bottom: 1rem;
                       /* font */
                       color: rgb(84, 0, 48); }

.box_stats_line_G1_3 { /* display */
					   display: -webkit-flex; display: flex; max-width: 20rem; margin: 0 auto;
					   /* background */
                       background: linear-gradient(to bottom, rgba(255, 192, 0, 1), rgba(255, 192, 0, 0.9));
					   /* border */
					   border-bottom: solid 1px rgb(84,0,48);
                       /* font */
                       color: rgb(84, 0, 48); }
                  
.box_stats_line_G2_3 { /* display */
					   display: -webkit-flex; display: flex; max-width: 20rem; margin: 0 auto;
					   /* background */
                       background: linear-gradient(to bottom, rgba(255, 192, 0, 1), rgba(255, 192, 0, 0.9));
					   /* distance */
					   margin-bottom: 1rem;
                       /* font */
                       color: rgb(84, 0, 48); }	
					   
.box_stats_line_img_game_div { /* display */
						  width: 3.3rem;
						  /* distance */
						  padding: 0rem; }			   
					   
.box_stats_line_result { /* display */
                            width: 3rem; display: -webkit-flex; display: flex; justify-content: center; align-items: center;
                            /* distance */
                            padding: 0.2rem;
							/* font */
                            font-size: 1.5rem; font-weight: 400;
							/* border */
							border-left: solid 1px rgb(84,0,48);}						   
					   
.box_stats_line_player_game {
  /* display */
  flex: 1; display: -webkit-flex; display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
  /* distance */
  padding: 0.4rem;
}					   
					   
.box_stats_lineadd { /* display */
                     display: none;
					 /* distance */
					 margin: 1rem;
					 /* font */
                     color: rgb(84, 0, 48);}					   
					   
.box_stats_line_1 {
  /* display */
  display: -webkit-flex; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: stretch; margin: 0 auto;
  /* background */
  background: linear-gradient(to bottom, rgba(0, 176, 80, 1), rgba(0, 176, 80, 0.7));
  /* font */
  color: rgb(84,0,48);
}

.box_stats_line_2 {
  /* display */
  display: -webkit-flex; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: stretch; margin: 0 auto; 
  /* background */
  background: linear-gradient(to bottom, rgba(73, 192, 80, 1), rgba(73, 192, 80, 0.7));
  /* font */
  color: rgb(84,0,48);
}

.box_stats_line_3 {
  /* display */
  display: -webkit-flex; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: stretch; margin: 0 auto; 
  /* background */
  background: linear-gradient(to bottom, rgba(146, 208, 80, 1), rgba(146, 208, 80, 0.7));
  /* font */
  color: rgb(84,0,48);
}

.box_stats_line_4 {
  /* display */
  display: -webkit-flex; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: stretch; margin: 0 auto; 
  /* background */
  background: linear-gradient(to bottom, rgba(255,192,0, 1), rgba(255,192,0, 0.7));
  /* font */
  color: rgb(84,0,48);
}

.box_stats_line_5 {
  /* display */
  display: -webkit-flex; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: stretch; margin: 0 auto; 
  /* background */
  background: linear-gradient(to bottom, rgba(255, 0, 0, 1), rgba(255, 0, 0, 0.7));
  /* font */
  color: rgb(84,0,48);
}					   
					   
					   

		
		
		
		
		
		
		
		
		                          
                           

                







/* =========================================================
   Modernisierung 2026 – Löbauer TischTennisLiga
   Bestehende Daten-/PHP-Klassen bleiben kompatibel.
   ========================================================= */

:root {
  --color-back: rgb(84,0,48);
  --color-card: rgb(110,29,41);
  --color-card-dark: rgb(64,10,35);
  --color-card-soft: rgba(110,29,41,.78);
  --color-text: rgb(255,192,0);
  --color-green: rgb(73,192,80);
  --color-green-strong: rgb(0,176,80);
  --color-light: rgb(255,247,224);
  --color-muted: rgba(255,247,224,.72);
  --color-line: rgba(255,192,0,.22);
  --card-gradient: linear-gradient(145deg, rgba(116,22,52,.94), rgba(80,5,42,.92));
  --shadow-card: 0 16px 36px rgba(22,0,14,.18);
  --radius-lg: 1.1rem;
  --radius-md: .8rem;
}

* { box-sizing: border-box; }

html { scroll-padding-top: 6rem; }

.body_sk {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 50% -10%, rgba(157,26,74,.20), transparent 33rem),
    linear-gradient(180deg, rgb(84,0,48) 0%, rgb(72,0,41) 100%);
  color: var(--color-light);
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.45;
}

a { color: inherit; }

/* Header / Navigation */
.site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  background: rgba(84,0,48,.94);
  border-bottom: 1px solid var(--color-line);
  box-shadow: 0 6px 24px rgba(25,0,14,.12);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.site-header-inner {
  max-width: 74rem;
  min-height: 5rem;
  margin: 0 auto;
  padding: .7rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.site-brand {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: .8rem;
  color: var(--color-text);
  text-decoration: none;
}

.site-brand-logo {
  width: 3.5rem;
  height: 3.5rem;
  object-fit: contain;
  flex: 0 0 auto;
}

.site-brand-copy { display: flex; flex-direction: column; min-width: 0; }
.site-brand-title { font-size: 1.45rem; line-height: 1.1; font-weight: 400; white-space: nowrap; }
.site-brand-tagline { margin-top: .18rem; color: var(--color-muted); font-size: .88rem; font-weight: 300; }

.L_sticky_menu {
  width: auto;
  margin-left: auto;
  padding: 0;
  display: flex;
  align-items: center;
  gap: .1rem;
  font-size: 1rem;
}

.L_sticky_menu_elem_link,
a.L_sticky_menu_elem_link:link,
a.L_sticky_menu_elem_link:visited {
  position: relative;
  width: auto;
  padding: .65rem .55rem;
  border-radius: .55rem;
  color: var(--color-text);
  text-decoration: none;
  transition: background-color .18s ease, transform .18s ease;
}

.L_sticky_menu_elem_link:hover,
.L_sticky_menu_elem_link:focus-visible {
  background: rgba(255,192,0,.09);
  outline: none;
}

.L_sticky_menu_elem_link.is-active::after {
  content: '';
  position: absolute;
  left: .72rem;
  right: .72rem;
  bottom: .28rem;
  height: 2px;
  border-radius: 2px;
  background: var(--color-text);
}

.L_sticky_top_sandwichbutton {
  width: 3rem;
  height: 3rem;
  margin-left: auto;
  padding: .55rem;
  border: 0;
  border-radius: .7rem;
  background: transparent;
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.sandwich_line1,
.sandwich_line2,
.sandwich_line3 {
  display: block;
  width: 1.7rem;
  height: 2px;
  margin: .19rem 0;
  border-radius: 2px;
  background: var(--color-text);
  transition: transform .25s ease, opacity .2s ease;
}

.active .sandwich_line1 { transform: translateY(.39rem) rotate(45deg); }
.active .sandwich_line2 { opacity: 0; }
.active .sandwich_line3 { transform: translateY(-.39rem) rotate(-45deg); }

.menu-backdrop { display: none; }

/* Main shell */
.main {
  max-width: 74rem;
  margin: 0 auto;
  padding: 2rem 1.25rem 3.5rem;
  display: block;
}

.R { padding: 0; width: 100%; min-width: 0; }
.box { padding-bottom: 1.25rem; }

/* Generic modern cards / data blocks */
.card,
.box_stats_line_t,
.box_stats_line_menu,
.box_stats_line_1,
.box_stats_line_2,
.box_stats_line_3,
.box_stats_line_4,
.box_stats_line_5 {
  max-width: none;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: rgba(110,29,41,.70);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.card {
  width: 100%;
  margin: 0 0 1rem;
  padding: 1rem;
}

.card_head {
  padding: .25rem .25rem .7rem;
  color: var(--color-text);
  font-size: 1.55rem;
  line-height: 1.15;
  font-weight: 600;
  text-align: left;
}

.card_img { max-width: 100%; padding: 0 0 .8rem; }
.card_img img { border-radius: .75rem; }

.menu {
  justify-content: flex-start;
  gap: .65rem;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: rgba(110,29,41,.58);
}

.select_archive1 {
  min-height: 2.7rem;
  min-width: 15rem;
  padding: .5rem 2.2rem .5rem .75rem;
  border: 1px solid rgba(255,192,0,.38);
  border-radius: .6rem;
  background: rgb(76,8,42);
  color: var(--color-light);
  font: inherit;
  cursor: pointer;
}
.select_archive1:focus { outline: 2px solid rgba(255,192,0,.55); outline-offset: 2px; }

/* Ranking and player rows */
.box_stats_line_t {
  margin: .55rem 0;
  min-height: 4.4rem;
  align-items: center;
  background: rgba(96,18,47,.78);
  box-shadow: none;
}

.box_stats_line_t:hover { background: rgba(118,28,53,.90); }

.box_stats_line_rank {
  width: 2.15rem;
  justify-content: center;
  padding-left: 0;
  font-weight: 700;
}

.box_stats_line_change_u,
.box_stats_line_change_d,
.box_stats_line_change_n {
  width: 2.15rem;
  justify-content: flex-end;
  padding-left: 0;
  padding-right: .28rem;
  box-sizing: border-box;
  font-weight: 700;
  text-align: right;
}

.box_stats_line_change_u { color: #55d86b; }
.box_stats_line_change_d { color: #ff5b67; }
.box_stats_line_change_n { color: var(--color-text); }

.box_stats_line_img_div { width: 3.8rem; padding: .45rem; }
.box_stats_line_img_div2 { width: 5.8rem; padding: .55rem; }

.box_stats_line_img,
.box_stats_line_img2 {
  display: block;
  object-fit: cover;
}

.box_stats_line_img_div .box_stats_line_img,
.box_stats_line_img_div2 .box_stats_line_img,
.box_stats_line_img2 {
  border-radius: .55rem;
}

.box_stats_line_player { padding: .55rem .4rem; color: var(--color-light); }
.box_stats_line_player a { color: var(--color-light) !important; }
.box_stats_line_points { width: 5.5rem; align-items: flex-end; padding-right: .8rem; color: var(--color-text); font-size: 1.35rem; font-weight: 700; }
.box_stats_line_points2, .box_stats_line_tag { color: var(--color-muted); font-weight: 300; }

.box_stats_line_data { padding: .55rem .8rem .55rem .2rem; }
.box_stats_line_data_name { color: var(--color-text); text-align: left; font-size: 1.2rem; font-weight: 600; border-bottom-color: var(--color-line); }
.box_stats_line_data_tags,
.box_stats_line_data_table { color: var(--color-muted); }

.box_stats_line_data_table,
.box_stats_line_data_table2 {
  min-height: 2.65rem;
  align-items: center;
  padding: .45rem .7rem;
  border-bottom: 1px solid rgba(255,192,0,.11);
  font-size: .97rem;
}

.box_stats_line_data_table2 {
  margin: .2rem 0;
  border: 1px solid rgba(255,192,0,.45);
  border-radius: .55rem;
  background: var(--color-text);
  color: var(--color-back);
  font-weight: 600;
}

/* Result match rows: neutral card, score provides the accent */
.box_stats_line_G1_1, .box_stats_line_G2_1,
.box_stats_line_G1_2, .box_stats_line_G2_2,
.box_stats_line_G1_3, .box_stats_line_G2_3 {
  max-width: none;
  min-height: 3.4rem;
  margin: 0;
  align-items: stretch;
  border-bottom: 1px solid rgba(255,192,0,.10);
  background: rgba(80,8,42,.58);
  color: var(--color-light);
}

.box_stats_line_G2_1, .box_stats_line_G2_2, .box_stats_line_G2_3 { margin-bottom: .8rem; }

.box_stats_line_img_game_div {
  width: 3.4rem;
  height: 3.4rem;
  padding: .25rem;
  flex: 0 0 3.4rem;
}
.box_stats_line_img_game_div img { width: 100%; height: 100%; border-radius: .45rem; object-fit: cover; }

.box_stats_line_player_game {
  padding: .45rem .65rem;
  color: var(--color-light);
  font-weight: 500;
}

.box_stats_line_result {
  width: 3.35rem;
  margin: .35rem;
  padding: 0;
  border: 0;
  border-radius: .5rem;
  color: var(--color-back);
  background: rgba(255,192,0,.82);
  font-size: 1.4rem;
  font-weight: 700;
}

.box_stats_line_G1_1 .box_stats_line_result,
.box_stats_line_G1_2 .box_stats_line_result,
.box_stats_line_G1_3 .box_stats_line_result {
  background: var(--color-green);
}

.box_stats_line_G2_1 .box_stats_line_result,
.box_stats_line_G2_2 .box_stats_line_result,
.box_stats_line_G2_3 .box_stats_line_result {
  background: rgba(255,247,224,.16);
  color: var(--color-light);
}

/* Accordions */
.box_stats_line_menu {
  min-height: 3.6rem;
  margin: .75rem 0 .3rem;
  align-items: center;
  border-color: rgba(255,192,0,.20);
  box-shadow: none;
  transition: transform .15s ease, background-color .15s ease, border-color .15s ease;
}
.box_stats_line_menu:hover {
  transform: translateY(-1px);
  background: rgba(126,31,57,.86);
  border-color: rgba(255,192,0,.38);
}
.box_stats_line_menu_data { padding: 0 .8rem 0 .1rem; }
.box_stats_line_menu_data1 { padding: .75rem 0; font-size: 1.2rem; color: var(--color-text); font-weight: 600; }
.symbols { width: 2.8rem; padding: 0; color: var(--color-text); font-size: 1.25rem; }

/* Original round color tags remain, but softer */
.box_stats_line_data_rank1 { background-color: var(--color-green-strong); }
.box_stats_line_data_rank2 { background-color: rgb(73,192,80); }
.box_stats_line_data_rank3 { background-color: rgb(146,208,80); }
.box_stats_line_data_rank4 { background-color: var(--color-text); }
.box_stats_line_data_rank5 { background-color: rgb(231,70,77); }

/* Page intro helpers */
.page-intro {
  margin-bottom: 1.25rem;
  padding: .2rem 0 .5rem;
}
.page-intro h1 {
  margin: 0 0 .3rem;
  color: var(--color-text);
  font-size: clamp(2rem, 4vw, 3.15rem);
  line-height: 1;
  font-weight: 700;
}
.page-intro p { margin: 0; max-width: 45rem; color: var(--color-muted); font-size: 1.08rem; }

/* Home */
.home-page { display: flex; flex-direction: column; gap: 1.25rem; }
.home-top-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(18rem, .8fr); gap: 1.25rem; }

.hero-panel,
.next-tournament-card,
.feature-panel,
.recent-card {
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--card-gradient);
  box-shadow: var(--shadow-card);
}

.hero-panel { position: relative; overflow: hidden; padding: clamp(1.35rem, 3vw, 2.4rem); }
.hero-panel::after {
  content: '';
  position: absolute;
  width: 17rem;
  height: 17rem;
  right: -6rem;
  top: -7rem;
  border: 1px solid rgba(255,192,0,.10);
  border-radius: 50%;
  box-shadow: 0 0 0 3rem rgba(255,192,0,.025), 0 0 0 6rem rgba(255,192,0,.02);
  pointer-events: none;
}
.hero-kicker { margin-bottom: .45rem; color: var(--color-green); font-size: .95rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.hero-panel h1 { position: relative; z-index: 1; margin: 0; color: var(--color-text); font-size: clamp(2.4rem, 5vw, 4.8rem); line-height: .98; font-weight: 700; }
.hero-lead { position: relative; z-index: 1; width: 100%; max-width: none; margin: .85rem 0 1.6rem; color: var(--color-light); font-size: clamp(1.05rem, 2vw, 1.3rem); font-weight: 300; }

.home-stats { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
.stat-card {
  min-height: 7rem;
  padding: .85rem .95rem;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: .7rem;
  border: 1px solid rgba(255,192,0,.18);
  border-radius: .75rem;
  background: rgba(55,5,30,.28);
}
.stat-icon { grid-row: 1 / span 2; color: var(--color-text); font-size: 1.25rem; letter-spacing: -.25rem; }
.stat-icon-paddle { transform: rotate(-35deg); transform-origin: center; }
.stat-card strong { color: var(--color-green); font-size: clamp(1.7rem, 3vw, 2.45rem); line-height: 1; }
.stat-card span:last-child { color: var(--color-light); font-size: .95rem; line-height: 1.1; }

.next-tournament-card { padding: 1.35rem; display: flex; flex-direction: column; }
.section-label { display: flex; align-items: center; gap: .45rem; color: var(--color-text); font-size: 1.03rem; font-weight: 700; text-transform: uppercase; letter-spacing: .035em; }
.next-tournament-number { margin: .8rem 0; color: var(--color-text); font-size: clamp(2.2rem, 4vw, 3.6rem); line-height: 1; font-weight: 700; }
.next-tournament-meta-line {
  display: flex;
  align-items: baseline;
  gap: .42rem;
  margin: .05rem 0 1.25rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(255,192,0,.11);
  color: var(--color-light);
  font-size: 1.12rem;
  line-height: 1.25;
  white-space: nowrap;
}
.next-tournament-meta-line strong { color: var(--color-light); font-weight: 400; }
.next-tournament-meta-line .meta-separator { color: var(--color-text); opacity: .72; }
.primary-cta,
.outline-cta,
.text-link {
  text-decoration: none;
  font-weight: 700;
}
.primary-cta {
  margin-top: auto;
  padding: .8rem 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: .65rem;
  background: var(--color-text);
  color: var(--color-back);
  transition: transform .16s ease, box-shadow .16s ease;
}
.primary-cta:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(255,192,0,.14); }

.feature-panel { padding: 1.25rem; }
.section-heading-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1rem; }
.section-heading-row h2 { margin: .15rem 0 0; color: var(--color-light); font-size: clamp(1.45rem, 3vw, 2.05rem); line-height: 1.1; }
.section-date { color: var(--color-muted); text-align: right; }

.final-match-modern { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.final-player {
  min-width: 0;
  display: grid;
  grid-template-columns: 3.7rem minmax(0,1fr) auto;
  align-items: center;
  gap: .75rem;
  padding: .75rem;
  border: 1px solid rgba(255,192,0,.12);
  border-radius: .75rem;
  background: rgba(52,5,30,.35);
}
.final-player.winner { border-color: rgba(73,192,80,.42); }
.final-player img { width: 3.7rem; height: 3.7rem; border-radius: .65rem; object-fit: cover; }
.final-player div { min-width: 0; display: flex; flex-direction: column; }
.final-player strong { overflow: hidden; text-overflow: ellipsis; color: var(--color-light); font-size: 1.1rem; }
.final-player span { color: var(--color-muted); font-size: .88rem; }
.score-badge { min-width: 3rem; padding: .5rem .65rem; border-radius: .55rem; background: var(--color-green); color: var(--color-back); text-align: center; font-size: 1.6rem; }
.score-badge-muted { background: rgba(255,247,224,.14); color: var(--color-light); }
.feature-footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1rem; }
.winner-note { color: var(--color-muted); }
.winner-note b { color: var(--color-text); }
.outline-cta { padding: .65rem .9rem; border: 1px solid rgba(255,192,0,.62); border-radius: .6rem; color: var(--color-text); }
.outline-cta:hover { background: rgba(255,192,0,.08); }

.recent-section { padding: .4rem 0; }
.text-link { color: var(--color-text); }
.recent-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 1rem; }
.recent-card { overflow: hidden; box-shadow: none; }
.recent-photo { width: 100%; aspect-ratio: 16/8; display: block; object-fit: cover; }
.recent-card-body { padding: .9rem; }
.recent-meta { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; margin-bottom: .7rem; }
.recent-meta b { color: var(--color-text); font-size: 1.15rem; }
.recent-meta span { color: var(--color-muted); font-size: .88rem; }
.mini-final-row { display: flex; justify-content: space-between; gap: .75rem; padding: .45rem .55rem; border-top: 1px solid rgba(255,192,0,.11); color: var(--color-light); }
.mini-final-row b { color: var(--color-green); }

.schedule-list { display: grid; gap: .35rem; }
.schedule-row { display: grid; grid-template-columns: max-content max-content max-content minmax(0, 1fr); gap: .8rem; align-items: center; min-height: 3.1rem; padding: .55rem .75rem; border-radius: .55rem; background: rgba(48,4,27,.30); border: 1px solid transparent; font-size: 1rem; }
.schedule-row > * { min-width: 0; white-space: nowrap; }
.schedule-row strong { justify-self: start; }
.schedule-row b { color: var(--color-text); }
.schedule-row span { color: var(--color-muted); }
.schedule-row.is-next { border-color: rgba(255,192,0,.58); background: var(--color-text); color: var(--color-back); }
.schedule-row.is-next b, .schedule-row.is-next span, .schedule-row.is-next strong { color: var(--color-back); }

/* Footer */
.site-footer { border-top: 1px solid var(--color-line); background: rgba(49,0,28,.28); }
.site-footer-inner { max-width: 74rem; min-height: 6rem; margin: 0 auto; padding: 1.15rem 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.site-footer-brand { display: flex; align-items: center; gap: .7rem; }
.site-footer-brand img { width: 2.8rem; height: 2.8rem; object-fit: contain; }
.site-footer-brand div { display: flex; flex-direction: column; }
.site-footer-brand strong { color: var(--color-text); }
.site-footer-brand span { color: var(--color-muted); font-size: .86rem; }
.site-footer-note { color: var(--color-text); font-size: 1.15rem; font-style: italic; }

/* Back link / profile */
a.L_sticky_menu_elem_link2,
a.L_sticky_menu_elem_link2:link,
a.L_sticky_menu_elem_link2:visited {
  display: inline-flex;
  width: auto !important;
  padding: .55rem .75rem;
  border: 1px solid rgba(255,192,0,.3);
  border-radius: .55rem;
  color: var(--color-text);
  text-decoration: none;
}

/* Tablet */


/* Smartphone navigation and layouts */




/* Detail polish for expandable standings */
.box_stats_lineadd {
  margin: .35rem 0 1rem;
  color: var(--color-light);
}
.box_stats_line_1, .box_stats_line_2, .box_stats_line_3, .box_stats_line_4, .box_stats_line_5 {
  margin: .35rem 0;
  color: var(--color-light);
  background: rgba(80,8,42,.58);
  box-shadow: none;
}
.box_stats_line_1 { border-left: 4px solid var(--color-green-strong); }
.box_stats_line_2 { border-left: 4px solid var(--color-green); }
.box_stats_line_3 { border-left: 4px solid rgb(146,208,80); }
.box_stats_line_4 { border-left: 4px solid var(--color-text); }
.box_stats_line_5 { border-left: 4px solid rgb(231,70,77); }

/* =========================================================
   Korrekturen Responsive Navigation – September 2026
   - Hamburger-Navigation bereits im Tablet-/schmalen Desktopbereich
   - Mobilmenü liegt sicher über dem Backdrop und bleibt anklickbar
   - horizontales Verschieben der Seite wird verhindert
   ========================================================= */

html,
body {
  width: 100%;
  max-width: 100%;
  /* clip verhindert horizontales Verschieben, erzeugt aber – anders als
     overflow-x:hidden – keinen eigenen Scroll-Container. Das ist wichtig,
     damit position:sticky der mobilen Kopfzeile zuverlässig funktioniert. */
  overflow-x: clip;
}

.site-header,
.site-header-inner,
.main,
.site-footer,
.site-footer-inner {
  max-width: 100%;
}

/* Der Header bildet einen eigenen Stacking Context. Er muss oberhalb des
   Backdrops liegen, damit das darin enthaltene Off-Canvas-Menü anklickbar ist. */
.site-header { z-index: 1100; }
.menu-backdrop {
  z-index: 1090;
  pointer-events: none;
}
.menu-backdrop.is-open { pointer-events: auto; }

/* Navigation früher auf Hamburger umstellen. So kollidieren Markenname und
   horizontales Menü auch bei schmalen Desktop-/Tabletbreiten nicht. */


/* =========================================================
   Korrektur 02 – Mobile Navigation
   - klarer, vollständig deckender Menübereich
   - aktive Seite mit kontrastreicher Goldfläche + dunkler Schrift
   - Sticky-Kopfzeile bleibt beim Scrollen jederzeit erreichbar
   ========================================================= */






/* =========================================================
   Korrektur 03 – Sticky Smartphone-Kopfzeile
   ========================================================= */


/* =========================================================
   Turnierbaum-Farbcodierung – September 2026
   Die Farben sind funktionale Information und werden deshalb
   wieder als dominante Flaechenfarbe dargestellt.
   ========================================================= */

:root {
  --match-phase-1: rgb(0,176,80);
  --match-phase-2: rgb(146,208,80);
  --match-phase-3: rgb(255,192,0);

  --standing-phase-1: rgb(0,176,80);
  --standing-phase-2: rgb(73,192,80);
  --standing-phase-3: rgb(146,208,80);
  --standing-phase-4: rgb(255,192,0);
  --standing-phase-5: rgb(231,70,77);
}

/* Ergebnisse: komplette Matchzeilen tragen wieder die Phasenfarbe. */
.box_stats_line_G1_1,
.box_stats_line_G2_1,
.box_stats_line_G1_2,
.box_stats_line_G2_2,
.box_stats_line_G1_3,
.box_stats_line_G2_3 {
  min-height: 3.55rem;
  margin-left: 0;
  margin-right: 0;
  border: 0;
  color: var(--color-back);
  box-shadow: 0 6px 16px rgba(31,0,17,.10);
}

.box_stats_line_G1_1,
.box_stats_line_G2_1 {
  background: linear-gradient(100deg, var(--match-phase-1), rgb(62,194,112));
}

.box_stats_line_G1_2,
.box_stats_line_G2_2 {
  background: linear-gradient(100deg, var(--match-phase-2), rgb(178,220,112));
}

.box_stats_line_G1_3,
.box_stats_line_G2_3 {
  background: linear-gradient(100deg, var(--match-phase-3), rgb(255,209,67));
}

/* Zwei Spielerzeilen werden optisch als ein Match gelesen. */
.box_stats_line_G1_1,
.box_stats_line_G1_2,
.box_stats_line_G1_3 {
  border-radius: .72rem .72rem 0 0;
  border-bottom: 1px solid rgba(84,0,48,.26);
}

.box_stats_line_G2_1,
.box_stats_line_G2_2,
.box_stats_line_G2_3 {
  margin-bottom: .9rem;
  border-radius: 0 0 .72rem .72rem;
}

.box_stats_line_G1_1 .box_stats_line_player_game,
.box_stats_line_G2_1 .box_stats_line_player_game,
.box_stats_line_G1_2 .box_stats_line_player_game,
.box_stats_line_G2_2 .box_stats_line_player_game,
.box_stats_line_G1_3 .box_stats_line_player_game,
.box_stats_line_G2_3 .box_stats_line_player_game {
  color: var(--color-back);
  font-weight: 600;
}

/* Punktfelder sind bewusst neutral, damit sie nicht mit der
   Turnierbaum-Farbcodierung verwechselt werden. */
.box_stats_line_G1_1 .box_stats_line_result,
.box_stats_line_G2_1 .box_stats_line_result,
.box_stats_line_G1_2 .box_stats_line_result,
.box_stats_line_G2_2 .box_stats_line_result,
.box_stats_line_G1_3 .box_stats_line_result,
.box_stats_line_G2_3 .box_stats_line_result {
  margin: .38rem;
  border: 1px solid rgba(255,247,224,.24);
  background: rgba(84,0,48,.90);
  color: var(--color-light);
  box-shadow: none;
}

.box_stats_line_G1_1 .box_stats_line_img_game_div img,
.box_stats_line_G2_1 .box_stats_line_img_game_div img,
.box_stats_line_G1_2 .box_stats_line_img_game_div img,
.box_stats_line_G2_2 .box_stats_line_img_game_div img,
.box_stats_line_G1_3 .box_stats_line_img_game_div img,
.box_stats_line_G2_3 .box_stats_line_img_game_div img {
  border: 1px solid rgba(84,0,48,.30);
}

/* Startseite: die dort gezeigten Endspiele sind Phase 1 und
   erhalten deshalb dieselbe dominante gruene Matchfarbe. */
.latest-tournament .final-match-modern {
  gap: 1px;
  padding: .38rem;
  border: 1px solid rgba(0,176,80,.72);
  border-radius: .9rem;
  background: linear-gradient(100deg, var(--match-phase-1), rgb(62,194,112));
  box-shadow: 0 8px 22px rgba(0,0,0,.12);
}

.latest-tournament .final-player {
  border: 0;
  border-radius: .62rem;
  background: rgba(255,247,224,.08);
}

.latest-tournament .final-player.winner {
  border: 0;
  background: rgba(255,247,224,.16);
}

.latest-tournament .final-player strong,
.latest-tournament .final-player span {
  color: var(--color-back);
}

.latest-tournament .final-player span {
  opacity: .76;
}

.latest-tournament .score-badge,
.latest-tournament .score-badge-muted {
  background: rgba(84,0,48,.90);
  color: var(--color-light);
}

/* Auch die kompakten Finalergebnisse der letzten Turniere
   behalten die funktionale grüne Hintergrundfarbe. */
.recent-card .mini-final-row {
  border-top: 1px solid rgba(84,0,48,.22);
  background: linear-gradient(100deg, var(--match-phase-1), rgb(62,194,112));
  color: var(--color-back);
  font-weight: 600;
}

.recent-card .mini-final-row:first-of-type {
  border-radius: .55rem .55rem 0 0;
}

.recent-card .mini-final-row:last-child {
  border-radius: 0 0 .55rem .55rem;
}

.recent-card .mini-final-row b {
  min-width: 2rem;
  color: var(--color-light);
  background: rgba(84,0,48,.90);
  border-radius: .38rem;
  text-align: center;
}

/* Endstand: die komplette Zeile zeigt wieder deutlich,
   in welchem Turnierbaum-/Ausscheidungsabschnitt der Spieler landete. */
.box_stats_line_1,
.box_stats_line_2,
.box_stats_line_3,
.box_stats_line_4,
.box_stats_line_5 {
  margin: .28rem 0;
  border: 0;
  border-left: 0;
  box-shadow: 0 5px 14px rgba(31,0,17,.09);
  color: var(--color-back);
}

.box_stats_line_1 { background: linear-gradient(100deg, var(--standing-phase-1), rgb(52,193,106)); }
.box_stats_line_2 { background: linear-gradient(100deg, var(--standing-phase-2), rgb(104,204,108)); }
.box_stats_line_3 { background: linear-gradient(100deg, var(--standing-phase-3), rgb(183,222,119)); }
.box_stats_line_4 { background: linear-gradient(100deg, var(--standing-phase-4), rgb(255,211,73)); }
.box_stats_line_5 { background: linear-gradient(100deg, var(--standing-phase-5), rgb(208,50,67)); color: var(--color-light); }

.box_stats_line_1 .box_stats_line_player,
.box_stats_line_2 .box_stats_line_player,
.box_stats_line_3 .box_stats_line_player,
.box_stats_line_4 .box_stats_line_player,
.box_stats_line_1 .box_stats_line_points,
.box_stats_line_2 .box_stats_line_points,
.box_stats_line_3 .box_stats_line_points,
.box_stats_line_4 .box_stats_line_points,
.box_stats_line_1 .box_stats_line_rank,
.box_stats_line_2 .box_stats_line_rank,
.box_stats_line_3 .box_stats_line_rank,
.box_stats_line_4 .box_stats_line_rank {
  color: var(--color-back);
}

.box_stats_line_1 .box_stats_line_tag,
.box_stats_line_2 .box_stats_line_tag,
.box_stats_line_3 .box_stats_line_tag,
.box_stats_line_4 .box_stats_line_tag,
.box_stats_line_1 .box_stats_line_points2,
.box_stats_line_2 .box_stats_line_points2,
.box_stats_line_3 .box_stats_line_points2,
.box_stats_line_4 .box_stats_line_points2 {
  color: rgba(84,0,48,.76);
}

.box_stats_line_5 .box_stats_line_player,
.box_stats_line_5 .box_stats_line_points,
.box_stats_line_5 .box_stats_line_rank,
.box_stats_line_5 .box_stats_line_tag,
.box_stats_line_5 .box_stats_line_points2 {
  color: var(--color-light);
}

.box_stats_line_1 .box_stats_line_img,
.box_stats_line_2 .box_stats_line_img,
.box_stats_line_3 .box_stats_line_img,
.box_stats_line_4 .box_stats_line_img,
.box_stats_line_5 .box_stats_line_img {
  border: 1px solid rgba(84,0,48,.28);
}



/* =========================================================
   Korrektur 05 – kompaktere Datenbreiten auf Desktop
   Ergebnisse, Jahresliste sowie Sieger-/Vereinstafeln sollen
   als zusammengehörige Zeilen lesbar bleiben und nicht über
   die volle Inhaltsbreite auseinandergezogen werden.
   Smartphone-/Tabletdarstellung bleibt unverändert.
   ========================================================= */


/* =========================================================
   Layout-Korrektur 06 – Titel, Punktespalten und Scores
   ========================================================= */

/* Desktop-Kopfzeile: ohne Untertitel darf der Ligatitel etwas ruhiger
   und praesenter gesetzt werden. */
.site-brand-title {
  font-size: 1.68rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: -.015em;
}

/* Startseiten-Hero: dominant, aber nicht ueberdimensioniert. */
.hero-panel h1 {
  font-size: clamp(2.15rem, 4vw, 3.15rem);
  line-height: 1.03;
  letter-spacing: -.025em;
}

/* Jahresliste + Endstand: Ganzzahl und Bruch erhalten feste Spalten.
   Dadurch steht z. B. die 1 bei "1 1/2" exakt unter einer alleinstehenden 1. */
.box_stats_line_points .points-value {
  width: 100%;
  display: grid;
  grid-template-columns: 1.15ch 2.65ch;
  align-items: baseline;
  justify-content: end;
  column-gap: .28rem;
  font-variant-numeric: tabular-nums;
}

.box_stats_line_points .points-whole {
  text-align: right;
}

.box_stats_line_points .box_stats_line_points2 {
  min-width: 2.65ch;
  text-align: left;
  white-space: nowrap;
}

/* Match-Ergebnis: keine massive violette Score-Kachel mehr. Die Zahl bleibt
   gut auffindbar, waehrend die Turnierbaumfarbe die dominante Information ist. */
.box_stats_line_G1_1 .box_stats_line_result,
.box_stats_line_G2_1 .box_stats_line_result,
.box_stats_line_G1_2 .box_stats_line_result,
.box_stats_line_G2_2 .box_stats_line_result,
.box_stats_line_G1_3 .box_stats_line_result,
.box_stats_line_G2_3 .box_stats_line_result {
  width: 2.75rem;
  margin: .45rem .48rem .45rem .12rem;
  padding-left: .5rem;
  border: 0;
  border-left: 1px solid rgba(84,0,48,.28);
  border-radius: 0;
  background: transparent;
  color: rgb(84,0,48);
  box-shadow: none;
  font-size: 1.35rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

.box_stats_line_G1_1 .box_stats_line_result,
.box_stats_line_G1_2 .box_stats_line_result,
.box_stats_line_G1_3 .box_stats_line_result {
  font-weight: 800;
}

/* Gleiche, ruhigere Score-Sprache auf der Startseite. */
.latest-tournament .score-badge,
.latest-tournament .score-badge-muted {
  min-width: 2.4rem;
  padding: .18rem 0 .18rem .65rem;
  border-left: 1px solid rgba(84,0,48,.28);
  border-radius: 0;
  background: transparent;
  color: rgb(84,0,48);
  box-shadow: none;
  font-variant-numeric: tabular-nums;
}

.latest-tournament .score-badge-muted {
  opacity: .78;
}

.recent-card .mini-final-row b {
  min-width: 1.8rem;
  padding-left: .5rem;
  border-left: 1px solid rgba(84,0,48,.26);
  border-radius: 0;
  background: transparent;
  color: rgb(84,0,48);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Smartphone: Ligatitel optisch exakt in der Kopfzeile zentrieren.
   Logo links und Menuebutton rechts bleiben unabhaengig davon bedienbar. */






/* =========================================================
   Layout-Korrektur 07 – tatsächlich angewendete Anpassungen
   Titel, Punkteausrichtung, Matchscores und Startseiten-Hero
   ========================================================= */

/* Kopfzeile: Der Markenname steht nun direkt neben dem Logo; ein Untertitel
   existiert in der HTML-Struktur nicht mehr. */
.site-brand {
  position: relative;
}

.site-brand-title {
  display: block;
  font-size: 1.58rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: -.015em;
  white-space: nowrap;
}

/* Startseite: klare Hauptaussage, aber bewusst kleiner als die erste
   Modernisierungsfassung. */
.hero-panel .hero-title {
  margin: 0;
  font-size: clamp(2rem, 3.25vw, 2.85rem);
  line-height: 1.04;
  letter-spacing: -.025em;
}

/* Jahresliste und Endstand: feste Spalte für Ganzzahl und Bruch. Die leere
   Bruchspalte bleibt bei vollen Punkten erhalten und verhindert Versatz. */
.box_stats_line_points .points-value {
  width: 4.15rem;
  display: grid;
  grid-template-columns: 1.15ch 2.75ch;
  align-items: baseline;
  justify-content: end;
  column-gap: .32rem;
  font-variant-numeric: tabular-nums;
}

.box_stats_line_points .points-whole {
  text-align: right;
}

.box_stats_line_points .points-fraction {
  min-width: 2.75ch;
  text-align: left;
  white-space: nowrap;
  color: inherit;
  font-size: .72em;
  font-weight: 400;
}

/* Matchscore: kleine, weiche Markierung statt eines kontrastreichen violetten
   Quadrats. Die Turnierbaumfarbe bleibt die dominante Fläche. */
.box_stats_line_G1_1 .box_stats_line_result,
.box_stats_line_G2_1 .box_stats_line_result,
.box_stats_line_G1_2 .box_stats_line_result,
.box_stats_line_G2_2 .box_stats_line_result,
.box_stats_line_G1_3 .box_stats_line_result,
.box_stats_line_G2_3 .box_stats_line_result {
  box-sizing: border-box;
  width: 2.35rem;
  min-width: 2.35rem;
  height: 2.05rem;
  margin: auto .52rem auto .18rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(84,0,48,.18);
  border-radius: 999px;
  background: rgba(255,247,224,.20);
  color: rgb(84,0,48);
  box-shadow: none;
  font-size: 1.18rem;
  line-height: 1;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

.box_stats_line_G1_1 .box_stats_line_result,
.box_stats_line_G1_2 .box_stats_line_result,
.box_stats_line_G1_3 .box_stats_line_result {
  background: rgba(255,247,224,.30);
  font-weight: 800;
}

/* Dieselbe ruhigere Scoresprache auf der Startseite. */
.latest-tournament .score-badge,
.latest-tournament .score-badge-muted,
.recent-card .mini-final-row b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.2rem;
  height: 1.95rem;
  padding: 0 .45rem;
  border: 1px solid rgba(84,0,48,.18);
  border-radius: 999px;
  background: rgba(255,247,224,.20);
  color: rgb(84,0,48);
  box-shadow: none;
  font-variant-numeric: tabular-nums;
}

.latest-tournament .score-badge {
  background: rgba(255,247,224,.30);
}

.latest-tournament .score-badge-muted {
  opacity: .78;
}

/* Smartphone/Tablet: Markenname optisch im gesamten Header zentriert.
   Logo und Sandwichbutton bleiben an den Seiten unabhängig bedienbar. */






/* =========================================================
   Layout-Anpassung 11 – Titel, Startkarten-Footer und Scores
   ========================================================= */

/* Auf der Karte „Letztes Turnier“ bleibt nach dem Entfernen des
   Glückwunsches nur noch der Ergebnis-Link; dieser sitzt rechts. */
.latest-tournament .feature-footer {
  justify-content: flex-end;
}

/* Scores: eine leicht aufgehellte Variante der jeweiligen Matchfarbe.
   Die halbtransparente helle Fläche übernimmt immer die Farbe darunter,
   statt eine neue konkurrierende Akzentfarbe einzuführen. */
.box_stats_line_G1_1 .box_stats_line_result,
.box_stats_line_G2_1 .box_stats_line_result,
.box_stats_line_G1_2 .box_stats_line_result,
.box_stats_line_G2_2 .box_stats_line_result,
.box_stats_line_G1_3 .box_stats_line_result,
.box_stats_line_G2_3 .box_stats_line_result {
  box-sizing: border-box;
  width: 2.35rem;
  min-width: 2.35rem;
  height: 2.35rem;
  margin: auto .48rem auto .12rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(84,0,48,.14);
  border-radius: .52rem;
  background: rgba(255,247,224,.25);
  color: rgb(84,0,48);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
  font-size: 1.22rem;
  line-height: 1;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* Siegerzeile minimal kräftiger, ohne die Form oder Farblogik zu ändern. */
.box_stats_line_G1_1 .box_stats_line_result,
.box_stats_line_G1_2 .box_stats_line_result,
.box_stats_line_G1_3 .box_stats_line_result {
  background: rgba(255,247,224,.33);
  font-weight: 800;
}

/* Dieselbe Scoresprache auf der Startseite. */
.latest-tournament .score-badge,
.latest-tournament .score-badge-muted,
.recent-card .mini-final-row b {
  box-sizing: border-box;
  min-width: 2.35rem;
  height: 2.35rem;
  padding: 0 .45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(84,0,48,.14);
  border-radius: .52rem;
  background: rgba(255,247,224,.25);
  color: rgb(84,0,48);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.latest-tournament .score-badge {
  background: rgba(255,247,224,.33);
}

.latest-tournament .score-badge-muted {
  opacity: 1;
}

/* Smartphone/Tablet: gleicher Schriftgrad wie auf dem Desktop und exakt
   in der gesamten Titelzeile zentriert. */







/* =========================================================
   Layout-Anpassung 12 – responsiver Titel im mobilen Header
   ========================================================= */



/* Auf sehr schmalen Geräten bleibt der Titel lesbar, ohne Logo oder
   Menübutton aus der Titelzeile zu verdrängen. */


/* =========================================================
   Layout-Anpassung 13 – Jahresliste kompakter und ruhiger
   ========================================================= */

/* Seitenüberschrift und Datumsüberschrift der Jahresliste zentrieren. */
.page-intro.page-intro-centered {
  text-align: center;
}

.page-intro.page-intro-centered h1,
.page-intro.page-intro-centered p,
#Liste .card_head,
#Spieltag .card_head {
  text-align: center;
}

/* Die Listenauswahl folgt derselben Lesebreite wie die Jahreslistenzeilen. */
#Liste .menu,
#Spieltag .menu {
  box-sizing: border-box;
  width: 100%;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}

/* Spielernamen sind Links, sollen innerhalb der bereits gerahmten
   Jahreslistenzeile aber nicht wie ein zusätzlicher Button erscheinen. */
#Liste .box_stats_line_player a.L_sticky_menu_elem_link2,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link2:link,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link2:visited,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link2:hover,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link2:active,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link2:focus {
  display: inline;
  width: auto !important;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-decoration: none;
}




/* =========================================================
   Layout-Anpassung 15 – Untertitel der Jahresliste wirklich zentrieren
   ========================================================= */
.page-intro.page-intro-centered p {
  width: 100%;
  max-width: 45rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}


/* =========================================================
   Layout-Anpassung 18 – responsive, einzeilige Überschriften
   ========================================================= */

/* Überschriften verkleinern sich mit der verfügbaren Breite, anstatt
   auf kleinen Displays in eine zweite Zeile umzubrechen. */
.page-intro h1,
.hero-panel .hero-title,
.section-heading-row h2,
.card_head,
.home-page h2 {
  white-space: nowrap;
}

/* Hauptüberschriften: Die längsten Titel (z. B. "Vereinstafel nach ...")
   bleiben dadurch auch auf schmalen Smartphones einzeilig. */
.page-intro h1 {
  font-size: clamp(1rem, 5vw, 3.15rem);
  letter-spacing: clamp(-.035em, -.15vw, -.01em);
}

/* Startseiten-Haupttitel bleibt dominant, skaliert aber deutlich mit. */
.hero-panel .hero-title {
  font-size: clamp(1.4rem, 6.8vw, 2.85rem);
}

/* Sekundäre Kartenüberschriften skalieren ebenfalls, ohne Umbruch. */
.section-heading-row h2,
.home-page h2 {
  font-size: clamp(1.05rem, 4.8vw, 2.05rem);
}

/* Datums-/Turnierüberschriften können länger sein und skalieren deshalb
   etwas stärker herunter als die Hauptüberschrift. */
.card_head {
  font-size: clamp(.84rem, 4.15vw, 1.55rem);
  line-height: 1.12;
}





/* =========================================================
   Layout-Anpassung 19 – vereinheitlichte responsive Logik
   Effektive Breitenstufen:
   1) bis 60rem (960px): kompaktes / mobiles Grundlayout
   2) bis 36rem (576px): Feinanpassungen fuer kleine Smartphones
   Aeltere Zwischen-Breakpoints werden durch diesen abschliessenden Block
   bewusst vereinheitlicht, damit Elemente nicht nacheinander "springen".
   ========================================================= */

/* Jahresliste: Das externe-Link-Symbol ist Teil der Spielerzeile, nicht der
   Hauptnavigation. Deshalb darf es auch mobil keine Menue-Kachel erhalten. */
#Liste .box_stats_line_player a.L_sticky_menu_elem_link,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link:link,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link:visited,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link:hover,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link:focus,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link:active {
  display: inline;
  width: auto !important;
  margin: 0;
  padding: 0 .12rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  transform: none;
}

/* Die drei Ligastatistiken bleiben grundsaetzlich eine gemeinsame Reihe. */
.home-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

/* =========================================================
   Responsive System 2026 – vereinheitlicht
   Nur zwei Breitenstufen steuern das Layout:
   - 60rem / 960px: Wechsel Desktop -> kompakt/mobil
   - 36rem / 576px: Feinanpassungen fuer kleine Smartphones
   ========================================================= */

/* Datenzeilen bleiben auch auf breiten Bildschirmen kompakt lesbar. */
.box_stats_line_t,
.box_stats_line_menu,
.box_stats_lineadd,
.box_stats_line_1,
.box_stats_line_2,
.box_stats_line_3,
.box_stats_line_4,
.box_stats_line_5 {
  width: 100%;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}

.box_stats_line_G1_1,
.box_stats_line_G2_1,
.box_stats_line_G1_2,
.box_stats_line_G2_2,
.box_stats_line_G1_3,
.box_stats_line_G2_3 {
  width: 100%;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

/* Das Kettensymbol in der Jahresliste ist ein Inline-Link und kein Menuepunkt. */
#Liste .box_stats_line_player a.L_sticky_menu_elem_link,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link:link,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link:visited,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link:hover,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link:focus,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link:active {
  display: inline;
  width: auto !important;
  margin: 0;
  padding: 0 .12rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: none;
  transform: none;
}

/* Die drei Kennzahlen bleiben immer eine gemeinsame Reihe. */
.home-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

@media (max-width: 60rem) {
  html { scroll-padding-top: 4.65rem; }

  .body_sk {
    background: linear-gradient(180deg, rgb(84,0,48), rgb(66,0,37));
  }

  /* Ein gemeinsamer Umschaltpunkt fuer Kopfzeile und Seitenlayout. */
  .site-header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1120;
    background: rgb(84,0,48);
    border-bottom: 1px solid rgba(255,192,0,.28);
    box-shadow: 0 5px 18px rgba(25,0,14,.30);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .site-header-inner {
    position: relative;
    z-index: 1125;
    min-height: 4.65rem;
    padding: .55rem .8rem;
    display: flex;
    align-items: center;
    gap: .7rem;
  }

  .site-brand {
    position: static;
    flex: 1 1 auto;
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: .55rem;
  }

  .site-brand-logo {
    grid-column: 1;
    width: 2.7rem;
    height: 2.7rem;
  }

  .site-brand-title {
    position: static;
    grid-column: 2;
    width: auto;
    max-width: none;
    transform: none;
    font-size: clamp(1rem, 3.25vw, 1.58rem);
    line-height: 1;
    font-weight: 500;
    letter-spacing: -.035em;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
  }

  .L_sticky_top_sandwichbutton {
    position: relative;
    z-index: 1140;
    display: flex;
    flex: 0 0 3rem;
    margin-left: 0;
    border: 1px solid rgba(255,192,0,.24);
    background: rgba(255,192,0,.06);
  }

  .L_sticky_top_sandwichbutton:hover,
  .L_sticky_top_sandwichbutton:focus-visible,
  .L_sticky_top_sandwichbutton.active {
    background: rgba(255,192,0,.13);
    outline: none;
  }

  .L_sticky_menu {
    position: fixed;
    z-index: 1130;
    top: 4.65rem;
    right: 0;
    bottom: 0;
    width: min(88vw, 22rem);
    max-width: 100vw;
    margin-left: 0;
    padding: 1rem .9rem 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .45rem;
    background: rgb(60,0,34);
    border-left: 1px solid rgba(255,192,0,.30);
    border-top: 1px solid rgba(255,192,0,.18);
    box-shadow: -14px 14px 36px rgba(18,0,10,.48);
    overflow-y: auto;
    overscroll-behavior: contain;
    transform: translateX(105%);
    visibility: hidden;
    pointer-events: none;
    transition: transform .25s ease, visibility .25s ease;
  }

  .L_sticky_menu.is-open {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
  }

  .L_sticky_menu::before {
    content: 'Menü';
    display: block;
    padding: .15rem .8rem .55rem;
    color: rgba(255,255,255,.66);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  /* Bewusst auf das Navigationspanel begrenzt: andere Links mit derselben
     historischen Klasse bleiben normale Inline-Links. */
  .L_sticky_menu .L_sticky_menu_elem_link,
  .L_sticky_menu a.L_sticky_menu_elem_link:link,
  .L_sticky_menu a.L_sticky_menu_elem_link:visited {
    box-sizing: border-box;
    width: 100%;
    padding: .88rem .95rem;
    border: 1px solid rgba(255,192,0,.11);
    border-radius: .65rem;
    background: rgb(72,0,41);
    color: var(--color-text);
    font-size: 1.08rem;
    line-height: 1.2;
    font-weight: 400;
    text-decoration: none;
    transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
  }

  .L_sticky_menu .L_sticky_menu_elem_link:hover,
  .L_sticky_menu .L_sticky_menu_elem_link:focus-visible {
    background: rgb(84,0,48);
    border-color: rgba(255,192,0,.42);
    transform: translateX(-2px);
    outline: none;
  }

  .L_sticky_menu .L_sticky_menu_elem_link.is-active,
  .L_sticky_menu a.L_sticky_menu_elem_link.is-active:link,
  .L_sticky_menu a.L_sticky_menu_elem_link.is-active:visited,
  .L_sticky_menu a.L_sticky_menu_elem_link.is-active:hover,
  .L_sticky_menu a.L_sticky_menu_elem_link.is-active:focus-visible,
  .L_sticky_menu a.L_sticky_menu_elem_link.is-active:active {
    background: var(--color-text);
    border-color: var(--color-text);
    color: rgb(60,0,34);
    font-weight: 700;
    transform: none;
  }

  .L_sticky_menu .L_sticky_menu_elem_link.is-active::before {
    content: '•';
    margin-right: .5rem;
    color: rgb(84,0,48);
  }

  .L_sticky_menu .L_sticky_menu_elem_link.is-active::after {
    display: none;
  }

  .menu-backdrop {
    position: fixed;
    z-index: 1090;
    top: 4.65rem;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background: rgba(20,0,12,.70);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease;
  }

  .menu-backdrop.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .main {
    padding: 1rem .8rem 2.4rem;
  }

  .home-top-grid,
  .recent-grid,
  .final-match-modern {
    grid-template-columns: 1fr;
  }

  .recent-card-featured {
    grid-column: auto;
  }

  .home-page,
  .home-top-grid {
    gap: .85rem;
  }

  .hero-panel,
  .next-tournament-card,
  .feature-panel,
  .recent-card {
    border-radius: .85rem;
  }

  .hero-panel {
    padding: 1.2rem;
  }

  .hero-lead {
    margin-bottom: 1.1rem;
    font-size: 1rem;
  }

  .home-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
  }

  .stat-card {
    min-width: 0;
    min-height: 5.8rem;
    padding: .65rem .35rem;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 2.1em;
    align-content: center;
    align-items: start;
    justify-items: center;
    gap: .28rem;
    text-align: center;
  }

  .stat-icon {
    display: none;
  }

  .stat-card strong {
    align-self: end;
    font-size: clamp(1.5rem, 4vw, 1.8rem);
    line-height: 1;
    text-align: center;
  }

  .stat-card span:last-child {
    min-width: 0;
    align-self: start;
    font-size: clamp(.68rem, 1.8vw, .78rem);
    line-height: 1.05;
    text-align: center;
  }

  .next-tournament-card {
    padding: 1rem;
  }

  .next-tournament-number {
    margin: .65rem 0;
    font-size: 2.45rem;
  }

  .next-tournament-meta-line {
    margin-bottom: .9rem;
    padding-top: .6rem;
    font-size: clamp(1rem, 2.65vw, 1.1rem);
    gap: .32rem;
  }

  .feature-panel {
    padding: .9rem;
  }

  .section-heading-row {
    align-items: flex-start;
    margin-bottom: .75rem;
  }

  .section-date {
    max-width: 9rem;
    font-size: .84rem;
  }

  .final-match-modern {
    gap: .45rem;
    padding: .3rem;
  }

  .final-player {
    grid-template-columns: 3.1rem minmax(0,1fr) auto;
    padding: .55rem;
  }

  .final-player img {
    width: 3.1rem;
    height: 3.1rem;
  }

  .feature-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .outline-cta {
    text-align: center;
  }

  .recent-grid {
    gap: .65rem;
  }

  .recent-photo {
    aspect-ratio: 16/8.2;
  }

  .recent-card .mini-final-row {
    padding-top: .55rem;
    padding-bottom: .55rem;
  }

  .section-heading-row .text-link {
    display: none;
  }

  .schedule-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .35rem;
  }

  .schedule-row > *,
  .schedule-row strong {
    justify-self: center;
    text-align: center;
  }

  .page-intro {
    margin-bottom: .8rem;
  }

  .page-intro p {
    font-size: .96rem;
  }

  .menu {
    flex-direction: column;
    align-items: stretch;
    padding: .8rem;
  }

  .select_archive1 {
    width: 100%;
    min-width: 0;
  }

  .card {
    padding: .8rem;
    border-radius: .75rem;
  }

  .box_stats_line_t {
    min-height: 3.9rem;
    margin-top: .4rem;
    margin-bottom: .4rem;
    border-radius: .65rem;
  }

  .box_stats_line_rank {
    width: 1.7rem;
    font-size: .9rem;
  }

  .box_stats_line_change_u,
  .box_stats_line_change_d,
  .box_stats_line_change_n {
    width: 1.7rem;
    padding-right: .18rem;
    justify-content: flex-end;
    text-align: right;
    font-size: .9rem;
  }

  .box_stats_line_img_div {
    width: 3.1rem;
    padding: .35rem;
  }

  .box_stats_line_player {
    padding: .4rem .25rem;
    font-size: .96rem;
  }

  .box_stats_line_points {
    width: 3.75rem;
    padding-right: .45rem;
    font-size: 1.15rem;
  }

  .box_stats_line_tag {
    font-size: .78rem;
  }

  .box_stats_line_menu {
    min-height: 3.15rem;
    margin-top: .55rem;
    margin-bottom: .22rem;
    border-radius: .65rem;
  }

  .box_stats_line_menu_data1 {
    padding: .58rem 0;
    font-size: 1.05rem;
  }

  .box_stats_line_G1_1,
  .box_stats_line_G2_1,
  .box_stats_line_G1_2,
  .box_stats_line_G2_2,
  .box_stats_line_G1_3,
  .box_stats_line_G2_3 {
    min-height: 3.35rem;
  }

  .box_stats_line_img_game_div {
    width: 3rem;
    height: 3rem;
    flex-basis: 3rem;
  }

  .box_stats_line_player_game {
    padding: .35rem .48rem;
    font-size: .94rem;
  }

  .box_stats_line_G1_1 .box_stats_line_result,
  .box_stats_line_G2_1 .box_stats_line_result,
  .box_stats_line_G1_2 .box_stats_line_result,
  .box_stats_line_G2_2 .box_stats_line_result,
  .box_stats_line_G1_3 .box_stats_line_result,
  .box_stats_line_G2_3 .box_stats_line_result {
    width: 2.15rem;
    min-width: 2.15rem;
    height: 2.15rem;
    margin-right: .38rem;
    font-size: 1.12rem;
  }

  .latest-tournament .score-badge,
  .latest-tournament .score-badge-muted,
  .recent-card .mini-final-row b {
    min-width: 2.15rem;
    height: 2.15rem;
  }

  .box_stats_line_data_table,
  .box_stats_line_data_table2 {
    padding: .45rem .35rem;
    font-size: .85rem;
    gap: .2rem;
  }

  .box_stats_line_data_t {
    width: auto;
    flex: 1;
  }

  .box_stats_line_data_t2 {
    width: auto;
    flex: 1.4;
  }

  .site-footer-inner {
    padding: 1rem .8rem;
  }

  .site-footer-brand span {
    display: none;
  }
}

@media (max-width: 36rem) {
  /* Zweite und letzte Stufe: nur dort, wo sehr schmale Smartphones wirklich
     weniger Platz bieten. */
  html { scroll-padding-top: 4.25rem; }

  .site-header-inner {
    min-height: 4.25rem;
    gap: .45rem;
    padding-left: .55rem;
    padding-right: .55rem;
  }

  .site-brand {
    column-gap: .4rem;
  }

  .site-brand-logo {
    width: 2.5rem;
    height: 2.5rem;
  }

  .site-brand-title {
    font-size: clamp(.9rem, 4.4vw, 1.25rem);
    letter-spacing: -.04em;
  }

  .L_sticky_menu,
  .menu-backdrop {
    top: 4.25rem;
  }

  .L_sticky_menu {
    width: min(90vw, 21rem);
  }

  .main {
    padding-left: .65rem;
    padding-right: .65rem;
  }

  /* Die Statistik bleibt bewusst dreispaltig; nur Typografie und Abstaende
     werden kleiner. */
  .home-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .32rem;
  }

  .stat-card {
    min-height: 5.45rem;
    padding: .55rem .2rem;
    grid-template-columns: 1fr;
    grid-template-rows: auto 2.2em;
    text-align: center;
  }

  .stat-card strong {
    text-align: center;
    font-size: clamp(1.35rem, 6vw, 1.65rem);
  }

  .stat-card span:last-child {
    font-size: clamp(.62rem, 2.75vw, .72rem);
  }

  .next-tournament-meta-line {
    font-size: clamp(.92rem, 3.55vw, 1.02rem);
    gap: .24rem;
  }

  .schedule-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .22rem;
    padding-left: .4rem;
    padding-right: .4rem;
    font-size: clamp(.76rem, 3.3vw, .9rem);
  }
}


/* =========================================================
   Design-System 21 – Typografie & reduzierte Symbolsprache
   Gleiche Funktion = gleiche Schrift. Gold dient der Orientierung,
   helle Schrift dem Inhalt; Grün/Rot bleiben semantischen Daten vorbehalten.
   ========================================================= */
:root {
  --type-page: clamp(1rem, 5vw, 2.6rem);
  --type-hero: clamp(1.5rem, 6vw, 2.65rem);
  --type-section: clamp(1.12rem, 3.5vw, 1.65rem);
  --type-card: clamp(.95rem, 3.2vw, 1.3rem);
  --type-body: 1rem;
  --type-small: .88rem;
  --type-meta: .8rem;
}

.body_sk {
  font-size: var(--type-body);
  font-weight: 400;
  line-height: 1.45;
  color: var(--color-light);
}

/* Kopf und Navigation */
.site-brand-title {
  font-size: clamp(.9rem, 4.4vw, 1.58rem);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.02em;
}

.L_sticky_menu,
.L_sticky_menu .L_sticky_menu_elem_link,
.L_sticky_menu a.L_sticky_menu_elem_link:link,
.L_sticky_menu a.L_sticky_menu_elem_link:visited {
  font-size: 1rem;
  font-weight: 400;
}

.L_sticky_menu .L_sticky_menu_elem_link.is-active,
.L_sticky_menu a.L_sticky_menu_elem_link.is-active:link,
.L_sticky_menu a.L_sticky_menu_elem_link.is-active:visited {
  font-weight: 700;
}

/* Seitentitel und erläuternde Texte */
.page-intro h1 {
  color: var(--color-text);
  font-size: var(--type-page);
  line-height: 1.02;
  font-weight: 700;
  letter-spacing: -.025em;
}

.page-intro p,
.hero-lead {
  color: var(--color-muted);
  font-size: .98rem;
  line-height: 1.4;
  font-weight: 400;
}

/* Startseite: wenige klar unterscheidbare Hierarchiestufen */
.hero-panel .hero-title {
  color: var(--color-text);
  font-size: var(--type-hero);
  line-height: 1.03;
  font-weight: 700;
  letter-spacing: -.025em;
}

.section-label {
  display: block;
  color: var(--color-text);
  font-size: var(--type-meta);
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.section-heading-row h2,
.home-page h2 {
  color: var(--color-light);
  font-size: var(--type-section);
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -.01em;
}

.section-date,
.recent-meta span,
.final-player span {
  color: var(--color-muted);
  font-size: var(--type-small);
  font-weight: 400;
}

.next-tournament-number {
  font-size: clamp(2rem, 3.6vw, 3rem);
  font-weight: 700;
}

.recent-meta b,
.final-player strong {
  font-size: 1rem;
  font-weight: 700;
}

.schedule-row b,
.schedule-row strong {
  font-size: inherit;
  font-weight: 700;
}

/* Statistik: Zahl selbst trägt die Hierarchie; keine Zusatzsymbole nötig. */
.stat-card {
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  justify-items: center;
  align-content: center;
  row-gap: .35rem;
  text-align: center;
}

.stat-card strong {
  color: var(--color-text);
  font-size: clamp(1.65rem, 2.7vw, 2.15rem);
  line-height: 1;
  font-weight: 700;
}

.stat-card span:last-child {
  color: var(--color-light);
  font-size: var(--type-small);
  line-height: 1.12;
  font-weight: 400;
}

/* Termin-Metazeile: Datum, Uhrzeit und Ort bleiben auf einer ruhigen Ebene. */
.next-tournament-meta-line {
  font-weight: 400;
}

/* Links: Pfeil als einziges wiederkehrendes Funktionssymbol. */
.primary-cta,
.outline-cta,
.text-link {
  font-size: .95rem;
  font-weight: 700;
}

/* Ergebnis- und Statistikseiten */
.card_head {
  color: var(--color-text);
  font-size: var(--type-card);
  line-height: 1.12;
  font-weight: 700;
}

.menu,
.select_archive1 {
  font-size: 1rem;
  font-weight: 400;
}

.box_stats_line_menu_data1 {
  color: var(--color-text);
  font-size: 1.05rem;
  font-weight: 700;
}

.box_stats_line_player,
.box_stats_line_player_game {
  font-size: 1rem;
  font-weight: 400;
}

#Liste .box_stats_line_player a.L_sticky_menu_elem_link2,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link2:link,
#Liste .box_stats_line_player a.L_sticky_menu_elem_link2:visited {
  font-weight: 700;
}

.box_stats_line_tag,
.box_stats_line_points2,
.box_stats_line_data_tag {
  font-size: var(--type-meta);
  font-weight: 400;
}

.box_stats_line_points {
  font-size: 1.15rem;
  font-weight: 700;
}

.box_stats_line_points .points-fraction {
  font-size: .72em;
  font-weight: 400;
}

.box_stats_line_data_name {
  font-size: 1.05rem;
  font-weight: 700;
}

.box_stats_line_data_ranks > div {
  font-weight: 700;
}

.box_stats_line_G1_1 .box_stats_line_result,
.box_stats_line_G2_1 .box_stats_line_result,
.box_stats_line_G1_2 .box_stats_line_result,
.box_stats_line_G2_2 .box_stats_line_result,
.box_stats_line_G1_3 .box_stats_line_result,
.box_stats_line_G2_3 .box_stats_line_result,
.latest-tournament .score-badge,
.latest-tournament .score-badge-muted,
.recent-card .mini-final-row b {
  font-size: 1.12rem;
  font-weight: 700;
}

/* Kleine Displays ändern nur Maße, nicht die visuelle Sprache. */
@media (max-width: 60rem) {
  .page-intro p,
  .hero-lead { font-size: .94rem; }

  .section-label { font-size: .76rem; }
  .primary-cta,
  .outline-cta,
  .text-link { font-size: .92rem; }
}

@media (max-width: 36rem) {
  .site-brand-title {
    font-size: clamp(.9rem, 4.4vw, 1.25rem);
  }

  .stat-card span:last-child {
    font-size: clamp(.66rem, 2.5vw, .76rem);
  }
}

/* =========================================================
   Layout-Anpassung 28 – Rangverlaufsdiagramm auf Profilbreite
   ========================================================= */
/* Das Chart auf der Spielerseite folgt derselben maximalen Lesebreite
   wie der Namens-/Profilkasten direkt darüber. */
#Wertungen > .box > .box {
  box-sizing: border-box;
  width: 100%;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}

/* =========================================================
   Head 2 Head – direkter Spielervergleich
   ========================================================= */
.h2h-page-intro {
  margin-bottom: 1.15rem;
}

.h2h-selector-card,
.h2h-summary,
.h2h-history,
.h2h-notice {
  width: 100%;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}

.h2h-selector-card {
  padding: 1rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--card-gradient);
  box-shadow: var(--shadow-card);
}

.h2h-select-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}

.h2h-select-field {
  min-width: 0;
  display: grid;
  gap: .4rem;
}

.h2h-select-field > span {
  color: var(--color-text);
  font-size: var(--type-small);
  font-weight: 700;
}

.h2h-select-field .select_archive1 {
  width: 100%;
  max-width: none;
  margin: 0;
}

.h2h-submit {
  width: auto;
  min-width: 8rem;
  justify-content: center;
  font: inherit;
  margin: .9rem auto 0;
  border: 1px solid var(--color-text);
  cursor: pointer;
}

.h2h-notice {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--card-gradient);
  box-shadow: var(--shadow-card);
  color: var(--color-light);
  text-align: center;
}

.h2h-summary {
  margin-top: 1.15rem;
  padding: 1.1rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--card-gradient);
  box-shadow: var(--shadow-card);
}

.h2h-player {
  min-width: 0;
  display: grid;
  grid-template-columns: 3.4rem minmax(0, 1fr);
  align-items: center;
  column-gap: .7rem;
}

.h2h-player-b {
  grid-template-columns: minmax(0, 1fr) 3.4rem;
  text-align: right;
}

.h2h-player img {
  width: 3.4rem;
  height: 3.4rem;
  border-radius: .7rem;
  object-fit: cover;
  border: 1px solid rgba(255,192,0,.18);
}

.h2h-player-a img { grid-column: 1; }
.h2h-player-b img { grid-column: 2; }

.h2h-player a {
  min-width: 0;
  color: var(--color-light);
  font-weight: 700;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.h2h-player a:hover,
.h2h-player a:focus-visible {
  color: var(--color-text);
}

.h2h-player-b a {
  grid-column: 1;
}

.h2h-score {
  min-width: 7.2rem;
  text-align: center;
}

.h2h-score > span,
.h2h-score small {
  display: block;
  color: var(--color-muted);
  font-size: var(--type-small);
}

.h2h-score strong {
  display: block;
  margin: .18rem 0;
  color: var(--color-text);
  font-size: clamp(2rem, 5vw, 3.1rem);
  line-height: 1;
  font-weight: 700;
}

.h2h-score strong i {
  padding: 0 .16em;
  color: var(--color-muted);
  font-style: normal;
  font-weight: 400;
}

.h2h-history {
  margin-top: 1.4rem;
}

.h2h-history > h2 {
  margin: 0 0 .75rem;
  color: var(--color-text);
  font-size: var(--type-section);
  text-align: center;
}

.h2h-match {
  margin-bottom: .9rem;
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--card-gradient);
  color: var(--color-back);
  box-shadow: var(--shadow-card);
}

.h2h-phase-1 .h2h-match-row { background: linear-gradient(100deg, var(--match-phase-1), rgb(62,194,112)); }
.h2h-phase-2 .h2h-match-row { background: linear-gradient(100deg, var(--match-phase-2), rgb(178,220,112)); }
.h2h-phase-3 .h2h-match-row { background: linear-gradient(100deg, var(--match-phase-3), rgb(255,209,67)); }

.h2h-match-meta {
  padding: .5rem .7rem;
  display: grid;
  grid-template-columns: max-content max-content minmax(0, 1fr) max-content;
  align-items: center;
  column-gap: .85rem;
  border-bottom: 1px solid var(--color-line);
  background: var(--color-back);
  color: var(--color-text);
  font-size: var(--type-meta);
  font-weight: 700;
}

.h2h-match-meta span {
  min-width: 0;
  white-space: nowrap;
}

.h2h-match-meta span:nth-child(3) {
  overflow: hidden;
  text-overflow: ellipsis;
}

.h2h-match-meta span:last-child {
  justify-self: end;
}

.h2h-match-row {
  min-height: 3.25rem;
  padding: .35rem .55rem;
  display: grid;
  grid-template-columns: 2.55rem minmax(0, 1fr) 2.35rem;
  align-items: center;
  gap: .65rem;
  border-bottom: 1px solid rgba(84,0,48,.22);
}

.h2h-match-row:last-child {
  border-bottom: 0;
}

.h2h-match-row.is-winner {
  box-shadow: inset 0 0 0 999px rgba(255,247,224,.08);
}

.h2h-match-row img {
  width: 2.55rem;
  height: 2.55rem;
  border-radius: .52rem;
  object-fit: cover;
  border: 1px solid rgba(84,0,48,.25);
}

.h2h-match-row a {
  min-width: 0;
  color: var(--color-back);
  font-weight: 600;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.h2h-match-row.is-winner a {
  font-weight: 700;
}

.h2h-match-row b {
  width: 2.15rem;
  height: 2.15rem;
  justify-self: end;
  display: grid;
  place-items: center;
  border: 1px solid rgba(84,0,48,.14);
  border-radius: .45rem;
  background: rgba(255,247,224,.24);
  color: var(--color-back);
  font-size: 1.1rem;
  font-weight: 700;
}

@media (max-width: 60rem) {
  .h2h-selector-card,
  .h2h-summary,
  .h2h-history,
  .h2h-notice {
    max-width: 100%;
  }

  .h2h-summary {
    gap: .55rem;
    padding: .85rem .7rem;
  }

  .h2h-player {
    grid-template-columns: 2.75rem minmax(0, 1fr);
    column-gap: .5rem;
  }

  .h2h-player-b {
    grid-template-columns: minmax(0, 1fr) 2.75rem;
    text-align: right;
  }

  .h2h-player img {
    width: 2.75rem;
    height: 2.75rem;
  }

  .h2h-player-a img { grid-column: 1; }
  .h2h-player-b img { grid-column: 2; }

  .h2h-player-a a { grid-column: 2; }
  .h2h-player-b a { grid-column: 1; }
  .h2h-score { min-width: 5.5rem; }
  .h2h-score small { display: none; }
}

@media (max-width: 36rem) {
  .h2h-selector-card { padding: .7rem; }
  .h2h-select-grid { gap: .45rem; }
  .h2h-select-field > span { font-size: .74rem; }
  .h2h-select-field .select_archive1 { padding-left: .45rem; padding-right: 1.6rem; font-size: .82rem; }

  .h2h-summary {
    grid-template-columns: minmax(0, 1fr) 4.6rem minmax(0, 1fr);
    padding: .7rem .45rem;
  }

  .h2h-player {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    text-align: center;
  }

  .h2h-player-b { text-align: center; }
  .h2h-player img { width: 2.7rem; height: 2.7rem; }
  .h2h-player a { width: 100%; font-size: .82rem; }
  .h2h-score { min-width: 0; }
  .h2h-score > span { font-size: .72rem; }
  .h2h-score strong { font-size: 1.85rem; }

  .h2h-match-meta {
    grid-template-columns: max-content max-content minmax(0, 1fr) max-content;
    column-gap: .42rem;
    padding: .48rem .5rem;
    font-size: clamp(.64rem, 2.8vw, .72rem);
  }

  .h2h-match-row {
    grid-template-columns: 2.35rem minmax(0, 1fr) 2.1rem;
    gap: .45rem;
    padding-left: .4rem;
    padding-right: .4rem;
  }

  .h2h-match-row img { width: 2.35rem; height: 2.35rem; }
  .h2h-match-row a { font-size: .9rem; }
  .h2h-match-row b { width: 1.95rem; height: 1.95rem; font-size: 1rem; }
}

/* =========================================================
   Layout-Anpassung 31 – Head-to-Head-Ausrichtung und
   ruhigere Typografie in Kopf- und Fusszeile
   ========================================================= */

/* Beide Namen im Head-to-Head stehen in derselben Rasterzeile wie ihr Bild.
   Das verhindert insbesondere beim rechten Spieler ein Abrutschen unter das Foto. */
.h2h-player img,
.h2h-player a {
  grid-row: 1;
  align-self: center;
}

/* Kopfzeile: normale statt fette Schrift; die aktive Seite wird weiterhin
   durch ihre vorhandene Markierung hervorgehoben und braucht kein Fettdruck. */
.site-brand-title {
  font-size: 1.66rem;
  font-weight: 400;
  letter-spacing: -.015em;
}

.L_sticky_menu,
.L_sticky_menu .L_sticky_menu_elem_link,
.L_sticky_menu a.L_sticky_menu_elem_link:link,
.L_sticky_menu a.L_sticky_menu_elem_link:visited,
.L_sticky_menu .L_sticky_menu_elem_link.is-active,
.L_sticky_menu a.L_sticky_menu_elem_link.is-active:link,
.L_sticky_menu a.L_sticky_menu_elem_link.is-active:visited {
  font-size: 1.01rem;
  font-weight: 400;
}

/* Fusszeile: der Markenname wirkt ruhiger und etwas grosszuegiger. */
.site-footer-brand strong {
  color: var(--color-text);
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.2;
}

@media (max-width: 60rem) {
  .site-brand-title {
    font-size: clamp(1.05rem, 3.8vw, 1.66rem);
    font-weight: 400;
  }
}

@media (max-width: 36rem) {
  .site-brand-title {
    font-size: clamp(.98rem, 4.8vw, 1.35rem);
  }
}

/* =========================================================
   Layout-Anpassung 32 – ruhigere Typografie in Listen/Tafeln
   ========================================================= */

/* Sieger- und Vereinstafel: Name mittig über den Werten,
   normalgewichtig und etwas größer. */
.box_stats_line_data_name {
  text-align: center;
  font-size: 1.14rem;
  font-weight: 400;
}

/* Werte unterhalb der Namen nicht fett. */
.box_stats_line_data_ranks > div {
  font-weight: 400;
}

/* Rang und Tendenz: überall einheitlich normalgewichtig und etwas größer.
   Gilt für Jahresliste, Sieger-/Vereinstafel sowie Rang im Ergebnis-Endstand. */
.box_stats_line_rank,
.box_stats_line_change_u,
.box_stats_line_change_d,
.box_stats_line_change_n {
  font-size: 1.05rem;
  font-weight: 400;
}

@media (max-width: 60rem) {
  .box_stats_line_data_name {
    font-size: 1.08rem;
  }

  .box_stats_line_rank,
  .box_stats_line_change_u,
  .box_stats_line_change_d,
  .box_stats_line_change_n {
    font-size: 1rem;
    font-weight: 400;
  }
}

/* -------------------------------------------------------------------------
   Startseite: letzte drei Finals als gleichwertige Karten
   ------------------------------------------------------------------------- */

/* Die beiden Gegner bleiben bei jeder Displaybreite untereinander. */
.home-final-card .final-match-modern {
  grid-template-columns: minmax(0, 1fr);
  gap: .42rem;
}

/* Beide Spielerzeilen sind bewusst gleichwertig gestaltet. */
.home-final-card .final-player,
.home-final-card .final-player.winner {
  background: rgba(255,247,224,.10);
  border: 0;
}

/* Namen ohne Sieger-/Finalistenhierarchie: normal, dafür etwas größer. */
.home-final-card .final-player strong {
  color: var(--color-back);
  font-size: 1.16rem;
  line-height: 1.18;
  font-weight: 400;
}

/* Keine sekundäre Attributzeile in den Finalkarten. */
.home-final-card .final-player span {
  display: none;
}

/* Einheitliche Ergebnisfelder für beide Spieler. */
.home-final-card .score-badge,
.home-final-card .score-badge-muted {
  background: rgba(255,247,224,.28);
  color: var(--color-back);
  font-weight: 700;
}

.home-results-link {
  display: flex;
  justify-content: flex-end;
  margin-top: -.25rem;
}

@media (max-width: 960px) {
  .home-final-card .final-player strong {
    font-size: clamp(1.04rem, 3.8vw, 1.16rem);
  }

  .home-results-link {
    justify-content: stretch;
  }

  .home-results-link .outline-cta {
    width: 100%;
    text-align: center;
  }
}


/* =========================================================
   Layout-Anpassung 34 – Finalkarten nebeneinander + Turnierbild
   ========================================================= */

/* Desktop: die letzten drei Finals als gleichwertige Karten nebeneinander. */
.home-finals-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}

.home-finals-grid .home-final-card {
  min-width: 0;
  height: 100%;
}

/* Innerhalb jeder Karte bleiben die beiden Gegner immer untereinander. */
.home-finals-grid .home-final-card .final-match-modern {
  grid-template-columns: minmax(0, 1fr);
}

/* Die Kopfzeile wird in den schmaleren Desktop-Karten kompakt gestapelt,
   damit Datum/Ort nicht unnötig gegen den Titel arbeiten. */
.home-finals-grid .home-final-card .section-heading-row {
  display: block;
}

.home-finals-grid .home-final-card .section-date {
  max-width: none;
  margin-top: .3rem;
  text-align: left;
}

.home-finals-grid .home-final-card .final-player {
  grid-template-columns: 3rem minmax(0, 1fr) auto;
}

.home-finals-grid .home-final-card .final-player > div {
  min-width: 0;
}

.home-finals-grid .home-final-card .final-player strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Vorhandene Turnierfotos erscheinen direkt unter dem jeweiligen Finale. */
.home-final-photo {
  display: block;
  width: 100%;
  margin-top: .75rem;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: 1px solid rgba(255,192,0,.22);
  border-radius: .8rem;
}

@media (max-width: 60rem) {
  .home-finals-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: .85rem;
  }

  .home-finals-grid .home-final-card .section-heading-row {
    display: flex;
  }

  .home-finals-grid .home-final-card .section-date {
    margin-top: 0;
    text-align: right;
  }
}

/* =========================================================
   Layout-Anpassung 35 – Feinschliff Finalkarten
   ========================================================= */

/* Etwas schlankere Spielerzeilen, mit klarerem Abstand zwischen Bild und Name. */
.home-finals-grid .home-final-card .final-player {
  grid-template-columns: 3.1rem minmax(0, 1fr) 2.7rem;
  gap: .6rem;
  padding: .5rem .55rem;
}

.home-finals-grid .home-final-card .final-player img {
  width: 3.1rem;
  height: 3.1rem;
}

/* Score etwas praesenter, ohne die Matchzeile selbst hoeher zu machen. */
.home-finals-grid .home-final-card .score-badge,
.home-finals-grid .home-final-card .score-badge-muted {
  width: 2.7rem;
  min-width: 2.7rem;
  height: 2.7rem;
  padding: 0;
  border-radius: .62rem;
  font-size: 1.34rem;
  line-height: 1;
}

.home-finals-grid .home-final-card .final-match-modern {
  padding: .3rem;
}

@media (max-width: 60rem) {
  /* Datum und Ort bleiben auch mobil direkt unter dem Turniernamen. */
  .home-finals-grid .home-final-card .section-heading-row {
    display: block;
  }

  .home-finals-grid .home-final-card .section-date {
    margin-top: .3rem;
    text-align: left;
  }
}

/* =========================================================
   Layout-Anpassung 36 – Matchdarstellung wie Finalkarten
   Ergebnisse + Head 2 Head, leicht kompakter
   ========================================================= */

/* Ergebnisse: gleiche visuelle Logik wie bei den Finalkarten,
   aber etwas flacher fuer lange Matchlisten. */
.box_stats_line_G1_1,
.box_stats_line_G2_1,
.box_stats_line_G1_2,
.box_stats_line_G2_2,
.box_stats_line_G1_3,
.box_stats_line_G2_3 {
  display: grid;
  grid-template-columns: 2.8rem minmax(0, 1fr) 2.5rem;
  align-items: center;
  column-gap: .55rem;
  min-height: 0;
  padding: .34rem .45rem;
}

.box_stats_line_G1_1 .box_stats_line_img_game_div,
.box_stats_line_G2_1 .box_stats_line_img_game_div,
.box_stats_line_G1_2 .box_stats_line_img_game_div,
.box_stats_line_G2_2 .box_stats_line_img_game_div,
.box_stats_line_G1_3 .box_stats_line_img_game_div,
.box_stats_line_G2_3 .box_stats_line_img_game_div {
  width: 2.8rem;
  height: 2.8rem;
  padding: 0;
}

.box_stats_line_G1_1 .box_stats_line_img_game_div img,
.box_stats_line_G2_1 .box_stats_line_img_game_div img,
.box_stats_line_G1_2 .box_stats_line_img_game_div img,
.box_stats_line_G2_2 .box_stats_line_img_game_div img,
.box_stats_line_G1_3 .box_stats_line_img_game_div img,
.box_stats_line_G2_3 .box_stats_line_img_game_div img {
  width: 2.8rem;
  height: 2.8rem;
  border-radius: .56rem;
  object-fit: cover;
}

.box_stats_line_G1_1 .box_stats_line_player_game,
.box_stats_line_G2_1 .box_stats_line_player_game,
.box_stats_line_G1_2 .box_stats_line_player_game,
.box_stats_line_G2_2 .box_stats_line_player_game,
.box_stats_line_G1_3 .box_stats_line_player_game,
.box_stats_line_G2_3 .box_stats_line_player_game {
  min-width: 0;
  padding: 0;
  color: var(--color-back);
  font-size: 1.08rem;
  line-height: 1.15;
  font-weight: 400;
}

.box_stats_line_G1_1 .box_stats_line_result,
.box_stats_line_G2_1 .box_stats_line_result,
.box_stats_line_G1_2 .box_stats_line_result,
.box_stats_line_G2_2 .box_stats_line_result,
.box_stats_line_G1_3 .box_stats_line_result,
.box_stats_line_G2_3 .box_stats_line_result {
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  padding: 0;
  justify-self: end;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,247,224,.18);
  border-radius: .58rem;
  background: rgba(255,247,224,.28);
  color: var(--color-back);
  font-size: 1.24rem;
  line-height: 1;
  font-weight: 700;
}

/* Head 2 Head: gleiche Spieler-/Score-Proportionen. */
.h2h-match-row {
  min-height: 0;
  grid-template-columns: 2.8rem minmax(0, 1fr) 2.5rem;
  gap: .55rem;
  padding: .34rem .45rem;
}

.h2h-match-row img {
  width: 2.8rem;
  height: 2.8rem;
  border-radius: .56rem;
}

.h2h-match-row a,
.h2h-match-row.is-winner a {
  color: var(--color-back);
  font-size: 1.08rem;
  line-height: 1.15;
  font-weight: 400;
}

/* Sieger wird nicht durch eine andere Farbnuance hervorgehoben. */
.h2h-match-row.is-winner {
  box-shadow: none;
}

.h2h-match-row b {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid rgba(255,247,224,.18);
  border-radius: .58rem;
  background: rgba(255,247,224,.28);
  color: var(--color-back);
  font-size: 1.24rem;
  line-height: 1;
  font-weight: 700;
}

@media (max-width: 60rem) {
  .box_stats_line_G1_1,
  .box_stats_line_G2_1,
  .box_stats_line_G1_2,
  .box_stats_line_G2_2,
  .box_stats_line_G1_3,
  .box_stats_line_G2_3,
  .h2h-match-row {
    grid-template-columns: 2.6rem minmax(0, 1fr) 2.35rem;
    column-gap: .48rem;
    padding: .3rem .4rem;
  }

  .box_stats_line_G1_1 .box_stats_line_img_game_div,
  .box_stats_line_G2_1 .box_stats_line_img_game_div,
  .box_stats_line_G1_2 .box_stats_line_img_game_div,
  .box_stats_line_G2_2 .box_stats_line_img_game_div,
  .box_stats_line_G1_3 .box_stats_line_img_game_div,
  .box_stats_line_G2_3 .box_stats_line_img_game_div,
  .box_stats_line_G1_1 .box_stats_line_img_game_div img,
  .box_stats_line_G2_1 .box_stats_line_img_game_div img,
  .box_stats_line_G1_2 .box_stats_line_img_game_div img,
  .box_stats_line_G2_2 .box_stats_line_img_game_div img,
  .box_stats_line_G1_3 .box_stats_line_img_game_div img,
  .box_stats_line_G2_3 .box_stats_line_img_game_div img,
  .h2h-match-row img {
    width: 2.6rem;
    height: 2.6rem;
  }

  .box_stats_line_G1_1 .box_stats_line_player_game,
  .box_stats_line_G2_1 .box_stats_line_player_game,
  .box_stats_line_G1_2 .box_stats_line_player_game,
  .box_stats_line_G2_2 .box_stats_line_player_game,
  .box_stats_line_G1_3 .box_stats_line_player_game,
  .box_stats_line_G2_3 .box_stats_line_player_game,
  .h2h-match-row a,
  .h2h-match-row.is-winner a {
    font-size: clamp(.96rem, 3.4vw, 1.05rem);
  }

  .box_stats_line_G1_1 .box_stats_line_result,
  .box_stats_line_G2_1 .box_stats_line_result,
  .box_stats_line_G1_2 .box_stats_line_result,
  .box_stats_line_G2_2 .box_stats_line_result,
  .box_stats_line_G1_3 .box_stats_line_result,
  .box_stats_line_G2_3 .box_stats_line_result,
  .h2h-match-row b {
    width: 2.35rem;
    min-width: 2.35rem;
    height: 2.35rem;
    font-size: 1.16rem;
  }
}

/* =========================================================
   Layout-Anpassung 37 – schmalere Matchkarten
   Ergebnisse + Head 2 Head
   ========================================================= */

/* Ergebnisse: Die Rundenleiste bleibt auf der bisherigen Lesebreite,
   das eigentliche Spiel sitzt sichtbar etwas schmaler und mittig darunter. */
.box_stats_line_G1_1,
.box_stats_line_G2_1,
.box_stats_line_G1_2,
.box_stats_line_G2_2,
.box_stats_line_G1_3,
.box_stats_line_G2_3 {
  box-sizing: border-box;
  width: calc(100% - 1.5rem);
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

/* Head 2 Head: Auswahl- und Bilanzbox bleiben 50rem breit,
   einzelne Duelle werden wie eigenständige Finalkarten eingerückt. */
.h2h-match {
  box-sizing: border-box;
  width: calc(100% - 1.5rem);
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  border-radius: var(--radius-lg);
}

/* Kopf der Duellkarte analog zur Finalkarte: Turnier/Runde oben,
   Datum und Ort als ruhige zweite Zeile. Die erste Zeile bleibt bewusst
   etwas kleiner als die Finaltitel auf der Startseite. */
.h2h-match-meta {
  display: block;
  padding: .68rem .78rem .62rem;
  background: var(--color-back);
  border-bottom: 1px solid var(--color-line);
  color: var(--color-text);
}

.h2h-match-title {
  margin: 0;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.15;
  font-weight: 400;
  white-space: nowrap;
}

.h2h-match-subline {
  margin-top: .24rem;
  color: rgba(255,247,224,.78);
  font-size: .82rem;
  line-height: 1.2;
  font-weight: 400;
  white-space: nowrap;
}

@media (max-width: 60rem) {
  .box_stats_line_G1_1,
  .box_stats_line_G2_1,
  .box_stats_line_G1_2,
  .box_stats_line_G2_2,
  .box_stats_line_G1_3,
  .box_stats_line_G2_3,
  .h2h-match {
    width: calc(100% - .8rem);
  }

  .h2h-match-meta {
    padding: .6rem .68rem .55rem;
  }

  .h2h-match-title {
    font-size: clamp(.9rem, 3.4vw, 1rem);
  }

  .h2h-match-subline {
    font-size: clamp(.72rem, 2.8vw, .8rem);
  }
}

/* =========================================================
   Layout-Anpassung 38 – Head 2 Head näher an Finalkarten
   ========================================================= */

/* Turnier + Runde wie auf der Startseite: hell/weiß, kräftig,
   aber bewusst etwas kleiner als die dortigen Finaltitel. */
.h2h-match-title {
  color: var(--color-light);
  font-size: .94rem;
  line-height: 1.15;
  font-weight: 700;
}

/* Das eigentliche Spiel liegt innerhalb der Karte mit Luft zum Rand.
   Beide Spielerzeilen bilden optisch einen gemeinsamen Block mit
   vier abgerundeten Außenecken. */
.h2h-match-row {
  width: auto;
  margin-left: .65rem;
  margin-right: .65rem;
}

.h2h-match-row:first-of-type {
  margin-top: .62rem;
  border-radius: .7rem .7rem 0 0;
}

.h2h-match-row:last-child {
  margin-bottom: .65rem;
  border-radius: 0 0 .7rem .7rem;
}

@media (max-width: 60rem) {
  .h2h-match-title {
    font-size: clamp(.86rem, 3.2vw, .94rem);
  }

  .h2h-match-row {
    margin-left: .5rem;
    margin-right: .5rem;
  }

  .h2h-match-row:first-of-type {
    margin-top: .5rem;
  }

  .h2h-match-row:last-child {
    margin-bottom: .5rem;
  }
}

/* =========================================================
   Layout-Anpassung 39 – Head 2 Head Kartenkopf + Matchrundung
   ========================================================= */

/* Kopf und Kartenkörper verwenden dieselbe Grundfläche. Dadurch wirkt die
   Meta-Zone nicht mehr wie ein separater dunkler Header. */
.h2h-match-meta {
  background: transparent;
  border-bottom: 0;
}

/* Die erste Spielerzeile folgt direkt auf die Meta-Zone. Dieser Selektor ist
   absichtlich explizit, weil :first-of-type wegen des vorherigen Meta-divs
   nicht greift. */
.h2h-match-meta + .h2h-match-row {
  border-radius: .7rem .7rem 0 0;
  overflow: hidden;
}

/* Die zweite Zeile schließt den inneren Matchblock unten ab. */
.h2h-match-row:last-child {
  border-radius: 0 0 .7rem .7rem;
  overflow: hidden;
}


/* =========================================================
   Layout-Anpassung 40 – gemeinsamer Kartenstandard
   ========================================================= */

/* Normale Inhaltskarten verwenden denselben Bordeaux-Verlauf wie die
   Hero-Karte. Nur die Hero-Karte selbst behält die dekorativen Kreise. */
.home-final-card,
.h2h-selector-card,
.h2h-summary,
.h2h-notice,
.h2h-match {
  background: var(--card-gradient);
  border-color: var(--color-line);
  box-shadow: var(--shadow-card);
}

/* Der Kopf einer Head-to-Head-Karte ist keine eigene Farbfläche, sondern
   Teil derselben durchgehenden Kartenfläche. */
.h2h-match-meta {
  background: transparent;
}

/* =========================================================
   Layout-Anpassung 43 – Modus-Seite im aktuellen Kartenstandard
   ========================================================= */

.modus-page-intro {
  width: 100%;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}

.modus-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}

.modus-card {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: clamp(1rem, 2.4vw, 1.5rem);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--card-gradient);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.modus-card-title {
  margin: 0 0 1rem;
  padding: 0;
  color: var(--color-light);
  font-size: var(--type-section);
  line-height: 1.12;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}

.modus-card-body {
  max-width: 44rem;
  margin: 0 auto;
  color: var(--color-light);
  font-size: 1rem;
  line-height: 1.55;
  font-weight: 400;
}

.modus-card-body p {
  margin: 0 0 1rem;
}

.modus-card-body p:last-child {
  margin-bottom: 0;
}

@media (max-width: 60rem) {
  .modus-card {
    padding: 1rem;
  }

  .modus-card-title {
    margin-bottom: .85rem;
    font-size: clamp(1.08rem, 4.5vw, 1.35rem);
  }

  .modus-card-body {
    font-size: .98rem;
    line-height: 1.5;
  }
}

@media (max-width: 36rem) {
  .modus-card {
    padding: .9rem;
  }

  .modus-card-body {
    font-size: .95rem;
  }
}

/* =========================================================
   Layout-Anpassung 45 – Ergebnisnavigation nach Turnierrunden
   ========================================================= */
.results-round-nav-card {
  box-sizing: border-box;
  width: 100%;
  max-width: 50rem;
  margin: .8rem auto 1rem;
  padding: .55rem;
  border: 1px solid var(--color-line);
  border-radius: .9rem;
  background: var(--card-gradient);
  box-shadow: var(--shadow-card);
}

.results-round-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .42rem;
}

.results-round-tab {
  appearance: none;
  border: 1px solid rgba(255,192,0,.24);
  border-radius: .58rem;
  padding: .52rem .72rem;
  background: rgba(255,247,224,.055);
  color: var(--color-light);
  font: inherit;
  font-size: .92rem;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

.results-round-tab:hover,
.results-round-tab:focus-visible {
  border-color: rgba(255,192,0,.55);
  background: rgba(255,192,0,.10);
  outline: none;
}

.results-round-tab.is-active {
  border-color: var(--color-text);
  background: var(--color-text);
  color: var(--color-back);
}

.results-round-panels {
  width: 100%;
}

.results-round-panel {
  box-sizing: border-box;
  width: 100%;
  max-width: 50rem;
  margin: 0 auto 1.15rem;
}

.results-round-panel[hidden] {
  display: none !important;
}

.results-round-title {
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto .58rem;
  padding: .72rem 1rem;
  border: 1px solid var(--color-line);
  border-radius: .82rem;
  background: var(--card-gradient);
  box-shadow: var(--shadow-card);
  color: var(--color-text);
  text-align: center;
  font-size: 1.12rem;
  font-weight: 400;
  line-height: 1.15;
}

.results-round-matches,
.results-standings-list {
  box-sizing: border-box;
  width: calc(100% - 2.4rem);
  max-width: 42rem;
  margin: 0 auto;
}

.results-match {
  margin: 0 0 .72rem;
}

/* Das Paar ist bereits über .results-match getrennt; dadurch braucht die
   zweite Spielerzeile nicht zusätzlich einen großen Außenabstand. */
.results-match .box_stats_line_G2_1,
.results-match .box_stats_line_G2_2,
.results-match .box_stats_line_G2_3 {
  margin-bottom: 0;
}

@media (max-width: 60rem) {
  .results-round-nav-card {
    padding: .48rem;
  }

  .results-round-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .38rem;
    width: 100%;
  }

  .results-round-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    min-height: 2.45rem;
    padding: .46rem .28rem;
    text-align: center;
    white-space: normal;
    line-height: 1.08;
  }

  .results-round-matches,
  .results-standings-list {
    width: calc(100% - 1.2rem);
  }
}

@media (max-width: 36rem) {
  .results-round-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .results-round-tab {
    min-height: 2.5rem;
    padding: .42rem .2rem;
    font-size: clamp(.76rem, 3.35vw, .88rem);
  }

  .results-round-title {
    padding: .65rem .75rem;
    font-size: 1.02rem;
  }

  .results-round-matches,
  .results-standings-list {
    width: calc(100% - .75rem);
  }
}

/* =========================================================
   Layout-Anpassung 47 – Ergebnisüberschrift + sticky Rundenwahl
   ========================================================= */

/* Ausgewähltes Turnier wie die übrigen Seitenköpfe mittig ausrichten. */
.results-event-title {
  width: 100%;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* Die Rundenwahl bleibt beim Lesen langer Ergebnislisten direkt unter
   der globalen Kopfzeile erreichbar. */
.results-round-nav-card {
  position: sticky;
  top: 5.35rem;
  z-index: 850;
  background: var(--card-gradient);
  box-shadow: 0 10px 26px rgba(22,0,14,.28);
}

@media (max-width: 60rem) {
  .results-round-nav-card {
    top: 4.95rem;
    z-index: 1080;
  }
}

@media (max-width: 36rem) {
  /* Drei Reihen sollen auf kleinen Smartphones nicht unnötig viel
     Bildschirmhöhe belegen, daher nur etwas kompakter – gleiche Struktur. */
  .results-round-nav-card {
    padding: .38rem;
  }

  .results-round-nav {
    gap: .3rem;
  }

  .results-round-tab {
    min-height: 2.25rem;
    padding: .34rem .18rem;
  }
}

/* =========================================================
   Layout-Anpassung 48 – Spielerpfad in der Ergebnisansicht
   ========================================================= */

/* Die Spielerauswahl folgt derselben schmaleren Inhaltsbreite wie die
   eigentlichen Spiele und bleibt damit klar unterhalb der Rundenleiste. */
.results-player-selector,
.results-player-empty,
.results-player-history {
  box-sizing: border-box;
  width: calc(100% - 2.4rem);
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

.results-player-selector {
  margin-bottom: .9rem;
  padding: .72rem .82rem;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  gap: .7rem;
  border: 1px solid var(--color-line);
  border-radius: .82rem;
  background: var(--card-gradient);
  box-shadow: var(--shadow-card);
}

.results-player-selector label {
  color: var(--color-text);
  font-size: .94rem;
  font-weight: 400;
  white-space: nowrap;
}

.results-player-selector .select_archive1 {
  width: 100%;
  max-width: none;
  margin: 0;
}

.results-player-history {
  margin-top: .15rem;
}

.results-player-history .h2h-match {
  width: 100%;
  max-width: 42rem;
}

.results-player-empty {
  margin-top: .2rem;
  padding: .9rem 1rem;
  border: 1px solid var(--color-line);
  border-radius: .82rem;
  background: var(--card-gradient);
  box-shadow: var(--shadow-card);
  color: var(--color-light);
  font-size: .96rem;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
}

@media (max-width: 60rem) {
  .results-player-selector,
  .results-player-empty,
  .results-player-history {
    width: calc(100% - 1.2rem);
  }
}

@media (max-width: 36rem) {
  .results-player-selector,
  .results-player-empty,
  .results-player-history {
    width: calc(100% - .75rem);
  }

  .results-player-selector {
    grid-template-columns: 1fr;
    gap: .38rem;
    padding: .65rem .7rem;
  }

  .results-player-selector label {
    text-align: center;
  }
}

/* =========================================================
   Layout-Anpassung 49 – nicht verlinkte Anmeldeliste
   ========================================================= */

.registration-page {
  width: 100%;
  max-width: 50rem;
  margin: 0 auto;
}

.registration-intro {
  width: 100%;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.registration-intro h1 {
  margin-bottom: .3rem;
  font-size: clamp(1.8rem, 3.2vw, 2.35rem);
  font-weight: 400;
  line-height: 1.08;
  white-space: nowrap;
}

.registration-intro p {
  margin: 0;
  color: var(--color-light);
  font-size: 1.08rem;
  font-weight: 400;
}

.registration-card,
.registration-message {
  width: 100%;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--card-gradient);
  box-shadow: var(--shadow-card);
}

.registration-card {
  margin-top: 1rem;
  padding: 1.15rem;
}

.registration-card-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .9rem;
}

.registration-card-heading h2 {
  margin: 0;
  color: var(--color-text);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.15;
}

.registration-card-heading > span {
  color: var(--color-muted);
  font-size: .95rem;
  white-space: nowrap;
}

.registration-card-heading a,
.registration-row-actions a,
.registration-row-actions button {
  color: var(--color-text);
  font: inherit;
  font-size: .92rem;
  font-weight: 400;
  text-decoration: none;
}

.registration-card-heading a:hover,
.registration-row-actions a:hover,
.registration-row-actions button:hover {
  text-decoration: underline;
}

.registration-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .9rem 1rem;
  align-items: end;
}

.registration-name-field,
.registration-status-field {
  min-width: 0;
}

.registration-name-field {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}

.registration-name-field > span,
.registration-status-field legend {
  color: var(--color-text);
  font-size: .92rem;
  font-weight: 400;
}

.registration-name-field input[type="text"] {
  width: 100%;
  min-height: 2.8rem;
  padding: .62rem .75rem;
  border: 1px solid rgba(255,192,0,.28);
  border-radius: .68rem;
  background: rgba(39,5,27,.50);
  color: var(--color-light);
  font: inherit;
  font-size: 1rem;
}

.registration-name-field input[type="text"]::placeholder {
  color: rgba(255,247,224,.46);
}

.registration-name-field input[type="text"]:focus {
  outline: 2px solid rgba(255,192,0,.52);
  outline-offset: 1px;
}

.registration-status-field {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0;
  border: 0;
}

.registration-status-field legend {
  margin-bottom: .35rem;
  padding: 0;
}

.registration-status-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
}

.status-option {
  min-width: 0;
  min-height: 3.25rem;
  padding: .5rem .55rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .45rem;
  border: 1px solid rgba(255,247,224,.10);
  border-radius: .72rem;
  background: rgba(255,247,224,.045);
  cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}

.status-option:hover {
  border-color: rgba(255,192,0,.35);
  background: rgba(255,247,224,.07);
}

.status-option:has(input:checked) {
  border-color: rgba(255,192,0,.65);
  background: rgba(255,192,0,.08);
  box-shadow: inset 0 0 0 1px rgba(255,192,0,.14);
}

.status-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.status-option .status-symbol {
  min-width: 2.5rem;
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.status-option small {
  color: var(--color-light);
  font-size: .92rem;
  font-weight: 400;
}

.status-yes .status-symbol,
.registration-row-status.status-yes,
.registration-count.status-yes > span { color: #67d66c; }

.status-maybe .status-symbol,
.registration-row-status.status-maybe,
.registration-count.status-maybe > span { color: var(--color-text); }

.status-no .status-symbol,
.registration-row-status.status-no,
.registration-count.status-no > span { color: #f1787d; }

.registration-submit {
  min-width: 8rem;
  min-height: 2.8rem;
  border: 0;
  cursor: pointer;
}

.registration-counts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin-bottom: .85rem;
}

.registration-count {
  min-width: 0;
  padding: .55rem .45rem;
  display: grid;
  grid-template-columns: auto auto;
  grid-template-areas:
    "icon count"
    "label label";
  justify-content: center;
  align-items: center;
  column-gap: .42rem;
  border-radius: .68rem;
  background: rgba(255,247,224,.045);
  text-align: center;
}

.registration-count > span {
  grid-area: icon;
  font-size: 1.16rem;
  line-height: 1;
}

.registration-count > strong {
  grid-area: count;
  color: var(--color-light);
  font-size: 1.12rem;
  font-weight: 400;
}

.registration-count > small {
  grid-area: label;
  margin-top: .16rem;
  color: var(--color-muted);
  font-size: .82rem;
  font-weight: 400;
}

.registration-list {
  display: flex;
  flex-direction: column;
  gap: .42rem;
}

.registration-row {
  min-width: 0;
  min-height: 3rem;
  padding: .5rem .65rem;
  display: grid;
  grid-template-columns: 3.2rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .55rem;
  border: 1px solid rgba(255,247,224,.08);
  border-radius: .68rem;
  background: rgba(255,247,224,.035);
}

.registration-row-status {
  font-size: 1.22rem;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.registration-row-name {
  min-width: 0;
  color: var(--color-light);
  font-size: 1.05rem;
  font-weight: 400;
  overflow-wrap: anywhere;
}

.registration-row-actions {
  display: flex;
  align-items: center;
  gap: .65rem;
}

.registration-row-actions form {
  margin: 0;
}

.registration-row-actions button {
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.registration-empty {
  margin: .3rem 0 0;
  color: var(--color-muted);
  text-align: center;
}

.registration-message {
  margin-top: .85rem;
  padding: .7rem .9rem;
  color: var(--color-light);
  text-align: center;
}

.registration-message.is-success {
  border-color: rgba(103,214,108,.35);
}

.registration-message.is-error {
  border-color: rgba(241,120,125,.45);
}

@media (max-width: 60rem) {
  .registration-page {
    max-width: 100%;
  }

  .registration-intro h1 {
    font-size: clamp(1.65rem, 7vw, 2.15rem);
  }

  .registration-card {
    padding: .95rem;
  }
}

@media (max-width: 36rem) {
  .registration-intro h1 {
    font-size: clamp(1.45rem, 7vw, 1.8rem);
  }

  .registration-intro p {
    font-size: clamp(.92rem, 4vw, 1.02rem);
    white-space: nowrap;
  }

  .registration-form {
    grid-template-columns: 1fr;
  }

  .registration-submit {
    width: 100%;
  }

  .registration-status-options {
    gap: .35rem;
  }

  .status-option {
    min-height: 3rem;
    padding: .42rem .28rem;
    grid-template-columns: 1fr;
    gap: .18rem;
    text-align: center;
  }

  .status-option .status-symbol {
    min-width: 0;
    font-size: 1.22rem;
  }

  .status-option small {
    font-size: .78rem;
  }

  .registration-row {
    grid-template-columns: 2.7rem minmax(0, 1fr) auto;
    gap: .38rem;
    padding-left: .45rem;
    padding-right: .45rem;
  }

  .registration-row-actions {
    gap: .42rem;
  }

  .registration-row-actions a,
  .registration-row-actions button {
    font-size: .82rem;
  }
}

/* =========================================================
   Änderung 50 – Turnierdaten auf der Anmeldeseite zentrieren
   ========================================================= */
.registration-page .registration-intro > p {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
