:root {
  --sb-blue: #09549d;
  --sb-blue-deep: #063a71;
  --sb-blue-bright: #1e80d1;
  --sb-sky: #eaf2fb;
  --sb-surface: #ffffff;
  --sb-border: #d8e3ee;
  --sb-green: #29b85e;
  --sb-red: #e83d54;
  --sb-ink: #1d3147;
  --sb-muted: #718398;
}
.sportsbook-public {
  background: #eef3f8;
  color: var(--sb-ink);
  font-family: Arial, "Segoe UI", sans-serif;
  max-width: 100vw;
  overflow-x: hidden;
}
.sportsbook-public:before { display: none; }
.sb-alert {
  background: #043366;
  color: #c8dcf2;
  font-size: 12px;
  padding: 8px 20px;
  text-align: center;
}
.sb-header { background: var(--sb-blue); color: #fff; position: sticky; top: 0; z-index: 25; }
.sb-header-top { align-items: center; display: flex; height: 64px; justify-content: space-between; margin: auto; max-width: 1440px; padding: 0 20px; }
.sb-brand { align-items: center; display: flex; font-size: 29px; font-weight: 800; gap: 10px; letter-spacing: -.06em; }
.sb-mark {
  align-items: center; background: #fff; border-radius: 7px; color: var(--sb-blue);
  display: inline-flex; font-size: 25px; font-weight: 900; height: 42px; justify-content: center; overflow: hidden; width: 42px;
}
.sb-mark img { height: 100%; object-fit: contain; width: 100%; }
.sb-tools { align-items: center; display: flex; gap: 18px; font-size: 13px; }
.sb-tools > a:not(.sb-signin):not(.sb-register) { color: #d1e4f5; }
.sb-signin { border: 1px solid rgba(255,255,255,.5); border-radius: 4px; font-weight: 700; padding: 11px 22px; }
.sb-register { background: var(--sb-green); border-radius: 4px; font-weight: 700; padding: 12px 23px; }
.sb-primary-nav {
  align-items: center; background: var(--sb-blue-deep); display: flex; gap: 0; margin: auto;
  max-width: 100%; overflow-x: auto; padding: 0 max(calc((100vw - 1440px) / 2), 10px); white-space: nowrap;
}
.sb-primary-nav a { border-bottom: 3px solid transparent; color: #d8e7f6; font-size: 13px; font-weight: 700; padding: 17px 20px 14px; text-transform: uppercase; }
.sb-primary-nav a.active, .sb-primary-nav a:hover { background: rgba(255,255,255,.08); border-bottom-color: var(--sb-green); color: #fff; }
.sb-ticker {
  background: var(--sb-surface); border-bottom: 1px solid var(--sb-border); color: var(--sb-ink); height: 43px;
  padding: 0 max(calc((100vw - 1440px) / 2), 18px);
}
.sb-ticker > strong { color: var(--sb-red); }
.sb-ticker .ticker-item { color: var(--sb-muted); }
.sb-ticker .ticker-item b { color: var(--sb-ink); }
.sb-ticker .ticker-item strong { color: var(--sb-green); }
.sb-ticker .ticker-item small { background: #e5f6eb; color: var(--sb-green); }
.sb-workspace {
  display: grid; gap: 14px; grid-template-columns: 205px minmax(500px, 1fr) 292px;
  margin: 14px auto 34px; max-width: 1440px; padding: 0 14px;
}
.sb-left, .sb-coupon, .sb-right-card, .sb-board, .sb-promo {
  background: var(--sb-surface); border: 1px solid var(--sb-border); border-radius: 4px; overflow: hidden;
}
.sb-left { align-self: start; position: sticky; top: 122px; }
.sb-aside-title { background: #f1f5f9; border-bottom: 1px solid var(--sb-border); color: var(--sb-muted); font-size: 11px; font-weight: 700; letter-spacing: .07em; padding: 13px 15px; }
.sb-left a { align-items: center; border-bottom: 1px solid #edf2f7; color: var(--sb-ink); display: flex; font-size: 14px; gap: 12px; padding: 12px 14px; }
.sb-left a:hover, .sb-left a.active { background: #e9f3fd; color: var(--sb-blue); font-weight: 700; }
.sb-left a b { align-items: center; background: #edf4fb; border-radius: 50%; color: var(--sb-blue); display: inline-flex; font-size: 10px; height: 29px; justify-content: center; width: 29px; }
.sb-safe { background: #f2f8fe; color: var(--sb-muted); font-size: 12px; line-height: 1.55; padding: 15px; }
.sb-center { display: grid; gap: 14px; min-width: 0; }
.sb-promo { padding: 12px; }
.sportsbook-public .campaign-slider { margin-bottom: 12px; min-height: 94px; }
.sportsbook-public .campaign-slide {
  background: linear-gradient(112deg, var(--sb-blue), var(--sb-blue-bright)); border: 0; border-radius: 4px; color: #fff; min-height: 94px; padding: 16px 22px;
}
.sportsbook-public .campaign-slide small { color: #a9e4ff; }
.sportsbook-public .campaign-slide h3 { font-size: 20px; margin: 5px 0; }
.sportsbook-public .campaign-slide p { color: #deedfb; font-size: 13px; }
.sportsbook-public .campaign-slide .btn { background: var(--sb-green); color: #fff; }
.sb-hero-grid { display: grid; gap: 12px; grid-template-columns: 1fr 360px; }
.sb-hero-copy { background: #f4f8fd; border-radius: 4px; padding: 25px; }
.sportsbook-public .eyebrow { color: var(--sb-blue); margin-bottom: 10px; }
.sportsbook-public .pulse { background: var(--sb-green); box-shadow: none; }
.sb-hero-copy h1 { color: var(--sb-blue-deep); font-size: clamp(2rem, 4vw, 2.7rem); line-height: 1.08; margin-bottom: 12px; }
.sb-hero-copy p { color: var(--sb-muted); line-height: 1.55; margin: 0 0 19px; }
.sportsbook-public .btn { background: var(--sb-green); border-radius: 4px; color: #fff; min-height: 43px; padding: 0 20px; }
.sportsbook-public .btn:hover { box-shadow: 0 8px 22px rgba(41,184,94,.23); }
.sportsbook-public .btn-outline { background: #fff; border: 1px solid #b9cfdf; color: var(--sb-blue); }
.sportsbook-public .stat-row { border-top-color: var(--sb-border); gap: 35px; margin-top: 21px; padding-top: 17px; }
.sportsbook-public .stat strong { color: var(--sb-blue); font-size: 20px; }
.sportsbook-public .stat small { color: var(--sb-muted); }
.sb-live-feature { background: var(--sb-blue-deep); border-radius: 4px; color: #fff; padding: 17px; }
.sb-live-feature .live-top { margin-bottom: 14px; }
.sb-live-feature .live-tag { background: var(--sb-red); border: 0; border-radius: 3px; color: #fff; padding: 6px 9px; }
.sb-live-feature .score strong { font-size: 24px; }
.sb-live-feature .score span, .sb-live-feature .live-top small { color: #b7d2ea; }
.sb-live-feature .team { font-size: 12px; }
.sb-live-feature .jersey { background: rgba(255,255,255,.15); border-radius: 50%; font-size: 18px; height: 48px; width: 48px; }
.sb-live-feature .team:last-child .jersey { background: rgba(41,184,94,.42); }
.sb-live-feature .moment { background: rgba(255,255,255,.08); border: 0; color: #dfeeff; font-size: 12px; margin: 11px 0; padding: 10px; }
.sb-live-feature .predict-box { background: rgba(255,255,255,.06); border-radius: 4px; padding: 10px; }
.sb-live-feature .predict-box label { color: #c0d9ef; font-size: 10px; }
.sb-live-feature .choice { background: #fff; border: 0; border-radius: 3px; color: var(--sb-blue); font-size: 12px; padding: 9px 5px; }
.sb-live-feature .choice.active { background: var(--sb-green); color: #fff; }
.sportsbook-public .ad-slot { background: #fff; border: 1px dashed #b9ccdf; border-radius: 4px; color: var(--sb-ink); margin: 0; }
.sportsbook-public .ad-slot p { color: var(--sb-muted); }
.sportsbook-public .ad-slot a { color: var(--sb-blue); }
.sb-board { padding: 12px; }
.sb-section-bar { align-items: center; background: #f0f5fa; border-bottom: 1px solid var(--sb-border); display: flex; justify-content: space-between; margin: -12px -12px 12px; padding: 12px 14px; }
.sb-section-bar h2 { color: var(--sb-ink); font-size: 16px; margin: 0; }
.sb-section-bar small, .sb-section-bar span { color: var(--sb-muted); display: block; font-size: 11px; margin-top: 4px; }
.sb-section-bar a { color: var(--sb-blue); font-size: 12px; font-weight: 700; }
.sportsbook-public .sportsbook { gap: 10px; grid-template-columns: 146px minmax(0, 1fr); margin: 0 0 14px; }
.sportsbook-public .sport-nav { background: #f5f8fb; border: 1px solid var(--sb-border); border-radius: 3px; padding: 8px 5px; }
.sportsbook-public .sport-nav strong, .sportsbook-public .sport-nav small { color: var(--sb-muted); }
.sportsbook-public .sport-nav button { border-radius: 3px; color: var(--sb-ink); font-size: 12px; padding: 10px 8px; }
.sportsbook-public .sport-nav button.active, .sportsbook-public .sport-nav button:hover { background: var(--sb-blue); color: #fff; }
.sportsbook-public .sport-nav a { border-radius: 3px; color: var(--sb-ink); display: block; font-size: 12px; padding: 10px 8px; }
.sportsbook-public .sport-nav a.active, .sportsbook-public .sport-nav a:hover { background: var(--sb-blue); color: #fff; }
.sportsbook-public .market-board { gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sportsbook-public .market-preview { background: #fff; border: 1px solid var(--sb-border); border-radius: 3px; padding: 10px; }
.sportsbook-public .market-meta span { color: var(--sb-blue); }
.sportsbook-public .market-preview p, .sportsbook-public .market-meta small { color: var(--sb-muted); }
.sportsbook-public .market-choices a { background: #edf4fa; border: 1px solid #d7e3ef; border-radius: 3px; color: var(--sb-ink); }
.sportsbook-public .market-choices a:hover { background: #e1f0ff; }
.sportsbook-public .market-choices b { color: var(--sb-blue); }
.sb-event-list { border: 1px solid var(--sb-border); border-radius: 3px; }
.sb-event {
  align-items: center; border-bottom: 1px solid var(--sb-border); display: grid; gap: 10px;
  grid-template-columns: minmax(175px, 1fr) 95px 1.25fr; padding: 11px 12px;
}
.sb-event:last-child { border-bottom: 0; }
.sb-event small { color: var(--sb-muted); display: block; font-size: 11px; margin-bottom: 5px; }
.sb-event strong { font-size: 13px; }
.sb-event-score { color: var(--sb-blue); font-size: 14px; font-weight: 700; text-align: center; }
.sb-event-prices { display: flex; gap: 6px; }
.sb-event-prices a { background: #edf4fa; border-radius: 3px; color: var(--sb-blue); flex: 1; font-size: 12px; padding: 10px 7px; text-align: center; }
.sb-event-prices a b { display: block; margin-top: 4px; }
.sportsbook-public .tournament-strip { gap: 8px; grid-template-columns: repeat(2, 1fr); }
.sportsbook-public .tour-card { background: #fff; border: 1px solid var(--sb-border); border-radius: 3px; padding: 12px; }
.sportsbook-public .tour-card p, .sportsbook-public .tour-card small { color: var(--sb-muted); }
.sportsbook-public .status.LIVE { background: #e9f7ef; color: var(--sb-green); }
.sportsbook-public .status.SCHEDULED { background: #e9f3fd; color: var(--sb-blue); }
.sportsbook-public .catalog-tools { grid-template-columns: minmax(150px, 1fr) 180px auto auto; margin-bottom: 12px; }
.sportsbook-public .input { background: #fff; border: 1px solid var(--sb-border); border-radius: 3px; color: var(--sb-ink); min-height: 40px; }
.sb-casino-grid { gap: 9px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sportsbook-public .game-card { background: #fff; border: 1px solid var(--sb-border); border-radius: 3px; padding: 7px; }
.sportsbook-public .game-card:hover { border-color: var(--sb-blue-bright); box-shadow: 0 5px 18px rgba(9,84,157,.12); }
.sportsbook-public .game-art {
  background: linear-gradient(135deg, #0b589f, #1d82d1); border-radius: 3px; color: #fff; font-size: 32px; height: 98px; margin-bottom: 8px;
}
.sportsbook-public .game-card:nth-child(2n) .game-art { background: linear-gradient(135deg, #114a91, #29b85e); color: #fff; }
.sportsbook-public .game-card h3 { color: var(--sb-ink); font-size: 13px; margin: 7px 3px 4px; }
.sportsbook-public .game-card p { color: var(--sb-muted); font-size: 11px; margin: 0 3px 8px; min-height: 31px; }
.sportsbook-public .badge { background: #e9f3fd; border-radius: 3px; color: var(--sb-blue); font-size: 10px; padding: 4px 7px; }
.sportsbook-public .rules-note { color: var(--sb-green); font-size: 10px; }
.sb-info { display: grid; gap: 13px; grid-template-columns: .9fr 1.1fr; }
.sb-promotion-copy { padding: 8px; }
.sb-promotion-copy h2 { color: var(--sb-blue); margin: 3px 0 10px; }
.sb-promotion-copy p { color: var(--sb-muted); font-size: 13px; line-height: 1.5; }
.sportsbook-public .features { gap: 8px; }
.sportsbook-public .feature { background: #f6f9fc; border: 1px solid var(--sb-border); border-radius: 3px; padding: 14px; }
.sportsbook-public .feature strong { color: var(--sb-blue); margin: 0 0 6px; }
.sportsbook-public .feature p { color: var(--sb-muted); font-size: 12px; }
.sportsbook-public .promo-block { background: #e9f5ff; border-color: #b5d4f0; border-radius: 3px; color: var(--sb-ink); padding: 12px; }
.sportsbook-public .promo-block span { background: var(--sb-blue); color: #fff; }
.sb-network { display: grid; gap: 10px; grid-template-columns: .9fr 1.05fr .95fr; }
.sportsbook-public .panel { background: #fff; border: 1px solid var(--sb-border); border-radius: 4px; backdrop-filter: none; padding: 17px; }
.sportsbook-public .creator-panel > strong, .sportsbook-public .neon-line { color: var(--sb-blue); text-shadow: none; }
.sportsbook-public .creator-panel p, .sportsbook-public .app-project p { color: var(--sb-muted); }
.sportsbook-public .creator-panel small, .sportsbook-public .official-links b { color: var(--sb-blue); }
.sportsbook-public .official-links a { background: #f4f8fc; border-color: var(--sb-border); border-radius: 3px; color: var(--sb-ink); }
.sportsbook-public .app-project { background: #fff; }
.sportsbook-public .app-meta span { color: var(--sb-muted); }
.sb-right { align-self: start; display: grid; gap: 12px; position: sticky; top: 122px; }
.sb-coupon-tabs { background: var(--sb-blue); color: #fff; display: flex; justify-content: space-between; padding: 15px; }
.sb-coupon-tabs span { color: #bcd7f1; }
.sb-empty-coupon { color: var(--sb-muted); padding: 24px 20px; text-align: center; }
.sb-empty-coupon b { color: var(--sb-ink); display: block; }
.sb-empty-coupon p { font-size: 13px; line-height: 1.55; }
.sb-right-card { padding: 15px; }
.sb-right-card h3 { color: var(--sb-blue); font-size: 15px; margin: 0 0 10px; }
.sb-right-card a { border-top: 1px solid var(--sb-border); color: var(--sb-ink); display: block; font-size: 13px; padding: 11px 0; }
.sb-disclaimer { background: #e9f3fd; border-color: #cae0f2; }
.sb-disclaimer strong { color: var(--sb-blue); }
.sb-disclaimer p { color: var(--sb-muted); font-size: 12px; line-height: 1.55; margin-bottom: 0; }
.sb-footer { background: #073b70; color: #cee1f3; padding: 29px max(calc((100vw - 1440px) / 2), 20px) 88px; }
.sb-footer-inner > strong { color: #fff; font-size: 24px; }
.sb-footer .owner-details, .sb-footer .legal-line { color: #bdd3e7; }
.sb-footer .footer-pages a { color: #fff; }
.sportsbook-public > .nav {
  background: var(--sb-blue); border: 0; color: #fff; height: 64px; position: sticky; top: 0;
}
.sportsbook-public > .nav .brand-mark { background: #fff; border: 0; box-shadow: none; color: var(--sb-blue); }
.sportsbook-public > .nav .btn-outline { border-color: rgba(255,255,255,.6); color: #fff; }
.sportsbook-public .content-page, .sportsbook-public .feedback-grid { color: var(--sb-ink); }
.sportsbook-public .content-page > p, .sportsbook-public .feedback-grid article > p { color: var(--sb-muted); }
.sportsbook-public .app-specs { background: #f4f8fd; border-color: var(--sb-border); border-radius: 4px; }
.sportsbook-public .app-specs span { color: var(--sb-blue); }
.sportsbook-public .security-note { background: #e9f3fd; border-color: #c5dcee; color: var(--sb-blue-deep); }
.sportsbook-public .floating-actions .float-feedback { background: var(--sb-green); border-radius: 4px; color: #fff; }
.sportsbook-public .floating-actions .float-contact { background: var(--sb-blue); border: 0; border-radius: 4px; color: #fff; }
.sportsbook-public .float-download { background: #fff; border-color: var(--sb-border); border-radius: 4px; color: var(--sb-ink); }
.sportsbook-public .float-download strong { color: var(--sb-blue); }
.sportsbook-public .float-download a { color: var(--sb-ink); }

/* Dedicated public hubs */
.sb-page-intro { background: linear-gradient(110deg, var(--sb-blue), var(--sb-blue-bright)); border-radius: 4px; color: #fff; overflow: hidden; padding: 23px 27px; }
.sb-page-intro h1 { font-size: 29px; margin: 6px 0 10px; }
.sb-page-intro p { color: #deedfb; line-height: 1.5; margin: 0; }
.sb-chip-row { display: flex; gap: 7px; margin-top: 17px; overflow-x: auto; }
.sb-chip-row span { background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.22); border-radius: 3px; font-size: 12px; padding: 9px 13px; white-space: nowrap; }
.sb-category-strip { display: grid; gap: 9px; grid-template-columns: repeat(5, 1fr); }
.sb-category { background: #fff; border: 1px solid var(--sb-border); border-radius: 3px; color: var(--sb-blue); font-weight: 700; padding: 15px 9px; text-align: center; }
.sb-provider-grid { display: grid; gap: 8px; grid-template-columns: repeat(4, 1fr); margin-bottom: 14px; }
.sb-provider-grid span { background: #f4f8fd; border: 1px solid var(--sb-border); color: var(--sb-blue); font-size: 12px; font-weight: 700; padding: 12px 8px; text-align: center; }
.sb-portal-games { display: grid; gap: 9px; grid-template-columns: repeat(4, 1fr); }

/* User and admin retain separate functions in a coordinated blue shell. */
.sb-app { --bg: #eef3f8; --bg-soft: #fff; --panel: #fff; --panel-strong: #f4f8fc; --line: #d7e3ef; --text: #1d3147; --muted: #718398; --gold: #09549d; --teal: #1e80d1; --pink: #29b85e; --green: #29b85e; }
.sb-app { background: #eef3f8; color: var(--text); }
.sb-app:before { display: none; }
.sb-app .sidebar { background: var(--sb-blue-deep); border: 0; color: #fff; }
.sb-app .sidebar .brand, .sb-app .side-link { color: #cfdef0; }
.sb-app .side-link.active, .sb-app .side-link:hover { background: rgba(255,255,255,.12); box-shadow: inset 3px 0 var(--sb-green); color: #fff; }
.sb-app .brand-mark, .sb-app .logo-preview { background: #fff; border-color: #fff; box-shadow: none; color: var(--sb-blue); }
.sb-app .panel, .sb-app .game-card { backdrop-filter: none; border-radius: 4px; }
.sb-app .btn { border-radius: 4px; }
.sb-app .input { background: #fff; }

/* Lightweight built-in games: one fast modal supports the full generated catalog. */
.game-modal {
  align-items: center; background: rgba(3, 25, 52, .82); display: flex; inset: 0; justify-content: center;
  padding: 18px; position: fixed; z-index: 90;
}
.game-modal.hidden { display: none; }
.game-dialog {
  background: #fff; border-radius: 8px; box-shadow: 0 20px 54px rgba(0, 29, 64, .38); color: var(--sb-ink);
  max-width: 560px; overflow: hidden; width: 100%;
}
.game-head {
  align-items: center; background: linear-gradient(115deg, var(--sb-blue-deep), var(--sb-blue-bright)); color: #fff;
  display: flex; justify-content: space-between; padding: 17px 20px;
}
.game-head small { color: #9bd6ff; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.game-head h2 { color: #fff; font-size: 21px; margin: 5px 0 0; }
.game-close {
  background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.28); border-radius: 4px; color: #fff;
  cursor: pointer; font-size: 15px; font-weight: 700; height: 38px; width: 38px;
}
.game-objective { background: #eef6fe; border-bottom: 1px solid var(--sb-border); color: var(--sb-muted); font-size: 12px; padding: 13px 20px; }
.game-meter { color: var(--sb-blue); display: flex; font-size: 15px; font-weight: 700; justify-content: space-between; padding: 15px 20px 4px; }
.game-stage { align-items: center; display: flex; flex-direction: column; gap: 13px; justify-content: center; min-height: 222px; padding: 16px 20px; }
.game-question { color: var(--sb-blue-deep); font-size: 21px; }
.game-options { display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; }
.game-option, .game-tap, .game-reaction {
  background: #edf4fa; border: 1px solid #c4d8eb; border-radius: 5px; color: var(--sb-blue);
  cursor: pointer; font-size: 14px; font-weight: 700; min-height: 48px; min-width: 96px; padding: 11px 16px;
}
.game-tap { background: var(--sb-green); border-color: var(--sb-green); color: #fff; font-size: 22px; height: 96px; width: 180px; }
.game-reaction { background: #cad5e0; color: #607589; height: 94px; width: 180px; }
.game-reaction.ready { background: var(--sb-green); border-color: var(--sb-green); color: #fff; }
.game-memory { display: grid; grid-template-columns: repeat(4, 62px); margin: auto; width: fit-content; }
.game-tile {
  background: var(--sb-blue); border: 0; border-radius: 5px; color: #fff; cursor: pointer; font-size: 21px;
  font-weight: 700; height: 62px; width: 62px;
}
.game-tile.matched { background: var(--sb-green); }
.game-field { background: #edf7ff; border: 1px solid var(--sb-border); border-radius: 5px; display: block; height: 242px; margin: 16px 20px; padding: 0; position: relative; }
.game-target {
  background: var(--sb-green); border: 0; border-radius: 50%; color: #fff; cursor: pointer; font-size: 12px;
  font-weight: 700; height: 58px; position: absolute; transition: left .13s, top .13s; width: 58px;
}
.game-message { color: var(--sb-muted); font-size: 13px; min-height: 20px; padding: 0 20px; text-align: center; }
.game-message.success { color: var(--sb-green); font-weight: 700; }
.game-actions { border-top: 1px solid var(--sb-border); display: flex; gap: 8px; justify-content: flex-end; padding: 13px 20px; }
.game-actions .game-close { background: #fff; border-color: #b9cfdf; color: var(--sb-blue); height: auto; width: auto; }
.color-blue { border-bottom: 4px solid #1e80d1; }
.color-green { border-bottom: 4px solid #29b85e; }
.color-red { border-bottom: 4px solid #e83d54; }
.color-purple { border-bottom: 4px solid #7138bd; }

@media (max-width: 1190px) {
  .sb-workspace { grid-template-columns: 188px minmax(0, 1fr); }
  .sb-right { display: none; }
  .sb-hero-grid { grid-template-columns: 1fr 330px; }
}
@media (max-width: 860px) {
  .sb-tools > a:not(.sb-signin):not(.sb-register), .sb-tools span { display: none; }
  .sb-workspace { display: block; padding: 0 9px; }
  .sb-left { display: none; }
  .sb-center { gap: 10px; }
  .sb-hero-grid, .sb-info, .sb-network { grid-template-columns: 1fr; }
  .sportsbook-public .market-board, .sportsbook-public .tournament-strip { grid-template-columns: 1fr; }
  .sb-casino-grid, .sb-portal-games { grid-template-columns: repeat(2, 1fr); }
  .sb-category-strip { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
  .sb-alert { font-size: 11px; }
  .sb-header-top { height: 57px; padding: 0 10px; }
  .sb-brand { font-size: 22px; }
  .sb-mark { height: 35px; width: 35px; }
  .sb-signin { display: none; }
  .sb-register { padding: 10px 15px; }
  .sb-primary-nav a { font-size: 11px; padding: 13px 14px 11px; }
  .sb-primary-nav, .sb-chip-row { max-width: 100vw; width: 100%; }
  .sportsbook-public .campaign-slide { align-items: flex-start; padding: 15px; }
  .sportsbook-public .campaign-slide .btn { display: none; }
  .sb-hero-copy { padding: 19px; }
  .sb-hero-copy h1 { font-size: 1.8rem; }
  .sportsbook-public .sportsbook { grid-template-columns: 1fr; }
  .sportsbook-public .sport-nav { display: flex; flex-direction: row; }
  .sb-event { grid-template-columns: 1fr; }
  .sb-event-score { text-align: left; }
  .sportsbook-public .catalog-tools { grid-template-columns: 1fr; }
  .sb-provider-grid { grid-template-columns: repeat(2, 1fr); }
  .game-dialog { max-height: calc(100vh - 20px); overflow-y: auto; }
  .game-stage { min-height: 195px; }
  .game-memory { grid-template-columns: repeat(4, 57px); }
  .game-tile { height: 57px; width: 57px; }
}

/* WINMGS Night Arena: original dark sportsbook-inspired presentation. */
:root {
  --sb-accent: #f23555;
  --sb-secondary: #8c4dff;
  --sb-blue: var(--sb-accent);
  --sb-blue-deep: #100a1b;
  --sb-blue-bright: var(--sb-secondary);
  --sb-sky: #171121;
  --sb-surface: #14101e;
  --sb-border: #302642;
  --sb-green: #21d989;
  --sb-red: #ff4766;
  --sb-ink: #f5f2fc;
  --sb-muted: #a79cb9;
}
.sportsbook-public {
  background:
    radial-gradient(circle at 76% 4%, rgba(140,77,255,.2), transparent 30%),
    radial-gradient(circle at 16% 8%, rgba(242,53,85,.16), transparent 25%),
    #090711;
  color: var(--sb-ink);
}
.sportsbook-public:before {
  background-image:
    linear-gradient(rgba(242,53,85,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(140,77,255,.035) 1px, transparent 1px);
  background-size: 50px 50px;
  display: block;
}
.sb-alert {
  background: #090610;
  border-bottom: 1px solid rgba(242,53,85,.25);
  color: #d7cfdf;
}
.sb-header {
  background: rgba(15,10,23,.96);
  border-bottom: 1px solid var(--sb-border);
  backdrop-filter: blur(18px);
}
.sb-mark {
  background: linear-gradient(140deg, var(--sb-accent), var(--sb-secondary));
  box-shadow: 0 0 27px rgba(242,53,85,.36);
  color: #fff;
}
.sb-tools > a:not(.sb-signin):not(.sb-register) { color: #c3b9d2; }
.sb-signin { border-color: #514560; }
.sb-register,
.sportsbook-public .campaign-slide .btn {
  background: linear-gradient(100deg, var(--sb-accent), #fd4e75);
  box-shadow: 0 12px 25px rgba(242,53,85,.25);
}
.sb-primary-nav {
  background: #0e0a17;
  border-top: 1px solid rgba(255,255,255,.03);
}
.sb-primary-nav a { color: #a89bb9; }
.sb-primary-nav a.active, .sb-primary-nav a:hover {
  background: rgba(242,53,85,.09);
  border-bottom-color: var(--sb-accent);
}
.sb-ticker {
  background: #100c18;
  border-bottom-color: var(--sb-border);
  color: var(--sb-ink);
}
.sb-ticker > strong { color: var(--sb-accent); }
.sb-ticker .ticker-item { color: var(--sb-muted); }
.sb-ticker .ticker-item b { color: #f5f2fc; }
.sb-ticker .ticker-item strong { color: var(--sb-green); }
.sb-ticker .ticker-item small {
  background: rgba(33,217,137,.14);
  color: var(--sb-green);
}
.sb-ai-pulse {
  align-items: center;
  border-left: 1px solid var(--sb-border);
  color: #dcd4e6;
  display: flex;
  flex: none;
  font-size: 11px;
  font-weight: 700;
  gap: 7px;
  margin-left: 14px;
  padding-left: 14px;
}
.sb-ai-pulse i {
  animation: sbBlink 1s infinite;
  background: var(--sb-green);
  border-radius: 50%;
  box-shadow: 0 0 12px var(--sb-green);
  height: 7px;
  width: 7px;
}
.sb-ai-pulse time { color: var(--sb-muted); font-variant-numeric: tabular-nums; }
.sb-ai-pulse.disconnected i { background: var(--sb-red); box-shadow: 0 0 12px var(--sb-red); }
@keyframes sbBlink { 50% { opacity: .3; transform: scale(.7); } }
.sb-left, .sb-coupon, .sb-right-card, .sb-board, .sb-promo {
  background: rgba(20,16,30,.9);
  border-color: var(--sb-border);
  border-radius: 9px;
  box-shadow: 0 16px 42px rgba(0,0,0,.18);
}
.sb-aside-title { background: #191324; border-color: var(--sb-border); color: #897b9e; }
.sb-left a { border-color: rgba(255,255,255,.045); color: #c0b5ce; }
.sb-left a:hover, .sb-left a.active { background: rgba(242,53,85,.11); color: #fff; }
.sb-left a b { background: rgba(242,53,85,.12); color: var(--sb-accent); }
.sb-safe { background: rgba(140,77,255,.07); color: var(--sb-muted); }
.sportsbook-public .campaign-slide,
.sb-page-intro {
  background:
    linear-gradient(110deg, rgba(242,53,85,.87), rgba(140,77,255,.74)),
    #160f25;
  border-radius: 8px;
}
.sportsbook-public .campaign-slide small { color: #ffe0e7; }
.sportsbook-public .campaign-slide p, .sb-page-intro p { color: #eadff3; }
.sb-hero-copy { background: #171120; border: 1px solid var(--sb-border); border-radius: 8px; }
.sportsbook-public .eyebrow { color: var(--sb-accent); }
.sportsbook-public .pulse { background: var(--sb-green); }
.sb-live-feature, .market-preview, .tour-card, .sb-category {
  background: #181222;
  border-color: var(--sb-border);
}
.sb-live-feature .moment { background: rgba(242,53,85,.08); color: #d9cadf; }
.market-preview strong, .sb-category { color: #f6f2fb; }
.market-choices a, .sb-event-prices a {
  background: #211a2d;
  border-color: #342a45;
  color: #ddd3eb;
}
.market-choices a b, .sb-event-prices a b { color: var(--sb-green); }
.sb-section-bar { border-color: var(--sb-border); }
.sb-section-bar a { color: var(--sb-accent); }
.sb-event { border-color: var(--sb-border); }
.sb-event:hover { background: rgba(242,53,85,.045); }
.sb-event-score { color: #fff; }
.sb-provider-grid span, .sb-chip-row span {
  background: #211a2c;
  border-color: #352945;
  color: #d8cce6;
}
.game-card {
  background: #181221;
  border-color: var(--sb-border);
}
.game-card:hover { border-color: rgba(242,53,85,.55); box-shadow: 0 12px 35px rgba(242,53,85,.14); }
.game-card .game-art {
  background: radial-gradient(circle at 50% 5%, rgba(242,53,85,.34), transparent 53%), #100c18;
}
.game-card:nth-child(2n) .game-art {
  background: radial-gradient(circle at 50% 5%, rgba(140,77,255,.35), transparent 53%), #100c18;
  color: #ba9cff;
}
.game-enter { margin: 4px 4px 2px; width: calc(100% - 8px); }
.adult-zone {
  background:
    linear-gradient(130deg, rgba(242,53,85,.07), rgba(140,77,255,.07)),
    rgba(20,16,30,.9);
}
.adult-zone .sb-section-bar { border-left: 3px solid var(--sb-accent); padding-left: 14px; }
.custom-zone { padding: 19px; }
.promo-block {
  background: rgba(242,53,85,.07);
  border-color: rgba(242,53,85,.3);
}
.promo-block span { background: var(--sb-accent); color: #fff; }
.sb-coupon-tabs, .sb-right-card h3 { border-color: var(--sb-border); }
.sb-empty-coupon p, .sb-disclaimer p { color: var(--sb-muted); }
.sb-footer {
  background: #0b0812;
  border-top: 1px solid var(--sb-border);
  color: #c5bad4;
}
.sb-footer .owner-details, .sb-footer .legal-line { color: #9689a9; }
.sportsbook-public > .nav {
  background: rgba(15,10,23,.96);
  border-bottom: 1px solid var(--sb-border);
  color: #fff;
}
.sportsbook-public > .nav .brand-mark {
  background: linear-gradient(140deg, var(--sb-accent), var(--sb-secondary));
  border: 0;
  box-shadow: 0 0 25px rgba(242,53,85,.28);
  color: #fff;
}
.sportsbook-public > .nav .btn-outline { border-color: #4b3d5d; color: #eee6f7; }
.sportsbook-public .panel {
  background: rgba(20,16,30,.92);
  border-color: var(--sb-border);
}
.sportsbook-public .app-specs {
  background: #171120;
  border-color: var(--sb-border);
  border-radius: 9px;
}
.sportsbook-public .app-specs span { color: var(--sb-accent); }
.sportsbook-public .ios-install-steps {
  background: rgba(140,77,255,.05);
  border-color: var(--sb-border);
}
.sportsbook-public .ios-install-steps strong { color: #f5f2fc; }
.sportsbook-public .security-note {
  background: rgba(242,53,85,.07);
  border-color: rgba(242,53,85,.24);
  color: #ded2eb;
}
.sportsbook-public .floating-actions .float-feedback {
  background: linear-gradient(110deg, var(--sb-accent), #fd4e75);
  border-radius: 999px;
}
.sportsbook-public .floating-actions .float-contact { background: var(--sb-secondary); border-radius: 999px; }
.sportsbook-public .float-download { background: #171120; border-color: var(--sb-border); color: var(--sb-ink); }
.sportsbook-public .float-download strong { color: var(--sb-accent); }
.sportsbook-public .btn { background: linear-gradient(100deg, var(--sb-accent), #fd4e75); color: #fff; }
.sportsbook-public .btn-outline { background: transparent; border-color: #463854; color: #f2eaf9; }
.sportsbook-public .stat strong, .sb-promotion-copy h2 { color: var(--sb-accent); }
.sb-hero-copy h1 { color: #f8f4fc; }
.sb-live-feature .predict-box { background: rgba(255,255,255,.045); }
.sb-live-feature .choice { background: #241b31; color: #f1e7f8; }
.sportsbook-public .ad-slot { background: #171120; border-color: #483851; color: var(--sb-ink); }
.sportsbook-public .ad-slot a { color: var(--sb-accent); }
.sb-section-bar { background: #181222; }
.sportsbook-public .sport-nav { background: #171120; border-color: var(--sb-border); }
.sportsbook-public .sport-nav a { color: #c7bbd6; }
.sportsbook-public .sport-nav a.active, .sportsbook-public .sport-nav a:hover { background: rgba(242,53,85,.14); color: #fff; }
.sportsbook-public .market-preview, .sportsbook-public .tour-card, .sportsbook-public .game-card {
  background: #181222;
  border-color: var(--sb-border);
}
.sportsbook-public .market-meta span, .sportsbook-public .market-choices b { color: var(--sb-accent); }
.sportsbook-public .market-choices a, .sb-event-prices a { background: #211a2d; border-color: #342a45; color: #ddd3eb; }
.sportsbook-public .market-choices a:hover { background: rgba(242,53,85,.12); }
.sportsbook-public .input { background: #100c18; border-color: #352a45; color: #f5f2fc; }
.sportsbook-public .game-card:hover { border-color: rgba(242,53,85,.52); box-shadow: 0 10px 28px rgba(242,53,85,.12); }
.sportsbook-public .game-art {
  background: radial-gradient(circle at 50% 5%, rgba(242,53,85,.35), transparent 55%), #100c18;
}
.sportsbook-public .game-card:nth-child(2n) .game-art {
  background: radial-gradient(circle at 50% 5%, rgba(140,77,255,.36), transparent 55%), #100c18;
}
.sportsbook-public .badge { background: rgba(242,53,85,.12); color: #ff7890; }
.sportsbook-public .rules-note { color: var(--sb-green); }
.sportsbook-public .feature, .sportsbook-public .promo-block, .sportsbook-public .official-links a, .sportsbook-public .app-project {
  background: #181222;
  border-color: var(--sb-border);
  color: var(--sb-ink);
}
.sportsbook-public .feature strong, .sportsbook-public .creator-panel > strong,
.sportsbook-public .neon-line, .sportsbook-public .creator-panel small,
.sportsbook-public .official-links b { color: var(--sb-accent); }
.sb-coupon-tabs { background: linear-gradient(105deg, #21162d, #33152b); }
.sb-right-card h3, .sb-disclaimer strong { color: var(--sb-accent); }
.sb-right-card a { color: #ded4ea; }
.sb-disclaimer { background: rgba(242,53,85,.065); border-color: rgba(242,53,85,.2); }

.sb-app {
  --bg: #090711;
  --bg-soft: #120d1b;
  --panel: rgba(20,16,30,.92);
  --panel-strong: #171120;
  --line: #302642;
  --text: #f5f2fc;
  --muted: #a79cb9;
  --gold: var(--sb-accent);
  --teal: var(--sb-secondary);
  --pink: #ff4772;
  --green: #21d989;
  background:
    radial-gradient(circle at 85% 0, rgba(140,77,255,.18), transparent 32%),
    radial-gradient(circle at 16% 8%, rgba(242,53,85,.12), transparent 28%),
    #090711;
  color: var(--text);
}
.sb-app:before { display: block; }
.sb-app .sidebar { background: #0e0a17; border-right: 1px solid var(--line); color: #fff; }
.sb-app .sidebar .brand, .sb-app .side-link { color: #c9bfd8; }
.sb-app .side-link.active, .sb-app .side-link:hover {
  background: rgba(242,53,85,.1);
  box-shadow: inset 3px 0 var(--sb-accent);
}
.sb-app .brand-mark, .sb-app .logo-preview {
  background: linear-gradient(140deg, var(--sb-accent), var(--sb-secondary));
  border-color: transparent;
  color: #fff;
}
.sb-app .panel, .sb-app .game-card {
  background: var(--panel);
  border-color: var(--line);
  border-radius: 12px;
}
.sb-app .btn {
  background: linear-gradient(100deg, var(--sb-accent), #fd4e75);
  border-radius: 7px;
  color: #fff;
}
.sb-app .btn-outline { background: transparent; border-color: #453753; color: var(--text); }
.sb-app .input {
  background: #100c18;
  border-color: #352a45;
  color: var(--text);
}
.sb-app .input:focus { border-color: var(--sb-accent); }
.sb-app .status.APPROVED, .sb-app .positive { color: var(--sb-green); }
.sb-app .modal {
  background: #120d1b;
  border-color: #392c4a;
  box-shadow: 0 28px 90px rgba(0,0,0,.68), 0 0 42px rgba(242,53,85,.1);
}
.sb-app .modal-backdrop { background: rgba(4,3,8,.8); backdrop-filter: blur(9px); }
.game-modal { background: rgba(5,3,10,.88); }
.game-dialog {
  background: #14101e;
  border: 1px solid #382b47;
  color: var(--sb-ink);
}
.game-head { background: linear-gradient(110deg, var(--sb-accent), var(--sb-secondary)); }
.game-objective, .game-actions { background: #181221; border-color: var(--sb-border); }
.game-stage, .game-field { background: #100c18; border-color: var(--sb-border); }
.game-question { color: var(--sb-ink); }
.game-option, .game-reaction { background: #211a2d; border-color: #382d49; color: #eee5fa; }
.game-actions .game-close { background: transparent; border-color: #453753; color: #e9deef; }
@media (max-width: 720px) {
  .sb-ai-pulse span { display: none; }
  .sb-ticker { gap: 9px; padding-inline: 10px; }
}
