html.profile-page .profile-name-row{
 display:flex;
 align-items:center;
 gap:7px;
 min-width:0;
}

html.profile-page .profile-name-row .username{
 min-width:0;
}

html.profile-page .winner-badge-button{
 width:30px;
 height:30px;
 flex:0 0 30px;
 padding:2px;
 border:0;
 border-radius:8px;
 background:transparent;
 cursor:pointer;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 transition:transform .15s ease,background .15s ease;
}

html.profile-page .winner-badge-button:hover,
html.profile-page .winner-badge-button:focus-visible{
 transform:translateY(-1px) scale(1.05);
 background:#ffffff0d;
 outline:1px solid #a8732288;
}

html.profile-page .winner-badge-button[hidden],
html.profile-page .winner-badge-modal[hidden]{
 display:none!important;
}

html.profile-page .winner-badge-button img{
 width:26px;
 height:26px;
 display:block;
 filter:drop-shadow(0 2px 3px #0009);
}

html.profile-page .winner-badge-modal{
 position:fixed;
 inset:0;
 z-index:10020;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:18px;
 background:#000b;
 backdrop-filter:blur(3px);
}

html.profile-page .winner-badge-dialog{
 width:min(620px,100%);
 max-height:min(760px,92dvh);
 overflow:auto;
 border:1px solid #a87322;
 border-radius:20px;
 background:linear-gradient(180deg,#102737,#07131e 62%,#050d14);
 box-shadow:0 28px 90px #000e,0 0 36px #a8732228;
 color:#eaf1f5;
}

html.profile-page .winner-badge-header{
 position:sticky;
 top:0;
 z-index:2;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 padding:17px 20px;
 border-bottom:1px solid #294354;
 background:#0b1e2bd9;
 backdrop-filter:blur(8px);
}

html.profile-page .winner-badge-title{
 margin:0;
 color:#f4cd73;
 font:900 20px/1.2 Georgia,serif;
}

html.profile-page .winner-badge-close{
 width:36px;
 height:36px;
 border:0;
 border-radius:9px;
 background:transparent;
 color:#c8d4dc;
 font-size:28px;
 line-height:1;
 cursor:pointer;
}

html.profile-page .winner-badge-close:hover,
html.profile-page .winner-badge-close:focus-visible{
 background:#ffffff10;
 color:#fff;
 outline:1px solid #526c7d;
}

html.profile-page .winner-badge-body{
 padding:20px;
}

html.profile-page .winner-badge-hero{
 display:grid;
 grid-template-columns:68px minmax(0,1fr);
 gap:15px;
 align-items:center;
 padding:15px;
 border:1px solid #294354;
 border-radius:14px;
 background:#07131e;
}

html.profile-page .winner-badge-hero-icon{
 width:64px;
 height:64px;
 display:block;
 filter:drop-shadow(0 7px 8px #0008);
}

html.profile-page .winner-badge-user{
 min-width:0;
}

html.profile-page .winner-badge-user-name{
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 color:#f6e8c3;
 font-size:18px;
 font-weight:900;
}

html.profile-page .winner-badge-user-meta{
 margin-top:5px;
 color:#9fb2bf;
 font-size:12px;
 font-weight:700;
}

html.profile-page .winner-badge-total{
 margin-top:7px;
 color:#dbe5eb;
 font-size:13px;
}

html.profile-page .winner-badge-total strong{
 color:#f4cd73;
}

html.profile-page .winner-badge-section{
 margin-top:18px;
}

html.profile-page .winner-badge-section-title{
 margin:0 0 10px;
 padding-bottom:7px;
 border-bottom:1px solid #294354;
 color:#7eb9e7;
 font-size:14px;
 font-weight:900;
}

html.profile-page .winner-badge-days{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:6px 20px;
}

html.profile-page .winner-badge-day{
 display:flex;
 justify-content:space-between;
 gap:10px;
 padding:6px 8px;
 border-radius:8px;
 color:#9eafb9;
 font-size:12px;
}

html.profile-page .winner-badge-day:nth-child(odd){
 background:#ffffff05;
}

html.profile-page .winner-badge-day strong{
 color:#e5edf2;
}

html.profile-page .winner-badge-levels{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:9px;
}

html.profile-page .winner-badge-level{
 min-height:74px;
 padding:7px 5px 6px;
 border:1px solid #294354;
 border-radius:10px;
 background:#07131e;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:3px;
 opacity:.72;
}

html.profile-page .winner-badge-level.achieved{
 opacity:1;
 border-color:#526c7d;
}

html.profile-page .winner-badge-level.current{
 border-color:#e3b84f;
 box-shadow:0 0 0 2px #e3b84f20,0 8px 24px #0008;
 background:#102231;
}

html.profile-page .winner-badge-level img{
 width:38px;
 height:38px;
 display:block;
 filter:drop-shadow(0 3px 4px #0008);
}

html.profile-page .winner-badge-level span{
 color:#bac8d1;
 font-size:10px;
 font-weight:900;
}

html.profile-page .winner-badge-next{
 margin-top:12px;
 padding:10px 12px;
 border:1px solid #294354;
 border-radius:10px;
 background:#0a1924;
 color:#c9d6de;
 font-size:12px;
 font-weight:800;
 text-align:center;
}

html.profile-page .winner-badge-rules{
 margin:17px 0 0;
 padding:11px 12px;
 border-top:1px solid #294354;
 color:#8297a6;
 font-size:11px;
 line-height:1.45;
 text-align:center;
}

@media (max-width:620px){
 html.profile-page .winner-badge-modal{
  padding:10px;
  align-items:flex-end;
 }

 html.profile-page .winner-badge-dialog{
  max-height:90dvh;
  border-radius:18px 18px 12px 12px;
 }

 html.profile-page .winner-badge-body{
  padding:15px;
 }

 html.profile-page .winner-badge-days{
  grid-template-columns:1fr;
  gap:3px;
 }

 html.profile-page .winner-badge-levels{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
 }

 html.profile-page .winner-badge-level{
  min-height:66px;
  padding:5px 3px;
 }

 html.profile-page .winner-badge-level img{
  width:32px;
  height:32px;
 }

 html.profile-page .winner-badge-button{
  width:28px;
  height:28px;
  flex-basis:28px;
 }

 html.profile-page .winner-badge-button img{
  width:24px;
  height:24px;
 }
}

/* CHESSORA winner badge — light profile theme */
html.profile-page[data-theme="light"] .winner-badge-button:hover,
html.profile-page[data-theme="light"] .winner-badge-button:focus-visible{
 background:#8f5e0d0d;
 outline-color:#b7812d88;
}

html.profile-page[data-theme="light"] .winner-badge-button img{
 filter:drop-shadow(0 2px 3px #5a402c40);
}

html.profile-page[data-theme="light"] .winner-badge-modal{
 background:#3d2c1f59;
}

html.profile-page[data-theme="light"] .winner-badge-dialog{
 border-color:#b7812d;
 background:linear-gradient(180deg,#fffdf8,#f7ecdc 62%,#f1e5d3);
 box-shadow:0 28px 90px #5a402c45,0 0 36px #b77a2418;
 color:#26394b;
 scrollbar-color:#bcae9b #f7ecdc;
}

html.profile-page[data-theme="light"] .winner-badge-header{
 border-bottom-color:#d8c6ac;
 background:#fffaf2e8;
}

html.profile-page[data-theme="light"] .winner-badge-title{
 color:#8f5e0d;
}

html.profile-page[data-theme="light"] .winner-badge-close{
 color:#596b78;
}

html.profile-page[data-theme="light"] .winner-badge-close:hover,
html.profile-page[data-theme="light"] .winner-badge-close:focus-visible{
 background:#8f5e0d0d;
 color:#26394b;
 outline-color:#bcae9b;
}

html.profile-page[data-theme="light"] .winner-badge-hero{
 border-color:#d8c6ac;
 background:#fffaf2;
}

html.profile-page[data-theme="light"] .winner-badge-hero-icon,
html.profile-page[data-theme="light"] .winner-badge-level img{
 filter:drop-shadow(0 4px 5px #5a402c35);
}

html.profile-page[data-theme="light"] .winner-badge-user-name{
 color:#26394b;
}

html.profile-page[data-theme="light"] .winner-badge-user-meta{
 color:#667886;
}

html.profile-page[data-theme="light"] .winner-badge-total{
 color:#425564;
}

html.profile-page[data-theme="light"] .winner-badge-total strong{
 color:#8f5e0d;
}

html.profile-page[data-theme="light"] .winner-badge-section-title{
 border-bottom-color:#d8c6ac;
 color:#2f6f9e;
}

html.profile-page[data-theme="light"] .winner-badge-day{
 color:#667886;
}

html.profile-page[data-theme="light"] .winner-badge-day:nth-child(odd){
 background:#8f5e0d08;
}

html.profile-page[data-theme="light"] .winner-badge-day strong{
 color:#26394b;
}

html.profile-page[data-theme="light"] .winner-badge-level{
 border-color:#d8c6ac;
 background:#fffdf8;
}

html.profile-page[data-theme="light"] .winner-badge-level.achieved{
 border-color:#bcae9b;
}

html.profile-page[data-theme="light"] .winner-badge-level.current{
 border-color:#b7812d;
 background:#f8ecd6;
 box-shadow:0 0 0 2px #b7812d18,0 8px 24px #5a402c24;
}

html.profile-page[data-theme="light"] .winner-badge-level span{
 color:#566a78;
}

html.profile-page[data-theme="light"] .winner-badge-next{
 border-color:#d8c6ac;
 background:#fff8ed;
 color:#425564;
}

html.profile-page[data-theme="light"] .winner-badge-rules{
 border-top-color:#d8c6ac;
 color:#667886;
}
