/* MICRON Research Hubs: shipped inside /research/, scoped to .rs-page so the theme is untouched.
   Colour values are the PMI brand tokens (shared/brand/tokens.js): black #231F20, red #F5333F,
   greys 100/200/600/700. Mobile-first. Two- and three-column tables fit the viewport with wrapped
   text and the numeric column always visible; only the six-column papers table scrolls, inside
   its own container, which announces that it scrolls. */
.rs-page {
  --rs-black: #231F20;
  --rs-measure: 75ch;
  --rs-header-offset: 7.5rem; /* the theme header is position: sticky, 103px tall at desktop */
  --rs-red: #F5333F;
  --rs-red-dark: #D12D37;
  --rs-gray-100: #F3F4F6;
  --rs-gray-200: #E5E7EB;
  --rs-gray-600: #4B5563;
  --rs-gray-700: #374151;
  max-width: 78rem;
  min-width: 0;
  margin: 0 auto;
  padding: 1rem 1rem 2rem;
  color: var(--rs-black);
  font-size: 1rem;
  line-height: 1.6;
  overflow-wrap: break-word;
  box-sizing: border-box;
}
.rs-page h1 { font-size: 1.75rem; line-height: 1.25; margin: 0.5rem 0 1rem; }
.rs-page h2 { font-size: 1.3rem; line-height: 1.3; margin: 2rem 0 0.75rem; }
.rs-page h3 { font-size: 1.05rem; margin: 1.25rem 0 0.5rem; }
.rs-page p { margin: 0 0 1rem; }
.rs-page a { color: var(--rs-red-dark); text-decoration: underline; }
.rs-page a:hover { color: var(--rs-red); }
.rs-breadcrumb ol { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem; font-size: 0.875rem; color: var(--rs-gray-600); }
.rs-breadcrumb li + li::before { content: "\203A"; padding: 0 0.35rem; color: var(--rs-gray-600); }
.rs-table-wrap { margin: 0 0 1.5rem; max-width: 100%; }
.rs-page table { border-collapse: collapse; width: 100%; font-size: 0.9rem; }
.rs-page caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rs-page th, .rs-page td { text-align: left; vertical-align: top; padding: 0.4rem 0.6rem; border-bottom: 1px solid var(--rs-gray-200); }
.rs-page th { background: var(--rs-gray-100); font-weight: 600; }
.rs-page th.rs-num, .rs-page td.rs-num { white-space: nowrap; text-align: right; width: 1%; }
.rs-page th.rs-nowrap, .rs-page td.rs-nowrap { white-space: nowrap; width: 1%; }
.rs-table-narrow { table-layout: auto; min-width: 0; }
.rs-table-narrow td, .rs-table-narrow th { overflow-wrap: break-word; }
.rs-table-wrap-wide { overflow-x: auto; -webkit-overflow-scrolling: touch; position: relative;
  background:
    linear-gradient(to right, #fff 30%, rgba(255,255,255,0)),
    linear-gradient(to left, #fff 30%, rgba(255,255,255,0)) 100% 0,
    linear-gradient(to right, rgba(35,31,32,0.18), rgba(35,31,32,0)),
    linear-gradient(to left, rgba(35,31,32,0.18), rgba(35,31,32,0)) 100% 0;
  background-repeat: no-repeat; background-size: 3rem 100%, 3rem 100%, 1rem 100%, 1rem 100%;
  background-attachment: local, local, scroll, scroll; }
.rs-table-wrap-wide::before { content: attr(data-cue); display: none; font-size: 0.8rem; color: var(--rs-gray-600); padding: 0 0 0.35rem; }
.rs-table-wide { min-width: 44rem; }
.rs-table-wide td:nth-child(2) { min-width: 18rem; }
.rs-generated { margin-top: 2rem; padding-top: 1rem; border-top: 2px solid var(--rs-gray-200); }
.rs-breadcrumb.rs-generated { margin-top: 0; padding-top: 0; border-top: 0; }
.rs-related ul { margin: 0 0 1rem; padding-left: 1.25rem; }
.rs-cta { background: var(--rs-gray-100); padding: 1.25rem; border-radius: 0.5rem; }
.rs-cta h2 { margin-top: 0.5rem; }
.rs-cta-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.rs-button { display: inline-block; background: var(--rs-red); color: #fff !important; text-decoration: none !important; padding: 0.6rem 1.1rem; border-radius: 0.375rem; font-weight: 600; }
.rs-button:hover { background: var(--rs-red-dark); }
.rs-footer { font-size: 0.8rem; color: var(--rs-gray-600); }
.rs-preview-marker { font-weight: 600; color: var(--rs-red-dark); }
.rs-hub-list { list-style: none; padding: 0; margin: 0 0 1rem; }
.rs-hub-list li { padding: 0.35rem 0; border-bottom: 1px solid var(--rs-gray-200); }
.rs-meta { color: var(--rs-gray-600); font-size: 0.875rem; white-space: nowrap; }
@media (max-width: 767px) {
  .rs-table-wrap-wide::before { display: block; }
}
@media (min-width: 768px) {
  .rs-page { padding: 1.5rem 2rem 3rem; }
  .rs-page h1 { font-size: 2.1rem; }
  .rs-hub-list li { display: flex; justify-content: space-between; gap: 1rem; }
}

/* Layout: sticky "On this page" sidebar on desktop, collapsible list on phone (no JavaScript:
   a checkbox drives the toggle). Body text capped at 75 characters; tables use the full width. */
.rs-side { min-width: 0; }
.rs-main { min-width: 0; }
.rs-main p, .rs-main li:not(.rs-hub-list li), .rs-main h1, .rs-main h2, .rs-main h3 { max-width: var(--rs-measure); }
.rs-hub-list li { max-width: none; }
.rs-toc { margin-top: 0; padding: 0; border-top: 0; }
.rs-toc-toggle { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.rs-toc-label { display: block; font-weight: 600; padding: 0.6rem 0.9rem; border: 1px solid var(--rs-gray-200); border-radius: 0.375rem; cursor: pointer; background: var(--rs-gray-100); }
.rs-toc-label::after { content: "\203A"; float: right; transform: rotate(90deg); color: var(--rs-gray-600); }
.rs-toc-toggle:checked ~ .rs-toc-label::after { transform: rotate(-90deg); }
.rs-toc-toggle:focus-visible ~ .rs-toc-label { outline: 2px solid var(--rs-red); }
.rs-toc-list { display: none; list-style: none; margin: 0.5rem 0 1rem; padding: 0 0.25rem; font-size: 0.9rem; line-height: 1.4; }
.rs-toc-toggle:checked ~ .rs-toc-list { display: block; }
.rs-toc-list li { padding: 0.3rem 0; border-bottom: 1px solid var(--rs-gray-200); }
.rs-toc-list li.rs-toc-top { border-bottom: 0; padding-top: 0.6rem; }
.rs-toc-list a { text-decoration: none; color: var(--rs-gray-700); }
.rs-toc-list a:hover { text-decoration: underline; color: var(--rs-red-dark); }
.rs-product-cta { background: var(--rs-gray-100); padding: 1.25rem; border-radius: 0.5rem; margin-bottom: 2rem; }
.rs-product-cta h2 { margin-top: 0.25rem; }
.rs-back-to-top { white-space: nowrap; }
@media (min-width: 1024px) {
  .rs-page { display: grid; grid-template-columns: 15rem minmax(0, 1fr); column-gap: 2.5rem; }
  .rs-breadcrumb.rs-generated { grid-column: 1 / -1; }
  .rs-side { grid-column: 1; }
  .rs-main { grid-column: 2; }
  .rs-toc { position: sticky; top: var(--rs-header-offset); max-height: calc(100vh - var(--rs-header-offset) - 1rem); overflow-y: auto; }
  .rs-toc-label { background: none; border: 0; padding: 0 0 0.5rem; cursor: default; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--rs-gray-600); }
  .rs-toc-label::after { content: none; }
  .rs-toc-list { display: block; }
}

/* Anchor targets land below the theme's sticky header. */
.rs-page, .rs-main [id] { scroll-margin-top: calc(var(--rs-header-offset) + 0.5rem); }
.rs-landing-links p { margin: 0 0 0.35rem; }
/* Papers table: from 1200px the table fits the main column, so its container no longer scrolls
   (a scroll container would trap position: sticky) and the header row pins below the theme
   header until the table's last row scrolls past it. */
@media (min-width: 1200px) {
  .rs-table-wrap-wide { overflow: visible; background: none; }
  .rs-table-wide { min-width: 0; }
  .rs-table-wide thead th { position: sticky; top: var(--rs-header-offset); z-index: 2; background: var(--rs-gray-100); box-shadow: 0 1px 0 var(--rs-gray-200); }
}
