/* Shared Blueprint geometry primitives; one canonical owner. */
:root{
  --sc-blueprint-page-frame-max: 1416px;
  --sc-blueprint-page-frame-gutter: clamp(10px, .72vw, 24px);
  --sc-blueprint-max-width: var(--sc-blueprint-page-frame-max);
  --sc-blueprint-gutter: clamp(16px, 2vw, 28px);
  --sc-blueprint-region-gap: clamp(14px, 1.8vw, 22px);
  --sc-shell-left-rail-width: 260px;
  --sc-shell-right-rail-width: 300px;
  --sc-shell-adminbar-height: 0px;
  --sc-shell-topbar-clearance-height: 88px;
  --sc-shell-topbar-offset: 88px;
  --sc-blueprint-left-rail: var(--sc-shell-left-rail-width);
  --sc-blueprint-right-rail: var(--sc-shell-right-rail-width);
  --sc-blueprint-filter-rail: 280px;
  --sc-blueprint-compact-rail: 260px;
  --sc-blueprint-shell-topbar-height: 72px;
  --sc-blueprint-shell-column-start-gap: 16px;
  --sc-blueprint-rail-bottom-inset: 16px;
  --sc-blueprint-shell-column-sticky-top: calc(var(--sc-shell-adminbar-height, 0px) + var(--sc-blueprint-shell-topbar-height) + var(--sc-blueprint-shell-column-start-gap));
  --sc-blueprint-sticky-offset: var(--sc-blueprint-shell-column-sticky-top);
  --sc-blueprint-slot-gap: 14px;
  --sc-blueprint-authenticated-left-rail: max(196px, 13.93vw);
  --sc-blueprint-authenticated-gap: max(14px, 1.11vw);
  --sc-blueprint-authenticated-gutter: max(10px, .72vw);
  --sc-blueprint-communication-left-rail: var(--sc-blueprint-authenticated-left-rail);
  --sc-blueprint-communication-gap: var(--sc-blueprint-authenticated-gap);
  --sc-blueprint-communication-gutter: var(--sc-blueprint-authenticated-gutter);
  --sc-blueprint-communication-height: calc(100dvh - var(--sc-shell-adminbar-height, 0px) - var(--sc-shell-topbar-clearance-height, 88px) - 32px);
  --sc-blueprint-pages-left-rail: 264px;
  --sc-blueprint-pages-gap: 16px;
  --sc-blueprint-pages-gutter: 16px;
  --sc-blueprint-pages-height: calc(100dvh - var(--sc-shell-adminbar-height, 0px) - var(--sc-shell-topbar-clearance-height, 88px) - 32px);
}
/* Reserve the same scrollbar lane on short and long ShiftControl routes so
 * centered frames do not jump when navigation changes document height. */
html:has(> body.shiftcontrol-public-body){ scrollbar-gutter:stable; }
.sc-blueprint{
  box-sizing: border-box;
  width: min(100%, var(--sc-blueprint-max-width));
  margin-inline: auto;
  padding-inline: var(--sc-blueprint-gutter);
  display: grid;
  gap: var(--sc-blueprint-region-gap);
  align-items: start;
}
/* Revised neutral boards share one center hero-size input. Existing Stream and
 * Discover variants keep their accepted dimensions until independently qualified. */
.sc-blueprint:is(
  [data-sc-blueprint-composition-variant^="neutral-basic-groups-v"],
  [data-sc-blueprint-composition-variant^="neutral-basic-profile-v"],
  [data-sc-blueprint-composition-variant^="neutral-basic-pages-v"]
){ --sc-blueprint-primary-hero-block-size: 288px; }
@media (max-width: 760px){
  .sc-blueprint:is(
    [data-sc-blueprint-composition-variant^="neutral-basic-groups-v"],
    [data-sc-blueprint-composition-variant^="neutral-basic-profile-v"],
    [data-sc-blueprint-composition-variant^="neutral-basic-pages-v"]
  ){ --sc-blueprint-primary-hero-block-size: 370px; }
}
.sc-blueprint *,
.sc-blueprint *::before,
.sc-blueprint *::after{ box-sizing: border-box; }
.sc-blueprint-region{
  min-width: 0;
  display: grid;
  gap: var(--sc-blueprint-slot-gap);
}
.sc-blueprint-slot{ min-width: 0; }
