/* rb docs: the rb-docs layout (sidebar, prose column, "On this page", pager) and the docs
   components (rb/docs-nav, rb/docs-pager, rb/docs-card, rb/callout, rb/formula, .rb-calc).
   Built only on rb.css tokens. Loaded by src/_layouts/rb-docs.liquid via pageStyles. */

/* Layout: sidebar · prose (≤ 70ch) · on this page */
.rb-docs{padding-block:clamp(28px,3.4vw,48px) clamp(64px,8vw,112px)}
.rb-docs__grid{display:grid;grid-template-columns:216px minmax(0,1fr) 200px;gap:48px;align-items:start}
.rb-docs__main{width:100%;max-width:70ch;min-width:0;margin-inline:auto;font-size:17px}
.rb-docs__side,.rb-docs__toc{position:sticky;top:calc(var(--hdr) + 32px);max-height:calc(100vh - var(--hdr) - 48px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.rb-docs__side{margin-top:6px;padding-bottom:16px}
.rb-docs__home{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-size:15px;font-weight:800;letter-spacing:-.02em;text-decoration:none}
.rb-docs__home .rb-eyebrow__ic{width:30px;height:30px}

/* rb/docs-nav */
.rb-docs-nav__k{padding:0 10px 6px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.rb-docs-nav ul+.rb-docs-nav__k{margin-top:20px}
.rb-docs-nav a{display:block;padding:7px 10px;border-radius:var(--r1);font-size:var(--fs-sm);font-weight:500;line-height:1.35;color:var(--ink-2);text-decoration:none;transition:background-color .15s,color .15s}
.rb-docs-nav a:hover{background:rgba(28,27,25,.05);color:var(--ink)}
.rb-docs-nav [aria-current]{background:var(--paper);color:var(--ink);font-weight:700;box-shadow:var(--sh1)}

/* Mobile menu (< 1000px): a sticky bar under the header that opens the same list */
.rb-docs-menu{display:none;position:sticky;top:var(--hdr);z-index:40;margin-top:calc(clamp(28px,3.4vw,48px)*-1);margin-bottom:24px;isolation:isolate}
.rb-docs-menu::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(247,246,243,.9);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--line)}
.rb-docs-menu[open]::before{background:var(--bg);box-shadow:0 1px 0 var(--line),0 28px 40px -24px rgba(28,27,25,.28)}
.rb-docs-menu>summary{display:flex;align-items:center;gap:12px;height:52px;font-size:var(--fs-sm)}
.rb-docs-menu__k{display:inline-flex;align-items:center;gap:8px;flex:none;font-weight:800;color:var(--ink)}
.rb-docs-menu__now{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--ink-3)}
.rb-docs-menu__now::before{content:"/";margin-right:10px;color:var(--ink-4)}
.rb-docs-menu>summary>.rb-icon{color:var(--ink-3);transition:transform .2s var(--ease)}
.rb-docs-menu[open]>summary>.rb-icon{transform:rotate(180deg)}
.rb-docs-menu__panel{max-height:calc(100vh - var(--hdr) - 64px);overflow-y:auto;overscroll-behavior:contain;padding-block:4px 20px;border-top:1px solid var(--line)}
.rb-docs-menu__panel .rb-docs-nav{margin-inline:-10px;padding-top:12px}
.rb-docs-menu__panel .rb-docs-nav a{padding-block:10px;font-size:15px}

/* Page head */
.rb-docs__head{margin-bottom:clamp(32px,4vw,48px)}
.rb-docs__head .rb-crumbs ol{margin-bottom:24px}
.rb-docs__head .rb-eyebrow{margin-bottom:14px;color:var(--ink-3)}
.rb-docs__h1{font-size:clamp(36px,4.4vw,56px);line-height:1.02;letter-spacing:-.045em}
.rb-docs__lede{max-width:34em;margin-top:20px;font-size:var(--fs-lede);line-height:1.55;color:var(--ink-2)}

/* Prose */
.rb-prose{color:var(--ink-2);line-height:1.7}
.rb-prose>*+*{margin-top:1.1em}
.rb-prose :where(strong,b,dt,th){color:var(--ink)}
.rb-prose h2{margin-top:2.2em;padding-top:1.3em;border-top:1px solid var(--line);font-size:clamp(24px,2.3vw,30px);line-height:1.15;letter-spacing:-.035em;color:var(--ink)}
.rb-prose>h2:first-child{margin-top:0;padding-top:0;border-top:0}
.rb-prose h3{margin-top:2em;font-size:19px;line-height:1.3;letter-spacing:-.02em;color:var(--ink)}
.rb-prose h2+*,.rb-prose h3+*{margin-top:.6em}
.rb-prose h2+h3{margin-top:1.2em}
.rb-prose .header-anchor{margin-left:.3em;font-weight:500;color:var(--ink-4);text-decoration:none;opacity:0;transition:opacity .15s}
.rb-prose :is(h2,h3):hover .header-anchor,.rb-prose .header-anchor:focus{opacity:1}
.rb-prose :is(h2,h3)[id]{scroll-margin-top:calc(var(--hdr) + 24px)}
.rb-prose a:not([class]){color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:rgba(28,27,25,.28);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:text-decoration-color .15s}
.rb-prose a:not([class]):hover{text-decoration-color:var(--ink)}
.rb-prose>:is(ul,ol):not([class]),.rb-prose li>:is(ul,ol){display:grid;gap:.5em}
.rb-prose>ul:not([class])>li,.rb-prose li>ul>li{position:relative;padding-left:1.4em}
.rb-prose>ul:not([class])>li::before,.rb-prose li>ul>li::before{content:"";position:absolute;left:.3em;top:.72em;width:6px;height:6px;border-radius:2px;background:var(--ink-4)}
.rb-prose>ol:not([class]){counter-reset:rb-step}
.rb-prose>ol:not([class])>li{position:relative;padding-left:2.4em;counter-increment:rb-step}
.rb-prose>ol:not([class])>li::before{content:counter(rb-step);position:absolute;left:0;top:.18em;display:grid;place-items:center;width:1.6em;height:1.6em;border-radius:50%;background:var(--ink);font-size:13px;font-weight:800;line-height:1;color:var(--bg)}
.rb-prose li>ul,.rb-prose li>ol{margin-top:.5em}
.rb-prose code{padding:.12em .4em;border-radius:6px;background:var(--well);font:600 .86em/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink)}
.rb-prose hr{height:1px;margin-block:2.4em;border:0;background:var(--line)}
.rb-prose blockquote{padding:14px 20px;border-left:3px solid var(--ink);border-radius:0 var(--r2) var(--r2) 0;background:var(--paper);box-shadow:var(--sh1)}
.rb-prose table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:var(--r2);background:var(--paper);box-shadow:var(--sh1);font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
.rb-prose th{padding:10px 16px;background:var(--tint);border-bottom:1px solid var(--line);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:left;color:var(--ink-3)}
.rb-prose td{padding:12px 16px;vertical-align:top}
.rb-prose tr+tr td{border-top:1px solid var(--line-2)}
.rb-prose td:first-child{font-weight:700;color:var(--ink)}
.rb-prose table:not(:has(th:nth-child(3))) td:first-child{width:36%}
.rb-prose td small{display:block;font-size:var(--fs-xs);font-weight:500;color:var(--ink-3)}
.rb-prose :is(td,th)[style*="right"]{text-align:right}
.rb-prose table+p,.rb-prose :is(.rb-formula,.rb-callout,.rb-callouts,.rb-calc,.rb-docs-cards,.rb-card)+p{margin-top:1.3em}
.rb-prose>:is(table,.rb-formula,.rb-callout,.rb-callouts,.rb-calc,.rb-docs-cards,.rb-docs-stats,.rb-card){margin-top:1.5em}
.rb-prose .rb-card{font-size:var(--fs-sm);line-height:1.35;color:var(--ink)}

/* rb/callout */
.rb-callout{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:16px 20px 16px 16px;border-radius:var(--r3);background:var(--paper);box-shadow:var(--sh1);font-size:15px;line-height:1.55}
.rb-callout__ic{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--green-2);color:var(--green)}
.rb-callout--limit .rb-callout__ic{background:var(--well);color:var(--ink)}
.rb-callout__t{margin-top:3px;font-weight:700;color:var(--ink)}
.rb-callout__b{margin-top:2px;color:var(--ink-2)}
.rb-callouts{overflow:hidden;border-radius:var(--r3);background:var(--paper);box-shadow:var(--sh1)}
.rb-callouts .rb-callout{border-radius:0;box-shadow:none;padding-block:18px}
.rb-callouts .rb-callout+.rb-callout{border-top:1px solid var(--line-2)}

/* rb/formula */
.rb-formula{margin-inline:0;padding:18px 20px;border-radius:var(--r3);background:var(--paper);box-shadow:var(--sh1)}
.rb-formula__eq{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:16px;line-height:1.5;font-variant-numeric:tabular-nums}
.rb-formula__name{font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.rb-formula__is{font-weight:500;color:var(--ink-3)}
.rb-formula__expr{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 0;color:var(--ink)}
.rb-formula var{padding:1px 7px;border-radius:6px;background:var(--well);font-style:normal;font-weight:600;white-space:nowrap}
.rb-formula i{padding-inline:.45em;font-style:normal;font-weight:500;color:var(--ink-3)}
.rb-formula b{font-weight:700}
.rb-frac{display:inline-grid;vertical-align:middle;text-align:center}
.rb-frac>span{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 0;padding:4px 6px}
.rb-frac>span+span{border-top:1.5px solid var(--ink)}
.rb-formula__note{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-2);font-size:var(--fs-sm);line-height:1.55;color:var(--ink-3)}

/* Worked example: label · value rows that add up */
.rb-calc{overflow:hidden;border-radius:var(--r3);background:var(--paper);box-shadow:var(--sh1);font-size:15px;line-height:1.45;font-variant-numeric:tabular-nums}
.rb-calc__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--tint);font-size:var(--fs-sm);color:var(--ink-2)}
.rb-calc__head b{color:var(--ink)}
.rb-calc dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 20px}
.rb-calc dl>div+div{border-top:1px solid var(--line-2)}
.rb-calc dt{font-weight:500;color:var(--ink-2)}
.rb-calc dt small{display:block;font-size:var(--fs-xs);color:var(--ink-3)}
.rb-calc dd{flex:none;font-weight:700;color:var(--ink);white-space:nowrap}
.rb-calc .is-total{background:var(--tint)}
.rb-calc .is-total dt{font-weight:800;color:var(--ink)}
.rb-calc .is-total dd{font-size:19px;font-weight:800;letter-spacing:-.02em}
.rb-calc .rb-money{color:var(--green)}
.rb-calc__note{padding:12px 20px;border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-3)}

/* Stat row (docs landing): big number, label, as-of */
.rb-docs-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border-radius:var(--r3);background:var(--paper);box-shadow:var(--sh1);font-variant-numeric:tabular-nums}
.rb-docs-stats>li{display:grid;align-content:start;gap:4px;padding:20px}
.rb-docs-stats>li+li{border-left:1px solid var(--line-2)}
.rb-docs-stats b{font-size:clamp(28px,3vw,36px);font-weight:800;letter-spacing:-.045em;line-height:1.05;color:var(--ink);white-space:nowrap}
.rb-docs-stats span{font-size:var(--fs-sm);line-height:1.45;color:var(--ink-2)}
.rb-docs-stats small{font-size:var(--fs-2xs);color:var(--ink-3)}

/* rb/docs-card */
.rb-docs-cards{display:grid;gap:12px}
.rb-docs-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;column-gap:18px;align-items:center;padding:18px 20px;border-radius:var(--r3);background:var(--paper);box-shadow:var(--sh1);text-decoration:none;transition:box-shadow .25s var(--ease),transform .25s var(--ease)}
.rb-docs-card:hover{box-shadow:var(--sh2);transform:translateY(-2px)}
.rb-docs-card__ic{grid-row:1/span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--ink);color:#fff}
.rb-docs-card__t{font-size:17px;font-weight:800;letter-spacing:-.02em;line-height:1.35;color:var(--ink)}
.rb-docs-card__b{grid-column:2;font-size:15px;line-height:1.5;color:var(--ink-2)}
.rb-docs-card__go{grid-column:3;grid-row:1/span 2;color:var(--ink-3);transition:transform .2s var(--ease),color .2s}
.rb-docs-card:hover .rb-docs-card__go{color:var(--ink);transform:translateX(3px)}

/* FAQ, trial card, pager, meta */
.rb-docs-faq{margin-top:2.6em}
.rb-docs-faq dl{border-top:1px solid var(--line)}
.rb-docs-faq dl>div{padding:20px 0;border-bottom:1px solid var(--line)}
.rb-docs-faq dt{font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.45}
.rb-docs-faq dd{margin-top:6px}
.rb-docs-try{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-top:clamp(48px,6vw,72px);padding:24px;border-radius:var(--r4);background:var(--well)}
.rb-docs-try>div{flex:1 1 300px}
.rb-docs-try__t{font-size:20px;font-weight:800;letter-spacing:-.03em;line-height:1.3}
.rb-docs-try__b{margin-top:4px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.rb-docs-pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.rb-docs-pager a{display:grid;gap:2px;padding:16px 20px;border-radius:var(--r3);background:var(--paper);box-shadow:var(--sh1);text-decoration:none;transition:box-shadow .25s var(--ease)}
.rb-docs-pager a:hover{box-shadow:var(--sh2)}
.rb-docs-pager small{font-size:var(--fs-xs);font-weight:500;color:var(--ink-3)}
.rb-docs-pager span{font-size:16px;font-weight:800;letter-spacing:-.02em;line-height:1.35}
.rb-docs-pager small::before{content:"← "}
.rb-docs-pager__next{grid-column:2;text-align:right}
.rb-docs-pager__next small::before{content:none}
.rb-docs-pager__next small::after{content:" →"}
.rb-docs__meta{margin-top:28px;font-size:var(--fs-xs);color:var(--ink-3)}
.rb-docs__meta a{color:var(--ink-2)}

/* On this page */
.rb-docs__toc{margin-top:6px;padding-left:20px;border-left:1px solid var(--line)}
.rb-docs__toc-k{margin-bottom:10px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.rb-docs__toc ul{display:grid;gap:2px}
.rb-docs__toc a{display:block;padding:5px 0;font-size:var(--fs-xs);font-weight:500;line-height:1.4;color:var(--ink-3);text-decoration:none}
.rb-docs__toc a:hover{color:var(--ink)}

/* Responsive */
@media (max-width:1199px){
.rb-docs__grid{grid-template-columns:216px minmax(0,1fr)}
.rb-docs__toc{display:none}
}
@media (max-width:999px){
.rb-docs-menu{display:block}
.rb-docs__grid{grid-template-columns:minmax(0,1fr)}
.rb-docs__side{display:none}
.rb-docs__main{max-width:70ch}
}
@media (max-width:640px){
.rb-docs__main{font-size:16px}
.rb-docs-stats{grid-template-columns:minmax(0,1fr)}
.rb-docs-stats>li{padding:16px 18px}
.rb-docs-stats>li+li{border-left:0;border-top:1px solid var(--line-2)}
.rb-prose h2{margin-top:2em;padding-top:1.2em}
.rb-formula__eq{font-size:15px}
.rb-formula var{padding-inline:5px}
.rb-prose table{font-size:14px}
.rb-prose th,.rb-prose td{padding-inline:12px}
.rb-formula,.rb-docs-card{padding:16px}
.rb-docs-card{column-gap:14px}
.rb-docs-card__ic{width:36px;height:36px}
.rb-calc dl>div,.rb-calc__head,.rb-calc__note{padding-inline:16px}
.rb-docs-try{padding:20px}
.rb-docs-try .rb-btn{flex:1 1 auto}
.rb-docs-pager{grid-template-columns:minmax(0,1fr)}
.rb-docs-pager__next{grid-column:1}
}
@media (prefers-reduced-motion:reduce){
.rb-docs-card,.rb-docs-card__go,.rb-docs-menu>summary>.rb-icon{transition:none}
}
