/* ==========================================================================
   Nordman Algorithms — Blog article styles (blog-article.css) v2.3 — 21.10.2026
   Load on single blog posts only, after new-design.css (uses its :root tokens).
   Part 1: template parts of the single-post page (breadcrumbs, title, byline,
           "Written by" team block, previous/next article, related articles).
   Part 2: blocks used inside the article content (.na-article).
   The floating table of contents, reading progress and image viewer are
   added by blog-article.js.
   ========================================================================== */

/* ---------- Part 1. Single-post template ---------- */
.breadcrumbs{padding:22px 0 0}
.breadcrumbs .container{font-size:13px;line-height:1.5;color:var(--text-dim)}
.breadcrumbs a{color:var(--text-dim);text-decoration:none;transition:color .2s ease}
.breadcrumbs a:hover{color:var(--blue-bright)}
.breadcrumbs .bc-sep{margin:0 6px;color:var(--text-mute)}
.breadcrumbs .bc-current{color:var(--text-2)}
.news-content-section{padding:24px 0 80px}
.news-content-section h1{margin:0 0 30px;font-size:clamp(28px,3.1vw,40px);line-height:1.2;letter-spacing:-.02em;font-weight:800;color:var(--text)}
/* site fix: style.css colours and sizes the title's <span> (.news-content-section h1>span) */
.news-content-section h1>span{color:inherit;font-size:inherit;line-height:inherit;font-weight:inherit}
/* byline under the title */
.post-byline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:-14px 0 30px;font-size:14px;color:var(--text-dim)}
.post-byline a{color:var(--text-2);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(112,180,255,.45);transition:color .2s ease,border-color .2s ease}
.post-byline a:hover{color:var(--blue-bright);border-color:var(--blue-bright)}
.post-byline .pb-dot{width:4px;height:4px;border-radius:50%;background:var(--text-mute)}
/* team block after the article */
.post-team{display:flex;gap:20px;align-items:flex-start;max-width:768px;margin:44px auto 0;padding:24px 26px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}
.post-team .pt-logo{flex:0 0 52px;width:52px;height:52px;border-radius:12px;background:url("https://www.nordman-algorithms.com/wp-content/uploads/2026/06/logo-192.png") center/cover no-repeat,var(--surface-2)}
.post-team .pt-label{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-bright)}
.post-team .pt-name{margin:4px 0 8px;font-size:19px;font-weight:800;color:var(--text)}
.post-team p{margin:0 0 14px;font-size:15px;line-height:1.65;color:var(--text-2)}
.post-team .pt-links{display:flex;flex-wrap:wrap;gap:10px}
.post-team .pt-links a{display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:999px;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease}
.post-team .pt-primary{background:var(--blue);color:#fff}
.post-team .pt-primary:hover{background:var(--blue-deep)}
.post-team .pt-ghost{border:1px solid var(--border-strong);color:var(--text-2)}
.post-team .pt-ghost:hover{border-color:var(--blue-bright);color:var(--blue-bright)}
@media(max-width:640px){.post-team{flex-direction:column;gap:14px;padding:20px}}
/* previous / next post */
.post-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:768px;margin:44px auto 0}
.post-nav a{display:flex;flex-direction:column;gap:6px;min-height:96px;padding:18px 20px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);text-decoration:none;transition:border-color .2s ease,transform .2s ease,background .2s ease}
.post-nav a:hover{border-color:rgba(112,180,255,.6);background:rgba(112,180,255,.06);transform:translateY(-3px)}
.post-nav .pn-label{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-bright)}
.post-nav .pn-title{font-size:15.5px;font-weight:700;line-height:1.4;color:var(--text)}
.post-nav .pn-next{text-align:right;align-items:flex-end}
.post-nav .pn-arrow{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid rgba(112,180,255,.45);font-size:12px}
/* site fix: style.css passes line-height 28px into the 22px circle and the arrow sits low */
.post-nav .pn-arrow{line-height:1}
/* related articles */
.related-posts{margin-top:64px;padding-top:48px;border-top:1px solid var(--border)}
.related-posts h2{margin:0 0 22px;font-size:clamp(22px,2.4vw,28px);font-weight:800;letter-spacing:-.02em;color:var(--text)}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.related-card a{display:flex;flex-direction:column;height:100%;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.related-card a:hover{border-color:rgba(112,180,255,.6);transform:translateY(-3px)}
.related-card .rc-img{display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,rgba(79,142,247,.28),rgba(10,16,32,.9))}
.related-card .rc-img img{display:block;width:100%;height:100%;object-fit:cover}
.related-card .rc-body{display:flex;flex-direction:column;gap:12px;flex:1;padding:18px 20px 20px}
.related-card .rc-title{font-size:16px;font-weight:700;line-height:1.4;color:var(--text)}
.related-card .rc-more{margin-top:auto;font-size:13.5px;font-weight:700;color:var(--blue-bright)}
@media(max-width:900px){.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.post-nav,.related-grid{grid-template-columns:minmax(0,1fr)}.post-nav .pn-next{text-align:left;align-items:flex-start}}

/* ---------- Part 2. Article content (.na-article) ---------- */
body.single-post h1,body.single-post h1 span{font-family:'Nunito Sans',-apple-system,'Segoe UI',sans-serif !important;}
:root{--na-ico-shield:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");--na-ico-list:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M9 6h11M9 12h11M9 18h11'/%3E%3Ccircle cx='4.5' cy='6' r='1.2' fill='%23000' stroke='none'/%3E%3Ccircle cx='4.5' cy='12' r='1.2' fill='%23000' stroke='none'/%3E%3Ccircle cx='4.5' cy='18' r='1.2' fill='%23000' stroke='none'/%3E%3C/svg%3E");}
.na-article{--na-col:768px;--na-head:66px;color:var(--text-2,#E5ECF8);}
.na-article,.na-article :is(p,li,h2,h3,h4,a,strong,span,td,th,div,ol),.na-toc-panel,.na-toc-panel :is(div,ol,li,a),.na-lightbox button{font-family:'Nunito Sans',-apple-system,'Segoe UI',sans-serif !important;}
.na-article a{color:var(--blue-bright,#70B4FF);text-decoration:underline;text-decoration-color:rgba(112,180,255,.4);text-underline-offset:3px;transition:text-decoration-color .2s ease,color .2s ease;}
.na-article a:hover{color:var(--text,#fff);text-decoration-color:currentColor;}
.na-article h2{color:var(--text,#fff);font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.25;margin:56px auto 18px;scroll-margin-top:calc(var(--na-head) + 24px);}
.na-article h3{color:var(--text,#fff);font-size:22px;font-weight:800;letter-spacing:-.01em;line-height:1.35;margin:36px auto 12px;scroll-margin-top:calc(var(--na-head) + 24px);}
.na-article p{font-size:19px;line-height:1.7;margin:0 0 22px;color:var(--text-2,#E5ECF8);}
/* byline-style line at the start of an article */
.na-article p.na-meta{font-size:15px;line-height:1.6;color:var(--text-dim,#AEBBD2);margin-bottom:26px;}
/* paragraph that holds a CTA button */
.na-article p.na-cta-row{margin-top:28px;}
/* CTA button */
.na-article a.na-cta{display:inline-block;padding:14px 30px;border-radius:var(--r-md,10px);background:var(--blue,#3B82F6);color:#fff;font-size:16px;font-weight:800;line-height:1.3;text-decoration:none;box-shadow:0 8px 24px rgba(59,130,246,.25);transition:background .25s ease,transform .25s ease,box-shadow .25s ease;}
.na-article a.na-cta:hover{background:var(--blue-deep,#1D4ED8);color:#fff;transform:translateY(-3px);box-shadow:0 12px 28px rgba(29,78,216,.35);}
.na-article strong{color:var(--text,#fff);}
.na-article > p,.na-article > h2,.na-article > h3,.na-article > ul,.na-article > ol,.na-article > .na-band,.na-article > .na-toc,.na-article > .na-about,.na-article > .na-sources,.na-article > .na-disclaimer{max-width:var(--na-col);margin-left:auto;margin-right:auto;}
.na-article p:empty{display:none;}
.na-article .accent{color:var(--blue-bright,#70B4FF);font-weight:700;}
.na-article em{font-style:italic;}
/* green / red emphasis, e.g. "Green — ratio above 1" */
.na-article .na-pos{color:var(--green,#50EDBB);}
.na-article .na-neg{color:var(--red,#F87171);}
/* lists in running text */
.na-article > ul,.na-article > ol{margin-top:0;margin-bottom:24px;padding-left:26px;}
.na-article > ul{list-style:disc outside;}
.na-article > ol{list-style:decimal outside;}
.na-article > ul li,.na-article > ol li{font-size:19px;line-height:1.7;margin-bottom:8px;color:var(--text-2,#E5ECF8);padding-left:4px;}
.na-article > ul li::marker{color:var(--blue-bright,#70B4FF);}
.na-article > ol li::marker{color:var(--blue-bright,#70B4FF);font-weight:700;}
/* inline code: NQ1!, NQ 12-26 */
.na-article :not(pre) > code{padding:1px 6px;border-radius:5px;background:rgba(255,255,255,.07);border:1px solid var(--border,rgba(255,255,255,.1));color:var(--text,#fff);font-family:Consolas,Menlo,'Courier New',monospace;font-size:.86em;white-space:nowrap;}
/* code block: write it as <pre class="na-code-block"><code>…</code></pre> so WordPress keeps straight quotes */
.na-article .na-code-block{max-width:var(--na-col);margin:16px auto 26px;padding:18px 22px;border:1px solid var(--border,rgba(255,255,255,.1));border-radius:var(--r-md,10px);background:#050A16;color:var(--text-2,#E5ECF8);font-family:Consolas,Menlo,'Courier New',monospace !important;font-size:14.5px;line-height:1.65;white-space:pre-wrap;word-break:break-word;overflow-x:auto;}
.na-article .na-code-block code{padding:0;border:0;background:none;color:inherit;font:inherit;white-space:inherit;}
/* formula line inside a band */
.na-article .formula{display:inline-block;margin:8px 0;padding:6px 12px;border-radius:var(--r-sm,6px);background:rgba(255,255,255,.06);color:var(--text,#fff);font-family:Consolas,Menlo,'Courier New',monospace !important;font-size:.88em;line-height:1.6;}
/* formula table inside a band: direction · metric · expression */
.na-article .na-formula{display:grid;grid-template-columns:auto auto 1fr;gap:6px 14px;align-items:baseline;margin:12px 0 0;padding:14px 16px;border-radius:var(--r-md,10px);background:rgba(255,255,255,.05);font-family:Consolas,Menlo,'Courier New',monospace !important;font-size:15px;line-height:1.6;}
.na-article .na-formula br{display:none;}
.na-article .na-formula .dir{color:var(--text-dim,#AEBBD2);font-family:inherit !important;}
.na-article .na-formula .metric{color:var(--blue-bright,#70B4FF);font-weight:700;font-family:inherit !important;}
.na-article .na-formula .eq{color:var(--text,#fff);font-family:inherit !important;}
/* video embed (YouTube): <div class="na-video"><iframe …></iframe></div> */
.na-article .na-video{position:relative;max-width:var(--na-col);margin:24px auto 32px;aspect-ratio:16/9;border:1px solid var(--border,rgba(255,255,255,.1));border-radius:var(--r-lg,14px);overflow:hidden;background:#000;}
.na-article .na-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
/* short code-like labels in running text: HH, HL, ES, 6E */
.na-article .ticker{display:inline-block;padding:1px 7px;border-radius:5px;background:rgba(112,180,255,.12);color:var(--blue-bright,#70B4FF);font-family:Consolas,Menlo,'Courier New',monospace !important;font-size:.84em;font-weight:700;line-height:1.5;white-space:nowrap;}
/* forum quotes and their sources */
.na-article .na-q{color:var(--text,#fff);font-style:italic;background:rgba(112,180,255,.11);padding:1px 6px;border-radius:5px;-webkit-box-decoration-break:clone;box-decoration-break:clone;}
.na-article a.na-cite{font-size:.8em;font-weight:600;color:var(--text-dim,#AEBBD2);text-decoration:none;border-bottom:1px dotted rgba(174,187,210,.55);white-space:normal;}
.na-article a.na-cite:hover{color:var(--blue-bright,#70B4FF);border-bottom-color:currentColor;}
/* reveal on scroll (the hero is never hidden) */
.na-reveal{opacity:1;transform:none;}
html.na-js .na-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
html.na-js .na-reveal.na-visible{opacity:1;transform:translateY(0);}
html.na-js .na-article h2.na-reveal{transform:none;}
@media(prefers-reduced-motion:reduce){html.na-js .na-reveal{opacity:1;transform:none;transition:none;}}
/* images */
.na-article .na-hero{width:100%;border-radius:var(--r-lg,14px);overflow:hidden;margin:0 0 40px;border:1px solid var(--border,rgba(255,255,255,.1));}
.na-hero img{width:100%;height:auto;display:block;}
.na-article .na-img-wrap{margin:32px 0 38px;border-radius:var(--r-lg,14px);overflow:hidden;border:1px solid var(--border,rgba(255,255,255,.1));background:var(--surface,#18263F);box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .3s ease,box-shadow .3s ease;}
.na-article .na-img-wrap:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.45);}
.na-img-wrap img{width:100%;height:auto;display:block;}
.na-zoom img{cursor:zoom-in;}
/* narrow screenshot: centred, never stretched */
.na-article .na-img-wrap.na-img-narrow{max-width:560px;margin-left:auto;margin-right:auto;}
/* inline SVG diagram */
.na-article .na-figure{margin:32px 0 38px;padding:20px 20px 12px;border:1px solid var(--border,rgba(255,255,255,.1));border-radius:var(--r-lg,14px);background:var(--surface,#18263F);}
.na-figure svg{display:block;width:100%;height:auto;font-family:'Nunito Sans',-apple-system,'Segoe UI',sans-serif;}
/* an SVG diagram used as the hero image */
.na-article .na-hero.na-figure{margin:0 0 40px;}
/* old diagrams were drawn for a light page: their colours are mapped to the dark theme here,
   so the SVG markup can be pasted unchanged */
.na-figure [fill="#091746" i]{fill:var(--text,#FFFFFF);}
.na-figure [fill="#475569" i]{fill:var(--text-dim,#AEBBD2);}
.na-figure [fill="#94a3b8" i]{fill:var(--text-mute,#6F7B94);}
.na-figure rect[fill="#ffffff" i],.na-figure rect[fill="#fff" i]{fill:var(--surface-2,#22304A);}
.na-figure [fill="#E3F0FB" i],.na-figure [fill="#D6E9F8" i]{fill:rgba(112,180,255,.14);}
.na-figure [fill="#FFEDE5" i]{fill:rgba(251,146,60,.14);}
.na-figure [fill="#0162B9" i]{fill:var(--blue-bright,#70B4FF);}
.na-figure [fill="#16a34a" i]{fill:var(--green,#50EDBB);}
.na-figure [fill="#7c3aed" i]{fill:#A78BFA;}
.na-figure [fill="#FF4200" i]{fill:#FB923C;}
.na-figure [stroke="#0162B9" i]{stroke:var(--blue-bright,#70B4FF);}
.na-figure [stroke="#091746" i]{stroke:rgba(255,255,255,.35);}
.na-figure [stroke="#94a3b8" i]{stroke:var(--text-mute,#6F7B94);}
.na-figure [stroke="#7c3aed" i]{stroke:#A78BFA;}
.na-figure [stroke="#FF4200" i]{stroke:#FB923C;}
/* two screenshots side by side */
.na-article .na-img-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:32px 0 38px;padding:12px;border:1px solid var(--border,rgba(255,255,255,.1));border-radius:var(--r-lg,14px);background:var(--surface,#18263F);}
.na-img-pair img{display:block;width:100%;height:auto;border-radius:var(--r-md,10px);}
/* key-point band */
.na-article .na-band{background:var(--surface,#18263F);border:1px solid var(--border,rgba(255,255,255,.1));border-left:3px solid var(--blue-bright,#70B4FF);border-radius:0 var(--r-lg,14px) var(--r-lg,14px) 0;padding:26px 30px;margin-top:32px;margin-bottom:36px;}
.na-band p{margin:0;font-size:19px;line-height:1.65;color:var(--text,#fff);}
/* table */
.na-article table.na-matrix{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border,rgba(255,255,255,.1));border-radius:var(--r-lg,14px);overflow:hidden;margin:32px 0 38px;background:var(--surface,#18263F);}
.na-matrix thead th{background:var(--surface-2,#22304A);color:var(--text,#fff);font-size:14px;font-weight:800;letter-spacing:.02em;padding:14px 18px;text-align:left;border:none;border-bottom:1px solid var(--border,rgba(255,255,255,.1));}
.na-matrix tbody td{padding:15px 18px;font-size:15.5px;line-height:1.55;color:var(--text-2,#E5ECF8);border:none;border-bottom:1px solid var(--border,rgba(255,255,255,.1));vertical-align:top;}
.na-matrix tbody tr{transition:background .2s ease;}
.na-matrix tbody tr:hover{background:rgba(112,180,255,.07);}
.na-matrix tbody tr:last-child td{border-bottom:0;}
.na-matrix .impact-critical{color:var(--red,#F87171);font-weight:800;}
.na-matrix .impact-high{color:#FB923C;font-weight:800;}
.na-matrix .impact-moderate{color:var(--amber,#FBBF24);font-weight:700;}
.na-matrix .impact-negligible{color:var(--green,#50EDBB);font-weight:700;}
.na-matrix .impact-irrelevant{color:var(--text-dim,#AEBBD2);font-weight:700;}
/* card grid */
.na-article .na-arch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:32px 0 38px;}
.na-arch-card{background:var(--surface,#18263F);border:1px solid var(--border,rgba(255,255,255,.1));border-left:3px solid var(--blue-bright,#70B4FF);border-radius:0 var(--r-md,10px) var(--r-md,10px) 0;padding:20px 22px;transition:transform .25s ease,box-shadow .25s ease;}
.na-arch-card:hover{transform:translateX(5px);box-shadow:0 8px 24px rgba(0,0,0,.35);}
.na-arch-title{color:var(--text,#fff);font-size:16.5px;font-weight:800;line-height:1.4;margin-bottom:8px;}
.na-arch-text{color:var(--text-dim,#AEBBD2);font-size:15px;line-height:1.6;}
/* same card with the original strong/span markup */
.na-arch-card > strong{display:block;color:var(--text,#fff);font-size:16.5px;font-weight:800;line-height:1.4;margin-bottom:8px;}
.na-arch-card > span{display:block;color:var(--text-dim,#AEBBD2);font-size:15px;line-height:1.6;}
.na-arch-card > br{display:none;}
/* a card that spans the whole grid row */
.na-article .na-span-all{grid-column:1/-1;}
/* feature cards */
.na-article .na-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:32px 0 38px;}
.na-feature-card{position:relative;overflow:hidden;padding:22px;border:1px solid var(--border,rgba(255,255,255,.1));border-top:3px solid var(--blue-bright,#70B4FF);border-radius:var(--r-lg,14px);background:var(--surface,#18263F);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.na-feature-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(0,0,0,.4);border-color:rgba(112,180,255,.6);border-top-color:var(--blue-bright,#70B4FF);}
.na-feature-card > strong{display:block;color:var(--text,#fff);font-size:17px;font-weight:800;line-height:1.4;margin-bottom:8px;}
.na-feature-card > span{display:block;color:var(--text-dim,#AEBBD2);font-size:15px;line-height:1.6;}
.na-feature-card > br{display:none;}
/* numbered steps in a row: "four hops", "four periods" */
.na-article .na-legs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:32px 0 38px;}
.na-leg{position:relative;overflow:hidden;padding:20px 16px;border:1px solid var(--border,rgba(255,255,255,.1));border-top:3px solid var(--blue-bright,#70B4FF);border-radius:var(--r-lg,14px);background:var(--surface,#18263F);text-align:center;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.na-leg:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(0,0,0,.4);border-color:rgba(112,180,255,.6);border-top-color:var(--blue-bright,#70B4FF);}
.na-leg-num{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 auto 12px;border-radius:50%;background:rgba(112,180,255,.14);color:var(--blue-bright,#70B4FF);font-size:14px;font-weight:900;transition:background .25s ease,color .25s ease,transform .25s ease;}
.na-leg:hover .na-leg-num{background:var(--blue,#3B82F6);color:#fff;transform:scale(1.1);}
.na-article .na-leg h4{margin:0 0 6px;color:var(--text,#fff);font-size:15px;font-weight:800;line-height:1.3;}
.na-article .na-leg p{margin:0;color:var(--text-dim,#AEBBD2);font-size:14px;line-height:1.5;}
/* sources */
.na-article .na-sources{margin-top:44px;margin-bottom:0;background:var(--surface,#18263F);border:1px solid var(--border,rgba(255,255,255,.1));border-radius:var(--r-lg,14px);padding:24px 26px;font-size:14.5px;line-height:1.65;color:var(--text-dim,#AEBBD2);}
/* "About this article" note */
.na-article .na-about{margin-top:40px;padding:20px 24px;border:1px solid var(--border,rgba(255,255,255,.1));border-left:3px solid var(--blue-bright,#70B4FF);border-radius:0 var(--r-lg,14px) var(--r-lg,14px) 0;background:var(--surface,#18263F);}
.na-about-title{color:var(--text,#fff);font-size:16px;font-weight:800;margin-bottom:6px;}
.na-article .na-about p{margin:0;font-size:15.5px;line-height:1.65;color:var(--text-dim,#AEBBD2);}
.na-sources h4{color:var(--text,#fff);font-size:16px;font-weight:800;margin:0 0 12px;}
.na-sources ol{margin:0;padding:0 0 0 20px;}
.na-sources li{margin-bottom:8px;}
.na-sources a{word-break:break-word;}
/* disclaimer */
.na-article .na-disclaimer{display:flex;gap:14px;align-items:flex-start;margin-top:20px;padding:20px 24px;border:1px solid var(--border,rgba(255,255,255,.1));border-radius:var(--r-lg,14px);background:rgba(255,255,255,.015);}
.na-article .na-disclaimer::before{content:"";flex:0 0 20px;width:20px;height:20px;margin-top:3px;background:var(--blue-bright,#70B4FF);-webkit-mask:var(--na-ico-shield) center/contain no-repeat;mask:var(--na-ico-shield) center/contain no-repeat;}
.na-article .na-disclaimer p{margin:0;font-size:14.5px;line-height:1.7;color:var(--text-dim,#AEBBD2);}
.na-article .na-disclaimer a{font-weight:700;}
/* inline table of contents */
.na-article .na-toc{background:var(--surface,#18263F);border:1px solid var(--border,rgba(255,255,255,.1));border-radius:var(--r-lg,14px);padding:22px 26px;margin-top:32px;margin-bottom:40px;}
.na-toc-title{color:var(--text,#fff);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;}
.na-toc ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;counter-reset:na-toc;}
.na-toc ol li{counter-increment:na-toc;display:flex;align-items:baseline;gap:10px;margin:0;}
.na-toc ol li::before{content:counter(na-toc,decimal-leading-zero);color:var(--blue-bright,#70B4FF);font-weight:700;font-size:13px;min-width:20px;}
.na-article .na-toc ol li a{color:var(--text-2,#E5ECF8);text-decoration:none;font-size:15.5px;font-weight:600;line-height:1.45;}
.na-article .na-toc ol li a:hover{color:var(--blue-bright,#70B4FF);text-decoration:underline;}
.na-article .na-toc ol li a.is-active{color:var(--blue-bright,#70B4FF);}
.na-toc ol li:has(a.is-active)::before{color:var(--text,#fff);}
/* reading progress (moved to <body> by the script) */
.na-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;pointer-events:none;}
.na-progress span{display:block;height:100%;width:100%;background:var(--blue-bright,#70B4FF);transform:scaleX(0);transform-origin:0 50%;}
/* floating table of contents (moved to <body> by the script) */
.na-toc-fab{position:fixed;right:24px;bottom:24px;width:50px;height:50px;padding:0;border-radius:50%;background:var(--blue,#3B82F6);color:#fff;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.45);z-index:900;opacity:0;visibility:hidden;transform:scale(.8);transition:opacity .3s ease,transform .25s ease,visibility 0s linear .3s,background .25s ease;}
.na-toc-fab.na-fab-visible{opacity:1;visibility:visible;transform:scale(1);transition:opacity .3s ease,transform .25s ease,visibility 0s,background .25s ease;}
.na-toc-fab:hover,.na-toc-fab.na-fab-open{background:var(--blue-deep,#1D4ED8);}
.na-toc-fab:focus-visible{outline:2px solid var(--blue-bright,#70B4FF);outline-offset:3px;}
.na-toc-fab::before{content:"";width:22px;height:22px;background:#fff;-webkit-mask:var(--na-ico-list) center/contain no-repeat;mask:var(--na-ico-list) center/contain no-repeat;}
.na-toc-panel{position:fixed;right:24px;bottom:86px;width:320px;max-height:calc(100vh - 140px);overflow-y:auto;background:var(--surface-2,#22304A);border:1px solid var(--border-strong,rgba(255,255,255,.2));border-radius:var(--r-lg,14px);padding:20px 22px;box-shadow:0 18px 44px rgba(0,0,0,.5);z-index:900;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;}
.na-toc-panel.na-panel-visible{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .25s ease,visibility 0s;}
.na-toc-panel .na-toc-title{color:var(--text,#fff);font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;}
.na-toc-panel ol{margin:0;padding:0;list-style:none;counter-reset:na-tocp;}
.na-toc-panel ol li{counter-increment:na-tocp;display:flex;align-items:baseline;gap:10px;margin:0 -10px 4px;padding:6px 10px;border-radius:8px;border-left:2px solid transparent;transition:background .2s ease,border-color .2s ease;}
.na-toc-panel ol li:has(a.is-active){background:rgba(112,180,255,.12);border-left-color:var(--blue-bright,#70B4FF);}
.na-toc-panel ol li:last-child{margin-bottom:0;}
.na-toc-panel ol li::before{content:counter(na-tocp,decimal-leading-zero);color:var(--blue-bright,#70B4FF);font-weight:700;font-size:12.5px;min-width:20px;}
.na-toc-panel ol li a{color:var(--text-2,#E5ECF8);text-decoration:none;font-size:14.5px;line-height:1.45;}
.na-toc-panel ol li a:hover,.na-toc-panel ol li a.is-active{color:var(--blue-bright,#70B4FF);}
.na-toc-panel ol li a.is-active{font-weight:700;}
/* image viewer (created by the script) */
.na-lightbox{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:56px 24px 24px;background:rgba(4,8,18,.94);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s;cursor:zoom-out;}
.na-lightbox.is-open{opacity:1;visibility:visible;transition:opacity .25s ease,visibility 0s;}
.na-lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:var(--r-md,10px);box-shadow:0 20px 60px rgba(0,0,0,.6);cursor:default;}
.na-lightbox button{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:8px;height:42px;padding:0 16px 0 12px;border-radius:999px;border:1px solid var(--border-strong,rgba(255,255,255,.2));background:var(--surface-2,#22304A);color:var(--text,#fff);font-size:14px;font-weight:700;cursor:pointer;}
.na-lightbox button:hover{background:var(--surface-3,#2A3A58);}
.na-lightbox button svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;}
html.na-lb-open,html.na-lb-open body{overflow:hidden;}
@media(max-width:768px){
  .na-article .na-arch-grid,.na-article .na-feature-grid,.na-toc ol{grid-template-columns:minmax(0,1fr);}
  .na-article .na-legs{grid-template-columns:repeat(2,minmax(0,1fr));}
  .na-article h2{font-size:25px;margin-top:44px;}
  .na-article h3{font-size:20px;}
  .na-article .na-figure{padding:12px 10px 6px;}
  .na-article .na-img-pair{grid-template-columns:minmax(0,1fr);}
  .na-article table.na-matrix{display:block;overflow-x:auto;}
  .na-matrix thead th,.na-matrix tbody td{padding:11px 13px;font-size:14px;}
  .na-toc-fab{right:16px;bottom:16px;}
  .na-toc-panel{right:16px;bottom:76px;width:min(320px,calc(100vw - 32px));}
}
@media(max-width:600px){
  .na-article p,.na-band p,.na-article > ul li,.na-article > ol li{font-size:18px;}
  .na-article .na-legs{grid-template-columns:minmax(0,1fr);}
  .na-article .na-formula{grid-template-columns:auto 1fr;font-size:14px;}
  .na-article .na-formula .eq{grid-column:1/-1;margin-bottom:6px;}
  .na-article .na-disclaimer p{font-size:14px;}
  .na-article .na-band{padding:22px;}
  .na-article .na-disclaimer{padding:18px;}
}
