/* Article type follows shared SIBO body/control/caption tokens; titles remain a restrained reading hierarchy. */
/* Only native single posts use this editorial layout. Shared header/footer remain untouched. */
body.sibo-article-page #main{padding-top:0} /* Shared header already reserves its height with a spacer. */
.sibo-article-shell{padding-top:30px;padding-bottom:100px}
.sibo-article-breadcrumb{margin-bottom:42px;color:var(--sibo-text-muted);font-size:var(--sibo-text-small);line-height:1.6}
.sibo-article-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;list-style:none;margin:0;padding:0}
.sibo-article-breadcrumb li{display:flex;align-items:center;gap:14px;margin:0;padding:0}
.sibo-article-breadcrumb li+li::before{content:'/';color:#737b85}
.sibo-article-breadcrumb a{color:inherit}
.sibo-article-breadcrumb a:hover{color:var(--sibo-accent)}
.sibo-article-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,27vw,400px);gap:clamp(36px,4vw,76px);align-items:start}
.sibo-article,.sibo-article-sidebar{min-width:0}
.sibo-article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding:0 0 24px;border-bottom:1px solid var(--sibo-line);color:var(--sibo-text-muted);font-size:.875rem;line-height:1.65}
.sibo-article-meta a{color:var(--sibo-accent)}
.sibo-article-meta a:hover{color:var(--sibo-accent-hover)}
body.sibo-article-page .sibo-article-header h1{font-size:clamp(2rem,2.8vw,3rem);font-weight:600;line-height:1.2;letter-spacing:-.035em;margin:30px 0 36px;overflow-wrap:break-word;text-wrap:pretty}
body.sibo-site.sibo-article-page .sibo-article-content{width:100%;max-width:none;margin:0;color:var(--sibo-text-muted);font-size:var(--sibo-text-body);line-height:1.8;overflow-wrap:anywhere}
.sibo-article-content :is(p,ul,ol,blockquote,figure,table){margin-top:0;margin-bottom:24px}
.sibo-article-content :is(h2,h3,h4,h5,h6){scroll-margin-top:140px}
/* The shared anchor handler transfers keyboard focus to the actual section heading. */
.sibo-article-content :is(h2,h3)[tabindex="-1"]:focus-visible{outline:2px solid var(--sibo-accent);outline-offset:6px;border-radius:2px}
body.sibo-site.sibo-article-page .sibo-article-content h2{font-size:clamp(1.5rem,1.95vw,1.875rem);font-weight:600;line-height:1.3;letter-spacing:-.025em;margin:44px 0 20px}
body.sibo-site.sibo-article-page .sibo-article-content h3{font-size:clamp(1.375rem,1.6vw,1.5rem);font-weight:600;line-height:1.35;margin:32px 0 16px}
body.sibo-site.sibo-article-page .sibo-article-content :is(h4,h5,h6){font-weight:600;line-height:1.5;margin:28px 0 14px}
body.sibo-site.sibo-article-page .sibo-article-content h4{font-size:1.25rem}
body.sibo-site.sibo-article-page .sibo-article-content h5{font-size:1.125rem}
body.sibo-site.sibo-article-page .sibo-article-content h6{font-size:var(--sibo-text-body)}
.sibo-article-content :is(ul,ol){padding-inline-start:24px}
.sibo-article-content li{margin-bottom:8px}
.sibo-article-content li::marker{color:var(--sibo-accent)}
.sibo-article-content strong{color:var(--sibo-text);font-weight:600}
.sibo-article-content a{color:var(--sibo-accent);text-decoration:underline;text-decoration-color:#21c4b859;text-underline-offset:4px}
.sibo-article-content a:hover{color:var(--sibo-accent-hover);text-decoration-color:currentColor}
.sibo-article-content a[href^="#sibo-heading-anchor"]{display:inline-block;line-height:1.5;margin:5px 0}
.sibo-article-content :is(img,video,iframe){max-width:100%;border-radius:8px}
.sibo-article-content img{height:auto;display:block;margin:28px auto}
.sibo-article-content figure{max-width:100%}
.sibo-article-content figcaption{font-size:var(--sibo-text-caption);line-height:1.6;text-align:center;margin-top:12px}
.sibo-article-content blockquote{padding:24px 28px;background:var(--sibo-surface-raised);border-left:3px solid var(--sibo-teal);border-radius:0 8px 8px 0;color:var(--sibo-text)}
.sibo-article-content blockquote p:last-child{margin-bottom:0}
.sibo-article-content .sibo-article-table{width:100%;max-width:100%;margin:28px 0;overflow-x:auto;border:1px solid var(--sibo-line);border-radius:8px;scrollbar-color:var(--sibo-accent) var(--sibo-surface-raised)}
.sibo-article-content .sibo-article-table:focus-visible{outline:2px solid var(--sibo-accent);outline-offset:4px}
.sibo-article-content .sibo-article-table table{border:0;border-collapse:collapse;margin:0;min-width:760px;width:100%;font-size:var(--sibo-text-control);line-height:1.7;overflow-wrap:normal;word-break:normal}
.sibo-article-content .sibo-article-table :is(th,td){padding:14px 18px;min-width:140px;border:1px solid var(--sibo-line);text-align:start;vertical-align:top}
.sibo-article-content .sibo-article-table th{background:var(--sibo-surface-hover);color:var(--sibo-text);font-weight:600}
.sibo-article-content .sibo-article-table tbody tr:nth-child(even){background:var(--sibo-surface-raised)}
.sibo-article-content pre{overflow-x:auto;max-width:100%;padding:20px;border:1px solid var(--sibo-line);border-radius:8px}
.sibo-article-content-pages{display:flex;flex-wrap:wrap;gap:14px;margin:32px 0}
.sibo-article-adjacent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:48px;border-top:1px solid var(--sibo-line);border-bottom:1px solid var(--sibo-line)}
.sibo-article-adjacent-link{padding:26px 24px 26px 0;display:flex;flex-direction:column;gap:14px;min-width:0;color:var(--sibo-text)}
.sibo-article-adjacent-next{grid-column:2;padding-right:0;padding-left:24px;border-left:1px solid var(--sibo-line);align-items:flex-end;text-align:right}
.sibo-article-adjacent-next .sibo-article-adjacent-label{flex-direction:row-reverse}
.sibo-article-adjacent-next:only-child{border-left:0}
.sibo-article-adjacent-label{display:flex;align-items:center;gap:10px;color:var(--sibo-text-muted);font-size:var(--sibo-text-small);line-height:1.5}
.sibo-article-adjacent-previous .sibo-arrow{transform:rotate(180deg)}
.sibo-article-adjacent-title{font-size:var(--sibo-text-control);line-height:1.65;font-weight:500;overflow-wrap:anywhere}
.sibo-article-adjacent-link:hover .sibo-article-adjacent-title{color:var(--sibo-accent)}
.sibo-article-sidebar{display:flex;flex-direction:column;gap:24px}
.sibo-article-panel{background:var(--sibo-surface-raised);border:1px solid #ffffff08;border-radius:12px;padding:30px}
body.sibo-article-page .sibo-article-panel h2{font-size:1.25rem;line-height:1.3;font-weight:600;letter-spacing:-.025em;margin:0 0 24px}
.sibo-article-panel h2::after{content:'';display:block;width:40px;height:3px;background:var(--sibo-teal);margin-top:22px}
.sibo-article-panel :is(ul,li){list-style:none;padding:0;margin:0}
.sibo-article-categories li+li{border-top:1px solid var(--sibo-line)}
.sibo-article-categories a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:15px 0;color:var(--sibo-text-muted);font-size:var(--sibo-text-control);line-height:1.6}
.sibo-article-categories li:first-child a{padding-top:0}
.sibo-article-categories li:last-child a{padding-bottom:0}
.sibo-article-categories a:is(:hover,.is-current){color:var(--sibo-accent)}
.sibo-article-category-count{font-size:var(--sibo-text-caption);font-variant-numeric:tabular-nums}
.sibo-article-recent li+li{border-top:1px solid var(--sibo-line);margin-top:22px;padding-top:22px}
.sibo-article-recent-link{display:flex;align-items:flex-start;gap:16px;min-width:0;color:var(--sibo-text)}
.sibo-article-recent-image{width:80px;flex:0 0 80px;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--sibo-surface)}
.sibo-article-recent-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.sibo-article-recent-link:hover img{transform:scale(1.04)}
.sibo-article-recent-text{display:flex;flex-direction:column;min-width:0;gap:10px}
.sibo-article-recent-name{font-size:var(--sibo-text-control);line-height:1.55;font-weight:500;overflow-wrap:anywhere}
.sibo-article-recent-link:hover .sibo-article-recent-name{color:var(--sibo-accent)}
.sibo-article-recent time{font-size:var(--sibo-text-caption);line-height:1.5;color:var(--sibo-accent);font-variant-numeric:tabular-nums}
.sibo-article-shell :is(a,button):focus-visible{outline:2px solid var(--sibo-accent);outline-offset:5px;border-radius:3px}
@media(max-width:1100px){.sibo-article-layout{grid-template-columns:minmax(0,1fr) 300px;gap:32px}.sibo-article-panel{padding:24px}.sibo-article-recent-image{width:64px;flex-basis:64px}.sibo-article-recent-link{gap:12px}}
@media(max-width:900px){.sibo-article-layout{grid-template-columns:minmax(0,1fr);gap:56px}.sibo-article-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}.sibo-article-shell{padding-bottom:72px}.sibo-article-breadcrumb{margin-bottom:32px}}
@media(max-width:600px){.sibo-article-shell{padding-top:22px;padding-bottom:56px}.sibo-article-breadcrumb{font-size:var(--sibo-text-caption);margin-bottom:28px}.sibo-article-meta{padding-bottom:20px;font-size:.8125rem;gap:12px 22px}body.sibo-article-page .sibo-article-header h1{font-size:1.875rem;line-height:1.2;margin:24px 0 28px}body.sibo-site.sibo-article-page .sibo-article-content{font-size:var(--sibo-text-body);line-height:1.8}body.sibo-site.sibo-article-page .sibo-article-content h2{font-size:1.5rem;margin-top:34px}body.sibo-site.sibo-article-page .sibo-article-content h3{font-size:1.25rem}
body.sibo-site.sibo-article-page .sibo-article-content h4{font-size:1.125rem}
body.sibo-site.sibo-article-page .sibo-article-content h5{font-size:var(--sibo-text-body)}.sibo-article-content :is(p,ul,ol,blockquote,figure){margin-bottom:20px}.sibo-article-content img{margin:24px auto}.sibo-article-content blockquote{padding:20px}.sibo-article-sidebar{grid-template-columns:minmax(0,1fr);gap:20px}.sibo-article-adjacent{grid-template-columns:minmax(0,1fr);margin-top:36px}.sibo-article-adjacent-link{padding:22px 0}.sibo-article-adjacent-next{grid-column:auto;padding-left:0;border-left:0;border-top:1px solid var(--sibo-line)}.sibo-article-adjacent-next:only-child{border-top:0}.sibo-article-panel{padding:24px}.sibo-article-recent-image{width:80px;flex-basis:80px}.sibo-article-recent-link{gap:16px}}
@media(prefers-reduced-motion:reduce){.sibo-article-shell :is(img,.sibo-arrow){transition:none}}


/* One heading directory: desktop sidebar, compact layouts after the article title. */
.sibo-article-layout.has-toc{grid-template-rows:min-content 1fr;row-gap:24px}
.sibo-article-layout.has-toc>.sibo-article{grid-column:1;grid-row:1 / span 2}
.sibo-article-layout.has-toc>.sibo-article-toc-panel{grid-column:2;grid-row:1;min-width:0}
.sibo-article-layout.has-toc>.sibo-article-sidebar{grid-column:2;grid-row:2}
.sibo-article-toc summary{list-style:none;cursor:pointer}
.sibo-article-toc summary::-webkit-details-marker{display:none}
.sibo-article-toc summary::after{content:'';display:block;width:40px;height:3px;background:var(--sibo-teal);margin-top:22px}
body.sibo-article-page .sibo-article-toc summary h2{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:1.25rem;line-height:1.4;margin:0}
.sibo-article-toc summary h2::after{display:none}
.sibo-article-toc-toggle{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;color:var(--sibo-text-muted)}
.sibo-article-toc summary:is(:hover,:focus-visible) .sibo-article-toc-toggle{color:var(--sibo-accent)}
.sibo-article-toc summary:focus-visible{outline:2px solid var(--sibo-accent);outline-offset:7px;border-radius:3px}
.sibo-article-toc[open] summary{margin-bottom:20px}
.sibo-article-toc-chevron{transform-origin:12px 12px}
.sibo-article-toc[open] .sibo-article-toc-chevron{transform:rotate(180deg)}
.sibo-article-toc-links{max-height:min(520px,60vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--sibo-line) transparent;padding-right:8px}
.sibo-article-toc-links:focus-visible{outline:2px solid var(--sibo-accent);outline-offset:4px;border-radius:3px}
.sibo-article-toc .sibo-article-toc-list{list-style:none;counter-reset:sibo-toc-item;margin:0;padding:0}
.sibo-article-toc .sibo-article-toc-list li{counter-increment:sibo-toc-item;margin:0;padding:0}
.sibo-article-toc .sibo-article-toc-list a{display:flex;align-items:baseline;gap:7px;padding:6px 0;color:var(--sibo-text-muted);font-size:var(--sibo-text-action);line-height:1.65;overflow-wrap:anywhere;text-decoration:none}
.sibo-article-toc .sibo-article-toc-list a::before{content:counters(sibo-toc-item,'.') '.';flex-shrink:0;color:var(--sibo-accent);font-variant-numeric:tabular-nums;font-size:.8125rem}
/* Heading levels stay explicit, including articles that start with an H3. */
.sibo-article-toc .sibo-article-toc-list .sibo-article-toc-level-2>a{color:var(--sibo-text);font-size:.9375rem;font-weight:600}
.sibo-article-toc .sibo-article-toc-list .sibo-article-toc-level-3>a{color:var(--sibo-text-muted);font-size:.875rem;font-weight:400}
.sibo-article-toc .sibo-article-toc-list a:is(:hover,:focus-visible){color:var(--sibo-accent-hover)}
.sibo-article-toc .sibo-article-toc-list .sibo-article-toc-list{margin-left:24px}
@media(max-width:900px){
.sibo-article-layout.has-toc{grid-template-rows:auto;row-gap:32px}
.sibo-article-layout.has-toc>.sibo-article-toc-panel{grid-column:1;grid-row:1}
.sibo-article-layout.has-toc>.sibo-article{grid-column:1;grid-row:2}
.sibo-article-layout.has-toc>.sibo-article-sidebar{grid-column:1;grid-row:3}
.sibo-article-toc-links{max-height:min(420px,55vh)}}

/* The same TOC node moves into the article on compact layouts; no duplicate IDs or links. */
@media(max-width:900px){
.sibo-article-layout.has-toc.sibo-article-toc-inline>.sibo-article{grid-row:1}
.sibo-article-layout.has-toc.sibo-article-toc-inline>.sibo-article-sidebar{grid-row:2}
.sibo-article-toc-inline .sibo-article>.sibo-article-toc-panel{margin:0 0 32px}
}
