/* Source-grounded article diagrams. Semantic text stays readable without art. */
.rw .article .ax-figure{--ax-accent:var(--acc,#ff7948);--ax-rule:var(--line,#3b3e33);position:relative;isolation:isolate;clear:both;min-width:0;margin:34px 0 38px;padding:24px;border:1px solid var(--ax-rule);border-radius:3px 24px 3px 24px;background:linear-gradient(120deg,rgba(244,111,58,.045),transparent 52%),var(--panel,#16140f);scroll-margin-top:92px;break-inside:avoid}
.rw .article .ax-figure>figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:114px;padding:0 180px 22px 0;margin:0;color:var(--tx,#eeece2)}
.rw .article .ax-kicker{display:flex;align-items:center;gap:9px;font-family:var(--mono,monospace);font-size:9px;font-weight:500;line-height:1.5;letter-spacing:.11em;text-transform:uppercase;color:var(--ax-accent)}
.rw .article .ax-kicker:before{content:"";display:block;width:21px;height:1px;background:currentColor;flex:none}
.rw .article .ax-title{display:block;font-size:clamp(20px,2vw,26px);font-weight:750;letter-spacing:-.025em;line-height:1.22;text-wrap:balance;overflow-wrap:anywhere}
.rw .article .ax-intro{display:block;font-size:13px;line-height:1.6;color:var(--tx-mut,#a5aa9d);max-width:59ch;overflow-wrap:anywhere}
.rw .article .ax-stage{min-width:0}
.rw .article .ax-art{position:absolute;z-index:0;top:16px;right:18px;width:160px;height:114px;overflow:hidden;border-radius:3px 18px 3px 18px;background:#0e100d;pointer-events:none;isolation:isolate}
.rw .article .ax-art:after{content:"";position:absolute;inset:0;border:1px solid #e8d6ba24;border-radius:inherit;pointer-events:none}
.rw .article .ax-art img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;opacity:.96;transition:transform .7s ease,filter .7s ease}
.rw .article .ax-nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px;list-style:none;margin:0;padding:0;min-width:0;counter-reset:none}
.rw .article .ax-nodes>li{position:relative;min-width:0;margin:0;padding:16px 0 0;border-top:1px solid var(--ax-rule);font-size:14px;line-height:1.55;color:var(--tx,#eeece2);list-style:none;overflow-wrap:anywhere;hyphens:auto}
.rw .article .ax-index{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:25px;margin:0 0 10px;font-family:var(--mono,monospace);font-size:10px;font-weight:400;line-height:1;color:var(--ax-accent);border:1px solid color-mix(in srgb,var(--ax-accent) 35%,transparent);border-radius:50%;letter-spacing:.03em}
.rw .article .ax-nodes>li>strong{display:block;font-size:15px;font-weight:700;line-height:1.35;letter-spacing:-.015em;color:var(--tx,#eeece2)}
.rw .article .ax-nodes>li>p{font-size:13px;line-height:1.65;color:var(--tx-mut,#a5aa9d);margin:8px 0 0;padding:0;overflow-wrap:anywhere}
.rw .article .ax-figure>.ax-note{margin:22px 0 0;padding:13px 0 0;border-top:1px solid var(--ax-rule);font-size:11.5px;line-height:1.65;color:var(--tx-mut,#a5aa9d);overflow-wrap:anywhere}
.rw .article .ax-figure a{color:var(--ax-accent);text-underline-offset:3px}
.rw .article .ax-figure a:focus-visible{outline:2px solid var(--ax-accent);outline-offset:3px}

/* A flow is one continuous vertical sequence: no ambiguous row wrapping. */
.rw .article .ax-flow .ax-nodes{display:flex;flex-direction:column;gap:0}
.rw .article .ax-flow .ax-nodes>li{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:16px;padding:0 0 22px;border:0;min-height:56px}
.rw .article .ax-flow .ax-nodes>li:last-child{padding-bottom:0}
.rw .article .ax-flow .ax-index{width:26px;grid-column:1;grid-row:1/span 2;align-self:start;margin:0;background:var(--panel,#16140f);position:relative;z-index:1}
.rw .article .ax-flow .ax-nodes>li>strong,.rw .article .ax-flow .ax-nodes>li>p{grid-column:2}
.rw .article .ax-flow .ax-nodes>li>strong{padding-top:2px}
.rw .article .ax-flow .ax-nodes>li>p{margin-top:5px;max-width:80ch}
.rw .article .ax-flow .ax-nodes>li:not(:last-child):before{content:"";position:absolute;left:12px;top:26px;bottom:4px;width:1px;background:linear-gradient(var(--ax-accent),var(--ax-rule));opacity:.7}
.rw .article .ax-flow .ax-nodes>li:not(:last-child):after{content:"";position:absolute;left:9px;bottom:5px;width:7px;height:7px;border-right:1px solid var(--ax-accent);border-bottom:1px solid var(--ax-accent);transform:rotate(45deg)}

/* Maps group related concepts without indicating cause, order or completion. */
.rw .article .ax-map .ax-nodes{gap:22px 0}
.rw .article .ax-map .ax-nodes>li{padding:17px 16px 0 0}
.rw .article .ax-map .ax-nodes>li:before{content:"";position:absolute;top:0;left:12px;width:1px;height:10px;background:var(--ax-rule)}
.rw .article .ax-map .ax-index{border-radius:3px;width:25px}

/* Criteria use empty markers, never a claim that a check has been completed. */
.rw .article .ax-checklist .ax-nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px}
.rw .article .ax-checklist .ax-nodes>li{padding-left:31px}
.rw .article .ax-checklist .ax-index{position:absolute;left:0;top:17px;min-width:19px;height:19px;margin:0;font-size:0;border-radius:4px}

/* Comparison options have equal visual weight and no directional connectors. */
.rw .article .ax-compare .ax-nodes{gap:14px}
.rw .article .ax-compare .ax-nodes>li{border-top:2px solid color-mix(in srgb,var(--ax-accent) 50%,var(--ax-rule));padding:15px 14px 16px;background:color-mix(in srgb,var(--panel,#16140f) 70%,var(--bg,#0c0b09));border-radius:0 0 10px 0}
.rw .article .ax-compare .ax-index{height:auto;min-width:0;border:0;border-radius:0;margin-bottom:13px;font-size:10px;letter-spacing:.1em}
.rw .article .ax-nodes:has(>li:nth-child(4):last-child),.rw .article .ax-nodes:has(>li:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.rw .article .ax-checklist .ax-nodes:has(>li:only-child){grid-template-columns:1fr}
.rw[data-theme=light] .article .ax-art{box-shadow:0 6px 18px #2d211f12}

/* Native diagrams reuse the source list exactly once, retaining its links and
 * emphasis. The decoration changes the presentation, never the wording. */
.rw .article .ax-native-list{min-width:0}
.rw .article .ax-native-list>ul,.rw .article .ax-native-list>ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px;list-style:none;margin:0;padding:0;min-width:0;counter-reset:ax-source-step}
.rw .article .ax-native-list>ul>li,.rw .article .ax-native-list>ol>li{position:relative;min-width:0;list-style:none;margin:0;padding:17px 0 0;border-top:1px solid var(--ax-rule);font-size:14px;line-height:1.65;color:var(--tx,#eeece2);overflow-wrap:anywhere;hyphens:auto}
.rw .article .ax-native-list>ul>li>b:first-child,.rw .article .ax-native-list>ul>li>strong:first-child,.rw .article .ax-native-list>ol>li>b:first-child,.rw .article .ax-native-list>ol>li>strong:first-child{display:block;margin-bottom:7px;font-size:15px;line-height:1.35;font-weight:700;letter-spacing:-.015em}
.rw .article .ax-native-list li>p{font-size:14px;line-height:1.65;margin:0 0 8px;color:var(--tx,#eeece2)}
.rw .article .ax-native-list li>p:last-child{margin-bottom:0}
.rw .article .ax-native-list a{font-size:inherit;line-height:inherit;overflow-wrap:anywhere}
.rw .article .ax-native-list>ul:has(>li:nth-child(4):last-child),.rw .article .ax-native-list>ol:has(>li:nth-child(4):last-child),.rw .article .ax-native-list>ul:has(>li:nth-child(2):last-child),.rw .article .ax-native-list>ol:has(>li:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.rw .article .ax-flow .ax-native-list>ul,.rw .article .ax-flow .ax-native-list>ol{display:flex;flex-direction:column;gap:0}
.rw .article .ax-flow .ax-native-list>ul>li,.rw .article .ax-flow .ax-native-list>ol>li{counter-increment:ax-source-step;border:0;min-height:49px;padding:1px 0 22px 46px}
.rw .article .ax-flow .ax-native-list>ul>li:last-child,.rw .article .ax-flow .ax-native-list>ol>li:last-child{padding-bottom:0}
.rw .article .ax-flow .ax-native-list>ul>li:before,.rw .article .ax-flow .ax-native-list>ol>li:before{content:counter(ax-source-step,decimal-leading-zero);position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid color-mix(in srgb,var(--ax-accent) 35%,transparent);border-radius:50%;font-family:var(--mono,monospace);font-size:10px;line-height:1;letter-spacing:.03em;color:var(--ax-accent)}
.rw .article .ax-flow .ax-native-list>ul>li:not(:last-child):after,.rw .article .ax-flow .ax-native-list>ol>li:not(:last-child):after{content:"↓";position:absolute;left:6px;top:29px;bottom:5px;width:14px;display:flex;align-items:flex-end;justify-content:center;font-size:17px;line-height:8px;color:var(--ax-accent);background:linear-gradient(var(--ax-rule),var(--ax-rule)) center top/1px calc(100% - 4px) no-repeat}
.rw .article .ax-checklist .ax-native-list>ul,.rw .article .ax-checklist .ax-native-list>ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px}
.rw .article .ax-checklist .ax-native-list>ul>li,.rw .article .ax-checklist .ax-native-list>ol>li{padding-left:30px}
.rw .article .ax-checklist .ax-native-list>ul>li:before,.rw .article .ax-checklist .ax-native-list>ol>li:before{content:"";position:absolute;top:19px;left:0;width:16px;height:16px;border:1px solid color-mix(in srgb,var(--ax-accent) 45%,transparent);border-radius:3px}
.rw .article .ax-map .ax-native-list>ul,.rw .article .ax-map .ax-native-list>ol{gap:22px 0}
.rw .article .ax-map .ax-native-list>ul>li,.rw .article .ax-map .ax-native-list>ol>li{padding:19px 16px 0 0}
.rw .article .ax-map .ax-native-list>ul>li:before,.rw .article .ax-map .ax-native-list>ol>li:before{content:"";position:absolute;top:0;left:12px;width:1px;height:11px;background:var(--ax-rule)}
.rw .article .ax-compare .ax-native-list>ul,.rw .article .ax-compare .ax-native-list>ol{gap:14px}
.rw .article .ax-compare .ax-native-list>ul>li,.rw .article .ax-compare .ax-native-list>ol>li{border-top:2px solid color-mix(in srgb,var(--ax-accent) 50%,var(--ax-rule));padding:15px 14px 16px;background:color-mix(in srgb,var(--panel,#16140f) 70%,var(--bg,#0c0b09));border-radius:0 0 10px 0}

/* Keep the ordinal meaning of every source OL, even without flow arrows. */
.rw .article .ax-figure:not(.ax-flow) .ax-native-list>ol>li{counter-increment:ax-source-step;padding-left:36px}
.rw .article .ax-figure:not(.ax-flow) .ax-native-list>ol>li:before{content:counter(ax-source-step,decimal-leading-zero);position:absolute;left:0;top:18px;display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid color-mix(in srgb,var(--ax-accent) 35%,transparent);border-radius:50%;font-family:var(--mono,monospace);font-size:10px;line-height:1;color:var(--ax-accent);background:none}

@media(hover:hover) and (pointer:fine){.rw .article .ax-figure:hover .ax-art img{transform:scale(1.035);filter:brightness(1.04)}}
@media(max-width:760px){
 .rw .article .ax-figure{padding:20px;margin:28px 0 32px}
 .rw .article .ax-figure>figcaption{padding-right:139px;min-height:104px;gap:8px;padding-bottom:22px}
 .rw .article .ax-art{width:120px;height:91px;top:17px;right:18px}
 .rw .article .ax-title{font-size:22px}
 .rw .article .ax-nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
 .rw .article .ax-checklist .ax-nodes{gap:18px 22px}
 .rw .article .ax-native-list>ul,.rw .article .ax-native-list>ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
}
@media(max-width:560px){
 .rw .article .ax-figure{padding:18px;border-radius:3px 20px 3px 20px}
 .rw .article .ax-figure>figcaption{padding:0 0 20px;min-height:0}
 .rw .article .ax-art{position:relative;top:auto;right:auto;z-index:0;width:100%;height:126px;margin:0 0 22px;border-radius:3px 16px 3px 16px}
 .rw .article .ax-art img{object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent)}
 .rw .article .ax-title{font-size:22px;line-height:1.25}
 .rw .article .ax-intro{font-size:12.5px}
 .rw .article .ax-kicker{font-size:8px}
 .rw .article .ax-nodes,.rw .article .ax-checklist .ax-nodes,.rw .article .ax-nodes:has(>li:nth-child(4):last-child),.rw .article .ax-nodes:has(>li:nth-child(2):last-child){grid-template-columns:minmax(0,1fr);gap:17px}
 .rw .article .ax-nodes>li>strong{font-size:15px}
 .rw .article .ax-nodes>li>p{font-size:13px;line-height:1.65}
 .rw .article .ax-map .ax-nodes{border-left:1px solid var(--ax-rule);margin-left:11px;gap:19px}
 .rw .article .ax-map .ax-nodes>li{border:0;padding:0 0 0 21px}
 .rw .article .ax-map .ax-nodes>li:before{top:12px;left:0;width:13px;height:1px}
 .rw .article .ax-flow .ax-nodes{gap:0}
 .rw .article .ax-flow .ax-nodes>li{column-gap:10px;padding-bottom:22px}
 .rw .article .ax-flow .ax-nodes>li:last-child{padding-bottom:0}
 .rw .article .ax-compare .ax-nodes>li{padding:15px}
 .rw .article .ax-figure>.ax-note{font-size:11px;margin-top:20px;padding-top:12px}
 .rw .article .ax-native-list>ul,.rw .article .ax-native-list>ol,.rw .article .ax-native-list>ul:has(>li:nth-child(4):last-child),.rw .article .ax-native-list>ol:has(>li:nth-child(4):last-child),.rw .article .ax-native-list>ul:has(>li:nth-child(2):last-child),.rw .article .ax-native-list>ol:has(>li:nth-child(2):last-child),.rw .article .ax-checklist .ax-native-list>ul,.rw .article .ax-checklist .ax-native-list>ol{grid-template-columns:minmax(0,1fr);gap:17px}
 .rw .article .ax-flow .ax-native-list>ul,.rw .article .ax-flow .ax-native-list>ol{gap:0}
 .rw .article .ax-flow .ax-native-list>ul>li,.rw .article .ax-flow .ax-native-list>ol>li{padding-left:40px}
 .rw .article .ax-map .ax-native-list>ul,.rw .article .ax-map .ax-native-list>ol{border-left:1px solid var(--ax-rule);margin-left:10px;gap:19px}
 .rw .article .ax-map .ax-native-list>ul>li,.rw .article .ax-map .ax-native-list>ol>li{border:0;padding:0 0 0 21px}
 .rw .article .ax-map .ax-native-list>ul>li:before,.rw .article .ax-map .ax-native-list>ol>li:before{top:11px;left:0;width:13px;height:1px}
}
@media(prefers-reduced-motion:reduce){.rw .article .ax-art img{transition:none!important;transform:none!important}}
