:root{
  --vscale:0.25;
  --vspace-block:.25rem;
  --bg:#0b0b0e;
  --bg-soft:#121218;
  --card:#16161f;
  --card-edge:#2a2a36;
  --text:#e9e9ee;
  --muted:#a0a0b2;
  --accent:#d21414;
  --ok:#2fe37d;
  --glow:0 0 20px rgba(210,20,20,.35);
  --title-width:240px;
  --strapline-width:calc(var(--title-width)*2);
  --cell-min-h-base:56px;
  --cell-min-h:max(34px,calc(var(--cell-min-h-base)*var(--vscale)));
  --page-width:1220px;
  --page-outer-width:1280px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
html,body{height:100%;}
body.theme-dark{
  background:radial-gradient(1000px 600px at 50% -10%,#1a0f11,transparent 60%),var(--bg);
  color:var(--text);
  min-height:100vh;
  min-width:100%;
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans;
  -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;
  -webkit-touch-callout:none;
  overflow-x:hidden;
}
.noselect{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
.allow-select{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;}
img,svg{-webkit-user-drag:none;user-drag:none;}

.page-wrap{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:1.4rem .5rem 1.6rem;
  width:100%;
  max-width:var(--page-outer-width);
  margin:0 auto;
}
#zoom-root{
  width:var(--page-outer-width);
  max-width:var(--page-outer-width);
  margin:0 auto;
  transform-origin:top center;
}
.lock-center{
  position:relative;
  width:100%;
  max-width:var(--page-width);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:var(--vspace-block);
}

/* Ad belts and banner groups */
.ad-belt{
  width:100%;
  max-width:var(--page-width);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:var(--vspace-block);
  align-items:center;
  justify-content:center;
}
.ad-slot{
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--card);
  border:1px dashed var(--card-edge);
  border-radius:12px;
  padding:4px;
  box-shadow:0 10px 24px rgba(0,0,0,.35);
}
.ad-slot-belt{
  min-height:100px;
  width:100%;
  max-width:var(--page-width);
}
.ad-slot-side{min-width:300px;max-width:320px;min-height:250px;width:100%;justify-self:start;}
.ad-slot-side-right{justify-self:end;}
.ad-slot-footer{
  min-height:100px;
  width:100%;
  max-width:var(--page-width);
}
.ad-inner{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at 10% 0%,rgba(255,255,255,.06),transparent 55%);
  border-radius:10px;
}
.ad-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
}

/* Group of banners */
.ad-group{
  width:100%;
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  justify-content:center;
  gap:0;
}
.ad-group-2x{display:flex;flex-direction:row;}
.ad-group-3x{display:flex;flex-direction:row;}
.ad-sub-slot{
  flex:0 0 300px;
  width:300px;
  min-width:300px;
  max-width:300px;
  height:100px;
  min-height:100px;
  max-height:100px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ad-sub-slot .ad-inner{
  width:100%;
  height:100%;
  min-height:100px;
}

.page-header{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0;
}
.hero-belt{
  display:grid;
  grid-template-columns:minmax(300px,320px) minmax(0,1fr) minmax(300px,320px);
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  width:100%;
}
.hero-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
}
.app-title{margin:0;line-height:0;}
.app-logo{
  display:block;
  width:var(--title-width);
  height:auto;
  margin:0 auto;
  filter:drop-shadow(0 0 20px rgba(210,20,20,.35));
}
.title-underline{
  width:var(--strapline-width);
  height:2px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  border-radius:999px;
  box-shadow:var(--glow);
  margin:10px auto 0;
}
.table-actions{
  width:100%;
  display:flex;
  justify-content:center;
  margin:.7rem 0 0;
}
.ta-inner{
  position:relative;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.1rem;
  width:auto;
  max-width:900px;
  padding:0 .25rem;
  flex-wrap:wrap;
}
.ta-inner-single{justify-content:center;}

.link-piped{
  color:#c9c9cf;
  text-decoration:none;
  font-weight:700;
  font-size:18px;
  letter-spacing:.2px;
  position:relative;
  display:inline-flex;
  align-items:center;
  line-height:1.3;
}
.link-piped .ink{
  position:relative;
  display:inline-block;
  padding-bottom:2px;
}
.link-piped.has-real-pipes .pipe{color:var(--accent);opacity:.7;}
.link-piped.has-real-pipes .pipe-left{margin-right:.4rem;}
.link-piped.has-real-pipes .pipe-right{margin-left:.4rem;}

.stats-card{
  min-width:170px;
  max-width:220px;
  background:var(--bg-soft);
  border-radius:14px;
  border:1px solid var(--card-edge);
  padding:.25rem .75rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 22px rgba(0,0,0,.6);
}
.stats-title{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--muted);
  margin-bottom:.08rem;
  white-space:nowrap;
  text-align:center;
}
.stats-line{
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
}
.stats-pct{
  margin:0 .18rem;
  font-variant-numeric:tabular-nums;
  color:var(--ok);
}

.hscroll{
  width:100%;
  overflow-x:hidden;
}
.content-wrap{
  width:100%;
  max-width:100%;
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

/* Dummy header pills (filters) */
.dummy-header-row{
  display:grid;
  column-gap:1.5px;
  background:transparent;
  margin:.1rem 0 var(--vspace-block);
  border-radius:12px;
  padding:0 .4rem;
  width:100%;
}
.dummy-header-pill{
  background:var(--bg-soft);
  border:1px solid var(--card-edge);
  border-radius:999px;
  padding:.18rem .75rem;
  font-size:11px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  white-space:nowrap;
  pointer-events:none;
}
.dummy-header-pill[data-filter-key]{
  pointer-events:auto;
  cursor:pointer;
  font-size:13px;
  color:var(--ok);
  transition:background .15s ease,color .15s ease,transform .08s ease,box-shadow .15s ease,border-color .15s ease;
}
.dummy-header-pill[data-filter-key="country"],
.dummy-header-pill[data-filter-key="league"],
.dummy-header-pill[data-filter-key="matchdateandtime"],
.dummy-header-pill[data-filter-key="hometeam"],
.dummy-header-pill[data-filter-key="awayteam"]{
  border-color:var(--accent);
}
.dummy-header-pill[data-filter-key]::after{
  content:"\25BE";
  margin-left:.35rem;
  font-size:.9em;
  opacity:.9;
}
.dummy-header-pill[data-filter-key]:hover{
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:var(--glow);
}
.dummy-header-pill.filter-active{
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
  box-shadow:var(--glow);
}
.dummy-header-span2{
  border-color:var(--accent);
  box-shadow:var(--glow);
  color:var(--text);
}

/* Cards grid (same for mobile & desktop) */
.cards{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1.5px;
  width:100%;
  margin:0;
}
.row-card{
  display:grid;
  column-gap:1.5px;
  position:relative;
  background:var(--card);
  border:1px solid var(--card-edge);
  border-radius:12px;
  padding:.4rem;
  box-shadow:0 10px 24px rgba(0,0,0,.4);
  width:100%;
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;
}
.row-card:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 30px rgba(0,0,0,.6);
  border-color:var(--accent);
}
.row-card .row-accent{
  position:absolute;
  left:8px;right:8px;bottom:4px;
  height:2px;
  background:var(--accent);
  border-radius:10px;
  box-shadow:var(--glow);
}
.cell{
  background:var(--bg-soft);
  border:1px solid var(--card-edge);
  border-radius:10px;
  padding:.25rem 2px;
  display:grid;
  grid-template-rows:auto auto;
  justify-items:center;
  align-items:center;
  min-height:var(--cell-min-h);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.label{
  font-size:10px;
  text-transform:uppercase;
  color:#a0a0b2;
  letter-spacing:.6px;
  line-height:1.1;
  overflow:hidden;
  text-overflow:ellipsis;
}
.value{
  font-size:14px;
  font-weight:600;
  line-height:1.25;
  color:var(--text);
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.value.pos{color:var(--ok);}
.value.neg{color:#ff4b5c;}

.table-footer{
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  margin-top:var(--vspace-block);
  gap:var(--vspace-block);
}
.btn-load-more{
  appearance:none;
  border:1px solid var(--accent);
  background:var(--card);
  color:var(--text);
  border-radius:999px;
  padding:.35rem 1.5rem;
  font-weight:600;
  font-size:13px;
  letter-spacing:.4px;
  text-transform:uppercase;
  box-shadow:var(--glow);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  transition:background .15s ease,color .15s ease,transform .08s ease,border-color .15s ease;
  justify-content:center;
}
.btn-load-more:hover{
  background:var(--accent);
  color:#fff;
  transform:translateY(-1px);
}
.btn-load-more:active{
  transform:translateY(0);
  box-shadow:none;
}
.btn-load-more[disabled]{
  opacity:.45;
  cursor:default;
  box-shadow:none;
}
.btn-back-top{margin-top:.1rem;}
.btn-wide{width:100%;max-width:var(--page-width);}

/* About page */
.about-anchor{width:100%;margin-top:.8rem;display:flex;justify-content:center;}
.about-box{
  max-width:720px;
  width:100%;
  background:var(--card);
  border-radius:14px;
  border:1px solid var(--card-edge);
  padding:.7rem 1rem;
  box-shadow:0 10px 28px rgba(0,0,0,.55);
}
.about-title{
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--muted);
  margin:0 0 .25rem;
}
.about-subtitle{
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
  margin:.4rem 0 .2rem;
}
.about-text{
  font-size:13px;
  margin:0 0 .25rem;
  color:var(--text);
}
.about-note{
  font-size:11px;
  color:var(--muted);
  margin:0;
}
.about-cards .about-row{max-width:880px;margin:0 auto;}
.about-cell{
  align-items:flex-start;
  justify-items:flex-start;
  padding:1rem 1.3rem;
  background:radial-gradient(circle at 10% -20%,rgba(255,255,255,.06),transparent 55%),var(--bg-soft);
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.about-value{
  width:100%;
  max-width:100%;
  text-align:left;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}

.table-top-anchor{width:1px;height:1px;margin:0;}

/* Filter panel */
.filter-panel{
  position:absolute;
  z-index:9999;
  background:var(--card);
  border-radius:14px;
  border:1px solid var(--card-edge);
  padding:.55rem .75rem .6rem;
  box-shadow:0 22px 40px rgba(0,0,0,.9);
  max-height:70vh;
  overflow:auto;
}
.filter-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--muted);
  margin-bottom:.3rem;
}
.filter-header button{
  border:none;
  background:transparent;
  color:var(--muted);
  font-size:16px;
  line-height:1;
  cursor:pointer;
}
.filter-controls{
  display:flex;
  gap:.35rem;
  margin-bottom:.3rem;
}
.filter-controls button{
  border-radius:999px;
  border:1px solid var(--card-edge);
  background:var(--bg-soft);
  color:var(--text);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:.2rem .7rem;
  cursor:pointer;
}
.filter-controls button.filter-mode{border-color:var(--accent);}
.filter-options{
  border-radius:10px;
  border:1px solid var(--card-edge);
  padding:.35rem .5rem;
  max-height:42vh;
  overflow:auto;
  margin-bottom:.35rem;
}
.filter-option{
  display:flex;
  align-items:center;
  font-size:12px;
  padding:.1rem 0;
}
.filter-option input{margin-right:.4rem;}
.filter-footer{
  display:flex;
  justify-content:flex-end;
}
.filter-footer button{
  border-radius:999px;
  border:1px solid var(--accent);
  background:var(--accent);
  color:#fff;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:.22rem .9rem;
  cursor:pointer;
}

/* About page tweaks */
.about-page .about-row{
  background:var(--card);
  border-radius:16px;
  border:1px solid var(--card-edge);
  box-shadow:0 18px 40px rgba(0,0,0,.85);
}
.about-page .about-cell{
  background:radial-gradient(circle at 10% -10%,rgba(255,255,255,.08),transparent 55%),var(--bg-soft);
  border-radius:14px;
}
.about-page .about-value{
  font-size:13px;
  line-height:1.55;
}

@media print{
  body{display:none !important;}
}
