/* BLINKBUN v3.10.2 — use the current Game page outer width as the canonical public shell. */
:root{
  --bb3102-shell:1240px;
  --bb3102-edge:16px;
  --bb3102-header-gap:24px;
}

/* 1) One outer width, identical to the current Game page axis. */
html body .v230-shell,
html body .seo-shell,
html body .v319-search-shell,
html body .bb-doc-shell,
html body .shell,
html body .wrap,
html body .trade-shell,
html body .v397-main-axis,
html body .v398-main-axis,
html body .v399-axis{
  box-sizing:border-box!important;
  width:min(var(--bb3102-shell),calc(100% - (var(--bb3102-edge) * 2)))!important;
  max-width:var(--bb3102-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* 2) Shared header uses the exact same left/right line, then leaves breathing room below. */
html body .v230-shell > header.v230-header.v260-header,
html body .seo-shell > header.v230-header.v260-header,
html body header.v230-header.v260-header{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-bottom:var(--bb3102-header-gap)!important;
}

/* v397/v3100 wrappers, if present, must not introduce a second narrower/wider axis. */
html body .v397-header-inner,
html body .v3100-header-inner,
html body .v3101-header-inner{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* 3) Every first-level page body fills the Game shell. */
html body .v230-shell > main,
html body .seo-shell > main,
html body .v319-search-shell > main,
html body .bb-doc-shell > main,
html body .v230-tool-main,
html body .v319-discovery-main,
html body .v282-main,
html body .v282-home,
html body .v365-main,
html body .v390-events-main,
html body .v391-events-main,
html body .v392-main,
html body .rv240-main,
html body .v250-main,
html body .bb-doc-main{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  float:none!important;
  left:auto!important;
  right:auto!important;
}

/* Preserve vertical spacing while removing old narrower outer islands. */
html body .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 .v230-tool-main > section,
html body .v319-discovery-main > section,
html body .v282-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{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* 4) Header-adjacent strips/subnavs also align to the same page axis. */
html body .v230-shell > .v291-session-strip,
html body .v230-shell > .bbun311-subnav,
html body .seo-shell > .bbun311-subnav,
html body .v230-shell > .v390-event-topline,
html body .v230-shell > .v393-topline{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Because header now owns the common 24px gap, don't double it on the first major panel. */
html body .v313-game-entry,
html body .v317-game-entry,
html body .seo-shell > main > .seo-hero:first-child,
html body .v230-tool-main > .v230-tool-hero:first-child,
html body .v319-discovery-main > section:first-child,
html body .v282-main > section:first-child{
  margin-top:0!important;
}

/* BBUN has a sub-navigation directly after the header: keep the 24px gap above it,
   and a comfortable gap between subnav and hero. */
html body .bbun311-subnav{
  margin-top:0!important;
  margin-bottom:24px!important;
}

/* Game hero is the reference: no accidental top collision with the header line. */
html body.v370-game-page main,
html body[data-initial-view="play"] main{
  padding-top:0!important;
}

/* Responsive edge only; desktop shell dimension itself never changes. */
@media(max-width:900px){
  :root{--bb3102-edge:12px;--bb3102-header-gap:18px}
}
@media(max-width:560px){
  :root{--bb3102-edge:10px;--bb3102-header-gap:14px}
}
