:root{--bg:#080914;--surface:#121223;--surface2:#1b1931;--line:#4d3c62;--ink:#fff7f1;--muted:#b8adcb;--gold:#ffda8b;--violet:#c69aff;--radius:20px}
body{background:radial-gradient(ellipse at 84% 2%,#50297b65,transparent 38%),radial-gradient(ellipse at 18% 68%,#1555663f,transparent 45%),#080914}
.sidebar{background:linear-gradient(170deg,#1e1531,#100f22 50%,#110b1e);border-color:#644c777a}
.topbar{background:#100d21f2;border-color:#644c777a}
.sidenav-link.current{background:linear-gradient(110deg,#7a47a548,#9a713929);border-color:#b28a6b85;color:#ffe5ac}
.hero,.panel,.game-promos a,.gamecard,.demo-profile{border:1px solid #9e76b566;box-shadow:0 14px 34px #05040f78}
.hero{background:linear-gradient(135deg,#171633,#251338 58%,#402435)}
.hero h1{font-family:Georgia,serif;letter-spacing:-.055em}
.hero h1 em,.section-title h2,.pagehead h1{color:#ffe0a5}
.panel,.gamecard,.game-promos a{background:linear-gradient(145deg,#1b1830,#121324)}
.gamecard:hover,.game-promos a:hover{border-color:#e2b877}
.btn.gold{background:linear-gradient(115deg,#ffedbb,#e7ab58);color:#21101c;font-weight:800}
.demo-profile{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:center;margin:1rem 0;background:linear-gradient(120deg,#2a1939,#161426 58%,#1d3040)}
.demo-profile p{color:var(--muted);margin-top:.35rem}
.demo-stat{min-width:5.5rem;padding:.75rem;background:#ffffff09;border:1px solid #eed19b42;border-radius:14px;text-align:center}
.demo-stat span,.demo-stat strong{display:block}.demo-stat strong{font-size:1.5rem;color:var(--gold)}
.demo-profile [data-demo-last]{grid-column:1/-1;border-top:1px solid #ffffff20;padding-top:.65rem}
@media(max-width:560px){.demo-profile{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-profile>div:first-child{grid-column:1/-1}.demo-stat{min-width:0}}
.banner-gallery{display:flex;flex-direction:column-reverse;gap:.7rem;margin:0 0 1.6rem}
.banner-controls{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;margin:0;padding:0;border:0}
.banner-choice{position:relative;cursor:pointer}
.banner-choice span{display:block;padding:.45rem .85rem;border:1px solid #b58bd861;border-radius:999px;background:#181329;color:#ded0ec;font-size:.87rem}
.banner-choice input,.banner-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.banner-choice input:checked+span{color:#201223;background:#ffdb93;border-color:#ffdb93;font-weight:750}
.banner-choice input:focus-visible+span{outline:2px solid #84e5ff;outline-offset:2px}
.banner-slides{overflow:hidden;border:1px solid #9e76b566;border-radius:20px;background:#0c0b18;box-shadow:0 14px 34px #05040f78}
.mahana-banner{display:none}
.mahana-banner img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain}
.mahana-banner:focus-visible{outline:2px solid #84e5ff;outline-offset:-4px}
.banner-gallery:has(input[value="universe"]:checked) [data-banner="universe"],
.banner-gallery:has(input[value="book"]:checked) [data-banner="book"],
.banner-gallery:has(input[value="exchange"]:checked) [data-banner="exchange"],
.banner-gallery:has(input[value="24x7"]:checked) [data-banner="24x7"],
.banner-gallery:has(input[value="365"]:checked) [data-banner="365"]{display:block}
.match-table{width:100%;border-collapse:collapse;margin:.7rem 0 0}
.match-table th,.match-table td{text-align:left;vertical-align:top;padding:.65rem .55rem;border-bottom:1px solid #9e76b53b}
.match-table th{color:#ffe0a5;font-size:.83rem;white-space:nowrap}
.match-table td{font-size:.87rem}

.banner-toggle {
  padding: .42rem .82rem;
  border: 1px solid #86d6ed75;
  border-radius: 999px;
  background: #132531;
  color: #b0efff;
  font: inherit;
  font-size: .83rem;
  cursor: pointer;
}
.banner-toggle:hover { background: #203c4b; }
.banner-toggle:focus-visible, .cricket-live-button:focus-visible, .cricket-pick-team:focus-visible {
  outline: 2px solid #a1ebff;
  outline-offset: 3px;
}
.fast-play-grid .game-art { aspect-ratio: 356 / 234; height: auto; }
.fast-play-grid .game-art img { object-fit: contain; background: #110d22; }
.fast-play-grid .game-bottom b { letter-spacing: .035em; }
.fast-play-art {
  width: min(100%, 255px);
  height: auto;
  border: 1px solid #edbc6b56;
  border-radius: 16px;
  margin: 0 0 1rem;
}
.practice-readout {
  flex-basis: 100%;
  color: #a0e9ff;
  font-size: clamp(1.35rem, 3vw, 2.1rem);
  font-weight: 750;
}
.practice-tile-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem; }
#play-board .practice-safe { color: #a9ffd1; background: #154032; border-color: #3a986e; }
#play-board .practice-danger { color: #ffc1cb; background: #4b1d30; border-color: #a34e60; }
#play-board [aria-pressed="true"] { background: #54346a; border-color: #dca7ff; color: #fff3ff; }
.practice-wheel {
  position: relative;
  flex: 0 0 6rem;
  height: 6rem;
  border: .2rem solid #ffdb93;
  border-radius: 50%;
  background: conic-gradient(from -45deg, #dc4874 25%, #e6b149 0 50%, #4ccc9c 0 75%, #5d9dfa 0);
  transform: rotate(var(--wheel-turn, 0deg));
  transition: transform .72s ease-out;
}
.practice-wheel::after { content: '✦'; position: absolute; inset: 0; display: grid; place-items: center; color: #191426; }
@media (prefers-reduced-motion: reduce) { .practice-wheel { transition: none; } }

.cricket-desk {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 26%);
  gap: 1rem;
  align-items: start;
  margin: 1.6rem 0 2rem;
  scroll-margin-top: 85px;
}
.cricket-tables { display: grid; gap: 1rem; min-width: 0; }
.cricket-desk .panel { margin: 0; min-width: 0; }
.cricket-panel {
  background: radial-gradient(ellipse at top right, #47215b77, transparent 65%), #131326;
}
.cricket-desk [data-score-source], .cricket-activity p { color: #c9c0dc; margin: .35rem 0 .6rem; }
.cricket-eyebrow { margin-bottom: .3rem; }
.cricket-eyebrow.live { color: #f3a7b9; }
.cricket-eyebrow.upcoming { color: #9de4ff; }
.cricket-desk .table-scroll { overflow-x: auto; }
.match-table--cricket { border-collapse: separate; border-spacing: 0 .45rem; }
.match-table--cricket :is(th, td) { border-bottom: 0; vertical-align: middle; }
.match-table--cricket th { padding: .2rem .45rem; color: #e3c8ff; }
.match-table--cricket td {
  background: hsl(var(--match-hue) 31% 16%);
  padding: .45rem .32rem;
  border-block: 1px solid hsl(var(--match-hue) 30% 33%);
}
.match-table--cricket td:first-child {
  padding-left: .5rem;
  border-left: 2px solid hsl(var(--match-hue) 76% 66%);
  border-radius: .75rem 0 0 .75rem;
}
.match-table--cricket td:last-child {
  padding-right: .45rem;
  border-right: 1px solid hsl(var(--match-hue) 30% 33%);
  border-radius: 0 .75rem .75rem 0;
}
.cricket-match-info { min-width: 9.3rem; }
.cricket-match-meta, .cricket-teams { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .7rem; }
.cricket-match-meta { justify-content: space-between; margin: 0 0 .36rem; }
.cricket-teams { align-items: start; }
.cricket-identity { display: inline-flex; gap: .34rem; align-items: center; }
.cricket-identity--team { color: #fbecff; font-size: .79rem; font-weight: 680; }
.cricket-identity--team:nth-child(2) { color: #c5e9ff; }
.cricket-identity--competition { color: #f8d391; font-size: .7rem; font-weight: 750; }
.cricket-emblem {
  width: 1.65rem;
  height: 1.78rem;
  display: inline-grid;
  place-items: center;
  flex: none;
  position: relative;
}
.cricket-emblem--competition { width: 1.25rem; height: 1.3rem; }
.cricket-shield {
  display: grid;
  place-items: center;
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, hsl(var(--crest-hue) 55% 45%), hsl(var(--crest-hue) 70% 20%));
  clip-path: polygon(50% 0, 95% 16%, 91% 68%, 50% 100%, 9% 68%, 5% 16%);
  color: #fff;
  text-shadow: 0 1px 2px #000a;
  font-size: .57rem;
  font-weight: 900;
}
.cricket-shield[hidden] { display: none; }
.cricket-emblem--competition .cricket-shield {
  border-radius: .3rem;
  clip-path: none;
  background: linear-gradient(155deg, #ffd980, #a97232);
  color: #241438;
  text-shadow: none;
  font-size: .48rem;
}
.cricket-emblem img { width: 100%; height: 100%; object-fit: contain; position: relative; }
.cricket-live-button, .cricket-upcoming-label {
  flex: none;
  padding: .28rem .48rem;
  border-radius: .4rem;
  font: 750 .68rem/1.1 system-ui, sans-serif;
}
.cricket-live-button { color: #ffd6e0; border: 1px solid #a9506b; background: #551f36; cursor: pointer; }
.cricket-live-button:hover { background: #75304d; }
.cricket-upcoming-label { color: #b4edff; background: #183c53; }
.score-block {
  min-width: 2.5rem;
  padding: .42rem .38rem;
  border-radius: .45rem;
  color: #b5eaff;
  background: #183246;
  font-variant-numeric: tabular-nums;
  font-size: .8rem;
}
.score-block--score { color: #aef6ce; background: #163d32; }
.score-block--overs { color: #ead1ff; background: #3a2856; }
.score-block--run_rate { color: #ffe4a0; background: #473820; }
.score-line { display: flex; gap: .24rem; align-items: baseline; white-space: nowrap; }
.score-line + .score-line { margin-top: .18rem; }
.score-team { color: #dbd9ed; font-size: .57rem; text-decoration: none; }
.score-block--starts { max-width: 12rem; }
.cricket-activity {
  position: sticky;
  top: 86px;
  background: radial-gradient(ellipse at top right, #57364a68, transparent 70%), #17172d;
}
.cricket-activity h2 { font-size: 1.15rem; }
.cricket-activity .practice-balance { padding: .62rem; background: #25203b; border-radius: .7rem; color: #f6e2ba; }
.practice-balance strong { color: #ffdb93; font-size: 1.3rem; }
.practice-help, [data-practice-empty] { font-size: .8rem; }
.cricket-activity ol { list-style: none; padding: 0; margin: 0; display: grid; gap: .4rem; }
.practice-entry { display: grid; gap: .17rem; padding: .6rem; border-left: 2px solid #63d9c3; border-radius: .52rem; background: #1a2c38; overflow-wrap: anywhere; }
.practice-entry strong { color: #a2f4df; }
.practice-entry span { color: #e5d8ed; font-size: .76rem; }
.practice-entry small { color: #e8d29d; font-size: .69rem; }
.cricket-dialog {
  width: min(95vw, 570px);
  max-height: 88vh;
  padding: clamp(1rem, 3vw, 1.6rem);
  border: 1px solid #a783c2;
  border-radius: 1rem;
  background: linear-gradient(150deg, #241934, #141526 65%);
  color: #fff6ff;
  box-shadow: 0 1.4rem 4rem #000a;
}
.cricket-dialog::backdrop { background: #080711c9; }
.cricket-dialog h2 { color: #ffde9d; margin: .35rem 0; line-height: 1.16; }
.cricket-dialog-close { display: flex; justify-content: flex-end; }
.cricket-dialog-label { color: #ffadbf; font-size: .72rem; letter-spacing: .08em; font-weight: 800; }
.cricket-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: .8rem 0; }
.cricket-summary-stat > span { color: #e2cbed; font-size: .76rem; }
.cricket-summary .score-block { margin-top: .3rem; }
.practice-stake { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; color: #e7d8f2; }
.practice-stake input { width: 5.4rem; color: #fff; }
.cricket-pick-teams { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin: .65rem 0; }
.cricket-pick-team {
  text-align: left;
  display: grid;
  gap: .35rem;
  padding: .6rem;
  border-radius: .6rem;
  border: 1px solid #946ab7;
  background: #38264d;
  cursor: pointer;
}
.cricket-pick-team:nth-child(2) { background: #173349; border-color: #487ca2; }
.cricket-pick-team:disabled { opacity: .65; cursor: default; }
.cricket-pick-caption, .practice-feedback { color: #dfc9ec; font-size: .8rem; }
@media (max-width: 1060px) {
  .cricket-desk { grid-template-columns: minmax(0, 1fr); }
  .cricket-activity { position: static; }
  .cricket-activity ol { grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
}
@media (max-width: 510px) {
  .cricket-desk .cricket-panel { padding: .65rem; }
  .cricket-match-meta, .cricket-teams { gap: .2rem .35rem; }
  .cricket-teams { display: grid; }
  .cricket-match-info { min-width: 7.4rem; }
  .match-table--cricket :is(td, th) { padding-inline: .24rem; }
  .match-table--cricket th { font-size: .67rem; }
  .score-block { padding: .34rem .25rem; font-size: .73rem; }
  .score-line { gap: .15rem; }
}

.admin-command-stats, .admin-command-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: .85rem;
  margin-bottom: 1.15rem;
}
.admin-command-title { margin-top: 1.3rem; margin-bottom: .65rem; color: #f4d89e; }
.admin-command-stats .panel, .admin-command-grid .panel { margin: 0; }
.admin-command-stat { display: grid; gap: .2rem; }
.admin-command-stat strong { font-size: 1.6rem; color: #ffde9c; }
.admin-command-stat span, .admin-command-card p { font-size: .86rem; color: #d2c7e2; }
.admin-command-card {
  display: grid;
  align-content: start;
  gap: .42rem;
  text-decoration: none;
  background: radial-gradient(ellipse at top right, color-mix(in srgb, var(--module-color) 16%, transparent), transparent 70%), #18162b;
}
.admin-command-card:hover, .admin-command-card:focus-visible { border-color: var(--module-color); }
.admin-command-card h2 { font-size: 1.06rem; color: var(--module-color); margin: 0; }
.admin-command-card > span { font-size: 1.3rem; color: var(--module-color); }
.admin-command-card p { margin: 0; }
#membership-ops, #championship-ops { scroll-margin-top: 88px; }

.game-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: .9rem;
  margin-bottom: 1rem;
}
.game-detail-grid .panel { margin: 0; }
.game-detail-grid h2 { margin: .35rem 0; color: #ffe1a8; font-size: 1.16rem; }
.game-detail-grid p { color: #dbd0e7; line-height: 1.55; margin: .4rem 0 .7rem; }
.game-detail-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin: .6rem 0 .8rem; }
.game-detail-meta div { padding: .38rem .56rem; border-radius: .48rem; background: #261f3b; }
.game-detail-meta dt { color: #d9bae9; font-size: .68rem; }
.game-detail-meta dd { color: #fff2fb; margin: .16rem 0 0; font-size: .78rem; font-weight: 700; }
.game-engine-state { display: inline-block; border-radius: .45rem; padding: .35rem .56rem; font-size: .74rem; font-weight: 750; }
.game-engine-state.ready { color: #b7f4d1; background: #1c3a32; }
.game-engine-state.adapter { color: #bfecff; background: #18394e; }
.game-engine-state.pending { color: #ffdf9e; background: #423424; }
.game-engine-state.disabled { color: #ffc4d4; background: #54283d; }
#game-play { scroll-margin-top: 90px; }
@media (max-width: 700px) {
  .game-detail-grid { grid-template-columns: minmax(0, 1fr); }
}

.banner-tag {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .25rem .85rem;
  padding: .58rem .85rem;
  border-top: 1px solid #b387d64d;
  background: linear-gradient(110deg, #261a38, #121928);
  color: #e1d5ee;
  font-size: .84rem;
}
.banner-tag b { color: #ffdd9e; letter-spacing: .045em; }
.banner-tag-arrow { margin-left: auto; color: #a6eaff; }
