/* Ribblu assessment landing v2 — scoped pilot styles (tokens + approved mockup density). */
.rbl-assessment-v2{
  --a2-ink:var(--rbl-ink-strong, #142238);
  --a2-muted:var(--rbl-muted-readable, #4b5563);
  --a2-border:var(--rbl-border, #e5e7eb);
  --a2-panel:var(--rbl-surface-neutral, #f3f4f6);
  /* Filled CTA role — white text. Soft accents keep orange-l. */
  --a2-orange:var(--rbl-cta-fill, #c2410c);
  --a2-orange-soft:var(--rbl-orange-l, #fff3ec);
  --a2-blue:#216bd1;
  --a2-blue-soft:#edf4ff;
  --a2-green:#08784e;
  color:var(--a2-ink);
  min-width:0;
  font-family:inherit;
}
.rbl-assessment-v2 *{box-sizing:border-box}
.rbl-assessment-v2 a{color:inherit;text-decoration:none}
/* Beat .rbl-assessment-v2 a{color:inherit} so active chips stay white-on-orange. */
.rbl-assessment-v2 a.rbl-a2__collection{color:inherit}
.rbl-assessment-v2 a:focus-visible,
.rbl-assessment-v2 button:focus-visible,
.rbl-assessment-v2 summary:focus-visible{
  outline:3px solid var(--rbl-focus, #1d4ed8);
  outline-offset:2px;
}

/* Intro */
.rbl-a2__intro{
  display:flex;
  align-items:flex-start;
  gap:16px;
  margin:4px 0 28px;
  min-width:0;
}
.rbl-a2__hero-badge{
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  flex:none;
}
.rbl-a2__hero-badge img{width:28px;height:28px}
.rbl-a2__hero-badge--practice{background:var(--a2-blue-soft);color:var(--a2-blue)}
.rbl-a2__hero-badge--exam{background:var(--a2-orange-soft);color:var(--a2-orange)}
.rbl-a2__intro-text{min-width:0;flex:1}
.rbl-a2__eyebrow{
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  color:#99431e;
  text-transform:uppercase;
}
.rbl-a2__intro h1{
  font-size:clamp(22px,2.4vw,28px);
  line-height:1.22;
  letter-spacing:-.02em;
  margin:6px 0 10px;
  font-weight:800;
  overflow-wrap:break-word;
  word-break:normal;
}
.rbl-a2__intro p{
  font-size:15px;
  line-height:1.55;
  color:var(--a2-muted);
  margin:0 0 14px;
  max-width:720px;
}
.rbl-a2__stats{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  align-items:baseline;
  font-size:14px;
  color:var(--a2-muted);
}
.rbl-a2__stats strong{
  font-size:18px;
  color:var(--a2-ink);
  margin-right:4px;
}

/* Related collections */
.rbl-a2__related{
  background:var(--rbl-white, #fff);
  border:1px solid var(--a2-border);
  border-radius:12px;
  padding:18px 18px 16px;
  margin-bottom:28px;
}
.rbl-a2__related-head{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-bottom:14px;
}
.rbl-a2__related-head img{width:22px;height:22px;margin-top:2px;flex:none}
.rbl-a2__related-title{
  font-size:16px;
  font-weight:750;
  line-height:1.3;
}
.rbl-a2__related-lead{
  font-size:13px;
  color:var(--a2-muted);
  margin:3px 0 0;
  line-height:1.4;
}
.rbl-a2__related-list{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
}
.rbl-a2__collection{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  font-size:13px;
  font-weight:650;
  padding:8px 12px;
  border:1px solid #dbe3ee;
  border-radius:999px;
  background:#fff;
  line-height:1.25;
  overflow-wrap:break-word;
  word-break:normal;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
.rbl-a2__collection em{
  font-size:12px;
  font-style:normal;
  font-weight:700;
  color:var(--a2-muted);
  white-space:nowrap;
}
.rbl-assessment-v2 a.rbl-a2__collection--practice,
.rbl-assessment-v2 a.rbl-a2__collection--practice:visited{
  border-color:#9ec0ef;
  background:#edf4ff;
  color:#1557a8;
}
.rbl-assessment-v2 a.rbl-a2__collection--practice em{color:#1557a8}
.rbl-assessment-v2 a.rbl-a2__collection--exam,
.rbl-assessment-v2 a.rbl-a2__collection--exam:visited{
  border-color:#efc09a;
  background:#fff1e8;
  color:#b45309;
}
.rbl-assessment-v2 a.rbl-a2__collection--exam em{color:#b45309}
.rbl-assessment-v2 a.rbl-a2__collection--current,
.rbl-assessment-v2 a.rbl-a2__collection--current:visited,
.rbl-assessment-v2 a.rbl-a2__collection--current em{
  background:var(--rbl-cta-fill, #c2410c);
  border-color:var(--rbl-cta-fill, #c2410c);
  color:#ffffff !important;
}
.rbl-assessment-v2 a.rbl-a2__collection:hover{border-color:#e2a887}
.rbl-assessment-v2 a.rbl-a2__collection--current:hover,
.rbl-assessment-v2 a.rbl-a2__collection--current:hover em{
  background:var(--rbl-cta-fill-hover, #9a3412);
  border-color:var(--rbl-cta-fill-hover, #9a3412);
  color:#ffffff !important;
}
.rbl-assessment-v2 a.rbl-a2__collection--current:focus-visible{
  outline:3px solid var(--rbl-focus, #1d4ed8);
  outline-offset:2px;
}

/* Expand / disclosure controls */
.rbl-a2__expand{
  display:none;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:12px;
  border:1px solid #f0c4a9;
  border-radius:10px;
  background:#fff7ef;
  color:var(--a2-orange);
  font-weight:700;
  font-size:13px;
  padding:10px 12px;
  cursor:pointer;
}
.rbl-a2__expand--link{
  border:0;
  background:transparent;
  padding:4px 2px;
  width:auto;
  margin:6px auto 0;
}
.rbl-a2__expand[data-ready="true"]{display:flex}
.rbl-a2__related .rbl-a2__expand--link{margin-top:8px}

/* Chapters */
.rbl-a2__chapters-wrap{
  background:var(--a2-panel);
  padding:20px;
  border-radius:14px;
  margin:8px 0 28px;
}
.rbl-a2__section-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}
.rbl-a2__section-heading h2{
  font-size:20px;
  font-weight:800;
  line-height:1.25;
  margin:0;
}
.rbl-a2__section-desc{
  font-size:14px;
  color:var(--a2-muted);
  line-height:1.5;
  margin:5px 0 0;
}
.rbl-a2__chapter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.rbl-a2__chapter{
  display:flex;
  gap:10px;
  align-items:center;
  min-width:0;
  min-height:78px;
  padding:12px 11px;
  background:#fff;
  border:1px solid var(--a2-border);
  border-radius:11px;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.rbl-a2__chapter:hover{
  border-color:#e2a887;
  box-shadow:0 2px 10px rgba(21,35,56,.06);
}
.rbl-a2__topic-badge{
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  width:37px;
  height:37px;
  border-radius:9px;
}
/* Masked glyph: external SVG stroke art takes the badge foreground colour. */
.rbl-a2__topic-glyph{
  width:20px;
  height:20px;
  display:block;
  background-color:currentColor;
  -webkit-mask:var(--a2-icon) center / contain no-repeat;
  mask:var(--a2-icon) center / contain no-repeat;
}
.rbl-a2__topic-badge--blue{background:#ebf2ff;color:#367fdf}
.rbl-a2__topic-badge--orange{background:#fff0e7;color:#ea7322}
.rbl-a2__topic-badge--green{background:#e8f9f3;color:#0d9f7e}
.rbl-a2__topic-badge--purple{background:#f6eaff;color:#8b51d2}
.rbl-a2__topic-badge--teal{background:#e7f7f6;color:#0f8a7a}
.rbl-a2__topic-badge--rose{background:#fff1f5;color:#d34b7d}
/* Painted topic/chapter SVGs keep their own colours — do not mask. */
.rbl-a2__topic-badge--image{
  background:transparent;
  padding:0;
  overflow:hidden;
}
.rbl-a2__topic-img{
  display:block;
  width:37px;
  height:37px;
  object-fit:contain;
}
/* Transparent topic glyphs (e.g. Circles) sit inset on a faint coloured badge. */
.rbl-a2__topic-img--inset{
  width:20px;
  height:20px;
}
.rbl-a2__chapter-body{flex:1;min-width:0}
.rbl-a2__chapter-name{
  display:block;
  font-size:13.5px;
  line-height:1.3;
  font-weight:750;
  overflow-wrap:break-word;
  word-break:normal;
}
.rbl-a2__chapter-count{
  display:block;
  margin-top:5px;
  font-size:12.5px;
  line-height:1.2;
  color:#b44e19;
  white-space:nowrap;
}
.rbl-a2__chapter-chevron{
  flex:none;
  opacity:.45;
  display:flex;
}

/* Results / resources */
.rbl-a2__results{margin:8px 0 28px}
.rbl-a2__results-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  margin-bottom:14px;
}
.rbl-a2__results-top h2{
  font-size:20px;
  margin:0;
  font-weight:800;
  line-height:1.25;
}
.rbl-a2__results-count{
  font-size:13.5px;
  color:var(--a2-muted);
  margin-top:5px;
  line-height:1.4;
}
.rbl-a2__sort{display:flex;flex-wrap:wrap;gap:7px}
.rbl-a2__sort a{
  font-size:12.5px;
  font-weight:650;
  padding:7px 11px;
  border:1px solid var(--a2-border);
  border-radius:99px;
  background:#fff;
  color:var(--a2-muted);
}
.rbl-a2__sort a[aria-current="page"]{
  background:var(--a2-orange-soft);
  border-color:#f0c4a9;
  color:#a23d0b;
}
.rbl-a2__resource-list{
  border:1px solid var(--a2-border);
  background:#fff;
  border-radius:12px;
  overflow:hidden;
}
.rbl-a2__resource{
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px 14px;
  border-top:1px solid #e7ebef;
  min-height:72px;
  min-width:0;
  transition:background .12s ease;
}
.rbl-a2__resource:first-child{border-top:0}
.rbl-a2__resource:hover{background:#fcfaf8}
.rbl-a2__file-icon{
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:9px;
  background:var(--a2-orange-soft);
}
.rbl-a2__file-icon img{width:20px;height:20px}
.rbl-a2__resource-text{flex:1;min-width:0}
.rbl-a2__resource-title{
  display:block;
  font-size:15px;
  line-height:1.4;
  font-weight:750;
  overflow-wrap:break-word;
  word-break:normal;
}
.rbl-a2__resource-meta{
  display:block;
  font-size:13px;
  color:var(--a2-muted);
  line-height:1.4;
  margin-top:4px;
}
.rbl-a2__answer{
  color:var(--a2-green);
  font-weight:700;
  margin-left:4px;
}
.rbl-a2__view{
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:13px;
  color:var(--a2-orange);
  white-space:nowrap;
  font-weight:750;
  border:1px solid #ebc3a8;
  border-radius:8px;
  padding:8px 11px;
  background:#fff;
}
.rbl-a2__view-chevron{display:none;width:16px;height:16px}
.rbl-a2__view-arrow{display:inline}
.rbl-a2__pagination{
  margin:16px 0 0;
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}
.rbl-a2__pagination a,
.rbl-a2__pagination span{
  border:1px solid var(--a2-border);
  border-radius:8px;
  padding:8px 11px;
  font-size:13px;
}
.rbl-a2__faq{margin:22px 0}
.rbl-a2__faq h2{font-size:18px;margin:0 0 10px;font-weight:800}
.rbl-a2__faq details{
  border:1px solid var(--a2-border);
  border-radius:10px;
  margin:8px 0;
  padding:13px 15px;
  background:#fff;
}
.rbl-a2__faq summary{cursor:pointer;font-weight:650;font-size:14px}
.rbl-a2__faq p{font-size:14px;line-height:1.55;margin:8px 0 0;color:var(--a2-muted)}

@media (max-width:991px){
  .rbl-a2__chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:767px){
  .rbl-a2__intro{gap:12px;margin-bottom:20px}
  .rbl-a2__hero-badge{width:48px;height:48px;border-radius:12px}
  .rbl-a2__hero-badge img{width:24px;height:24px}
  .rbl-a2__intro h1{font-size:22px;margin:5px 0 8px}
  .rbl-a2__intro p{font-size:14px;margin-bottom:12px}
  .rbl-a2__stats{gap:14px;font-size:13px}
  .rbl-a2__stats strong{font-size:16px}

  .rbl-a2__related{padding:14px;margin-bottom:20px}
  .rbl-a2__related-title{font-size:15px}
  .rbl-a2__collection{font-size:12.5px;padding:7px 10px}
  .rbl-a2__related-list.is-collapsed>.rbl-a2__collection:nth-child(n+5){display:none}

  .rbl-a2__chapters-wrap{padding:14px;margin:0 0 20px;border-radius:12px}
  .rbl-a2__section-heading h2{font-size:18px}
  .rbl-a2__chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .rbl-a2__chapter-grid.is-collapsed>.rbl-a2__chapter:nth-child(n+5){display:none}
  .rbl-a2__chapter{padding:10px 8px;min-height:76px;gap:8px}
  .rbl-a2__topic-badge{width:30px;height:30px;border-radius:8px}
  .rbl-a2__topic-glyph{width:18px;height:18px}
  .rbl-a2__topic-img{width:30px;height:30px}
  .rbl-a2__topic-img--inset{width:18px;height:18px}
  .rbl-a2__chapter-name{font-size:12.5px}
  .rbl-a2__chapter-count{font-size:12px}
  .rbl-a2__chapter-chevron{display:none}

  .rbl-a2__results-top{align-items:flex-start;flex-direction:column;gap:10px}
  .rbl-a2__results-top h2{font-size:18px}
  .rbl-a2__sort a{font-size:12px}

  .rbl-a2__resource-list.is-collapsed>.rbl-a2__resource:nth-child(n+6){display:none}
  .rbl-a2__resource{padding:12px 10px;gap:10px;min-height:64px}
  .rbl-a2__file-icon{width:32px;height:32px}
  .rbl-a2__resource-title{font-size:14px}
  .rbl-a2__resource-meta{font-size:12.5px}
  .rbl-a2__view{
    border:0;
    background:transparent;
    padding:6px;
    min-width:36px;
    min-height:36px;
    justify-content:center;
  }
  .rbl-a2__view-text,
  .rbl-a2__view-arrow{display:none}
  .rbl-a2__view-chevron{display:block}
}

@media (max-width:340px){
  .rbl-a2__intro h1{font-size:21px}
  .rbl-a2__chapter-name{font-size:12px}
  .rbl-a2__topic-badge{width:28px;height:28px}
  .rbl-a2__topic-glyph{width:16px;height:16px}
  .rbl-a2__topic-img{width:28px;height:28px}
  .rbl-a2__topic-img--inset{width:16px;height:16px}
}

.rbl-assessment-hub-v2-pilot{padding-bottom:max(24px, env(safe-area-inset-bottom, 0px))}
@media (max-width:767px){
  .rbl-assessment-hub-v2-pilot{padding-bottom:88px}
}
