/* One page geometry for every route. The fixed left navigation remains outside
   this frame. A route without rail content reserves the same rail column. */
:root {
  --ct-font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --ct-type-heading: 20px;
  --ct-line-heading: 25px;
  --ct-type-profile: 24px;
  --ct-line-profile: 33.6px;
  --ct-type-body: 15px;
  --ct-line-body: 21px;
  --ct-type-muted: 13px;
  --ct-line-muted: 18.2px;
  --ct-type-rail-heading: 17px;
  --ct-line-rail-heading: 25.5px;
  --ct-nav-icon: 18px;
  --ct-post-icon: 18px;
  --ct-avatar-size: 36px;
  --ct-layout-page-gutter: 20px;
  --ct-layout-main-width: 640px;
  --ct-layout-navigation-width: 68px;
  --ct-layout-sidebar-width: 280px;
  --ct-layout-column-gap: 28px;
  --ct-layout-reserved-width: calc(var(--ct-layout-sidebar-width) + var(--ct-layout-column-gap));
  --ct-layout-columns-width: calc(var(--ct-layout-main-width) + var(--ct-layout-reserved-width));
  --ct-layout-frame-width: calc(var(--ct-layout-columns-width) + 2 * var(--ct-layout-page-gutter));
  --ct-layout-main-available: calc(100% - 2 * var(--ct-layout-page-gutter) - var(--ct-layout-reserved-width));
  --ct-layout-leading-space: max(var(--ct-layout-page-gutter), calc((100% - var(--ct-layout-columns-width)) / 2));
}

/* A short page must not shift sideways when the vertical scrollbar disappears. */
html { overflow-y: scroll; scrollbar-gutter: auto; }
/* Reuse the page scrollbar for the left navigation's scrollable area. */
html,
.ct-desktop-sidebar .ct-sidebar-scroll { scrollbar-width: thin; scrollbar-color: #c4c4c4 transparent; }
html::-webkit-scrollbar,
.ct-sidebar-scroll::-webkit-scrollbar { width: 4px; }
html::-webkit-scrollbar-thumb,
.ct-sidebar-scroll::-webkit-scrollbar-thumb { background: #c4c4c4; border-radius: 999px; }
@supports selector(::-webkit-scrollbar) {
    html,
    .ct-desktop-sidebar .ct-sidebar-scroll { scrollbar-width: auto; scrollbar-color: auto; }
}

/* Existing two-column pages share the same outer frame and grid tracks. */
:root body :is(
  #ct-main > .ct-page-gutters:has(> .ct-community-home),
  .ct-launch-detail-page,
  .ct-job-detail-page,
  .ct-blog-detail,
  .ct-club-hub,
  .ct-communities-page,
  .ct-profile-frame,
  .ct-showcase-detail-frame
) {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--ct-layout-frame-width);
  margin-inline: auto;
  padding-inline: var(--ct-layout-page-gutter);
}

:root body .ct-community-home.ct-community-page,
:root body .ct-club-hub .ct-community-page {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

:root body :is(
  .ct-community-layout,
  .ct-communities-layout,
  .ct-profile-layout,
  .ct-showcase-detail-layout,
  .ct-launch-detail-layout,
  .ct-job-launch-layout,
  .ct-blog-reading-layout
) {
  display: grid;
  grid-template-columns: minmax(0, var(--ct-layout-main-width)) var(--ct-layout-sidebar-width);
  align-items: start;
  justify-content: start;
  column-gap: var(--ct-layout-column-gap);
}

:root body :is(
  .ct-community-layout > .ct-community-feed,
  .ct-profile-layout > .ct-profile-page,
  .ct-profile-layout > .ct-member-post-page,
  .ct-profile-layout > .ct-blog-listing-main,
  .ct-showcase-demo-body,
  .ct-communities-main,
  .ct-launch-detail-main,
  .ct-job-launch-main,
  .ct-blog-reading-column
) {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: none;
}

:root body :is(
  .ct-community-layout > .ct-community-about,
  .ct-communities-layout > .ct-community-about,
  .ct-profile-layout > .ct-community-about,
  .ct-showcase-detail-layout > .ct-showcase-author-rail,
  .ct-launch-detail-layout > .ct-launch-sidebar,
  .ct-job-launch-layout > .ct-job-sidebar,
  .ct-blog-reading-layout > .ct-blog-rail
) {
  box-sizing: border-box;
  width: var(--ct-layout-sidebar-width);
  min-width: 0;
  max-width: var(--ct-layout-sidebar-width);
  margin-inline: 0;
}

/* Single-column routes occupy track one, rather than expanding into or
   centering themselves across the unused discovery rail. */
:root body :is(
  .ct-browse-directory,
  .ct-search-page,
  .ct-profile-page,
  .ct-member-post-page,
  .ct-detail-breadcrumb,
  .ct-route-frame,
  .ct-jobs-catalog,
  .ct-blog-archive,
  .ct-blog-listing > .ct-page-gutters,
  .ct-blog-page > .ct-page-gutters:has(> .ct-blog-skeleton-hero),
  .ct-showcase-frame,
  .reader-offers-inner,
  .ct-mailcheaper,
  .ct-bookmarks-page,
  .ct-country-directory,
  .ct-auth-page,
  .ct-not-found-page,
  .ct-admin-chrome > div,
  .ct-admin-page > main,
  .ct-newsletter-offer-page > .max-w-3xl,
  .ct-demo-page > div,
  .ct-static-document,
  [data-post-subscribe-flow] > .sl-step-host,
  .signup-offers > .signup-offers-intro,
  .signup-offers > .signup-offers-content
) {
  box-sizing: border-box;
  width: min(var(--ct-layout-main-width), var(--ct-layout-main-available));
  max-width: none;
  min-width: 0;
  margin-inline-start: var(--ct-layout-leading-space);
  margin-inline-end: auto;
}

/* Page gutters belong to the frame, not inside the main column a second time. */
:root body :is(
  .ct-browse-directory,
  .ct-search-page,
  .ct-member-post-page,
  .ct-jobs-catalog,
  .ct-blog-archive,
  .ct-blog-listing > .ct-page-gutters,
  .ct-blog-page > .ct-page-gutters:has(> .ct-blog-skeleton-hero),
  .ct-showcase-detail-frame,
  .reader-offers-inner,
  .ct-mailcheaper:not(.ct-route-frame),
  .ct-bookmarks-page,
  .ct-country-directory,
  .ct-auth-page,
  .ct-not-found-page,
  .ct-admin-chrome > div,
  .ct-admin-page > main,
  .ct-demo-page > div
) { padding-inline: 0; }
:root body .ct-browse-directory > .ct-page-gutters { padding-inline: 0; }

/* Nested surfaces are already in track one. They must not reserve a second rail. */
:root body :is(.ct-profile-page, .ct-route-frame) .ct-community-home,
:root body .ct-profile-page .ct-community-layout { display: block; width: 100%; max-width: none; }
:root body .ct-profile-page .ct-community-home { margin-inline: 0; }
:root body .ct-profile-frame > .ct-profile-layout > .ct-profile-page { width: 100%; margin-inline: 0; padding-inline: 0; }
:root body .ct-profile-frame > .ct-profile-layout > :is(.ct-member-post-page, .ct-blog-listing-main) { width: 100%; margin-inline: 0; padding-inline: 0; }
/* Creator workspaces need room for a canvas and its inspector. Their heading
   keeps the reading width while the functional workspace uses the whole page. */
:root body .ct-standalone-tool-page { box-sizing: border-box; width: 100%; max-width: none; margin-inline: 0; padding-inline: var(--ct-layout-page-gutter); }
:root body .ct-standalone-tool-page > :is(.ct-standalone-tool-heading, .ct-standalone-tool-footer) { width: 100%; max-width: var(--ct-layout-main-width); margin-inline: auto; }
:root body .ct-standalone-tool-workspace { width: 100%; min-width: 0; max-width: none; overflow-x: auto; overscroll-behavior-x: contain; }
:root body .ct-mailcheaper.ct-route-frame { padding-inline: 0; }
:root body .ct-password-recovery-page { display: block; padding-inline: 0; padding-top: var(--ct-layout-page-gutter); }
:root body .ct-password-recovery-page > .ct-route-frame { margin-top: 0; }
:root body .ct-newsletter-offer-page { padding-inline: 0; }
:root body [data-post-subscribe-flow] { padding-inline: 0; }

/* Newsletter pages use the same tracks for the copy and accompanying artwork.
   Embedded signup dialogs keep their own dialog dimensions. */
:root body .newsletter-hero-layout:not(.subscribe-embedded *) {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--ct-layout-frame-width);
  margin-inline: auto;
  padding-inline: var(--ct-layout-page-gutter);
  display: grid;
  grid-template-columns: minmax(0, var(--ct-layout-main-width)) var(--ct-layout-sidebar-width);
  column-gap: var(--ct-layout-column-gap);
}
:root body .subscribe-site-page { max-width: none; padding-inline: 0; }
:root body .newsletter-hero-layout:not(.subscribe-embedded *) > * { min-width: 0; width: 100%; }

/* Threads centers the reading column in the space left of its right rail.
   The discovery rail stays at the outer edge instead of following the post. */
@media (min-width: 1150px) {
  :root {
    --ct-layout-column-gap: 0px;
    --ct-layout-frame-width: 100%;
    --ct-layout-leading-space: max(var(--ct-layout-page-gutter), calc((100% - var(--ct-layout-reserved-width) - var(--ct-layout-main-width)) / 2));
  }
  :root body :is(.ct-community-layout, .ct-communities-layout, .ct-profile-layout, .ct-showcase-detail-layout, .ct-launch-detail-layout, .ct-job-launch-layout, .ct-blog-reading-layout, .newsletter-hero-layout:not(.subscribe-embedded *)) {
    grid-template-columns: minmax(0, 1fr) var(--ct-layout-sidebar-width);
  }
  :root body :is(.ct-community-layout > .ct-community-feed, .ct-profile-layout > .ct-profile-page, .ct-profile-layout > .ct-member-post-page, .ct-profile-layout > .ct-blog-listing-main, .ct-showcase-demo-body, .ct-communities-main, .ct-launch-detail-main, .ct-job-launch-main, .ct-blog-reading-column, .newsletter-hero-layout:not(.subscribe-embedded *) > :first-child) {
    max-width: var(--ct-layout-main-width);
    justify-self: center;
  }
  :root body :is(.ct-community-layout, .ct-communities-layout, .ct-profile-layout) > .ct-community-about { display: block; }
  :root body .ct-blog-reading-layout > .ct-blog-rail { display: flex; flex-direction: column; }

  /* Every right rail owns the viewport, just like Home: scrolling it never
     scrolls the reading column or makes it disappear at a short page's footer. */
  :root body :is(
    .ct-community-layout > .ct-community-about,
    .ct-communities-layout > .ct-community-about,
    .ct-profile-layout > .ct-community-about,
    .ct-showcase-detail-layout > .ct-showcase-author-rail,
    .ct-launch-detail-layout > .ct-launch-sidebar,
    .ct-job-launch-layout > .ct-job-sidebar,
    .ct-blog-reading-layout > .ct-blog-rail
  ) {
    position: fixed !important;
    top: 0 !important;
    /* Scroll locking already preserves the reading column. Fixed rails must
       retain the same right edge when the viewport scrollbar disappears. */
    right: var(--ct-modal-scrollbar-gap, 0px);
    bottom: auto;
    align-self: start;
    width: calc(var(--ct-layout-sidebar-width) + var(--ct-layout-page-gutter));
    max-width: none;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    padding: 18px var(--ct-layout-page-gutter) 24px 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--ct-divider) transparent;
  }
  :root body :is(.ct-community-about, .ct-launch-sidebar, .ct-blog-rail):has(> :is(.ct-home-feed-search, .ct-launch-profile-search, form[role="search"])) {
    padding-top: 90px;
  }
  :root body :is(.ct-community-about, .ct-launch-sidebar, .ct-blog-rail) > :is(.ct-home-feed-search, .ct-launch-profile-search, form[role="search"]) {
    position: fixed;
    top: 0;
    z-index: 3;
    box-sizing: border-box;
    width: var(--ct-layout-sidebar-width);
    margin: 0;
    padding-block: 18px 0;
    background: var(--ct-bg);
  }
  /* The rail itself scrolls; article contents must not create a second,
     differently positioned scroll area inside it. */
  :root body .ct-blog-rail > .ct-blog-toc-track { flex: 0 0 auto; }
  :root body .ct-blog-rail .ct-blog-toc { position: static; max-height: none; }
  :root body .ct-blog-rail .blog-toc-nav { overflow: visible; max-height: none; }
}

@media (min-width: 700px) {
  /* Standalone account/legal routes reserve the same left rail as browse routes,
     even when that route has no navigation controls to render in it. */
  :root body #root:has(:is(.ct-communities-page, .ct-route-frame, .ct-browse-directory, .ct-community-home, .ct-launch-detail-page, .ct-job-detail-page, .ct-blog-page, .ct-showcase-frame, .ct-search-page, .ct-profile-page, .ct-member-post-page, .ct-mailcheaper, .reader-offers-inner, .ct-bookmarks-page, .ct-standalone-tool-page, .ct-admin-page, .newsletter-hero-layout, .ct-demo-page, .signup-offers, [data-post-subscribe-flow])) {
    padding-left: var(--ct-layout-navigation-width);
  }
  body.ct-static-page { padding-left: var(--ct-layout-navigation-width); }
}

/* All routes collapse at the same breakpoint. The main column stays centered
   and fluid; supplementary right rails leave the mobile reading flow. */
@media (max-width: 1149px) {
  :root { --ct-layout-reserved-width: 0px; }
  :root body :is(.ct-community-layout, .ct-communities-layout, .ct-profile-layout, .ct-showcase-detail-layout, .ct-launch-detail-layout, .ct-job-launch-layout, .ct-blog-reading-layout, .newsletter-hero-layout:not(.subscribe-embedded *)) {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
  }
  :root body :is(.ct-community-layout > .ct-community-about, .ct-communities-layout > .ct-community-about, .ct-profile-layout > .ct-community-about, .ct-showcase-detail-layout > .ct-showcase-author-rail, .ct-launch-detail-layout > .ct-launch-sidebar, .ct-job-launch-layout > .ct-job-sidebar, .ct-blog-reading-layout > .ct-blog-rail) {
    display: none;
    width: 100%;
    max-width: none;
  }
  :root body .ct-profile-layout > .ct-community-about { display: none; }
}

/* Threads uses a full navigation at 1350px; hover expansion below that width
   remains an overlay, so opening the menu never moves the reading column. */
@media (min-width: 1350px) {
  :root { --ct-layout-navigation-width: 265px; }
}

@media (min-width: 700px) and (max-width: 1149px) {
  :root {
    --ct-layout-main-available: calc(100vw - 154px);
    --ct-layout-leading-space: max(9px, calc((100vw - var(--ct-layout-main-width)) / 2 - var(--ct-layout-navigation-width)));
  }
  :root body :is(#ct-main > .ct-page-gutters:has(> .ct-community-home), .ct-launch-detail-page, .ct-job-detail-page, .ct-blog-detail, .ct-club-hub, .ct-communities-page, .ct-profile-frame, .ct-showcase-detail-frame, .newsletter-hero-layout:not(.subscribe-embedded *)) {
    width: min(var(--ct-layout-main-width), var(--ct-layout-main-available));
    max-width: none;
    margin-inline-start: var(--ct-layout-leading-space);
    margin-inline-end: auto;
    padding-inline: 0;
  }
  :root body :is(.ct-community-layout > .ct-community-about, .ct-communities-layout > .ct-community-about, .ct-blog-reading-layout > .ct-blog-rail) { display: none; }
}

/* The rail replaces mobile navigation at the measured 700px cutoff. */
@media (min-width: 700px) and (max-width: 1023px) {
  html:root { --ct-mobile-nav-h: 0px; --ct-header-stack-h: 0px; }
  body .hidden:has(> .ct-desktop-sidebar) { display: block; }
  body :is(.ct-mobile-header, .ct-mobile-bottom-nav, .ct-mobile-create) { display: none; }
  html[data-ct-sidebar] #root { padding-left: var(--ct-layout-navigation-width); }
  html[data-ct-sidebar] .ct-content-fixed { left: var(--ct-layout-navigation-width); }
}

/* The publisher's embedded feed belongs to its profile column, not a nested grid. */
:root body .ct-profile-page .ct-home-trending { display: none; }
:root body .ct-profile-page .ct-home-feed-header { display: none; }

@media (max-width: 639px) {
  :root { --ct-layout-page-gutter: 16px; }
}

/* Measured Threads typography applies to community/page chrome, never tool canvases. */
:root body :is(.ct-community-page, .ct-community-hub, .ct-communities-page, .ct-community-detail-page, .ct-profile-page, .ct-member-post-page) { font-size: var(--ct-type-body); line-height: var(--ct-line-body); }
:root body :is(.ct-community-header, .ct-route-header, .ct-browse-header-title) h1 { font-size: var(--ct-type-heading); line-height: var(--ct-line-heading); font-weight: 600; letter-spacing: normal; }
:root body :is(.ct-post-community-body, .ct-conversation-writing > p) { font-size: var(--ct-type-body); line-height: var(--ct-line-body); }
:root body .ct-post-community-title { --ct-heading-weight: 400; }
:root body :is(.ct-post-action, .ct-conversation-actions) svg { width: var(--ct-post-icon); height: var(--ct-post-icon); }
:root body .ct-home-trending h2 { font-size: var(--ct-type-rail-heading); line-height: var(--ct-line-rail-heading); font-weight: 600; letter-spacing: normal; }

:root body .ct-conversation-post { --ct-post-indent: calc(var(--ct-avatar-size) + 12px); }
:root body :is(.ct-conversation-byline > span.rounded-full, .ct-conversation-byline > a > span.rounded-full, .ct-post-community-byline > span.rounded-full, .ct-post-community-byline > a > span.rounded-full) { width: var(--ct-avatar-size) !important; height: var(--ct-avatar-size) !important; }

:root body :is(.ct-community-header, .ct-route-header, .ct-browse-header-title, .ct-home-trending) { --ct-heading-weight: 600; }
:root body :is(.ct-home-feed-header, .ct-launch-sidebar, .ct-job-sidebar, .ct-blog-rail) { --ct-heading-weight: 600; }
:root body :is(.ct-home-feed-header, .ct-route-header, .ct-browse-header-title, .ct-search-page, .ct-profile-identity, .ct-launch-profile, .ct-communities-identity, .ct-home-trending, .ct-launch-sidebar, .ct-job-sidebar, .ct-blog-rail) :is(h1, h2, h3) { font-family: var(--ct-font-ui); }
:root body :is(.ct-feed-compose-action, .ct-sidebar-new-post, .ct-communities-join, .ct-home-trending .ct-follow-control) { --ct-action-weight: 600; }

/* One hierarchy across feed, replies, directories, profiles, and route chrome. */
:root body :is(.ct-route-header-label, .ct-browse-header-title, .ct-profile-back h1, .ct-member-post-header > span, .ct-feed-detail-header h1, .ct-communities-identity h1, .ct-blog-article-heading h1) {
  font-size: var(--ct-type-heading); line-height: var(--ct-line-heading); font-weight: 600; letter-spacing: normal;
}
:root body :is(.ct-profile-identity, .ct-launch-profile) { --ct-heading-weight: 700; }
:root body :is(.ct-profile-identity, .ct-launch-profile) h1 { font-size: var(--ct-type-profile); line-height: var(--ct-line-profile); letter-spacing: normal; }
:root body :is(.ct-hero-description, .ct-blog-article-dek, .ct-profile-bio, .ct-communities-intro > p, .ct-conversation-identity > a, .ct-conversation-identity > span, .ct-comment-name, .ct-comment-byline time, .ct-post-community-date, .ct-feed-compose-prompt) { font-size: var(--ct-type-body); line-height: var(--ct-line-body); letter-spacing: normal; }
:root body :is(.ct-post-community-byline, .ct-conversation-identity) :is(a, span) { letter-spacing: normal; }
:root body .ct-post-community-byline > .min-w-0 > .flex { min-width: 0; white-space: nowrap; }
:root body .ct-post-community-byline > .min-w-0 > .flex > :is(svg, :first-child) { flex-shrink: 0; }
/* Editorial updates use the same author rail in home, community, and profile feeds. */
:root body .ct-post-community:not(.ct-conversation-post) { --ct-post-indent: 48px; }
:root body .ct-post-community:not(.ct-conversation-post) .ct-post-community-content { position: relative; padding: 24px var(--ct-post-inset, 24px) 6px; }
:root body .ct-post-community:not(.ct-conversation-post) .ct-post-community-byline { min-height: 21px; padding-left: var(--ct-post-indent); padding-right: 26px; align-items: flex-start; }
:root body .ct-post-community:not(.ct-conversation-post) .ct-editorial-avatar { position: absolute; left: var(--ct-post-inset, 24px); top: 24px; }
:root body .ct-post-community:not(.ct-conversation-post) .ct-post-community-byline > .ct-post-more { position: absolute; right: 16px; top: 15px; }
:root body .ct-post-community:not(.ct-conversation-post) .ct-post-community-title { margin-top: 3px; font-size: 15px; line-height: 21px; letter-spacing: normal; }
:root body .ct-sidebar-tab-button { --ct-action-weight: 400; }
:root body .ct-sidebar-tab-button[aria-current="page"] { --ct-action-weight: 600; }
:root body :is(.ct-suggested-profile-body > p, .ct-home-trending-description, .ct-home-trending > p, .ct-communities-row-copy > span) { font-size: var(--ct-type-muted); line-height: var(--ct-line-muted); }
:root body .ct-home-trending > :is(h2, p, ol, .ct-home-trending-more, .ct-suggested-profiles) { margin-inline: 12px; }
:root body .ct-home-trending .ct-follow-control { min-height: 30px; padding: 4px 10px; border-radius: 10px; background: #fff; font-size: 13px; line-height: 21px; font-weight: 600; }
:root body .ct-launch-profile .ct-hero-description { font-size: var(--ct-type-body) !important; line-height: var(--ct-line-body) !important; }
:root body :is(.ct-communities-tabs > button, .ct-communities-row-copy strong, .ct-home-trending-label strong, .ct-suggested-profile-name) { font-size: var(--ct-type-body); line-height: var(--ct-line-body); font-weight: 600; letter-spacing: normal; }
:root body .ct-suggested-profiles-more { font-size: var(--ct-type-body); line-height: var(--ct-line-body); }
:root body .ct-communities-members { font-size: 12px; line-height: 16.8px; }
:root body .ct-communities-join { font-size: var(--ct-type-body); line-height: var(--ct-line-body); min-width: 64px; min-height: 34px; padding: 6px 16px; border-radius: 10px; }
:root body :is(.ct-post-composer-header h2, .ct-reply-composer-header h2) { --ct-heading-weight: 600; font-size: 16px; line-height: 22.4px; }
:root body :is(.ct-composer-body, .ct-composer-title, .ct-composer-author, .ct-composer-author-row, .ct-post-composer-header > button) { font-size: var(--ct-type-body); line-height: var(--ct-line-body); }
:root body .ct-blog-detail .blog-content:not(.blog-newsletter) :is(p, li) { font-size: var(--ct-type-body) !important; line-height: var(--ct-line-body) !important; }
:root body .ct-blog-detail .blog-content:not(.blog-newsletter) :is(h2, h3) { font-size: var(--ct-type-rail-heading) !important; line-height: var(--ct-line-rail-heading) !important; letter-spacing: normal; }
:root body :is(.ct-launch-sidebar, .ct-job-sidebar, .ct-blog-rail) h2 { font-size: var(--ct-type-rail-heading); line-height: var(--ct-line-rail-heading); letter-spacing: normal; }
:root body .ct-profile-back > span { font-size: var(--ct-type-heading); line-height: var(--ct-line-heading); }

@media (min-width: 700px) {
  :root body .ct-communities-page { padding-top: 0; }
  :root body .ct-communities-page .ct-route-header { min-height: 72px; padding: 10px 24px 14px; }
  :root body .ct-communities-page .ct-home-trending { margin-top: 18px; padding-top: 0; }
  :root body .ct-profile-page { padding-top: 0; }
  :root body .ct-profile-back { min-height: 72px; margin-top: 0; margin-bottom: 24px; }
  :root body .ct-profile-identity { padding-top: 8px; }
  :root body .ct-profile-frame .ct-profile-back { padding-inline: 24px; }
  :root body .ct-profile-frame .ct-profile-identity { margin-inline: 24px; }
  :root body .ct-member-post-page { padding-top: 0; }
  :root body .ct-member-post-header { min-height: 72px; margin-bottom: 0; padding: 0 24px 4px; }
  :root body .ct-detail-breadcrumb { padding-block: 0; }
  :root body .ct-detail-breadcrumb .ct-page-subnav-inline-breadcrumb { min-height: 72px; margin: 0; padding: 0 24px 4px; border: 0; }
  :root body .ct-detail-breadcrumb .ct-breadcrumb-trail { max-width: none; }
  :root body .ct-detail-breadcrumb .ct-breadcrumb-trail > :is(a, svg) { display: none; }
  :root body .ct-detail-breadcrumb .ct-breadcrumb-trail > [aria-current="page"] { font-size: var(--ct-type-heading); line-height: var(--ct-line-heading); font-weight: 600; }
  :root body .ct-detail-breadcrumb .ct-breadcrumb-back { width: 40px; min-width: 40px; height: 40px; margin-right: 0; }
  :root body .ct-detail-breadcrumb .ct-breadcrumb-back svg { width: 20px; height: 20px; }
  :root body .ct-launch-detail-page { padding-top: 0; }
  :root body .ct-launch-profile { padding: 32px 24px 24px; }
  :root body .ct-launch-profile h1 { padding-top: 0; }
  :root body .ct-launch-profile .ct-hero-profile-subtitle { min-height: 21px; margin-top: 2px; font-size: 15px; line-height: 21px; }
}

@media (max-width: 699px) {
  :root body .ct-community-home .ct-post-community-byline > .ct-post-more { right: 4px; top: 5px; }
  :root body .ct-community-home .ct-feed-compose { min-height: 72px; padding: 16px 12px; }
  :root body .ct-community-home .ct-feed-compose-action { font-size: 15px; line-height: 21px; }
  :root body .ct-card .ct-post-action svg { width: var(--ct-post-icon); height: var(--ct-post-icon); }
}

/* Authentication and single-purpose submissions do not mount the social rail.
   Center their content in the viewport rather than reserving empty columns. */
:root body #root:has(> :is(.ct-password-recovery-page, .ct-auth-callback, .ct-admin-page, .ct-spotlight-page, .ct-spotlight-agreement)) { padding-left: 0 !important; }
:root body #root :is(.ct-spotlight-page > .ct-spotlight-frame, .ct-spotlight-agreement > .ct-legal-frame) { width: min(var(--ct-layout-main-width), calc(100% - 32px)); max-width: var(--ct-layout-main-width); margin-inline: auto; }
:root body #root .ct-password-recovery-page > .ct-route-frame { width: min(480px, calc(100% - 32px)); max-width: 480px; margin-inline: auto; }
/* Static documentation has no mounted navigation rail. */
body.ct-static-page { --ct-layout-main-available: calc(100% - 2 * var(--ct-layout-page-gutter)); --ct-layout-leading-space: auto; padding-left: 0 !important; }
/* Catalog filters belong to the same reading track as their result list. */
@media (min-width: 700px) {
  :root body .ct-page-subnav-desktop .ct-page-subnav {
    box-sizing: border-box;
    width: min(var(--ct-layout-main-width), var(--ct-layout-main-available));
    max-width: none;
    min-width: 0;
    margin-inline-start: var(--ct-layout-leading-space);
    margin-inline-end: auto;
    padding-inline: 0;
  }
  :root body .ct-page-subnav-desktop .ct-page-subnav-group { flex-wrap: wrap; }
}
