/* BLINKBUN v3.10.4 — GAME PAGE VISUAL WIDTH IS THE PUBLIC STANDARD
   Header contents stay centered in a 1240px inner axis.
   Primary page content follows /play: full viewport width, no extra outer gutter.
   Inner spacing belongs to each section, not to the page shell.
*/
:root{
  --bb3104-header-inner:1240px;
  --bb3104-header-edge:16px;
  --bb3104-top-gap:24px;
}

/* =========================================================
   1) ROOT SHELL = FULL WIDTH, LIKE /play
   ========================================================= */
html body .v230-shell,
html body .shell.v230-shell,
html body .seo-shell,
html body .v319-search-shell,
html body .bb-doc-shell,
html body .trade-shell,
html body .v286-shell,
html body .v365-shell,
html body .v285-shell,
html body .i280-shell{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* =========================================================
   2) HEADER: FULL BACKGROUND, 1240px CONTENT AXIS
   ========================================================= */
html body header.v230-header,
html body header.v260-header,
html body header.v387-header,
html body header.v370-header{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
html body .v3100-header-axis,
html body .v398-header-axis,
html body .v397-header-inner,
html body .v3101-header-inner{
  box-sizing:border-box!important;
  width:min(var(--bb3104-header-inner),calc(100% - (var(--bb3104-header-edge) * 2)))!important;
  max-width:var(--bb3104-header-inner)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* =========================================================
   3) MAIN = FULL WIDTH. NO SECOND PAGE GUTTER.
   ========================================================= */
html body .v230-shell > main,
html body .shell.v230-shell > main,
html body .seo-shell > main,
html body .v319-search-shell > main,
html body .bb-doc-shell > main,
html body main.v282-main,
html body main.v282-home,
html body main.v230-tool-main,
html body main.v319-discovery-main,
html body main.v365-main,
html body main.v390-events-main,
html body main.v391-events-main,
html body main.v392-main,
html body main.rv240-main,
html body main.v250-main,
html body main.bb-doc-main,
html body main.v397-main-axis,
html body main.v398-main-axis,
html body main.v399-axis{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  float:none!important;
  left:auto!important;
  right:auto!important;
}

/* Keep one shared vertical rhythm. */
html body .v230-shell > main,
html body .shell.v230-shell > main,
html body .seo-shell > main,
html body .v319-search-shell > main,
html body .bb-doc-shell > main{
  padding-top:var(--bb3104-top-gap)!important;
}

/* =========================================================
   4) PRIMARY VISUAL BLOCKS = FULL WIDTH, LIKE GAME HERO
   ========================================================= */
html body .v230-shell > main > section,
html body .shell.v230-shell > main > section,
html body .seo-shell > main > section,
html body .v319-search-shell > main > section,
html body .bb-doc-shell > main > section,
html body .v282-main > section,
html body .v282-home > section,
html body .v230-tool-main > section,
html body .v319-discovery-main > section,
html body .v365-main > section,
html body .v390-events-main > section,
html body .v391-events-main > section,
html body .v392-main > section,
html body .rv240-main > section,
html body .v250-main > section,
html body .bb-doc-main > section,
html body .v230-hero,
html body .v230-tool-hero,
html body .v250-hero,
html body .v365-hero,
html body .v390-event-hero,
html body .v392-hero,
html body .bb393-hero,
html body .bb393-return,
html body .bb391-hub,
html body .v313-game-entry,
html body .v317-game-entry{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Historical home islands must not remain narrower than /play. */
html body .bb391-strip,
html body .bb393-hero,
html body .bb393-return,
html body .v282-hero-strip{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Tool pages previously inherited 1050px/900px islands. */
html body.v370-page .v230-tool-main,
html body .v230-tool-main,
html body .rv240-main,
html body .v250-main{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* =========================================================
   5) TOP STRIPS / BBUN SUBNAV FOLLOW THE SAME FULL WIDTH AXIS
   ========================================================= */
html body .v230-shell > .v390-event-topline,
html body .v230-shell > .v393-topline,
html body .v230-shell > .v291-session-strip,
html body .v230-shell > .bbun311-subnav,
html body .bb-doc-shell > .bbun311-subnav{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* BBUN: one gap before subnav, not a nested horizontal shrink. */
html body .v230-shell > .bbun311-subnav,
html body .bb-doc-shell > .bbun311-subnav{
  margin-top:var(--bb3104-top-gap)!important;
  margin-bottom:24px!important;
}
html body .bbun311-subnav + main,
html body .bbun311-subnav ~ main.bb-doc-main{
  padding-top:0!important;
}

/* Events top strip gets one top gap then content. */
html body .v230-shell > .v390-event-topline,
html body .v230-shell > .v393-topline{
  margin-top:var(--bb3104-top-gap)!important;
}
html body .v390-event-topline + main,
html body .v393-topline + main{
  padding-top:20px!important;
}

/* First visible block never receives an extra legacy top margin. */
html body .v230-shell > main > :first-child,
html body .shell.v230-shell > main > :first-child,
html body .seo-shell > main > :first-child,
html body .v319-search-shell > main > :first-child,
html body .bb-doc-shell > main > :first-child,
html body .v313-game-entry,
html body .v317-game-entry{
  margin-top:0!important;
}

/* =========================================================
   6) RESPONSIVE
   Desktop follows /play full-bleed. Mobile still uses section padding.
   ========================================================= */
@media(max-width:900px){
  :root{--bb3104-header-edge:12px;--bb3104-top-gap:18px}
}
@media(max-width:560px){
  :root{--bb3104-header-edge:10px;--bb3104-top-gap:14px}
}
