/* Shared typography contract. Load after layout styles on every prepared page.
   Heading levels describe structure; tokens describe visual roles.
   Add future typography rules here instead of page-specific pixel overrides. */
:root{
 --type-h1:38px;--type-publication-title:46px;--type-h2:30px;--type-h3:22px;
 --type-body:18px;--type-menu:16px;--type-ui:15px;--type-meta:13px;--type-panel-title:20px;
 --leading-title:1.12;--leading-section:1.22;--leading-card:1.3;--leading-body:1.55;--leading-description:1.5;--leading-component-body:1.6;--leading-meta:1.5;
}
@media(max-width:760px){:root{--type-h1:34px;--type-publication-title:34px;--type-h2:27px;--type-h3:20px}}
/* Global search reuses menu, card, contextual-copy and metadata roles. */
.site-search-dialog .site-search-input{font-size:var(--type-menu);line-height:1.5;font-weight:400}
.site-search-result-title{font-size:var(--type-h3);line-height:var(--leading-card);font-weight:700;letter-spacing:-.025em}
.site-search-result-snippet{font-size:var(--type-menu);line-height:1.6;font-weight:400}
.site-search-result-meta,.site-search-status{font-size:var(--type-meta);line-height:var(--leading-meta);font-weight:400}
.site-search-result-arrow{font-size:var(--type-h3);line-height:1.3}
.site-search-more,.site-search-retry{font-size:var(--type-ui);line-height:1.5;font-weight:500}
:root :is(.home-page,.article-library,.article-detail) main h1{font-size:var(--type-h1);line-height:var(--leading-title);letter-spacing:-.035em;font-weight:700}
:root :is(.home-page,.article-library,.article-detail) main h2{font-size:var(--type-h2);line-height:var(--leading-section);letter-spacing:-.03em;font-weight:700}
:root :is(.home-page,.article-library,.article-detail) main h3{font-size:var(--type-h3);line-height:var(--leading-card);letter-spacing:-.025em;font-weight:700}
:root .home-page .topic-item strong{font-size:var(--type-h3);line-height:var(--leading-card)}
/* Descriptions and reading copy. */
:root .home-page :is(.intro,.section-description,.story-copy p,.route-card p,.guide-grid p,.work-card p,.topic-item>span:last-child),
:root .article-library :is(.library-copy>p,.section-description,.library-lead,.library-context>div>p:last-child),
:root .article-detail :is(.article-deck,.article-prose,.article-prose>p,.takeaway,.ai-panel>p:not(.eyebrow),.related-story>p:not(.related-date),.reference-list li),
:root .closing-actions>p,:root .closing-copy>p:not(.eyebrow),
:root .closing .shell>p:not(.eyebrow){font-size:var(--type-body);line-height:var(--leading-body);font-weight:400}
:root .article-prose .article-table-scroll table,
:root .article-prose .article-table-scroll thead th{font-size:var(--type-body);line-height:var(--leading-component-body)}
/* Frozen notes and tables keep their independent reading metrics. */
:root .article-detail .article-prose :is(.takeaway,.article-table-scroll){--leading-body:var(--leading-component-body);line-height:var(--leading-component-body)}
/* Russian reading text uses linguistic hyphenation instead of arbitrary character breaks.
   Emergency wrapping handles oversized technical tokens after linguistic hyphenation;
   pre/table contracts are independent. */
:root .article-prose{overflow-wrap:break-word;word-break:normal;hyphens:auto;hyphenate-limit-chars:6 3 3}
:root .article-detail :is(.article-hero h1,.article-deck,.related-story){overflow-wrap:break-word;word-break:normal;hyphens:auto;hyphenate-limit-chars:6 3 3}
:root .article-prose :is(a,code){overflow-wrap:break-word}
:root .article-prose :is(code,pre,.article-table-scroll){hyphens:none}
/* Dates, tags, labels and secondary identity text share a readable minimum. */
:root :is(.home-page,.article-library,.article-detail) :is(.meta,.library-meta,.article-meta,.related-date,.tags,.library-tags button,.eyebrow,.library-section-label,.library-pagination,.footer-bottom,.hero-footnote,.author-role,.edition,.library-context .eyebrow,.article-breadcrumb>span){font-size:var(--type-meta);line-height:var(--leading-meta)}
:root .article-detail .article-hero-footer .tags{font-size:var(--type-meta)}
:root .article-detail .article-byline strong{font-size:var(--type-meta);line-height:var(--leading-meta)}
:root .article-detail .article-byline small{font-size:var(--type-meta);line-height:var(--leading-meta)}
:root :is(.home-page,.article-library,.article-detail) footer>.brand+p{font-size:var(--type-meta);line-height:var(--leading-meta)}
/* Menu, controls and auxiliary actions. */
:root .navline nav,:root .button,:root .secondary-button,:root .inline,
:root .guide-grid .inline,:root .library-search input,:root .library-topic,
:root .library-topic select,:root .library-reset,:root .topic-option,
:root .ai-actions,:root .ai-panel details,:root .article-breadcrumb{font-size:var(--type-ui);line-height:1.5}
:root .ai-actions .button{font-size:var(--type-ui)}
:root .navline nav{font-size:var(--type-menu)}
:root{--type-contents-title:var(--type-panel-title);--type-contents-link:var(--type-body);--leading-contents:var(--leading-body)}
@media(max-width:760px){:root{--type-contents-title:var(--type-menu);--type-contents-link:var(--type-ui);--leading-contents:var(--leading-meta)}}
:root .article-contents summary{font-size:var(--type-contents-title);line-height:1.4;font-weight:700}
:root .article-contents nav a,:root .article-contents nav a span{font-size:var(--type-contents-link);line-height:var(--leading-contents)}

:root .topic-trigger,:root .library-pagination button{font-size:var(--type-ui);line-height:1.5}
:root .author-name{font-size:var(--type-panel-title);line-height:1.3}

/* Approved display-title exceptions: preserve the original homepage/archive scale. */
:root .home-page main h1{font-size:clamp(44px,4.7vw,66px);line-height:1.05;letter-spacing:-.03em}
:root .article-library main h1{font-size:56px;line-height:1.05;letter-spacing:-.045em}
@media(max-width:1050px){:root .home-page main h1{font-size:52px}}
@media(min-width:721px) and (max-width:1000px){:root .article-library main h1{font-size:42px}}
@media(max-width:720px){:root .home-page main h1{font-size:40px}:root .article-library main h1{font-size:46px}}
@media(max-width:400px){:root .home-page main h1{font-size:39px}}

:root .article-library .library-title-count{font-size:var(--type-body);line-height:var(--leading-body)}

/* Legacy typography intervals, verified against the original site on 2026-10-02.
   Preserve the approved font sizes; match each original text role's spacing. */
:root{--leading-section:1.1;--leading-card:1.35}
:root:root :is(.home-page,.article-library){--leading-body:var(--leading-description)}
:root:root :is(.home-page,.article-library,.article-detail) main h2{letter-spacing:-.025em}
:root:root .navline nav{letter-spacing:-.025em}
:root:root .home-page main p.intro,:root:root .article-library main p.library-lead{line-height:var(--leading-description)}
:root:root .home-page :is(.route-card h3,.work-card h3){line-height:1.15}
:root:root .home-page .guide-grid p{line-height:var(--leading-description)}
:root:root .home-page #topics h2{line-height:1.08;letter-spacing:-.04em}
:root:root .closing h2{line-height:1.08;letter-spacing:-.025em}
:root:root .closing-copy>p:not(.eyebrow),:root:root .closing .shell>p:not(.eyebrow){line-height:var(--leading-description)}
:root:root .article-library main h1{line-height:1;letter-spacing:-.025em}
:root:root .article-detail main h1{line-height:1.22;letter-spacing:-.025em}
:root:root .article-detail .article-prose :is(h2,h3){line-height:1.2;letter-spacing:-.02em}
:root:root .home-page .hero-footnote{line-height:24px}
:root:root :is(.home-page,.article-library) .section-head .eyebrow,
:root:root .home-page .hero .eyebrow,:root:root .library-section-label>span:first-child{letter-spacing:.24em}
:root:root .home-page .route-card .eyebrow{letter-spacing:.16em}
:root:root .article-library .library-context .eyebrow{letter-spacing:.2em;line-height:1.333333}

/* Header and footer identity share the reading size. */
:root:root .masthead .edition,:root:root footer>.brand+p{font-size:var(--type-body);line-height:1.6}
.edition-dot{color:var(--orange);display:inline-block;font-size:1.75em;line-height:0;vertical-align:-.06em}

/* User-requested site-wide label increase, 2026-10-12. */
:root{--type-eyebrow-size:14px;--type-eyebrow-tracking:.24em;--type-step-number:var(--type-body)}
:root:root .eyebrow:not(.library-intro-copy .eyebrow){font-size:var(--type-eyebrow-size);font-weight:700;line-height:1.5;letter-spacing:var(--type-eyebrow-tracking);text-transform:uppercase}
:root:root .library-section-label>span:first-child{font-size:var(--type-eyebrow-size)}

/* Knowledge archive reuses the approved card and reading typography. */
:root .knowledge-library :is(.kb-item,.kb-start-card) h3{font-size:var(--type-h3);line-height:var(--leading-card);letter-spacing:-.025em;font-weight:700}
:root .knowledge-library :is(.kb-item p,.kb-start-card>p){font-size:var(--type-body);line-height:var(--leading-body);font-weight:400}
:root .knowledge-library :is(.kb-about,.kb-about p){font-size:var(--type-body);line-height:var(--leading-description)}
:root .knowledge-library :is(.kb-topic-button,.kb-mobile-topic select){font-size:var(--type-menu);line-height:1.5}
:root .knowledge-library .kb-topic-button span:last-child{font-size:var(--type-ui);line-height:1.5}
:root .knowledge-library .kb-sidebar h2{font-size:var(--type-panel-title);line-height:1.4;font-weight:700}

/* Equivalent archive cards share one scale, including Blog layout variants. */
:root:root .knowledge-library{--leading-body:var(--leading-description)}
:root:root .article-library.blog-library main .blog-story h3{font-size:var(--type-h3);line-height:var(--leading-card);letter-spacing:-.025em;font-weight:700}
:root:root .article-library.blog-library main .blog-story .library-copy>p{font-size:var(--type-body);line-height:var(--leading-body);font-weight:400}

/* Primary headings in shared closing and contact calls to action. */
:root{--type-cta-title:42px}
:root:root :is(.closing,.article-contact) h2{font-size:var(--type-cta-title);line-height:1.12;letter-spacing:-.025em}
@media(max-width:760px){:root{--type-cta-title:34px}}

/* Site-wide role audit, 2026-10-04. Shared roles include Knowledge and Blog. */
:root:root body.article-detail .article-hero h1{font-size:var(--type-publication-title);line-height:1.22;letter-spacing:-.025em}
:root:root .knowledge-library main h1{font-size:56px;line-height:1;letter-spacing:-.025em;font-weight:700}
@media(min-width:721px) and (max-width:1000px){:root:root .knowledge-library main h1{font-size:42px}}
@media(max-width:720px){:root:root .knowledge-library main h1{font-size:46px}}
:root:root .knowledge-library :is(.kb-section-title,.kb-catalog-head) h2{font-size:var(--type-h2);line-height:var(--leading-section);letter-spacing:-.025em;font-weight:700}
:root:root .blog-library .blog-intro-heading{font-size:var(--type-h3);line-height:var(--leading-card);letter-spacing:-.025em}
:root:root .knowledge-library :is(.kb-item-meta,.kb-start-card>span:first-child),
:root:root :is(.knowledge-detail,.document-detail) :is(.knowledge-note-title,.knowledge-material-note dt){font-size:var(--type-meta);line-height:var(--leading-meta)}
:root:root .knowledge-library :is(.kb-search-area>p:not(.eyebrow),.kb-section-title>span:not(.eyebrow),.kb-catalog-head p:not(.eyebrow),.kb-catalog-head>button,.kb-mobile-topic,#kb-pagination>span,#kb-pagination button),
:root:root .article-detail :is(.contents-back,.knowledge-material-note,.blog-author-name){font-size:var(--type-ui);line-height:var(--leading-meta)}
:root:root :is(.library-search input,.kb-search input){font-size:var(--type-menu);line-height:1.5}
:root:root .article-detail .blog-author-label{font-size:var(--type-menu);line-height:1.4}
:root:root .article-detail :is(.blog-author-description,.kb-detail-related>p,.kb-detail-related article>p),
:root:root .knowledge-library :is(.kb-path-description,#kb-empty p){font-size:var(--type-body);line-height:var(--leading-body)}
:root:root .article-detail .kb-detail-related>h2{font-size:var(--type-h2);line-height:var(--leading-section);letter-spacing:-.025em}
:root:root .article-detail .kb-detail-related article>a{font-size:var(--type-h3);line-height:var(--leading-card);letter-spacing:-.025em;font-weight:700}
/* Related material is a card role, independently of the reading prose rhythm. */
:root:root .article-detail .related-story>p:not(.related-date){font-size:var(--type-body);line-height:var(--leading-description)}

/* Text-only cover fallbacks stay within the shared card scale. */
:root:root .article-detail .related-placeholder{font-size:var(--type-h3);line-height:var(--leading-card);letter-spacing:-.025em}

/* Approved archive-title role shares the existing primary CTA scale. */
:root:root :is(.article-library,.knowledge-library) .library-title h1{
 font-size:var(--type-cta-title);line-height:1.12;letter-spacing:-.025em;font-weight:700;
}
:root:root .library-title .library-title-icon{width:34px;height:34px}
@media(max-width:760px){:root:root .library-title .library-title-icon{width:28px;height:28px}}

/* Featured materials share one visual role across every section.
   Reuse the section-title scale; heading levels still describe document structure. */
:root{--type-featured-title:var(--type-h2);--leading-featured-title:1.2}
:root:root :is(.home-page,.article-library) main :is(.story-copy,.library-copy) :is(h2,h3).featured-title{
 font-size:var(--type-featured-title);line-height:var(--leading-featured-title);letter-spacing:-.025em;font-weight:700;overflow-wrap:break-word;hyphens:auto;
}

/* Card typography remains independent of the structural heading level. */
:root:root :is(.home-page,.article-library,.article-detail) main .card-title{font-size:var(--type-h3);line-height:var(--leading-card);letter-spacing:-.025em;font-weight:700}

/* Compact publication links under a direction heading use the shared reading size. */
:root:root .topics-library .topic-previews a{font-size:var(--type-body);line-height:var(--leading-card);font-weight:500}

/* User-requested practical-panel hierarchy: compact labels, readable item leads. */
:root .article-detail #article-text .kb-practical-block h2{font-size:var(--type-panel-title);line-height:var(--leading-card);letter-spacing:0;font-weight:500}
:root .article-detail #article-text .kb-practical-block h3{font-size:var(--type-body);line-height:var(--leading-body);letter-spacing:0;font-weight:500}
:root .article-detail #article-text .kb-practical-index{font-size:var(--type-step-number);line-height:var(--leading-body);font-weight:500;font-variant-numeric:tabular-nums;margin-top:0}

/* Step and section numbers follow the reading size, without the old small-type offset. */
:root:root .article-detail :is(.case-step-number,.section-no){font-size:var(--type-step-number);line-height:var(--leading-body);font-variant-numeric:tabular-nums;padding-top:0}

/* Graph interface consumes existing archive/card/context/menu/meta roles.
   SVG labels use scene coordinates; retaining their scale preserves geometry. */
:root{--type-graph-stat:calc(var(--type-h2) + 6px);--type-graph-label:12px;--type-graph-label-focus:12px}
:root .graph-page .graph-stats dd{font-size:var(--type-graph-stat);line-height:var(--leading-section);font-weight:700;letter-spacing:-.03em}
:root .graph-page :is(.graph-stats dt,.graph-search input){font-size:var(--type-menu);line-height:var(--leading-body)}
:root .graph-page :is(.graph-stats__note,.graph-sidebar__eyebrow,.graph-sidebar__tags,.graph-search kbd,.graph-search-results__summary,.graph-search-result__meta,.graph-related-card__meta,.graph-related-card__relation,.graph-central-route__body small,.graph-central-route__links small,.graph-cluster-card__count,.graph-connection-card__topline,.graph-connection-card__tags,.graph-connection-card__pair small,.graph-minimap__label,.graph-canvas__hint,.graph-legend,.graph-parent-cluster small){font-size:var(--type-meta);line-height:var(--leading-meta);font-weight:400}
:root .graph-page :is(.graph-sidebar__head h2,.graph-central-route__body strong,.graph-cluster-card h3,.graph-connection-card__pair a>span){font-size:var(--type-h3);line-height:var(--leading-card);font-weight:700;letter-spacing:-.025em}
:root .graph-page :is(.graph-section-heading h2,.graph-mobile-notice h2){font-size:var(--type-h2);line-height:var(--leading-section);font-weight:700;letter-spacing:-.03em}
:root .graph-page :is(.graph-section-heading>p,.graph-cluster-card__trigger>p,.graph-connection-card>p,.graph-mobile-notice>p:last-child,.graph-nojs){font-size:var(--type-body);line-height:var(--leading-body);font-weight:400}
:root .graph-page :is(.graph-sidebar__head>p,.graph-related-card__reason,.graph-search-result__detail){font-size:var(--type-menu);line-height:var(--leading-body);font-weight:400}
:root .graph-page :is(.graph-related__heading h3,.graph-search-result>strong){font-size:var(--type-panel-title);line-height:1.4;font-weight:700;letter-spacing:0}
:root .graph-page :is(.graph-central-route__links a,.graph-related-card__content>strong){font-size:var(--type-body);line-height:var(--leading-card);font-weight:500;letter-spacing:0}
:root .graph-page :is(.graph-filter,.graph-central-route__degree,.graph-connection-card__map-action,.graph-parent-cluster strong,.graph-fallback-link){font-size:var(--type-ui);line-height:1.5;font-weight:500}
:root .graph-page .graph-connection-card__topline>span:first-child{font-size:var(--type-step-number);line-height:var(--leading-body);font-weight:500}

/* Owner-approved VPS font and weight roles, 2026-10-19.
   Match pimenov.ai's native font stack and 400/500/700 hierarchy.
   Keep all established sizes, leading, spacing and monospace code roles. */
:root{--font-site:"SF Pro Display",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--font-site)}
:root body{font-family:var(--font-site);font-weight:400}
:root :is(button,input,select,textarea){font-family:var(--font-site)}
:root:root body :is(h1,h2,h3,h4,h5,h6,strong,b){font-weight:700}
:root:root:root body main :is(.route-card h3,.work-card h3,.note-card h3,.side-story h3,.library-copy h3,.blog-library .blog-story h3,.kb-item h3,.kb-start-card h3,.prompt-card-copy h3,.topic-item strong,.card-title,.related-story h3,.kb-detail-related article>a,.graph-cluster-card h3,.graph-related-card__content>strong){font-weight:700}
:root:root:root body :is(.home-page main h2,.article-library main h2,.section-head h2,.kb-section-title h2,.kb-catalog-head h2,.graph-section-heading h2){font-weight:700}
:root:root:root body main .featured-title{font-weight:700}
:root:root:root body :is(.navline nav,.navline nav a){font-weight:500}
:root:root:root body :is(.search,.button,.secondary-button,.inline,.library-meta,.meta,.tags,.library-tags button,.kb-item-meta,.topic-option,.topic-trigger,.library-reset,.library-pagination button,.site-search-more,.site-search-retry,.site-search-result-meta,.site-search-status,time){font-weight:400}
/* Owner-requested shared block overlines, 2026-10-19. */
:root:root:root body :is(.eyebrow,.eyebrow:not(.library-intro-copy .eyebrow),.library-section-label>span:first-child,.kb-start-card>span:first-child,.knowledge-note-title,.graph-sidebar__eyebrow,.article-breadcrumb>span){font-weight:650}
:root:root:root body :is(.brand,.author-name,.article-contents summary){font-weight:700}
:root:root:root body .site-search-result-title{font-weight:500}

/* Owner-requested homepage hero emphasis, 2026-10-19. */
:root:root:root body.home-page main .hero h1{font-weight:800}

/* Owner-approved Contact reference, 2026-10-19.
   Equivalent roles share size, emphasis, leading and surface-aware colors.
   The complete homepage opening retains its separately approved appearance. */
:root:root:root body{
 --leading-body:1.6;--leading-description:1.6;--leading-section:1.2;--leading-card:1.2;
 --type-heading-color:var(--ink);--type-copy-color:color-mix(in srgb,var(--ink) 90%,var(--paper));--type-description-color:var(--muted);
}
:root:root:root body.home-page .hero{
 --leading-body:1.5;--leading-description:1.5;--leading-section:1.1;--leading-card:1.35;
}
:root:root:root body .library-title h1{
 font-size:var(--type-publication-title);line-height:1.22;letter-spacing:-.025em;
}
:root:root:root body main :is(.section-head h2,.kb-section-title h2,.kb-catalog-head h2,.graph-section-heading h2),
:root:root:root body.home-page main #topics h2{line-height:var(--leading-section);letter-spacing:-.025em}
:root:root:root body main :is(h3,.card-title,.topic-item strong,.kb-detail-related article>a,.graph-sidebar__head h2){line-height:var(--leading-card)}
:root:root:root body.home-page main :is(.route-card h3,.work-card h3){line-height:var(--leading-card)}
:root:root:root body main .section-description{font-size:var(--type-body);line-height:var(--leading-body)}
:root:root:root body main .eyebrow:not(.hero *){line-height:1.5}
/* Dark surfaces own neutral text roles independently of the page theme. */
:root:root:root body main :is(.navigation,.topics,.library-intro-copy,.ai-panel,.article-contact,.services-consultation,.services-requests-panel,.contact-direct,.contact-faq,.case-project-result,.takeaway),
:root:root:root body.about-page #about-skills,
:root:root:root body.case-detail :is(#case-bylo,#case-stek){
 --type-heading-color:#f7f5ef;--type-copy-color:#e2e0da;--type-description-color:#c5bfb6;
 --muted:#c5bfb6;color:var(--type-heading-color);
}
/* Important notes retain their approved light copy on graphite. */
:root:root:root body main .takeaway{--type-copy-color:#f7f5ef}
/* Selected Knowledge paths use the existing selection foreground in every role. */
:root:root:root body main .kb-start-card[aria-current="true"]{
 --type-heading-color:var(--selection-text);--type-copy-color:var(--selection-text);--type-description-color:var(--selection-text);
}
:root:root:root body .closing{--type-heading-color:#fff;--type-copy-color:#fff;--type-description-color:#fff}
:root:root:root body main :is(h1,h2,h3,h4,h5,h6,.topic-item strong,.graph-central-route__body strong):not(.hero *){
 color:var(--type-heading-color);
}
:root:root:root body main :is(.article-prose>p,.case-chapter p,.case-project-copy p,.case-project-result p,.case-process p,.ai-panel>p,.closing-actions>p):not(.eyebrow,.section-description,.related-date,.case-caption,.case-scope,.kb-cta-note){
 color:var(--type-copy-color);
}
:root:root:root body main :is(.article-deck,.section-description,.library-lead,.story-copy>p,.library-copy>p,.route-card>p,.work-card>p,.guide-grid p,.topic-item>span:last-child,.kb-item-copy>p,.prompt-card-copy>p,.kb-start-card>p,.related-story>p,.graph-section-heading>p,.graph-cluster-card__trigger>p,.graph-connection-card>p,.kb-detail-related>p,.kb-detail-related article>p):not(.eyebrow,.related-date,.library-meta){
 color:var(--type-description-color);
}
:root:root:root body main :is(.meta,.library-meta,.kb-item-meta,.related-date,.article-meta,.tags,.knowledge-material-note,.case-caption,.case-scope){color:var(--type-description-color)}
:root:root:root body main .library-context>div>p:not(.eyebrow){color:var(--type-description-color)}

/* Owner request: the dark start panel uses the site's neutral text palette in both themes. */
:root:root:root body.home-page #start{
 --type-heading-color:#f7f5ef;
 --type-copy-color:color-mix(in srgb,#f7f5ef 90%,#252422);
 --type-description-color:#c5bfb6;
 color:var(--type-heading-color);
}

/* Remove legacy green text overrides within the shared dark-surface roles. */
:root:root:root body main :is(.navigation,.topics,.library-intro-copy,.ai-panel,.article-contact) :is(.inline,.ai-service-link){color:var(--type-heading-color)}
:root:root:root body main .case-project-result>.eyebrow,
:root:root:root body main .library-intro-copy :is(.graph-stats__note,.graph-stats dt){color:var(--type-description-color)}

:root:root:root body main .ai-panel :is(details,summary){color:var(--type-description-color)}

/* Graph captions share article body type and override stale imported SVG styles. */
:root:root .graph-material-node__label{font-family:var(--font-site);font-weight:400;letter-spacing:0.02em;stroke:none;fill-opacity:1}
:root:root:not([data-theme="light"]) .graph-material-node__label{fill:#fff}

/* Archive page labels and numbers use the Knowledge UI text role. */
:root:root :is(.library-pagination,#kb-pagination)>span,
:root:root :is(.library-pagination,#kb-pagination) :is(button,a){font-family:inherit;font-size:var(--type-ui);line-height:var(--leading-meta);font-weight:400}
