.article-body{counter-reset:section}.article-body p{font-size:.95rem;color:var(--t2);line-height:1.75;margin-bottom:1.5rem}.article-body figure{margin:2rem 0}.article-body figcaption{font-size:.82rem;color:var(--t3);line-height:1.55;text-align:center;margin-top:.5rem;font-style:italic}.article-body h2{font-family:var(--font-heading);font-size:1.35rem;font-weight:400;color:var(--t1);margin-top:2.5rem;margin-bottom:1rem;letter-spacing:-.01em;counter-increment:section}.article-body h2:before{content:counter(section,decimal-leading-zero);font-family:var(--font-mono);font-size:.72rem;color:var(--accent);display:block;margin-bottom:.25rem;letter-spacing:.05em}.article-body h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--t1);margin-top:2rem;margin-bottom:.75rem}.article-body a{color:var(--accent);text-decoration:none;transition:color .15s}.article-body a:hover{text-decoration:underline}.article-body ul,.article-body ol{padding-left:1.5rem;margin-bottom:1.5rem}.article-body ul{list-style-type:disc}.article-body ol{list-style-type:decimal}.article-body li{font-size:.95rem;color:var(--t2);line-height:1.75;margin-bottom:.4rem}.article-body li::marker{color:var(--accent)}.article-body blockquote:not(.pullquote-quote){border-left:3px solid var(--accent);padding-left:1.25rem;margin:1.5rem 0;font-style:italic;color:var(--t3)}.article-body blockquote:not(.pullquote-quote) p{color:var(--t3)}.article-body code{font-family:var(--font-mono);font-size:.85em;background:var(--bg-3);padding:2px 6px;border-radius:4px}.article-body img{max-width:100%;border-radius:10px;margin:2rem auto;display:block}.article-body .bp-table-wrap{margin:2rem 0;overflow-x:auto;border:1px solid var(--border-l);border-radius:10px;background:var(--bg-1);-webkit-overflow-scrolling:touch}.article-body .bp-table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.article-body .bp-table-wrap table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:.88rem;margin:0}.article-body .bp-table-wrap caption{caption-side:top;text-align:left;font-size:.78rem;color:var(--t3);font-style:italic;padding:.75rem 1rem 0}.article-body .bp-table-wrap thead{background:var(--surface);border-bottom:1px solid var(--border)}.article-body .bp-table-wrap th{text-align:left;padding:.7rem .95rem;font-family:var(--font-body);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--t1);vertical-align:bottom;white-space:nowrap}.article-body .bp-table-wrap td{padding:.7rem .95rem;color:var(--t2);line-height:1.6;vertical-align:top;border-bottom:1px solid var(--border-l)}.article-body .bp-table-wrap tbody tr:last-child td{border-bottom:none}.article-body .bp-table-wrap tbody tr:nth-child(2n){background:var(--bg-2)}.article-body .bp-table-wrap td code,.article-body .bp-table-wrap th code{font-size:.82em;padding:1px 5px}@media(max-width:640px){.article-body .bp-table-wrap{border:none;border-radius:0;background:transparent;overflow-x:visible;margin:1.5rem 0}.article-body .bp-table-wrap table,.article-body .bp-table-wrap thead,.article-body .bp-table-wrap tbody,.article-body .bp-table-wrap tr,.article-body .bp-table-wrap th,.article-body .bp-table-wrap td{display:block}.article-body .bp-table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);border:0;padding:0;margin:-1px}.article-body .bp-table-wrap tbody tr{border:1px solid var(--border-l);border-radius:8px;background:var(--surface);padding:.5rem .85rem;margin-bottom:.85rem}.article-body .bp-table-wrap tbody tr:nth-child(2n){background:var(--surface)}.article-body .bp-table-wrap td{padding:.55rem 0;border-bottom:1px solid var(--border-l)}.article-body .bp-table-wrap td:last-child{border-bottom:none}.article-body .bp-table-wrap td[data-label]:before{content:attr(data-label);display:block;font-family:var(--font-body);font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--t3);margin-bottom:.2rem}}.article-body hr{border:none;height:1px;background:linear-gradient(to right,transparent,var(--accent),transparent);margin:2.5rem auto;max-width:200px}.article-body blockquote.pull-quote{border-left:none;text-align:center;font-size:1.15rem;font-family:var(--font-heading);font-style:normal;color:var(--t1);position:relative;padding:1.5rem 2rem}.article-body blockquote.pull-quote p{color:var(--t1);font-size:inherit;font-family:inherit}.article-body blockquote.pull-quote:before{content:"“";font-family:var(--font-heading);font-size:4rem;color:var(--accent);opacity:.25;position:absolute;top:-.75rem;left:50%;transform:translate(-50%);line-height:1}.article-body .callout{border-radius:8px;padding:1rem 1.25rem;margin:1.5rem 0;border:1px solid var(--border-l);font-size:.9rem}.article-body .callout-title{font-family:var(--font-body);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem}.article-body .callout-content p{margin-bottom:0;font-size:.9rem}.article-body .callout[data-callout=note]{background:var(--accent-s);border-color:var(--accent-b)}.article-body .callout[data-callout=note] .callout-title{color:var(--accent)}.article-body .callout[data-callout=tip]{background:var(--success-bg);border-color:var(--success-border)}.article-body .callout[data-callout=tip] .callout-title{color:var(--success)}.article-body .callout[data-callout=important]{background:var(--accent-s);border-color:var(--accent)}.article-body .callout[data-callout=important] .callout-title{color:var(--accent)}.article-body .callout[data-callout=warning]{background:var(--warning-bg);border-color:var(--warning-border)}.article-body .callout[data-callout=warning] .callout-title{color:var(--warning)}.article-body .callout[data-callout=caution]{background:var(--error-bg);border-color:var(--error-border)}.article-body .callout[data-callout=caution] .callout-title{color:var(--error)}.article-body .diagram-path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.5s ease-out forwards}@keyframes draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.article-body .diagram-path{animation:none;stroke-dashoffset:0}}
