/* Shared dimensions for publication and Lab. Loaded after each host's base skin.
   Keep outer gutters in the page shell; nested sections must not add them again. */
@font-face {
  font-family: "RV Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/inter-roman.woff2") format("woff2");
}
:root {
  --rv-font: "RV Sans", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --rv-page-width: 78rem;
  --rv-reading-width: 72ch;
  --rv-gutter: clamp(1rem, .75rem + 1vw, 1.5rem);
  --rv-section-gap: clamp(1.5rem, 1.1rem + 1.2vw, 2rem);
  --rv-heading-gap: 1rem;
  --rv-heading-copy-gap: .5rem;
  --rv-card-gap: 1.5rem;
  --rv-panel-padding: clamp(1.125rem, .85rem + 1vw, 1.5rem);
  --rv-text-meta: .8125rem;
  --rv-text-small: .875rem;
  --rv-text-body: 1rem;
  --rv-text-reading: 1.125rem;
  --rv-text-card: clamp(1.125rem, 1.05rem + .25vw, 1.25rem);
  --rv-text-section: clamp(1.5rem, 1.2rem + 1vw, 2rem);
  --rv-text-page: clamp(2rem, 1.6rem + 1.5vw, 2.75rem);
  --rv-text-article: clamp(1.875rem, 1.5rem + 1.4vw, 2.625rem);
  --rv-control-height: 2.75rem;
  --rv-header-control: 2.25rem;
}
body:is(.rv-publication, .rv-lab) {
  font-family: var(--rv-font);
  font-size: var(--rv-text-body);
  line-height: 1.65;
}
body.rv-publication :is(.gh-viewport, .gh-row-container) { block-size: auto; min-block-size: 0; }
body.rv-publication .gh-main-content { padding: 0; }
body.rv-publication :is(.gh-home-container, .rv-archive, .rv-topic, .rv-col-hub, .rv-col-reader, .gh-author-container, .gh-container.gh-outer),
body.rv-lab main {
  box-sizing: border-box;
  inline-size: 100%;
  max-inline-size: var(--rv-page-width);
  margin-inline: auto;
  padding-inline: var(--rv-gutter);
}
body.rv-publication :is(.rv-archive, .rv-topic, .rv-col-hub, .rv-col-reader, .gh-author-container, .gh-container.gh-outer),
body.rv-lab main { padding-block: var(--rv-section-gap); }
body.rv-publication :is(.rv-archive-shell, .gh-inner) { max-inline-size: none; }
body.rv-publication .gh-home-container { padding-block-start: 1.5rem; }
body.rv-publication .rv-columns { font: inherit; }
body.rv-publication .rv-col-home { inline-size: 100%; margin: 0; }
body.rv-publication .silicon-lab { padding: var(--rv-section-gap) var(--rv-gutter); }
body.rv-publication .sl-shell { max-inline-size: calc(var(--rv-page-width) - 2 * var(--rv-gutter)); }

/* Header, topic strip and footer align to the same content edges. */
body .rv-sitebar-inner,
body.rv-publication .gh-keywords-inner {
  box-sizing: border-box;
  max-inline-size: var(--rv-page-width);
  padding-inline: var(--rv-gutter);
}
body .rv-sitebar-inner { gap: .5rem 1.5rem; padding-block: .625rem; min-block-size: 4.25rem; flex-wrap: wrap; }
body .rv-sitebar-inner > nav { gap: .125rem .5rem; flex: 1 1 auto; flex-wrap: wrap; justify-content: center; order: initial; overflow: visible; }
body .rv-sitebar-inner > nav a,
body .rv-language a,
body .rv-account-link { display: inline-flex; align-items: center; min-block-size: var(--rv-header-control); padding: .375rem .5rem; font-size: var(--rv-text-small); font-weight: 600; line-height: 1.4; letter-spacing: 0; }
body .rv-brand { flex: 0 1 auto; min-inline-size: 0; gap: .625rem; font-size: 1.625rem; font-weight: 750; line-height: 1.1; letter-spacing: -.035em; }
body .rv-brand strong { font-weight: inherit; }
body .rv-brand small { margin-block-start: .25rem; font-size: .6875rem; font-weight: 400; line-height: 1.4; letter-spacing: .015em; white-space: normal; }
body .rv-brand .rv-preview { font-size: .5625rem; font-weight: 500; line-height: 1.3; letter-spacing: .02em; padding: .125rem .25rem; }
body .rv-brand-mark { flex: none; inline-size: 2.5rem; block-size: 2.5rem; }
body .rv-header-tools { gap: .375rem; flex-wrap: wrap; order: initial; margin-inline-start: auto; }
/* Text and icons carry the chrome; reserve filled buttons for content actions. */
body .rv-sitebar-inner > nav a,
body .rv-sitebar .rv-language a,
body .rv-sitebar .rv-account-link { color: var(--rv-ink); border: 0; border-radius: .25rem; background: transparent; }
body .rv-sitebar-inner > nav a:is(:hover, [aria-current]),
body .rv-sitebar .rv-language a:is(:hover, [aria-current]),
body .rv-sitebar .rv-account-link:is(:hover, [aria-current]) { color: var(--rv-primary); background: transparent; text-decoration: underline; text-underline-offset: .4em; text-decoration-thickness: .125rem; }
body .rv-sitebar .rv-theme-control { inline-size: var(--rv-header-control); block-size: auto; min-block-size: var(--rv-header-control); padding: 0; gap: 0; justify-content: center; border: 0; background: transparent; border-radius: .25rem; }
/* Keep the native, named select focusable and clickable across the entire icon. */
body .rv-theme-control select { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; min-inline-size: 0; min-block-size: 0; margin: 0; padding: 0; opacity: 0; font-size: 1rem; }
body .rv-theme-control > svg:first-child { display: block; inline-size: 1.125rem; block-size: 1.125rem; color: var(--rv-ink); }
body .rv-theme-control > .rv-theme-chevron { display: none; }
body .rv-header-tools .gh-search-toggle { min-inline-size: var(--rv-header-control); min-block-size: var(--rv-header-control); padding: .5rem; }
/* Keep the original compact topic strip; allow it to grow with zoomed text. */
body.rv-publication .gh-navigation { height: auto !important; min-block-size: 2.5rem; flex-basis: auto; }
body.rv-publication .gh-keywords-bar { block-size: auto; min-block-size: 2.5rem; padding-block: .125rem; }
body.rv-publication .gh-keywords-bar :is(.gh-keyword-button, .rv-topics-button) { font-size: .8125rem; min-block-size: 2rem; line-height: 1.5; padding-block: .25rem; }
body.rv-publication .gh-keyword-button { padding-inline: 1rem; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-weight: 500; }
body.rv-publication .gh-keyword-button:not(:last-child) { border-inline-end: 1px solid var(--rv-line); }
body.rv-publication .gh-keyword-button:hover { color: var(--rv-primary); background: transparent; text-decoration: underline; text-underline-offset: .25em; }
body.rv-lab .lab-nav { gap: .375rem; padding: .5rem var(--rv-gutter); flex-wrap: wrap; }
body.rv-lab .lab-nav a { font-size: var(--rv-text-small); min-block-size: var(--rv-control-height); display: inline-flex; align-items: center; white-space: normal; }

/* A consistent type hierarchy; reading text is separate from interface text. */
body.rv-publication :is(.rv-archive h1, .rv-topic-header h1, .rv-col-hero h1, .gh-author-name, .gh-title-large, .cpu-model-title, .silicon-lab h1),
body.rv-lab :is(h1, .page-heading h1, .hero h1) {
  font-family: var(--rv-font);
  font-size: var(--rv-text-page);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-wrap: balance;
  margin-block: .5rem 1rem;
}
/* Keep selector weight equal across peers so later component spacing can win. */
body.rv-publication :is(.gh-section-header, .gh-section-title, .rv-discovery-heading, .rv-briefs-header h2, .rv-col-masthead h2, .rv-col-heading h2, .rv-col-section-heading h2, .rv-topic-toolbar h2, .gh-author-articles-title, .gh-newsletter-title),
body.rv-lab :is(h2, .section-title h2, .feature h2, .panel h2) {
  font-family: var(--rv-font);
  font-size: var(--rv-text-section);
  line-height: 1.2;
  font-weight: 750;
  letter-spacing: -.02em;
  margin-block: 0 var(--rv-heading-gap);
  text-wrap: balance;
  overflow-wrap: anywhere;
}
body.rv-publication :is(.gh-card-title, .rv-topic-card h3, .rv-col-home-stories h3, .gh-post-card-title, .rv-brief h3),
body.rv-lab :is(.card-body h3, .reports h3, .article h2) {
  font-size: var(--rv-text-card);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
}
body.rv-publication :is(.rv-archive-intro, .rv-topic-description, .rv-col-intro, .gh-home-subtitle, .gh-author-bio, .sl-hero-copy > p),
body.rv-lab :is(.page-heading > p, .hero > div > p) { font-size: 1.0625rem; line-height: 1.75; max-inline-size: 65ch; }
body.rv-publication :is(.rv-col-eyebrow, .rv-col-index, .rv-archive-eyebrow, .rv-topic-eyebrow, .sl-eyebrow),
body.rv-lab .eyebrow { font-size: .75rem; line-height: 1.5; letter-spacing: .08em; }
body.rv-publication :is(.rv-archive-meta, .rv-archive-byline, .rv-topic-card-meta, .rv-topic-card-footer, .rv-col-meta, .rv-col-byline, .rv-discovery-reason, .rv-brief time),
body.rv-lab :is(.card-kicker, .card-kicker > span, .spec-line, .card-bottom, .badge, .footnote, .account-note) { font-size: var(--rv-text-meta); line-height: 1.6; }
body.rv-publication :is(.rv-archive .gh-card-excerpt, .rv-topic-excerpt, .rv-brief p, .rv-col-post p, .rv-col-category p, .rv-col-editorial-note p),
body.rv-lab :is(.card-body > p, .panel p, .feature p, .article p, .guide li) { font-size: .9375rem; line-height: 1.7; }

/* Homepage sections share one gap, rather than stacking padding and margins. */
body.rv-publication .gh-home-header { margin-block: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
body.rv-publication .gh-home-header::before { display: none; }
body.rv-publication .gh-home-header-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .75rem 1.5rem; padding: 0; backdrop-filter: none; }
body.rv-publication .gh-home-title-container { min-inline-size: 0; text-align: start; }
body.rv-publication .gh-home-title { font-family: var(--rv-font); font-size: clamp(1.625rem, 1.4rem + .65vw, 2rem); font-weight: 700; line-height: 1.25; letter-spacing: -.025em; text-wrap: balance; margin-block: 0 var(--rv-heading-copy-gap); color: var(--rv-ink); text-shadow: none; }
body.rv-publication .gh-home-header-highlight { background: none; color: var(--rv-primary); }
body.rv-publication .gh-home-subtitle { font-size: 1rem; font-weight: 400; line-height: 1.6; margin: 0; color: var(--rv-muted); }
body.rv-publication .gh-home-prof-b-zone { margin: 0; padding: 0; }
body.rv-publication .gh-home-prof-b-zone .prof-b-avatar { inline-size: 3.5rem; block-size: 3.5rem; }
body.rv-publication .gh-home-prof-b-zone img { inline-size: 100%; block-size: 100%; }
body.rv-publication .gh-home-nav { grid-column: 1 / -1; justify-content: flex-start; gap: .25rem 1.5rem; margin: 0; flex-wrap: wrap; flex-wrap: balance; }
body.rv-publication .gh-home-nav-link { display: inline-flex; align-items: center; min-block-size: 2.25rem; padding: .375rem 0; font-size: var(--rv-text-small); line-height: 1.4; border: 0; background: transparent; color: var(--rv-muted); backdrop-filter: none; box-shadow: none; }
body.rv-publication .gh-home-nav-link:hover { color: var(--rv-primary); text-decoration: underline; text-underline-offset: .2em; transform: none; }
body.rv-publication .gh-industry-bar { margin: 0; padding: .875rem 0; }
body.rv-publication .gh-industry-bar-inner { padding: 0; gap: 1rem; flex-wrap: wrap; }
body.rv-publication .gh-industry-logos { gap: .75rem 1.5rem; flex-wrap: wrap; }
body.rv-publication .gh-industry-label { font-size: var(--rv-text-meta); }
body.rv-publication .gh-industry-logo { font-size: 1rem; }
body.rv-publication .gh-home-container > :is(.rv-col-home, .rv-discovery, .rv-home-briefs, .gh-home-section) {
  inline-size: 100%;
  max-inline-size: none;
  margin: 0;
  padding: var(--rv-section-gap) 0 0;
}
body.rv-publication .gh-home-container > .rv-discovery { border-block-start: 0; }
body.rv-publication .gh-home-container > .rv-home-briefs { border-block-start: 0; }
body.rv-publication .gh-home-container > .gh-divider { margin-block: var(--rv-section-gap) 0; }
body.rv-publication :is(.rv-col-masthead, .rv-col-heading, .rv-briefs-header, .gh-section-header-with-link, .rv-topic-toolbar) { gap: .75rem 1.5rem; margin-block: 0 var(--rv-heading-gap); flex-wrap: wrap; }
body.rv-publication :is(.rv-col-heading, .rv-briefs-header, .gh-section-header-with-link, .rv-topic-toolbar) { align-items: baseline; }
/* A header owns the gap below its title/description, avoiding doubled margins. */
body.rv-publication :is(.rv-col-masthead h2, .rv-col-heading h2, .rv-briefs-header h2, .gh-section-header-with-link h2, .rv-col-section-heading h2, .rv-topic-toolbar h2) { margin: 0; }
body.rv-publication :is(.rv-col-masthead p, .rv-briefs-header p, .rv-col-heading h2 + p) { margin-block: var(--rv-heading-copy-gap) 0; }
body.rv-publication .rv-col-heading .rv-col-eyebrow { margin-block-end: var(--rv-heading-copy-gap); }
body.rv-publication .rv-col-preview-strip { padding-block: .875rem 0; margin-block-start: .25rem; border: 0; }
body.rv-publication .rv-discovery-tabs { gap: .5rem; margin-block: 0 var(--rv-heading-gap); }
body.rv-publication .rv-reading-preferences { margin-block: 0 1.25rem; }
body.rv-publication :is(.rv-col-categories, .rv-discovery-list, .rv-col-posts, .rv-topic-grid, .gh-grid-posts) { gap: var(--rv-card-gap); }
body.rv-publication .rv-col-category { padding: var(--rv-panel-padding); }
body.rv-publication .rv-col-category-top { margin-block-end: 1rem; }
body.rv-publication :is(.rv-col-category h3, .rv-col-path h3, .rv-topic-support-card h2, .gh-sidebar-title, .rv-col-editorial-note h2, .rv-col-author-bio h2, .cpu-page .gh-content h3) { font-family: var(--rv-font); font-size: var(--rv-text-card); font-weight: 650; line-height: 1.4; letter-spacing: -.015em; text-wrap: balance; margin-block: 0 .75rem; }
body.rv-publication .rv-col-path h3 { margin: 0; }
body.rv-publication .rv-col-path p { margin-block-start: var(--rv-heading-copy-gap); }
body.rv-publication .rv-col-topics { margin-block-start: 1.25rem; }
body.rv-publication .rv-col-topics li { font-size: .75rem; }
body.rv-publication :is(.rv-col-text-link, .rv-col-preview-strip, .rv-col-tabs a, .rv-briefs-header > a, .rv-discovery-browse) { font-size: var(--rv-text-small); }
body.rv-publication :is(.rv-archive-card-body, .rv-topic-card-body) { min-inline-size: 0; }
body.rv-publication :is(.rv-discovery .rv-archive-card-body, .rv-topic-card-body, .rv-topic-support-card) { padding: var(--rv-panel-padding); }
body.rv-publication .rv-discovery .gh-card-title { min-block-size: 0; }
body.rv-publication .rv-discovery .gh-card-excerpt { min-block-size: 0; }
body.rv-publication .rv-brief { padding-block: 1.125rem; }
body.rv-publication .rv-briefs-list { column-gap: var(--rv-card-gap); }
body.rv-publication .gh-home-container > .gh-newsletter-section { padding: var(--rv-panel-padding); margin-block-start: var(--rv-section-gap); }

/* Channel, archive, author and secondary-page headings use the same rhythm. */
body.rv-publication :is(.rv-archive-header, .rv-topic-header, .gh-author-header, .gh-container.gh-outer .gh-header) { padding-block: 0 1.5rem; margin-block: 0 1.5rem; }
body.rv-publication .rv-col-tabs { margin-block: 1.5rem; }
body.rv-publication .rv-col-listing { padding-block-start: var(--rv-section-gap); }
body.rv-publication .rv-col-hero + .rv-col-listing { padding-block-start: 0; }
body.rv-publication .rv-col-section-heading { padding-block-end: var(--rv-heading-gap); }
body.rv-publication .rv-col-empty { padding: var(--rv-panel-padding); grid-template-columns: 3rem minmax(0, 1fr); gap: 1.5rem; margin-block-start: 1.25rem; }
body.rv-publication .rv-col-empty-mark { font-size: 5rem; }
body.rv-publication .rv-col-empty h3 { font-size: 1.5rem; }
body.rv-publication .rv-col-editorial-note { margin-block-start: var(--rv-section-gap); padding-block-start: 1.5rem; }
body.rv-publication .rv-archive-filters { padding: var(--rv-panel-padding); }
body.rv-publication .rv-archive-card-link { gap: 1.25rem; padding: var(--rv-panel-padding); }
body.rv-publication .rv-discovery .rv-archive-card-link { gap: 0; padding: 0; }
body.rv-publication .rv-topic-layout { grid-template-columns: minmax(0, 1fr) 17rem; gap: var(--rv-card-gap); }
body.rv-publication .rv-topic-layout .rv-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.rv-publication .rv-topic-support-card p { font-size: var(--rv-text-small); }
body.rv-publication .gh-author-profile { gap: var(--rv-card-gap); }
body.rv-publication .gh-author-image { inline-size: 6rem; block-size: 6rem; }
body.rv-publication .cpu-page { padding-block: var(--rv-section-gap); }
body.rv-publication .cpu-page .gh-article-header { margin-block-end: 1.5rem; }

/* Articles use the card's available width; avoid a second inset reading column. */
body.rv-publication.post-template .gh-main-post {
  box-sizing: border-box;
  max-inline-size: var(--rv-page-width);
  inline-size: 100%;
  padding: var(--rv-section-gap) var(--rv-gutter) 0;
  gap: var(--rv-card-gap);
  grid-template-columns: minmax(0, 1fr) 17rem;
}
body.rv-publication.post-template .gh-main-post:not(:has(.gh-article-right-sidebar)) { max-inline-size: var(--rv-page-width); }
body.rv-publication.post-template .gh-article { box-sizing: border-box; padding: var(--rv-panel-padding); }
body.rv-publication.post-template .gh-article-title,
body.rv-publication .rv-col-article-header h1.gh-article-title { font-size: var(--rv-text-article); line-height: 1.25; max-inline-size: 36ch; margin-block: .75rem 1.25rem; }
body.rv-publication.post-template :is(.gh-content-body, .gh-article-header) { max-inline-size: 100%; margin-inline: 0; }
body.rv-publication .rv-col-body { max-inline-size: var(--rv-reading-width); margin-inline: auto; }
body.rv-publication.post-template .gh-content-body,
body.rv-publication .rv-col-reader .rv-col-body { font: 400 var(--rv-text-reading)/1.8 var(--rv-font); text-wrap: pretty; }
body.rv-publication.post-template .gh-content-body :is(h1, h2):not(:where(.kg-card *, .gh-members-cta *)),
body.rv-publication .rv-col-body h2 { font-size: clamp(1.375rem, 1.3rem + .3vw, 1.5rem); line-height: 1.35; margin-block: 1.75em .75em; text-wrap: balance; }
body.rv-publication.post-template .gh-content-body h3:not(:where(.kg-card *, .gh-members-cta *)),
body.rv-publication .rv-col-body h3 { font-size: var(--rv-text-card); line-height: 1.4; margin-block: 1.5em .625em; text-wrap: balance; }
body.rv-publication.post-template .gh-content-body :is(h4, h5, h6):not(:where(.kg-card *, .gh-members-cta *)) { font-size: 1.125rem; }
body.rv-publication.post-template .gh-article-excerpt { font-size: 1.125rem; line-height: 1.75; }
body.rv-publication .rv-col-article-header { max-inline-size: none; padding-block: 1.25rem 1.5rem; margin-block-end: 1.5rem; }
body.rv-publication .rv-col-reading-grid:has(.rv-col-rail:not([hidden])) { grid-template-columns: 13rem minmax(0, 1fr); gap: 2rem; }
body.rv-publication .rv-col-preview-note { margin-block: 1rem 1.5rem; padding: 1rem 1.25rem; font-size: var(--rv-text-small); }
body.rv-publication .rv-col-toc a { font-size: var(--rv-text-meta); }
body.rv-publication .rv-col-toc h2 { font-size: var(--rv-text-small); }
body.rv-publication .rv-col-article-footer { margin-block-start: var(--rv-section-gap); }
body.rv-publication .gh-main-content > .rv-discovery { box-sizing: border-box; max-inline-size: var(--rv-page-width); inline-size: 100%; padding: var(--rv-section-gap) var(--rv-gutter) 0; margin-block: var(--rv-section-gap) 0; border: 0; }
body.rv-publication .gh-review-header { block-size: auto; min-block-size: 20rem; padding-block-start: 3rem; }
body.rv-publication .gh-review-header h1 { font-size: var(--rv-text-article); }
body.rv-publication :is(.gh-hardware-review, .gh-software-tutorial) > :is(header, div) { box-sizing: border-box; max-inline-size: var(--rv-page-width); padding-inline: var(--rv-gutter); margin-inline: auto; }

/* Reading resources occupy spare outer space without moving the centered page. */
body.rv-publication .rv-sponsored-layout > :first-child { min-inline-size: 0; }
body.rv-publication .rv-article-rail { box-sizing: border-box; inline-size: 100%; max-inline-size: var(--rv-page-width); margin-inline: auto; padding: var(--rv-section-gap) var(--rv-gutter) 0; }
body.rv-publication .rv-article-rail .gh-article-right-sidebar { display: block; position: static; grid-column: auto; max-inline-size: 18.75rem; }
body.rv-publication .rv-article-rail .gh-sidebar-box { margin-block-end: var(--rv-card-gap); }
body.rv-publication .rv-article-rail .gh-sidebar-ad { max-inline-size: 18.75rem; margin: 0; }
body.rv-publication .rv-article-rail .gh-ad-label { font-size: .6875rem; line-height: 1.5; }
body.rv-publication .rv-article-rail .gh-ad-content { min-block-size: 15.625rem; block-size: auto; padding: 2rem 1rem; font-size: var(--rv-text-small); }
body.rv-publication .rv-article-rail .gh-ad-placeholder { overflow-wrap: anywhere; }
@media (min-width: 112rem) {
  body.rv-publication .rv-sponsored-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, var(--rv-page-width)) minmax(0, 1fr); grid-template-areas: ". content advertising"; align-items: start; }
  body.rv-publication .rv-sponsored-layout > :first-child { grid-area: content; }
  body.rv-publication .rv-article-rail { grid-area: advertising; inline-size: min(100%, 20.25rem); margin: 0; padding-inline-start: 0; }
}

/* Lab pages: aligned cards, comfortable forms, and consistent section separation. */
body.rv-lab .page-heading { margin: 0 0 1.5rem; }
body.rv-lab .page-heading p { margin-block: 0; }
body.rv-lab :is(.hero, .panel, .feature, .filterbar, .article, .metrics) { padding: var(--rv-panel-padding); }
body.rv-lab .hero { gap: 1.5rem; margin-block: 0 var(--rv-section-gap); }
body.rv-lab .hero h1 { margin-block: .75rem 1rem; }
body.rv-lab .hero-mark { block-size: 14rem; }
body.rv-lab .metrics { margin-block-end: var(--rv-section-gap); gap: 1.5rem; }
body.rv-lab .metrics > div { padding-inline: 1rem; }
body.rv-lab .metrics strong { font-size: 1.875rem; }
body.rv-lab :is(.metrics span, .metric-note p) { font-size: var(--rv-text-meta); }
body.rv-lab :is(.cards, .feature-grid, .article-grid, .detail-grid, .account-grid, .form-grid) { gap: var(--rv-card-gap); }
body.rv-lab .feature-grid { margin-block-start: var(--rv-section-gap); }
body.rv-lab .page-heading + .feature-grid { margin-block-start: 0; }
body.rv-lab .section-title { flex-wrap: wrap; gap: .75rem 1.5rem; margin-block: var(--rv-section-gap) var(--rv-heading-gap); }
body.rv-lab .section-title :is(h2, p) { margin: 0; }
body.rv-lab .section-title .eyebrow { margin-block-end: var(--rv-heading-copy-gap); }
body.rv-lab .section-title > :is(a, span, p) { font-size: var(--rv-text-small); }
body.rv-lab .card-body { padding: var(--rv-panel-padding); }
body.rv-lab .card-body > p { min-block-size: 0; }
body.rv-lab .card-body h3 { margin-block: .875rem .625rem; }
body.rv-lab :is(.spec-line, .card-bottom, .actions, .filterbar) { flex-wrap: wrap; }
body.rv-lab .filterbar label { flex: 1 1 12rem; }
body.rv-lab .panel > :is(h2, h3):first-child { margin-block-start: 0; }
body.rv-lab .panel > p:last-child { margin-block-end: 0; }
body.rv-lab .reports + .report-form { margin-block-start: var(--rv-section-gap); }
body.rv-lab .report-form { gap: 1.25rem; }
body.rv-lab .account-sections { gap: var(--rv-card-gap); }
body.rv-lab :is(.panel h2, .feature h2, .account-card h2, .account-card-heading h2) { font-size: var(--rv-text-card); line-height: 1.4; margin-block: 0 .75rem; }
body.rv-lab .account-card-heading h2 { margin-block: var(--rv-heading-copy-gap) 0 !important; }
body.rv-lab :is(.feature > .eyebrow, .account-card > .eyebrow) { display: block; margin-block-end: var(--rv-heading-copy-gap); }
body.rv-lab .account-card { padding: var(--rv-panel-padding); }
body.rv-lab :is(.account-explore > a strong, .account-explore > a > span, .account-details > div, .account-note) { font-size: var(--rv-text-small); }
body.rv-lab :is(.notice, .empty) { font-size: var(--rv-text-body); line-height: 1.7; }
body.rv-lab th, body.rv-lab td { padding: 1rem; font-size: var(--rv-text-small); }

/* Controls grow with text. Checkboxes retain their native compact dimensions. */
body.rv-lab :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]),
body.rv-publication .rv-archive :is(input, select) { font-size: 1rem; min-block-size: var(--rv-control-height); line-height: 1.5; padding-block: .625rem; }
body.rv-lab label { font-size: var(--rv-text-small); line-height: 1.5; }
body.rv-lab .button,
body.rv-publication :is(.rv-archive-button, .rv-col-button, .rv-topic-button, .cpu-search-button) { min-block-size: var(--rv-control-height); font-size: var(--rv-text-small); line-height: 1.5; padding: .625rem 1rem; white-space: normal; }
body.rv-publication :is(.rv-reading-preferences, .rv-article-language-option, .rv-interests) { font-size: var(--rv-text-small); }
body.rv-publication label.rv-article-language-option { white-space: normal; }
body.rv-publication .rv-article-language-option:not(.rv-reading-preferences *) { box-sizing: border-box; max-inline-size: var(--rv-page-width); margin-inline: auto; padding-inline: var(--rv-gutter); }

/* The assistant workbench uses the same readable interface sizes. */
body.rv-publication .sl-hero { padding-block: 0 1.5rem; }
body.rv-publication .sl-layout { gap: var(--rv-card-gap); }
body.rv-publication :is(.sl-sidebar-heading h2, .sl-workbench-title h2) { font-size: 1.125rem; }
body.rv-publication :is(.sl-sidebar-heading p, .sl-prompt strong, .sl-notebook p, .sl-resource, .sl-message-header) { font-size: var(--rv-text-small); }
body.rv-publication :is(.sl-prompt small, .sl-notebook ul, .sl-connection, .sl-chat-footer, .sl-quota, .sl-composer label, .sl-message-header time, #lab-input-help) { font-size: .75rem; line-height: 1.6; }
body.rv-publication .sl-message-content { font-size: 1rem; line-height: 1.75; }
body.rv-publication .sl-composer textarea { font-size: 1rem; }
/* These legacy controls declare important font sizes in the component sheet. */
body.rv-publication :is(.sl-button, .sl-send) { font-size: var(--rv-text-small) !important; min-block-size: var(--rv-control-height); white-space: normal; }
body.rv-publication .sl-toolbar { flex-wrap: wrap; gap: .75rem; }

body:is(.rv-publication, .rv-lab) .gh-footer { margin-block-start: var(--rv-section-gap); padding: var(--rv-section-gap) var(--rv-gutter) 1.5rem; }
body .gh-footer :is(.gh-footer-top, .gh-footer-toggle, .gh-footer-bottom) { max-inline-size: calc(var(--rv-page-width) - 2 * var(--rv-gutter)); }
body .gh-footer .gh-footer-top { gap: var(--rv-card-gap); margin-block-end: 1.5rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr); }
body .gh-footer .nav-wrapper { gap: var(--rv-card-gap); grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
body .gh-footer :is(.gh-footer-nav-title, .gh-cta-title) { font-size: 1rem; font-weight: 650; line-height: 1.4; margin-block: 0 .75rem; }
body .gh-footer :is(a, .gh-footer-description, .gh-cta-description) { font-size: var(--rv-text-small); }
body .gh-footer :is(.gh-footer-copyright-text, .gh-footer-links-menu a, .gh-language-selector) { font-size: .75rem; }
body .gh-footer .gh-footer-bottom { gap: 1rem; padding-block-start: 1.25rem; }

@media (max-width: 70rem) {
  body .rv-sitebar-inner { gap: .5rem 1rem; }
  body .rv-sitebar-inner > nav { gap: .125rem .25rem; }
  body.rv-publication .rv-topic-layout { grid-template-columns: minmax(0, 1fr); }
  body.rv-publication .rv-topic-layout .rv-topic-support { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
  body.rv-publication.post-template .gh-main-post { display: block; }
}
@media (max-width: 56rem) {
  body.rv-publication .rv-col-reading-grid:has(.rv-col-rail:not([hidden])) { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  body.rv-publication .rv-col-rail { position: static; }
  body .gh-footer .gh-footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .gh-footer .gh-footer-navigation { grid-column: 1 / -1; }
}
@media (max-width: 40rem) {
  :root { --rv-card-gap: 1rem; --rv-section-gap: 1.5rem; --rv-text-reading: 1.0625rem; }
  body .rv-sitebar-inner { gap: .25rem; padding-block: .625rem; }
  body .rv-sitebar-inner > nav { flex-basis: 100%; justify-content: space-between; }
  body .rv-header-tools { inline-size: 100%; margin: 0; gap: .25rem; }
  body :is(.rv-language a, .rv-account-link, .rv-sitebar-inner > nav a) { font-size: .8125rem; padding-inline: .5rem; }
  body .rv-brand { font-size: 1.375rem; }
  body .rv-brand small { font-size: .6875rem; }
  body.rv-publication .gh-home-header-inner { gap: 1rem; }
  body.rv-publication .gh-home-title { font-size: 1.625rem; }
  body.rv-publication .gh-home-prof-b-zone img { inline-size: 3rem; block-size: 3rem; }
  body.rv-publication .gh-home-prof-b-zone .prof-b-avatar { inline-size: 3.25rem; block-size: 3.25rem; }
  body.rv-publication :is(.rv-col-categories, .rv-col-posts, .rv-discovery-list, .rv-discovery[data-related] .rv-discovery-list, .rv-topic-layout .rv-topic-grid, .rv-topic-layout .rv-topic-support) { grid-template-columns: minmax(0, 1fr); }
  body.rv-publication .rv-col-empty { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  body.rv-publication .rv-col-empty-mark { font-size: 3.5rem; block-size: 2rem; }
  body.rv-publication .rv-col-heading { gap: .5rem; }
  body.rv-publication .rv-archive-filter-row { grid-template-columns: minmax(0, 1fr); }
  body.rv-publication .rv-col-preview-note { grid-template-columns: minmax(0, 1fr); }
  body.rv-publication .rv-col-preview-note a { grid-column: auto; }
  body.rv-publication.post-template .gh-article { border: 1px solid var(--rv-line); border-radius: var(--rv-radius); }
  body.rv-publication .sl-composer-bottom { flex-wrap: wrap; }
  body.rv-publication .sl-prompt { min-block-size: 4.5rem; block-size: auto; }
  body.rv-lab :is(.cards, .feature-grid, .article-grid, .form-grid, .account-grid) { grid-template-columns: minmax(0, 1fr); }
  body.rv-lab .filterbar { align-items: stretch; }
  body.rv-lab .filterbar label { flex: 0 1 auto; }
  body.rv-lab .metrics > div { padding: 0; }
  body .gh-footer .gh-footer-top { grid-template-columns: minmax(0, 1fr); }
  body .gh-footer .gh-footer-navigation { grid-column: auto; grid-row: auto; }
  body .gh-footer .gh-footer-bottom { grid-template-columns: minmax(0, 1fr); }
}
/* Graphite/electric-blue edition: one reading grid, one rhythm for peer sections. */
body.rv-publication .gh-home-container { padding-block-end: var(--rv-section-gap); }
body.rv-publication .rv-col-masthead {
  align-items: center;
  padding-block-end: var(--rv-heading-gap);
  border-block-end: 1px solid var(--rv-line);
}
body.rv-publication .rv-col-logo { inline-size: 3.25rem; block-size: 3.25rem; }
body.rv-publication .rv-col-brand { gap: .875rem; }
body.rv-publication .rv-col-masthead p { font-size: var(--rv-text-body); line-height: 1.5; }
body.rv-publication .rv-col-home .rv-col-read {
  justify-content: flex-start;
  gap: .625rem;
  padding: .5rem 0;
  background: transparent;
  color: var(--rv-primary);
  border: 0;
  border-radius: .25rem;
  font-size: var(--rv-text-small);
  text-decoration: underline;
  text-underline-offset: .2em;
}
body.rv-publication .rv-col-home .rv-col-read:hover { background: transparent; color: var(--rv-primary-hover); }
body.rv-publication .rv-col-signature { flex-basis: 100%; }
body.rv-publication .rv-col-lead > footer { gap: .25rem; }
body.rv-publication .rv-col-path header { margin-block-end: .5rem; }
body.rv-publication .rv-col-path p { font-size: var(--rv-text-small); line-height: 1.65; }
body.rv-publication .rv-col-path-arrow { color: var(--rv-primary); }
body.rv-publication .rv-col-path:hover { border-color: var(--rv-primary); }
body.rv-publication .gh-industry-bar {
  padding-block: .75rem;
  border-block: 1px solid var(--rv-line);
}
body.rv-publication .gh-industry-logo { font-size: var(--rv-text-small); font-weight: 500; }
body.rv-publication .gh-home-container > .gh-newsletter-section {
  border-radius: var(--rv-radius);
  margin-block-end: 0;
}
body.rv-publication .gh-newsletter-title { margin-block-end: var(--rv-heading-copy-gap); }
body.rv-publication .gh-newsletter-description { font-size: var(--rv-text-body); line-height: 1.65; margin-block-end: 1rem; }
body.rv-publication .gh-newsletter-visual { inline-size: 5rem; block-size: 5rem; flex: none; }
body.rv-publication .gh-newsletter-visual::before { display: none; }
body.rv-publication .gh-divider { display: none; }
/* Put the reading heading and its filters on one baseline when space permits. */
body.rv-publication .gh-home-container > .rv-discovery { display: flex; flex-wrap: wrap; align-items: center; column-gap: 1.5rem; }
body.rv-publication .gh-home-container > .rv-discovery > * { flex-basis: 100%; min-inline-size: 0; }
body.rv-publication .gh-home-container > .rv-discovery > .rv-discovery-heading { flex: 1 1 auto; }
body.rv-publication .gh-home-container > .rv-discovery > .rv-discovery-tabs { flex: 0 1 auto; }
body.rv-publication .rv-discovery-tabs .rv-archive-button { min-block-size: 2.25rem; padding: .375rem .75rem; border-color: transparent; font-weight: 600; border-radius: .375rem; }
body.rv-publication .rv-discovery-tabs .rv-archive-button:not([aria-pressed="true"]) { background: transparent; color: var(--rv-ink); }
body.rv-publication .rv-discovery-tabs .rv-archive-button:is(:hover, :focus-visible):not([aria-pressed="true"]) { background: var(--rv-soft); }
@media (pointer: coarse) {
  :root { --rv-header-control: 2.75rem; }
  body.rv-publication .rv-discovery-tabs .rv-archive-button { min-block-size: var(--rv-control-height); }
}
@media (max-width: 40rem) {
  body.rv-publication .gh-home-container > .rv-discovery > :is(.rv-discovery-heading, .rv-discovery-tabs) { flex-basis: 100%; }
  body.rv-publication .rv-col-logo { inline-size: 2.75rem; block-size: 2.75rem; }
  body.rv-publication .rv-col-lead { padding: 1rem; }
  body.rv-publication .rv-col-masthead { gap: .5rem 1rem; }
  body.rv-publication .gh-newsletter-visual { display: none; }
}
@media print {
  body.rv-publication.post-template .gh-main-post { max-inline-size: none; padding: 0; }
  body.rv-publication.post-template .gh-content-body { font-size: 12pt; }
}
