/* Editorial disclosures reuse the existing physical (+) control. */
.editorial-more { margin: 20px 0 26px; }
.editorial-more > summary { display: flex; width: fit-content; max-width: 100%; list-style: none; }
.editorial-more > summary::-webkit-details-marker { display: none; }
.editorial-more > summary .cli-toggle-cap { align-self: flex-start; }
.editorial-more > summary > span { padding-top: 3px; }
.editorial-more[open] > summary { color: var(--ink); }
.editorial-more[open] .cli-toggle-cap .v { transform: scaleY(0); }
.editorial-body { margin: 14px 0 0 40px; padding: 16px 0 4px 20px; border-left: 1px solid var(--line); max-width: 780px; color: var(--ink-2); font-size: 15px; line-height: 1.65; }
.editorial-body p + p { margin-top: 15px; }
.editorial-body strong { color: var(--ink); font-weight: 600; }
.editorial-links { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.editorial-body a { text-decoration: underline; text-underline-offset: 4px; }
.editorial-body a:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 4px; }
.hero-explainer { margin: 24px 0 0; }
.hero-explainer .editorial-body { margin-left: 0; padding-left: 16px; }
.component-guide { margin: 0; }
.component-guide > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.component-guide > div:first-child { padding-top: 0; }
.component-guide > div:last-child { border-bottom: 0; }
.component-guide dt { color: var(--ink); font-weight: 600; }
.component-guide dd { margin: 0; }
@media (min-width: 1000px) {
  .product-parts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 659px) {
  .cli-head > div { min-width: 0; }
  .cli-head h2 span { white-space: normal; }
  .editorial-body { margin-left: 0; padding-left: 16px; }
  .component-guide > div { grid-template-columns: 1fr; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .editorial-more .cli-toggle-cap .v { transition: none; }
}

/* The console leads Meta; the drawing is a compact optional walkthrough. */
#meta .meta-points { margin-top: 28px; margin-bottom: 24px; }
#meta .meta-walkthrough { padding-top: 20px; margin-bottom: 0; border-top: 1px solid var(--line); }
#meta .meta-walkthrough > .mw { max-width: 920px; margin: 20px auto 0; }
#recall #memory-explained { grid-column: 1 / -1; margin: 0; }

/* One question shows how agent experience and shared knowledge contribute. */
#recall .memory-comparison-body { max-width: 100%; margin-left: 0; padding: 12px 0 0; border-left: 0; }
.memory-comparison-body > p { max-width: 800px; }
.memory-comparison { margin: 24px 0 20px; padding: 24px 28px; max-width: 960px; background: var(--panel); border-radius: 20px; color: var(--ink); }
.memory-comparison figcaption { font-size: 11px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--mid); margin-bottom: 22px; }
.mc-question, .mc-answer { max-width: 600px; margin: 0 auto; text-align: center; }
.mc-eyebrow { display: block; color: var(--mid); font-size: 11px; line-height: 1.4; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.mc-question p { margin: 6px 0 0; font-size: 22px; line-height: 1.35; font-weight: 500; letter-spacing: -.02em; }
.mc-branch, .mc-join { display: block; width: 100%; height: 40px; fill: var(--mid); stroke: var(--mid); stroke-width: 1; }
.mc-branch path, .mc-join path { fill: none; vector-effect: non-scaling-stroke; }
.mc-inputs { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.mc-input { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--screen); padding: 22px; }
.mc-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.mc-heading svg { width: 32px; height: 32px; flex: none; stroke: var(--ink); stroke-width: 1.25; fill: none; }
.mc-heading svg .mc-solid { fill: var(--ink); stroke: none; }
.mc-heading h3 { font-size: 20px; line-height: 1.25; margin: 0 0 4px; font-weight: 600; letter-spacing: -.02em; }
.mc-heading p { font-size: 13px; line-height: 1.45; color: var(--ink-2); }
.mc-records, .mc-facts { display: grid; gap: 12px; flex: 1; }
.mc-record { border-left: 3px solid var(--line); padding: 10px 12px; background: var(--panel); border-radius: 0 6px 6px 0; }
.mc-record p { margin: 5px 0 0; font-size: 15px; line-height: 1.4; }
.mc-fact { display: grid; grid-template-columns: 1fr 24px 1.1fr; align-items: center; gap: 8px; }
.mc-source { border: 1px solid var(--line); border-radius: 4px; padding: 12px 8px; text-align: center; font-size: 12px; color: var(--ink-2); }
.mc-fact strong { font-size: 15px; line-height: 1.4; font-weight: 500; }
.mc-evidence-link { display: block; height: 1px; background: var(--mid); position: relative; }
.mc-evidence-link::after { content: ''; position: absolute; right: -1px; top: -2px; width: 5px; height: 5px; background: var(--mid); border-radius: 50%; }
.mc-input .mc-contribution { margin: 22px 0 0; padding-top: 14px; border-top: 1px solid var(--line); font-size: 13px; line-height: 1.4; font-weight: 500; color: var(--ink-2); }
.mc-answer { border: 1px solid var(--accent-ink); border-radius: 10px; background: var(--screen); padding: 18px 22px; }
.mc-answer .mc-eyebrow { color: var(--accent-ink); }
.mc-answer p { margin: 6px 0 0; font-size: 20px; line-height: 1.4; font-weight: 500; letter-spacing: -.015em; }
.memory-comparison-body .mc-scope { font-size: 13px; line-height: 1.6; }
@media (max-width: 720px) {
  .memory-comparison { padding: 20px 16px; }
  .mc-inputs { grid-template-columns: 1fr; gap: 14px; }
  .mc-branch, .mc-join { height: 26px; }
  .mc-branch path:first-child { d: path('M400 0V39'); }
  .mc-branch path.mc-arrow { d: path('M396 34l4 5 4-5'); }
  .mc-join path:first-child { d: path('M400 0V39'); }
  .mc-question p { font-size: 20px; }
  .mc-input { padding: 18px; }
  .mc-heading { margin-bottom: 16px; gap: 12px; }
  .mc-heading h3 { font-size: 19px; }
  .mc-input .mc-contribution { margin-top: 16px; }
  .mc-answer { padding: 16px; }
  .mc-answer p { font-size: 18px; }
}

/* A browser demo beside the getting-started routes. */
.start-demo { display: grid; grid-template-columns: minmax(120px, .85fr) minmax(0, 1.15fr); align-items: center; gap: 18px; margin-top: 24px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--screen); color: var(--ink); text-decoration: none; }
.start-demo img { display: block; width: 100%; height: auto; border-radius: 6px; }
.start-demo-label { display: block; color: var(--mid); font-size: 10px; line-height: 1.4; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.start-demo h3 { margin: 4px 0 6px; font-size: 22px; line-height: 1.2; letter-spacing: -.025em; font-weight: 600; }
.start-demo p { margin: 0; color: var(--ink-2); font-size: 14px; line-height: 1.45; }
.start-demo-open { display: inline-flex; gap: 7px; margin-top: 9px; color: var(--accent-ink); font-size: 13px; line-height: 1.4; font-weight: 600; }
.start-demo:hover { border-color: var(--accent-ink); }
.start-demo:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 4px; }
@media (max-width: 420px) {
  .start-demo { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 12px; padding: 12px; }
  .start-demo h3 { font-size: 20px; }
}
