:root {
  --logo-color: #b8b6b4;
  --logo-color-z: #ff0000;

  --body-bg:
      radial-gradient(
      ellipse at top,
      rgba(42,71,94,.35) 0%,
      rgba(27,40,56,0) 60%
    ),
    linear-gradient(
      to bottom,
      #1b2838 0%,
      #1f3347 40%,
      #182333 100%
    );
  --main-color: #e6f0f7;
  --a-color: #e6f0f7;
  --a-color-hover: #fff;
  --h-tag-bg: linear-gradient(-60deg, rgba(226, 244, 255, 0.3) 5%, rgba(84, 107, 115, 0.3) 95%);
  --input-border: 1px solid rgba(255,255,255,.12);
  --input-bg: rgba(0,0,0,.25);
  --input-border-color-focus: rgba(47,137,188,.9);
  --select-option-bg: rgba(50,69,85,.95);
  --input-placeholder-color:rgba(230,240,247,.65);
  --button-bg:rgba(47,137,188,1);
  --button-color:#ffffff;

  --header-top-bg: #171a21;
  --header-border-bottom: 1px solid rgba(255,255,255,.06);
  --header-top-nav-color: #b8b6b4;
  --header-top-nav-color-active: #1a9fff;

  --header-sub-bar-bg: linear-gradient(to bottom, #2a475e 0%, #1b2838 100%);
  --header-dropmenu-bg: #171a21;
  --header-dropmenu-bg-hover: rgba(255,255,255,.06);
  --header-dropmenu-border: 1px solid rgba(255,255,255,.08);
  --header-dropmenu-color: #c6d4df;
  --header-dropmenu-color-hover: #ffffff;
  --header-dropmenu-shadow: 0 10px 24px rgba(0,0,0,.35);
  
  --search-panel-bg: linear-gradient(#2a475e, #1b2838);
  --search-panel-border: 1px solid rgba(0,0,0,.55);
  --search-panel-shadow: 0 10px 30px rgba(0,0,0,.45);

  --footer-color: #8f98a0;
  --footer-color-small: rgba(198,212,223,.7);
  --footer-color-a: rgba(198,212,223,.85);
  --footer-color-meta-a: #c6d4df;
  --footer-color-a-hover: #ffffff;

  --tabs-bg: linear-gradient(#2a475e, #1b2838);
  --tab-border: 1px solid rgba(0,0,0,.35);
  --tab-color: #c7d5e0;
  --tab-shadow:
      0 1px 0 rgba(255,255,255,.08) inset,
      0 -1px 0 rgba(0,0,0,.3) inset;
  --tab-color-hover: #fff;
  --tab-bg-hover: linear-gradient(#3b6f93, #24445d);
  --tab-color-active: #fff;
  --tab-bg-active: linear-gradient(#4aa3df, #2b6a90);

  --table-bg: rgba(23, 26, 33, .35); 
  --table-border: 1px solid rgba(255,255,255,.08);
  --table-th-bg: linear-gradient(to bottom, rgba(42,71,94,.95), rgba(27,40,56,.95));
  --table-th-color: #e6f0f7;
  --table-th-border-bottom: 1px solid rgba(255,255,255,.08);
  --table-td-color: rgba(255,255,255,.84);
  --table-td-border-bottom: 1px solid rgba(255,255,255,.06);
  --table-td-bg-odd: rgba(0,0,0,.08);
  --table-td-bg-even: rgba(255,255,255,.02);
  --table-td-bg-hover: rgba(26,159,255,.08);
  --table-a-color: #efefef;
  --table-a-color-hover: #ffffff;
  --table-shadow: 0 8px 24px rgba(0,0,0,.18);

  --card-bg: linear-gradient(180deg, rgba(42,71,94,.75), rgba(27,40,56,.75));
  --card-section-bg: rgba(0,0,0,.10);
  --card-section-border: 1px solid rgba(255,255,255,.06);
  --card-section-shadow: 0 10px 30px rgba(0,0,0,.35);
  --card-border: 1px solid rgba(255,255,255,.08);
  --card-border-color-hover: rgba(102,192,244,.45);
  --card-title-color: #c7d5e0;
  --card-award-bg:
    radial-gradient(circle at 30% 25%,
    rgba(255,255,255,.18), rgba(0,0,0,.15));
  --card-award-border: 1px solid rgba(255,255,255,.08);
  --card-award-winner-color: rgba(199,213,224,.85);
  --card-award-winner-count-bg: rgba(0,0,0,.25);
  --card-award-winner-count-color: #fff;
  --card-award-winner-count-border: 1px solid rgba(255,255,255,.06);
  --card-award-has-winner-border: rgba(102,192,244,.35);
  --card-scrollbar-color: #666 transparent;
  --card-award-shadow:
    0 1px 0 rgba(255,255,255,.08) inset,
    0 12px 24px rgba(0,0,0,.1);
  --card-award-has-winner-shadow:
    0 1px 0 rgba(255,255,255,.08) inset,
    0 16px 32px rgba(0,0,0,.45);
  --card-award-rank-has-winner-shadow:
    0 1px 0 rgba(255,255,255,.08) inset,
    0 2px 4px rgba(0,0,0,.45);

  --pagination-hover-bg: rgba(47,137,188,.4);
  --pagination-hover-border: 1px solid rgba(255,255,255,.12);
  
  --ajax-bg: #2f89bc;
}

html, body{
    margin: 0;
    padding: 0;
    min-height: 100%;
}
body{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--body-bg);
  color: var(--main-color);
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
  font-variant-numeric: tabular-nums;
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 0.1px;
  white-space: normal;
  word-break: keep-all;
}

a{
  color: var(--a-color);
  text-decoration: none;
}

h1, h2, h3{
  font-size:1.05rem;
  font-weight: 600;
  letter-spacing: .2px;
  background: var(--h-tag-bg);
  border-radius: 10px;
  padding: 10px 10px;
}
h3{ font-size:1rem; }

select,
input{
  height: 28px;
  padding: 0 10px;
  border: var(--input-border);
  background: var(--input-bg);
  color: var(--main-color);
  border-radius: 3px 0 0 3px;
  outline: none;
}
select{ height:30px}
select option {
  background: var(--select-option-bg);
  color: var(--main-color);
}
input::placeholder{ color: var(--input-placeholder-color); }

input[type="submit"],
button{
  height: 30px;
  padding: 0 10px;
  border: var(--input-border);
  background: var(--button-bg);
  color: var(--button-color);
  cursor: pointer;
  border-radius: 3px;
}

button:hover{ filter: brightness(1.05); }

input:focus{ border-color: var(--input-border-color-focus); }

.meter-container {
  position: relative;
  min-width: 75px;
}
meter {
  width: 100%;
  height: 14px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: var(--input-border);
  border-radius: 3px;
  background: rgba(255,255,255,0.1);
}
/* Chrome, Safari, Edge */
meter::-webkit-meter-bar {
  background: rgba(255,255,255,0.1);
  border-radius: 3px;
  height:14px;
}
meter::-webkit-meter-optimum-value {
  background: linear-gradient(to right, #4caf50, #2e7d32); /* Green gradient */
  border-radius: 3px;
}

meter::-webkit-meter-suboptimum-value {
  background: linear-gradient(to right, #ffeb3b, #fbc02d); /* Yellow gradient */
  border-radius: 3px;
}

meter::-webkit-meter-even-less-good-value {
  background: linear-gradient(to right, #f44336, #b71c1c); /* Red gradient */
  border-radius: 3px;
}
/* Firefox */
meter::-moz-meter-bar {
  border-radius: 3px;
}
/* Value text overlay */
.meter-value {
  position: absolute;
  top: 0;
  right: 3px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: right;
  font-weight: 400;
  color: var(--main-color);
  pointer-events: none;
}

.z{ color: #ff0000; font-weight:600; }

.hlstats-contents{
  max-width:1120px;
  width: 100%;
  margin: 0 auto;
  padding-bottom:92px;
  flex: 1 0 auto;
}

.responsive {
  max-width: 100%;
  height: auto;
}

.hlstats-select{
  display: flex; 
  justify-content: flex-end;
  padding-bottom: 15px;
}

td.green::after,
.green{
  color:#00cd00;
}
td.red::after,
.red{
  color:#cd0000;
}
/*------------------------ Header -------------------------*/

.hlstats-header { width: 100%; }

.hlstats-inner{
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* top bar */
.hlstats-top{
  background: var(--header-top-bg);
  border-bottom: var(--header-border-bottom);
}
.hlstats-top .hlstats-inner{ height: 104px; }

.hlstats-brand{
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.hlstats-topnav{
  display: flex;
  gap: 18px;
  align-items: center;
  flex: 1;
  font-family: "Motiva Sans", "Twemoji", "Noto Sans", Helvetica, sans-serif;
  font-weight: 600;
}
.hlstats-topnav a{
  color: var(--header-top-nav-color);
  text-decoration: none;
  font-size: 16px;
  text-transform: uppercase;
}

.hlstats-topright{
  display: flex;
  align-items: center;
  gap: 10px;
}

/* sub bar */
.hlstats-sub{
  background: var(--header-sub-bar-bg);
}
.hlstats-sub .hlstats-inner{
  min-height: 44px;
  gap: 6px;
  flex-wrap: wrap;
}

.hlstats-subnav{
  display: flex;
  align-items: center;
  gap: 14px;
}
.hlstats-subnav a{
  color: var(--a-color);
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  font-family: "Motiva Sans", Arial, sans-serif;
}

.hlstats-subnav a.hlstats-server{
  font-weight: 600;
}

.hlstats-subnav a:hover{ color: var(--a-color-hover); }

/* dropdown */
/* dropdown container */
.hlstats-dropdown{
  position: relative;
  height: 44px;
  display: inline-flex;
  align-items: center;
}

.hlstats-dropmenu{
  display: none;
  position: absolute;
  top: 44px;
  left: 0;
  min-width: 180px;
  background: var(--header-dropmenu-bg);
  border: var(--header-dropmenu-border);
  box-shadow: var(--header-dropmenu-border);
  border-radius: 4px;
  overflow: hidden;
  z-index: 9999;
  flex-direction: column;
}

.hlstats-dropdown.open .hlstats-dropmenu{
  display: block;
}

.hlstats-dropbtn{
  height: 44px;
  background: transparent;
  border: 0;
  color: var(--main-color);
  font-size: 14px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.hlstats-dropmenu a{
  display: block;
  width: 100%;
  padding: 10px 12px;
  color: var(--header-dropmenu-color);
  text-decoration: none;
  font-size: 14px;
  white-space: nowrap;
}

.hlstats-dropmenu a:hover{
  background: var(--header-dropmenu-bg-hover);
  color: var(--header-dropmenu-color-hover);
}

.hlstats-dropdown.open .caret{
  transform: rotate(180deg);
}
.caret{
  transition: transform .15s ease;
}

.hlstats-navlink{
  position: relative;
  top: 3px;
  padding-bottom: 6px;
  text-decoration: none;
}

/* underline bar */
.hlstats-navlink::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--header-top-nav-color-active);
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease, opacity .2s ease;
}

.hlstats-navlink:hover:not(.active)::after{
  opacity: 1;
  background: var(--header-top-nav-color);
  transform: scaleX(1);
}

/* active state */
.hlstats-navlink.active{
  color: var(--header-top-nav-color-active);
}
.hlstats-navlink.active::after{
  opacity: 1;
  transform: scaleX(1);
}

/* search */
.hlstats-header-search{
  position:relative;
  margin-left: auto;
}

.hlstats-form{
  position:relative;
  display:flex;
  gap:0px;
  align-items:center;
}

.hlstats-search-panel{
  position:absolute;
  top: calc(100% + 6px);
  right: 0;
  width: 235px;
  padding: 12px;
  border-radius: 4px;
  background: var(--search-panel-bg);
  border: var(--search-panel-border);
  box-shadow: var(--search-panel-shadow);
  z-index: 9999;
  display:none;
}

.hlstats-header-search.is-open .hlstats-search-panel{ display:block; }

.hlstats-search-row{
  display:grid;
  grid-template-columns: 55px 1fr;
  align-items:center;
}

.hlstats-search-actions{ text-align:right; }

.hlstats-header-search input{
  width: 200px;
  border-right: 0;
}

.hlstats-header-search button{
  border-left: 0;
  border-radius: 0px 3px 3px 0px;
}
button.svg svg{
    width: 18px;
    display: flex;
    transform: scale(1);
    transition: transform .2s ease-out;
}

button.svg:hover svg{
    transform: scale(1.2);
}
/*------------------------ Footer -------------------------*/

.hlstats-footer{
  background: var(--header-top-bg);
  border-top: var(--header-border-bottom);
  padding: 22px 0;
}

.hlstats-footer-inner{
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 16px;
  color: var(--footer-color);
  font-size: 12px;
}

.hlstats-footer-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.hlstats-footer-meta a{
  color: var(--footer-color-meta-a);
  text-decoration: none;
}
.hlstats-footer-meta a:hover{ color: var(--footer-color-a-hover); }

.hlstats-footer-small{
  margin-top: 6px;
  color: var(--footer-color-small);
}

.hlstats-footer-links{
  margin-top: 14px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.hlstats-footer-links a{
  color: var(--footer-color-small);
  text-decoration: none;
  font-size: 12px;
}
.hlstats-footer-links a:hover{ color: var(--footer-color-a-hover); }

@media (max-width: 720px){
  .hlstats-footer-top{
    flex-direction: column;
    align-items: flex-start;
  }
}


/*------------------------ Global -------------------------*/


.hlstats-contents table.hlstats-map td{
  padding: 0;
}

#map{
  width: 100%;
  height: 380px;
  margin: 0 auto;
  overflow:hidden;
}

.hlstats-flag,
.hlstats-icon{
  padding-right:6px;
}
.hlstats-flag img{
  filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.5));
}
.hlstats-icon img{
  height:22px;
  width: 22px;
  margin-right: 8px;
}
.hlstats-name{
  font-size:13px;
  font-weight:600;
}

.hlstats-image img{
  height:32px;
  margin-right: 4px;
}

input:focus::placeholder{
  color: transparent; /
}
/*------------------------ Tabs ------------------------*/
/* Tabs bar stays visually stable */
.hlstats-tabs-bar{
  margin-top: 12px;
  margin-bottom: 0;
  padding: 0 12px;
}

/* Prevent margin collapse from content below */
.hlstats-tabs-bar::after{
  content:"";
  display:block;
  height:1px;
}

.hlstats-tabs{
  display:flex;
  flex-wrap: wrap;
  justify-content:center; /* optional, matches Steam */
  margin: 0;
  padding: 0;
  list-style:none;;
}

.hlstats-tabs li a{
  display:flex;
  align-items:center;
  padding:8px 14px;
  font-weight:600;
  text-decoration:none;
  color:  var(--tab-color);
  white-space: nowrap;
  background: var(--tab-bg);
  border-right: var(--tab-border);

  box-shadow: var(--tab-shadow);
}

.hlstats-tabs li:last-child a{ border-right:0; }

.hlstats-tabs li a:hover{
  color: var(--tab-color-hover);
  background: var(--tab-bg-hover);
}

.hlstats-tabs li.active a{
  color: var(--tab-color-active);
  background: var(--tab-bg-active);
}

/* Content area */
.hlstats-tab-content {
    padding-top: 12px;
    min-height: 150px;
    width:100%;
    display: none;
}

.hlstats-tab-content.active {
    display: block;
}

/*------------------------ Table -------------------------*/
.responsive-table{
  overflow-x:auto;
  scrollbar-width: thin;
  scrollbar-color: var(--card-scrollbar-color);
}

/* Chrome / Edge / WebKit */
.responsive-table::-webkit-scrollbar {
  width: 8px;
}
.responsive-table::-webkit-scrollbar-track {
  background: transparent;
  margin: 4px;
}
.responsive-table::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 8px;
  border: 2px solid transparent;
  background-clip: content-box;
}

.hlstats-contents table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--table-bg);
  border: var(--table-border);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: var(--table-shadow);
  margin-bottom: 15px;
}
.hlstats-main-column{
  width:40%;
}
.hlstats-main-description{
  width:70%;
}

th.left, td.left{
  text-align: left;
}

th.right, td.right{
  text-align: right;
}

td.nowrap{
  white-space:nowrap;
}
td.kd .k,
td.kd .d {
  display: inline-block;
  width: 4ch;
}

td.kd .left{
  text-align: left;
}
td.kd .right {
  text-align: right;
}

td.kd .sep {
  padding: 0 4px;
}

.hlstats-contents table.livestats-table{
  margin-bottom: 30px;
}

.hlstats-contents table tbody tr{
  position: relative;
  text-align: center;
}

div.hlstats-stats,
.hlstats-contents table tr.hlstats-stats td{
  Font-size: 14px;
  padding: 10px;
  text-align: left;
}

.hlstats-contents table th,
.hlstats-contents table tr td{
 /* white-space: nowrap;*/
  word-break: break-word;
  overflow-wrap: anywhere;
}
/* header cells */
.hlstats-contents table th{
  position: relative;
  background: var(--table-th-bg);
  color: var(--table-th-color);
  font-weight: 700;
  font-size: 13px;
  padding: 12px 14px;
  border-bottom: var(--table-th-border-bottom);
  white-space: nowrap;
}

/* sort caret */
th::after {
  position:absolute;
  right:0;
  color: var(--table-a-color);
  transition: transform .15s ease;
  opacity:0.3;
}
th.desc::after {
  content: "▼";
}
th.asc::after{
    content: "▲";
}
th.active::after {
  opacity:0.85;
}
th:hover::after{
  opacity:0.7;
}
th:hover::after{
  transform: rotate(180deg);
}

.skill::after {
  content: "●";
  position:absolute;
  right:2px;
  opacity: 0.6;
}

.skill.up::after {
  content: "▲";
  opacity: 1;
  font-size:10px;
}

.skill.down::after {
  content: "▼";
  opacity: 1;
  font-size:10px;
}

/* data cells */
.hlstats-contents table td{
  padding: 12px 14px;
  color: var(--table-td-color);
  border-bottom: var(--table-td-border-bottom);
  vertical-align: middle;
  font-size: 13px;
}

/* zebra rows */
.hlstats-contents table tbody tr:nth-child(odd) td{
  background: var(--table-td-bg-odd);
}
.hlstats-contents table tbody tr:nth-child(even) td{
  background: var(--table-td-bg-even);
}

/* hover (nice but subtle) */
.hlstats-contents table tbody tr:hover td{
  background: var(--table-td-bg-hover);
}

/* last row no border */
.hlstats-contents table tbody tr:last-child td{
  border-bottom: 0;
}

/* links inside tables */
.hlstats-contents table a{
  color: var(--table-a-color);
  text-decoration: none;
}
.hlstats-contents table a:hover{
  color: var(--table-a-color-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* small icons/images alignment */
.hlstats-contents table img{
  vertical-align: middle;
}

/* nicer bullets/spacing when tables contain lists */
.hlstats-contents table ul,
.hlstats-contents table ol{
  margin: 0;
  padding-left: 18px;
}

/* ---------------------team color -------------------------*/

/* --------------------- team color overlays (iOS‑safe) ------------------------- */

/* Ensure seamless row appearance */
.hlstats-contents table {
  border-collapse: collapse;
}

/* Base overlay for all cells */
.hlstats-contents table td {
  position: relative;
  z-index: 1;
}

.hlstats-contents table td::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .5;
  z-index: 0;
}

/* --------------------- team generics ------------------------- */


.hlstats-contents table tr.team_0 td::before {
  background-color:rgba(70,150,255,.4);
}

.hlstats-contents table tr.team_1 td::before {
  background-color:rgba(255,0,0,.4);
}

.hlstats-contents table tr.team_2 td::before {
  background-color:rgba(0,255,0,.4);
}
/* ------------- team specifics Counter-Strike --------------------- */

.hlstats-contents table tr.team_terrorist td::before {
  background-color:rgba(255,215,0,.4);
}

.hlstats-contents table tr.team_ct td::before {
  background-color:rgba(70,150,255,.4);
}
/* --------------------- team specifics TF2 ------------------------- */

.hlstats-contents table tr.team_red td::before {
  background-color:rgba(255,0,0,.4);
}

.hlstats-contents table tr.team_blue td::before {
  background-color:rgba(70,150,255,.4);
}
/* --------------------- team specifics lobby ------------------------- */

.hlstats-contents table tr.team_spectator td::before {
  background-color:rgba(128,128,128,.4);
}

@media (max-width: 900px){
  .hide{
     display: none;
  }
  .hlstats-main-column{
      width:90%
  }
}

/* =======================
   Playerinfo Cards Layout
   ======================= */


/* Cards grid wrapper */
.hlstats-cards-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(420px,1fr));
  gap: 20px;
  align-items: stretch;
  margin-top: 12px;
  width:1120px;
  margin-bottom: 40px;
}
@media (max-width: 1120px){
  .hlstats-cards-grid{
    width: auto;
    gap:0;
  }
}

/* Card base */
.hlstats-section.hlstats-card{
display: flex;
 flex-direction: column;
 height: 100%; 
  width: auto;
  max-width: none;
  padding: 10px;
  background: var(--card-section-bg);
  border: var(--card-section-border);
  box-shadow: var(--card-section-shadow);
  border-radius: 10px;
}

.hlstats-card-body.hlstats-center {
  max-height: 444px;
  overflow-y: auto;
  padding-right: 12px;
  scrollbar-width: thin;
  scrollbar-color: var(--card-scrollbar-color);
}

/* Chrome / Edge / WebKit */
.hlstats-card-body.hlstats-center::-webkit-scrollbar {
  width: 8px;
}
.hlstats-card-body.hlstats-center::-webkit-scrollbar-track {
  background: transparent;
  margin: 4px;
}
.hlstats-card-body.hlstats-center::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 8px;
  border: 2px solid transparent;
  background-clip: content-box;
}


/* Profile header: avatar left, identity right */
.hlstats-profile-head{
  display:grid;
  grid-template-columns: max-content 1fr;
  gap: 16px;
  align-items:start;
  padding: 16px;
  border-bottom: var(--card-border);
}

.hlstats-avatar-img{
  width:140px;
  height:140px;
  object-fit:cover;
  border-radius:6px;
  display:block;
}

.hlstats-pname{
  font-size: 18px;
  font-weight: 700;
  display:flex;
  align-items:center;
  gap: 10px;
}

.hlstats-meta{
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 6px;
  opacity: .95;
}

.hlstats-card-grid{
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 20px;
  row-gap: 6px;
  padding: 16px;
  align-items: center;
}
.hlstats-card-title{
  margin-bottom: 10px;
}

.hlstats-card-grid .label{
  font-weight: 700;
  opacity: .9;
}
.hlstats-card-grid .value{
  min-width: 0;
  overflow-wrap: anywhere;
}

.hlstats-status.online{ color:#7CFC98; font-weight:700; }

.hlstats-card-foot {
  grid-column: 1 / -1;
  margin-top: 16px;
}

.hlstats-rankmeter meter{
    width:100%;
    max-width:100%;
}
/* vignette */
/* container */
.hlstats-center{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 14px;
  align-items: stretch;
}

/* card */
.hlstats-award{
  position: relative;
  padding: 12px 10px;
  border-radius: 10px;

  background: var(--card-bg);
  border: var(--card-border);

  box-shadow:var(--card-shadow);

  text-align:center;
  display:flex;
  flex-direction:column;
  gap: 8px;

  transition: transform .12s ease, border-color .12s ease, filter .12s ease;
  opacity:0.7;
}

.hlstats-award:hover{
  transform: translateY(-2px);
  border-color: var(--card-border-color-hover);
  filter: brightness(1.05);
  opacity:1;
}

/* top title */
.hlstats-award-title{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .2px;
  color: var(--card-title-color);
  text-shadow: 0 1px 0 rgba(0,0,0,.5);
  min-height: 2.4em;
}

/* icon plate */
.hlstats-award-icon{
  width: 72px;
  height: 72px;
  margin: 0 auto;
  display:grid;
  place-items:center;
  border-radius: 12px;

  background: var(--card-award-bg);
  border: var(--card-award-border);
}

.hlstats-award .hlstats-award-icon img{
  width: 64px;
  height: 64px;
  object-fit: contain;
  filter: drop-shadow(0 3px 6px rgba(0,0,0,.55));
}

/* winner line */
.hlstats-award-winner{
  font-size: 12px;
  color: var(--card-award-winner-color);
  line-height: 1.15;
}

/* stat line */
.hlstats-award-count{
  font-size: 12px;
  font-weight: 700;
  color: var(--card-award-winner-count-color);
  background: var(--card-award-winner-count-bg);
  border: var(--card-award-winner-count-border);
  border-radius: 8px;
  padding: 6px 8px;
}

.hlstats-award.has-winner{
  border-color: var(--card-award-has-winner-border);
  box-shadow: var(--card-award-has-winner-shadow);
  opacity:1;
}

.hlstats-rank.hlstats-award.has-winner{
  box-shadow: var(--card-award-rank-has-winner-shadow);
}

/* pagination */
.hlstats-pagination{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin: .75em 0;
}

.hlstats-pagination button{
  margin-left: 2px;
}

.hlstats-pagination button.disabled{
  background: none;
  border: transparent;
  color: var(--main-color);
  opacity: .5;
  cursor: default;
}

.hlstats-pagination button:not(.current,.disabled){
  background: none;
  border-color: transparent;
  color: var(--main-color);
  opacity: 0.9;
}

.hlstats-pagination button:hover:not(.current,.disabled){
  background: var(--pagination-hover-bg);
  border: var(--pagination-hover-border);
}

@media (max-width: 700px) {
  .hlstats-pagination {
    justify-content: center;
    text-align: center;
  }

  .hlstats-page {
    width: 100%;
    justify-content: center;
    margin: .25em 0;
  }
}

/* OpenMapStreet */

.hlstats-contents table .hlstats-map-card{
  min-width: 240px;
}
.hlstats-contents table .hlstats-map-card a{
  color:#1f68aa;
}
.hlstats-contents table .hlstats-map-card a:hover{
  color:#0086ff;
  text-decoration: none;
}
/* Top */
.hlstats-contents table .hlstats-map-top{
  margin-bottom: 8px;
}

.hlstats-contents table .hlstats-map-title{
  font-weight: 700;
  font-size: 14px;
  color: #1b2838; /* Steam dark blue */
}

.hlstats-contents table .hlstats-map-sub{
  margin-top: 2px;
  font-size: 12px;
  color: #6b7280; /* muted gray */
}

/* Rows */
.hlstats-map-row{
  display: grid;
  grid-template-columns: 90px 1fr; /* label | value */
  gap: 8px;
  align-items: center;

  padding: 6px 0;
  border-top: 1px solid rgba(0,0,0,.08);
}
.hlstats-map-label{
  font-size: 11px;
  font-weight: 600;
  color: #6b7280; /* muted */
  text-transform: uppercase;
  letter-spacing: .04em;
}

.hlstats-map-value{
  font-size: 12px;
  color: #1b2838;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hlstats-map-actions{
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.12);
}
.hlstats-contents table .hlstats-map-ghost button{
  color: #1b2838;
  background: #f3f4f6;
  height: 30px;
  border: 1px solid rgba(0,0,0,.12);
  box-shadow: none;
}

.hlstats-contents table .hlstats-map-ghost button:hover{
  background: #e5e7eb;
}


/* theme */
.theme-switcher{
  display: flex;
  position: relative;
  left: 0;
}

.theme-menu{
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  background: var(--header-dropmenu-bg);
  border: var(--header-dropmenu-border);
  box-shadow: var(--header-dropmenu-shadow);
  border-radius: 6px;
  padding: 6px;
  min-width: 140px;
  text-align: right;
  z-index:9999;
}

.theme-menu a{
  display: block;
  color: var(--header-dropmenu-color);
  padding: 6px 10px;
  text-align: right;
}

.theme-menu a:hover{
  background: var(--header-dropmenu-bg-hover);
  color: var(--header-dropmenu-color-hover);
}

.theme-switcher:hover .theme-menu{
  display: block;
}

/* ajax */
.is-loading {
    position: relative;
    pointer-events: none;
}
.is-loading table{
    opacity: 0.35;
}
.is-loading::after {
    content: "";
    position: fixed;
    top: 40%;
    left: 50%;
    width: 48px;
    height: 48px;
    margin-top: -24px;
    margin-left: -24px;
    border: 6px solid rgba(255,255,255,0.25); 
    border-top-color: var(--ajax-bg);
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    z-index: 9999;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}


.hlstats-filter-search{
 width:420px;
}
.hlstats-filter-row{
  display: grid;
  grid-template-columns: 110px 1fr;
  align-items: center;
  gap: 10px;

}

.hlstats-filter-row label{
  font-weight: 600;
  color: var(--main-color);
}

.hlstats-filter-row select,
.hlstats-filter-row input[type="text"]{
  width: 100%;
}

.hlstats-filter-actions{
  display: flex;
  gap: 8px;
}

.hlstats-filter-actions input{
  flex: 1;
}

@media (max-width: 640px){
  .hlstats-filter-row{
    grid-template-columns: 1fr;
  }
}