/* =========================================================================
   Rektification: the steward's log
   One timestamp axis rules the page. Panes are messages; state colours are
   events (join, renewal, removal). Tokens mirror theme.json.
   ========================================================================= */

:root{
  --rk-ground:#EEF0F3; --rk-ground-deep:#E3E6EB; --rk-pane:#FFFFFF;
  --rk-ink:#14161A; --rk-ink-soft:#3A3F47; --rk-mute:#5E6570; --rk-line:#D5D9DF;
  --rk-join:#1F9D55; --rk-join-ink:#13773F;
  --rk-out:#E5484D; --rk-out-ink:#C42B30;
  --rk-renew:#3E63DD; --rk-renew-ink:#3451C7;
  --rk-wait:#9AA1AB;
  --rk-gutter:120px; --rk-gap:24px;
  --rk-frame:1240px; --rk-pad:clamp(16px,4vw,48px);
  --rk-tail:6px; --rk-round:22px;
  --rk-ease:cubic-bezier(.16,1,.3,1);
}

body.rk-world{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.rk-world *,.rk-world *::before,.rk-world *::after{box-sizing:border-box}
body.rk-world .wp-site-blocks{padding:0}
body.rk-world :where(.rk-main){margin-block:0}
.rk-world ::selection{background:var(--rk-renew-ink);color:#fff}
.rk-world{caret-color:var(--rk-renew-ink);accent-color:var(--rk-renew-ink)}
.rk-world :focus-visible{outline:3px solid var(--rk-renew-ink);outline-offset:3px;border-radius:6px}
.rk-world [tabindex="-1"]:focus{outline:none}
.rk-world a{text-underline-offset:.18em;text-decoration-thickness:1px}
html:has(body.rk-world){scrollbar-color:var(--rk-wait) var(--rk-ground);scroll-padding-top:24px}

.rk-frame{max-width:var(--rk-frame);margin-inline:auto;padding-inline:var(--rk-pad)}

/* ---------- brand, header, buttons ---------- */
.rk-header{border-bottom:1px solid var(--rk-line);background:var(--rk-ground)}
.rk-header__bar{display:flex;align-items:center;gap:32px;min-height:68px}
.rk-brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:21px;letter-spacing:-.025em;color:var(--rk-ink);text-decoration:none}
.rk-world a.rk-brand{text-decoration:none}
.rk-brand:hover{color:var(--rk-ink)}
/* The rising arrow (brand/rektification/rektification-icon.svg), cropped to its strokes. */
.rk-mark{width:32px;height:20px;flex:none;color:var(--rk-ink)}
.rk-mark polyline{fill:none;stroke:currentColor;stroke-width:32;stroke-linecap:round;stroke-linejoin:round}
.rk-nav{display:flex;gap:26px;flex:1}
.rk-world .rk-nav a{color:var(--rk-ink-soft);text-decoration:none;font-size:16px;font-weight:500}
.rk-world .rk-nav a:hover{color:var(--rk-ink);text-decoration:underline}

.rk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;
  border-radius:14px;background:var(--rk-ink);color:#fff;font-weight:700;font-size:16px;line-height:1.2;
  text-decoration:none;transition:background .2s var(--rk-ease),transform .2s var(--rk-ease)}
.rk-world a.rk-btn{color:#fff;text-decoration:none}
.rk-world a.rk-btn:hover{background:var(--rk-ink-soft);color:#fff}
.rk-world a.rk-btn:active{transform:translateY(1px)}
.rk-btn--small{min-height:40px;padding:9px 16px;font-size:15px;border-radius:999px}
.rk-world a.rk-link{color:var(--rk-ink);font-weight:600}

/* ---------- the log: one axis ---------- */
.rk-log{position:relative;max-width:var(--rk-frame);margin-inline:auto;padding:12px var(--rk-pad) 96px}
.rk-log::before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--rk-pad) + var(--rk-gutter));width:1px;background:var(--rk-line)}
.rk-row{display:grid;grid-template-columns:var(--rk-gutter) minmax(0,1fr);column-gap:var(--rk-gap);align-items:start;margin-top:14px}
.rk-time{position:relative;padding:6px 18px 0 0;text-align:right;font-size:14px;line-height:1.35;color:var(--rk-mute)}
.rk-time--pair{padding-top:26px;font-weight:600;color:var(--rk-ink-soft)}

.rk-note{margin:14px 0 0;font-size:14px;font-weight:600;letter-spacing:.01em;color:var(--rk-mute)}
.rk-row--note{margin-top:0}

.rk-line{margin:0;padding:3px 0;font-size:17px;line-height:1.5;color:var(--rk-ink-soft);max-width:72ch}
.rk-line b{color:var(--rk-ink);font-weight:700}
.rk-line s{text-decoration-thickness:2px;text-decoration-color:var(--rk-out)}
.rk-row--past .rk-line,.rk-row--past .rk-line b{color:var(--rk-mute);font-weight:500}
.rk-row--past .rk-line s{text-decoration-color:var(--rk-mute)}
.rk-row--live .rk-line{color:var(--rk-mute);font-weight:500}
.rk-row--live .rk-line b{color:var(--rk-mute);font-weight:700}

.rk-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:12px;vertical-align:1px;background:var(--rk-line)}
.rk-dot--join{background:var(--rk-join)}
.rk-dot--renew{background:var(--rk-renew)}
.rk-dot--out{background:var(--rk-out)}
.rk-dot--wait{background:transparent;box-shadow:inset 0 0 0 2px var(--rk-wait)}
.rk-dot--none{background:var(--rk-wait)}

/* ---------- panes ---------- */
.rk-pane{background:var(--rk-pane);border-radius:var(--rk-round) var(--rk-round) var(--rk-round) var(--rk-tail);
  padding:18px 22px;box-shadow:0 1px 0 rgba(20,22,26,.06),0 8px 24px -18px rgba(20,22,26,.28);max-width:72ch}
.rk-pane p{margin:0}
.rk-pane p+p{margin-top:.75em}
.rk-pane__from{font-size:14px;font-weight:700;color:var(--rk-mute)}

.rk-pane--pinned{padding:26px clamp(22px,4vw,52px) 30px;max-width:1000px;margin-block:6px 8px}
.rk-pane--pinned h1{margin:0 0 18px;font-size:clamp(2.5rem,min(5.6vw,8.2vh),4.75rem);line-height:.98;letter-spacing:-.035em;font-weight:800;text-wrap:balance;max-width:19ch}
.rk-lede{font-size:clamp(1.0625rem,1.6vw,1.3125rem);line-height:1.5;color:var(--rk-ink-soft);max-width:68ch}

.rk-pane--steward{background:var(--rk-ink);color:#fff}
.rk-pane--steward b{color:#fff}
.rk-pane--note{background:var(--rk-ground-deep);color:var(--rk-ink);box-shadow:none}
.rk-pane--you{background:var(--rk-pane);color:var(--rk-ink);box-shadow:inset 0 0 0 2px var(--rk-ink);
  border-radius:var(--rk-round) var(--rk-round) var(--rk-tail) var(--rk-round);justify-self:end;margin-left:auto;font-weight:700}

.rk-stack{display:grid;gap:10px;justify-items:start}

/* ---------- section heads ---------- */
.rk-day{position:relative}
.rk-day+.rk-day{margin-top:88px}
.rk-row--head{margin-top:0;padding-top:28px;border-top:1px solid var(--rk-line)}
.rk-row--head .rk-time{padding-top:14px;font-weight:600;color:var(--rk-ink-soft)}
.rk-row--head h2{margin:0 0 10px;font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1.05;letter-spacing:-.025em;text-wrap:balance}
.rk-row--head .rk-time::after{content:"";position:absolute;right:-5px;top:21px;width:9px;height:9px;border-radius:50%;
  background:var(--rk-ground);box-shadow:inset 0 0 0 2px var(--rk-ink-soft)}

/* ---------- finder: the steward asks ---------- */
.rk-thread{display:grid;gap:10px;justify-items:start;max-width:640px}
.rk-thread>.rk-pane{max-width:100%}
.rk-ask{margin:0;font-size:clamp(1.375rem,2.2vw,1.625rem);line-height:1.2;letter-spacing:-.015em;font-weight:700;color:#fff;outline:none}
.rk-keys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
.rk-key{display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;min-width:0;text-align:center;padding:12px 16px;border-radius:14px;
  background:var(--rk-pane);border:2px solid var(--rk-ink);color:var(--rk-ink);font-weight:700;font-size:clamp(1.125rem,1.8vw,1.3125rem);
  cursor:pointer;transition:background .18s var(--rk-ease),color .18s var(--rk-ease),transform .18s var(--rk-ease)}
.rk-world a.rk-key{color:var(--rk-ink);text-decoration:none}
.rk-world a.rk-key:hover{background:var(--rk-ink);color:#fff}
.rk-world a.rk-key:hover .rk-tag{border-color:#fff;color:#fff}
.rk-key:active{transform:translateY(1px)}
.rk-keys[aria-disabled="true"] .rk-key{pointer-events:none;border-color:var(--rk-line);color:var(--rk-mute)}
.rk-keys[aria-disabled="true"] .rk-tag{border-color:var(--rk-line);color:var(--rk-mute)}
.rk-keys[aria-disabled="true"] .rk-key[aria-current="true"]{border-color:var(--rk-ink);color:var(--rk-ink)}
.rk-keys[aria-disabled="true"] .rk-key[aria-current="true"] .rk-tag{border-color:var(--rk-ink);color:var(--rk-ink)}
.rk-thread .rk-pane--you{justify-self:end}
.rk-thread .rk-product{width:100%}
.rk-restart{background:none;border:0;padding:6px 2px;font:inherit;font-weight:600;color:var(--rk-ink);text-decoration:underline;text-underline-offset:.18em;cursor:pointer}
.rk-restart:hover{color:var(--rk-renew-ink)}

.rk-typing{display:inline-flex;gap:5px;padding:16px 20px}
.rk-typing i{width:7px;height:7px;border-radius:50%;background:#fff;opacity:.35;animation:rk-type 1s infinite var(--rk-ease)}
.rk-typing i:nth-child(2){animation-delay:.15s}
.rk-typing i:nth-child(3){animation-delay:.3s}
@keyframes rk-type{40%{opacity:1;transform:translateY(-2px)}}

.rk-arrive{animation:rk-arrive .42s var(--rk-ease) both}
@keyframes rk-arrive{from{opacity:0;transform:translateY(10px) scale(.985)}}
.rk-row--live .rk-line{animation:rk-live 2.4s var(--rk-ease) .4s both}
@keyframes rk-live{from{background:rgba(31,157,85,.16);box-shadow:-10px 0 0 rgba(31,157,85,.16),10px 0 0 rgba(31,157,85,.16)}}

/* ---------- platform tags: square = store, round = community ---------- */
.rk-pair{display:inline-flex;gap:4px;flex:none}
.rk-tag{display:inline-grid;place-items:center;width:26px;height:26px;border:2px solid var(--rk-ink);color:var(--rk-ink);
  font-size:13px;font-weight:800;line-height:1;flex:none}
.rk-tag--store{border-radius:5px}
.rk-tag--community{border-radius:50%}

/* ---------- products ---------- */
.rk-product{padding:24px clamp(20px,3vw,32px) 26px;max-width:860px}
.rk-product__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.rk-product h3{margin:0;font-size:clamp(1.3125rem,2vw,1.5rem);line-height:1.2;letter-spacing:-.015em}
.rk-badge{font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--rk-ground);color:var(--rk-ink-soft)}
.rk-badge--available{background:#E3F4EA;color:var(--rk-join-ink)}
.rk-badge--soon{background:var(--rk-ink);color:#fff}
.rk-badge--planned{background:var(--rk-ground);color:var(--rk-mute)}
.rk-product__summary{margin-top:14px!important;font-size:18px;font-weight:600;color:var(--rk-ink)}
.rk-product__detail{color:var(--rk-ink-soft)}
.rk-product__links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:18px!important}
.rk-product--planned{background:transparent;box-shadow:inset 0 0 0 1.5px var(--rk-line)}
/* "Coming soon": a waiting event pinned to the top of the product. */
.rk-soon{width:fit-content;max-width:100%;margin:0 0 16px!important;padding:9px 14px;border-radius:12px;background:var(--rk-ground-deep);color:var(--rk-ink-soft);font-size:15px;line-height:1.4}
.rk-soon b{color:var(--rk-ink)}
.rk-soon a{color:var(--rk-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.rk-soon .rk-dot{margin-right:10px}
.rk-product--planned .rk-soon{background:var(--rk-ground-deep)}
.rk-product--planned .rk-tag{border-style:dashed;color:var(--rk-mute);border-color:var(--rk-mute)}

/* ---------- FAQ exchange ---------- */
.rk-faq{display:grid;gap:10px;margin:0;max-width:820px}
.rk-faq dt{max-width:min(560px,90%);font-size:17px}
.rk-faq dd{margin:0 0 18px;line-height:1.6}
.rk-faq dd:last-child{margin-bottom:0}

/* ---------- docs index ---------- */
.rk-index{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-width:820px}
.rk-index li{background:var(--rk-pane);border-radius:14px}
.rk-world .rk-index a,.rk-index__soon{display:flex;align-items:center;gap:16px;padding:16px 20px;color:var(--rk-ink);text-decoration:none;font-weight:600;border-radius:14px}
.rk-world .rk-index a:hover{background:var(--rk-ink);color:#fff}
.rk-world .rk-index a:hover .rk-tag{border-color:#fff;color:#fff}
.rk-index__soon{color:var(--rk-mute);font-weight:500}
.rk-index li.rk-index__soon{background:transparent;box-shadow:inset 0 0 0 1.5px var(--rk-line)}
.rk-index__soon .rk-tag{border-color:var(--rk-mute);color:var(--rk-mute);border-style:dashed}

/* ---------- footer ---------- */
.rk-footer{background:var(--rk-ink);color:#C9CDD3;padding:64px 0 32px}
.rk-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.rk-footer .rk-brand{color:#fff}
.rk-footer .rk-mark{color:#fff}
.rk-footer p{margin:14px 0 0;max-width:36ch;font-size:15px;line-height:1.55}
.rk-footer h2{margin:0 0 12px;font-size:14px;font-weight:700;letter-spacing:0;color:#fff}
.rk-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rk-world .rk-footer a{color:#C9CDD3;text-decoration:none;font-size:15px}
.rk-world .rk-footer a:hover{color:#fff;text-decoration:underline}
.rk-world .rk-footer a.rk-brand{color:#fff;font-size:21px}
.rk-footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:20px;border-top:1px solid #2E3239;font-size:14px;color:#A4AAB3}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .rk-footer__grid{grid-template-columns:1fr 1fr}
  .rk-footer__brand{grid-column:1/-1}
}
@media (max-width:720px){
  :root{--rk-gutter:58px;--rk-gap:14px;--rk-round:18px}
  .rk-header__bar{gap:16px;min-height:60px}
  .rk-nav{display:none}
  .rk-header .rk-btn--small{margin-left:auto}
  .rk-time{font-size:12px;padding-right:10px}
  .rk-time--pair{font-size:0}
  .rk-line{font-size:16px}
  .rk-pane{padding:16px 18px}
  .rk-pane--pinned{padding:22px 18px 24px}
  .rk-pane--pinned h1{font-size:2.25rem;margin:8px 0 14px}
  .rk-row--note + .rk-row--past{display:none}
  .rk-keys{grid-template-columns:1fr}
  .rk-key{min-height:56px}
  .rk-row--head h2{font-size:1.75rem}
  .rk-row--head .rk-time{font-size:12px}
  .rk-day+.rk-day{margin-top:64px}
  .rk-faq dt{max-width:92%}
}
@media (max-width:480px){
  .rk-footer__grid{grid-template-columns:1fr}
  .rk-brand{font-size:19px}
}

@media (prefers-reduced-motion:reduce){
  .rk-arrive,.rk-row--live .rk-line,.rk-typing i{animation:none}
}

/* ---------- measure ---------- */
.rk-pane p,.rk-faq dd{max-width:64ch;text-wrap:pretty}
.rk-faq dd{max-width:min(64ch,100%)}

/* ---------- headline lines, product posts ---------- */
.rk-h1-line{display:block}
.rk-post{display:grid;gap:8px;max-width:860px}
.rk-post .rk-product{max-width:none}
.rk-keys--post{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.rk-keys--post .rk-key{min-height:52px;font-size:17px}
.rk-world a.rk-key--primary{background:var(--rk-ink);color:#fff}
.rk-world a.rk-key--primary:hover{background:var(--rk-ink-soft);border-color:var(--rk-ink-soft)}
.rk-line--planned{display:flex;gap:14px;align-items:flex-start;color:var(--rk-mute);padding-top:20px}
.rk-line--planned b{color:var(--rk-ink-soft)}
.rk-line--planned .rk-tag{border-style:dashed;border-color:var(--rk-mute);color:var(--rk-mute)}
.rk-row--line .rk-time--pair{padding-top:20px}
@media (max-width:720px){
  .rk-header .rk-btn--small{display:none}
  .rk-log{padding-top:4px}
  .rk-row--note .rk-note{margin-top:8px}
  .rk-row{margin-top:10px}
  .rk-pane--pinned{padding:20px 18px 22px;margin-block:4px}
  .rk-pane--pinned h1{font-size:2rem;margin-bottom:12px}
  .rk-lede{font-size:1rem}
  .rk-key{min-height:52px}
  .rk-keys:not(.rk-keys--post){grid-template-columns:repeat(2,minmax(0,1fr))}
  .rk-keys:not(.rk-keys--post) .rk-key{font-size:1rem;gap:8px;padding:10px}
}
#products .rk-row+.rk-row{margin-top:40px}
@media (max-width:440px){
  .rk-keys:not(.rk-keys--post){grid-template-columns:1fr;gap:8px}
  .rk-keys:not(.rk-keys--post) .rk-key{min-height:48px;justify-content:flex-start;padding:8px 14px}
  .rk-lede{font-size:.9375rem;line-height:1.45}
  .rk-pane--pinned h1{margin-bottom:10px}
}
@media (max-width:440px) and (max-height:800px){
  .rk-row--past{display:none}
  .rk-pane--pinned h1{font-size:1.875rem}
}

/* =========================================================================
   Inner pages: docs, guides, products, plain pages.
   Same axis as the homepage: breadcrumb note, pinned head, then a reading
   grid (article + aside) in the content column. Section heads inside the
   article carry the axis marker, so long reads still sit on the log.
   ========================================================================= */
.rk-log--page{padding-bottom:112px}
.rk-crumbs ol{display:flex;flex-wrap:wrap;gap:4px 0;list-style:none;margin:14px 0 0;padding:0;font-size:14px;color:var(--rk-mute)}
.rk-crumbs li+li::before{content:"/";margin:0 8px;color:var(--rk-wait)}
.rk-world .rk-crumbs a{color:var(--rk-ink-soft);text-decoration:none}
.rk-world .rk-crumbs a:hover{color:var(--rk-ink);text-decoration:underline}
.rk-crumbs [aria-current]{color:var(--rk-mute)}

.rk-row--pin .rk-time{padding-top:30px;font-weight:600;color:var(--rk-ink-soft)}
.rk-pane--head h1{margin:0;font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.02;letter-spacing:-.03em;font-weight:800;text-wrap:balance;max-width:24ch}
.rk-pane--head .rk-product__head{margin-bottom:16px}
.rk-pane--head .rk-lede{margin-top:16px}
.rk-row--keys .rk-keys{max-width:860px}
.rk-row--meta .rk-line{font-size:15px;color:var(--rk-mute)}
.rk-row--meta .rk-line b{font-weight:600;color:var(--rk-ink-soft)}

.rk-row--body{margin-top:40px}
.rk-read{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start;max-width:1060px}
.rk-read--single{grid-template-columns:minmax(0,1fr)}
.rk-aside{position:sticky;top:24px;display:grid;gap:14px;max-height:calc(100vh - 48px);overflow:auto;padding:2px;scrollbar-width:thin}
.rk-aside__title{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--rk-ink)}
.rk-world .rk-aside__title a{color:var(--rk-ink);text-decoration:none}
.rk-world .rk-aside__title a:hover{text-decoration:underline}

/* ---------- prose ---------- */
.rk-prose{max-width:70ch;font-size:1.0625rem;line-height:1.65;color:var(--rk-ink)}
.rk-prose>*{margin-block:0}
.rk-prose>*+*{margin-top:1.1em}
.rk-prose p,.rk-prose li{text-wrap:pretty}
.rk-prose h2{position:relative;margin-top:1.9em;font-size:clamp(1.5rem,2.6vw,1.875rem);line-height:1.12;letter-spacing:-.022em;scroll-margin-top:24px;text-wrap:balance}
.rk-prose h2::before{content:"";position:absolute;left:calc(-1 * var(--rk-gap) - 5px);top:.42em;width:9px;height:9px;border-radius:50%;background:var(--rk-ground);box-shadow:inset 0 0 0 2px var(--rk-ink-soft)}
.rk-prose h3{margin-top:1.8em;font-size:1.25rem;line-height:1.25;letter-spacing:-.012em;font-weight:750}
.rk-prose h4{margin-top:1.5em;font-size:1.0625rem;font-weight:700}
.rk-prose>h2:first-child,.rk-prose>h3:first-child{margin-top:0}
.rk-prose h2+*,.rk-prose h3+*{margin-top:.6em}
.rk-prose ul,.rk-prose ol{padding-left:1.4em}
.rk-prose li+li{margin-top:.35em}
.rk-prose li::marker{color:var(--rk-mute);font-weight:600}
.rk-world .rk-prose a{color:var(--rk-ink);text-decoration-color:var(--rk-wait)}
.rk-world .rk-prose a:hover{color:var(--rk-renew-ink);text-decoration-color:currentColor}
.rk-prose strong,.rk-prose b{font-weight:700}
.rk-prose hr{border:0;border-top:1px solid var(--rk-line);margin-block:2.4em}

.rk-prose code{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.86em;padding:.12em .38em;border-radius:6px;background:var(--rk-ground-deep);overflow-wrap:anywhere}
.rk-prose pre{margin-top:1.3em;padding:18px 20px;border-radius:14px;background:var(--rk-pane);box-shadow:inset 0 0 0 1px var(--rk-line);overflow:auto;font-size:14px;line-height:1.55}
.rk-prose pre code{padding:0;background:none;font-size:inherit;overflow-wrap:normal}
/* Hook and function names are long unbroken words; let them wrap on phones. */
.rk-prose :where(h2,h3,h4),.rk-aside{overflow-wrap:break-word}
.rk-prose .wp-block-code{border:0}

.rk-prose blockquote{margin-inline:0;padding:16px 22px;border-radius:var(--rk-round) var(--rk-round) var(--rk-round) var(--rk-tail);background:var(--rk-ground-deep);color:var(--rk-ink-soft)}
.rk-prose blockquote p{margin:0}
.rk-prose blockquote p+p{margin-top:.6em}

.rk-prose figure{margin-inline:0}
.rk-prose .wp-block-image img{height:auto;max-width:100%;border-radius:14px;box-shadow:0 1px 0 rgba(20,22,26,.06),0 12px 32px -22px rgba(20,22,26,.4);background:var(--rk-pane)}
.rk-prose figcaption{margin-top:8px;font-size:14px;color:var(--rk-mute)}

.rk-prose .wp-block-table{overflow-x:auto}
.rk-prose table{width:100%;border-collapse:separate;border-spacing:0;background:var(--rk-pane);border-radius:14px;font-size:15px;line-height:1.45;box-shadow:inset 0 0 0 1px var(--rk-line)}
.rk-prose th,.rk-prose td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rk-line)}
.rk-prose tr:last-child>td,.rk-prose tr:last-child>th{border-bottom:0}
.rk-prose thead th{font-weight:700;background:var(--rk-ground-deep);border-bottom:1px solid var(--rk-line)}
.rk-prose thead th:first-child{border-top-left-radius:14px}
.rk-prose thead th:last-child{border-top-right-radius:14px}
.rk-prose .wp-block-table thead{border:0}
.rk-prose .wp-block-table td,.rk-prose .wp-block-table th{border-inline:0}
/* Three columns on a phone leave ~90px each: tighter cells, and hyphenate long words instead of splitting them bare. */
@media (max-width:480px){
  .rk-prose table{font-size:14px}
  .rk-prose th,.rk-prose td{padding:10px 8px;hyphens:auto;-webkit-hyphens:auto}
}

/* The direct answer: the steward speaks first. */
.rk-prose .rk-answer{background:var(--rk-ink);color:#fff;border-radius:var(--rk-round) var(--rk-round) var(--rk-round) var(--rk-tail);padding:20px 24px;font-size:1.125rem;line-height:1.55}
.rk-prose .rk-answer>*+*{margin-top:.7em}
.rk-world .rk-prose .rk-answer a{color:#fff;text-decoration-color:rgba(255,255,255,.5)}
.rk-prose .rk-answer code{background:rgba(255,255,255,.14)}
/* A limitation or note. */
.rk-prose .rk-callout{background:var(--rk-ground-deep);border-radius:var(--rk-round) var(--rk-round) var(--rk-round) var(--rk-tail);padding:18px 22px}
.rk-prose .rk-callout>*{margin-block:0}
.rk-prose .rk-callout>*+*{margin-top:.6em}
.rk-prose .rk-callout h3{margin-top:0;font-size:1.0625rem}

/* FAQ: the merchant asks (outlined, right), the steward answers (ink). */
.rk-prose .wp-block-details{display:grid;gap:10px;margin-top:14px}
.rk-prose .wp-block-details summary{justify-self:end;max-width:min(560px,92%);list-style:none;cursor:pointer;padding:14px 20px;background:var(--rk-pane);color:var(--rk-ink);
  font-weight:700;border-radius:var(--rk-round) var(--rk-round) var(--rk-tail) var(--rk-round);box-shadow:inset 0 0 0 2px var(--rk-ink)}
.rk-prose .wp-block-details summary::-webkit-details-marker{display:none}
.rk-prose .wp-block-details summary::after{content:"+";margin-left:12px;font-weight:800;color:var(--rk-mute)}
.rk-prose .wp-block-details[open] summary::after{content:"−"}
.rk-prose .wp-block-details summary:hover{background:var(--rk-ground-deep)}
.rk-prose .wp-block-details>:not(summary){margin:0;background:var(--rk-ink);color:#fff;padding:16px 22px;border-radius:var(--rk-round) var(--rk-round) var(--rk-round) var(--rk-tail);max-width:64ch}
.rk-prose .wp-block-details>:not(summary)+:not(summary){margin-top:-4px}
.rk-world .rk-prose .wp-block-details a{color:#fff;text-decoration-color:rgba(255,255,255,.5)}
.rk-prose .wp-block-details code{background:rgba(255,255,255,.14)}

/* ---------- asides ---------- */
.rk-docnav,.rk-toc{padding:18px 18px 14px;background:var(--rk-pane);border-radius:18px}
.rk-docnav ul,.rk-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:1px}
.rk-docnav__section{margin:14px 0 4px;font-size:13px;font-weight:700;color:var(--rk-mute)}
.rk-world .rk-docnav a,.rk-world .rk-toc a{display:block;padding:6px 10px;margin-inline:-10px;border-radius:10px;color:var(--rk-ink-soft);text-decoration:none;font-size:15px;line-height:1.35}
.rk-world .rk-docnav a:hover,.rk-world .rk-toc a:hover{background:var(--rk-ground);color:var(--rk-ink)}
.rk-world .rk-docnav a[aria-current="page"]{background:var(--rk-ink);color:#fff;font-weight:600}
.rk-world .rk-docnav a.rk-docnav__all{font-weight:700;color:var(--rk-ink)}

.rk-card{display:grid;gap:12px;padding:18px;background:var(--rk-pane);border-radius:18px}
.rk-card .rk-product__head{gap:10px}
.rk-card__name{margin:0;font-weight:800;font-size:17px;line-height:1.25}
.rk-card__summary{margin:0;font-size:15px;line-height:1.5;color:var(--rk-ink-soft)}
.rk-card__links{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rk-card .rk-key{min-height:46px;font-size:15px;width:100%}
.rk-pane--help{font-size:15px;line-height:1.5;max-width:none}
.rk-world .rk-pane--help a{color:#fff}

/* ---------- indexes with descriptions ---------- */
.rk-index--docs{max-width:none;gap:6px}
.rk-world .rk-index--docs a,.rk-index--docs .rk-index__row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;align-content:center;column-gap:16px;padding:16px 20px}
.rk-index--docs a:not(:has(.rk-pair)),.rk-index--docs .rk-index__row:not(:has(.rk-pair)){grid-template-columns:minmax(0,1fr)}
.rk-index--docs .rk-pair{grid-row:span 2;align-self:center}
.rk-index__t{font-weight:700;font-size:17px;line-height:1.3}
.rk-index__d{font-weight:400;font-size:15px;line-height:1.45;color:var(--rk-ink-soft);margin-top:3px}
.rk-world .rk-index--docs a:hover .rk-index__d{color:#D7DBE0}
.rk-docsecs>.rk-docsec+.rk-docsec{margin-top:2.6em}
.rk-docsec h2{margin:0 0 .7em}
.rk-prose .rk-index{padding-left:0}
.rk-prose .rk-index li+li{margin-top:0}
.rk-docsec{scroll-margin-top:24px}

/* ---------- pager ---------- */
.rk-row--pager{margin-top:56px}
.rk-row--pager .rk-time{padding-top:18px;font-weight:600;color:var(--rk-ink-soft)}
.rk-pager{max-width:860px}
.rk-pager .rk-key{font-size:16px;justify-content:flex-start;text-align:left}
.rk-pager .rk-key:last-child:not(:first-child){justify-content:flex-end;text-align:right}

/* ---------- products matrix ---------- */
.rk-matrix-wrap{max-width:860px;overflow-x:auto}
.rk-matrix{width:calc(100% + 16px);table-layout:fixed;border-collapse:separate;border-spacing:8px;margin:-8px}
.rk-matrix colgroup col:first-child,.rk-matrix tr>:first-child{width:150px}
.rk-matrix th{font-weight:700;font-size:16px;text-align:left;padding:6px 8px;white-space:nowrap}
.rk-matrix th .rk-tag{margin-right:10px;vertical-align:-7px}
.rk-matrix thead th{padding-bottom:2px}
.rk-matrix td{padding:0;height:1px}
.rk-world .rk-matrix__cell a{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px;height:100%;min-height:112px;padding:16px 18px;
  border:2px solid var(--rk-ink);border-radius:14px;background:var(--rk-pane);color:var(--rk-ink);text-decoration:none;transition:background .18s var(--rk-ease),color .18s var(--rk-ease)}
.rk-matrix__cell b{font-size:18px;line-height:1.25;font-weight:700}
.rk-world .rk-matrix__cell a:hover{background:var(--rk-ink);color:#fff}
.rk-world .rk-matrix__cell--planned a{border:1.5px dashed var(--rk-mute);background:transparent;color:var(--rk-mute)}
.rk-world .rk-matrix__cell--planned a:hover{background:var(--rk-ground-deep);color:var(--rk-ink)}
.rk-row--product{margin-top:40px}
.rk-product__head>*{margin:0}
.rk-product h2{margin:0;font-size:clamp(1.3125rem,2vw,1.5rem);line-height:1.2;letter-spacing:-.015em}

@media (max-width:1100px){
  .rk-read{grid-template-columns:minmax(0,1fr);gap:40px}
  .rk-aside{position:static;max-height:none;overflow:visible;max-width:70ch}
  .rk-toc{display:none}
}
@media (max-width:720px){
  /* Reading pages give the gutter back to the text; the axis stays at the edge. */
  .rk-log--page{--rk-gutter:0px;--rk-gap:16px}
  .rk-log--page .rk-row>.rk-time{display:none}
  .rk-log--page .rk-row{grid-template-columns:minmax(0,1fr);padding-left:var(--rk-gap)}
  .rk-log--page::before{left:var(--rk-pad)}
  .rk-prose h2::before{left:calc(-1 * var(--rk-gap) - 4px)}
  .rk-pane--head h1{font-size:2rem}
  .rk-row--body{margin-top:28px}
  .rk-prose{font-size:1rem}
  .rk-prose .rk-answer{font-size:1.0625rem;padding:18px 18px}
  .rk-prose .wp-block-details summary{max-width:100%}
  .rk-pager .rk-key,.rk-pager .rk-key:last-child:not(:first-child){justify-content:center;text-align:center}
  .rk-matrix th{font-size:14px;white-space:normal}
  .rk-matrix tr>:first-child{width:104px;font-size:13px}
  .rk-matrix .rk-badge{font-size:12px;border-radius:8px;padding:3px 8px;line-height:1.3}
  .rk-matrix th .rk-tag{display:none}
  .rk-matrix__cell b{font-size:15px}
  .rk-world .rk-matrix__cell a{min-height:96px;padding:12px}
  .rk-row--product .rk-time--pair{display:none}
}
