/* NuliBlog visual system v1. All public templates; content-specific layouts remain independent.
 * See design.md. Keep component geometry and explicit gallery image frames intact.
 * Remove this link in header.php to return to the preceding presentation.
 */
:root {
 --nb-blue:#0e38b1;
 --nb-blue-hover:#092b8c;
 --nb-blue-soft:#f1f5fd;
 --nb-canvas:#fffef5;
 --nb-sidebar:#f3f5fa;
 --nb-paper:#fff;
 --nb-ink:#202c3e;
 --nb-secondary:#526176;
 --nb-muted:#5f6f85;
 --nb-line:#e3e8f0;
 --nb-line-strong:#cbd5e1;
 --nb-space-1:4px;
 --nb-space-2:8px;
 --nb-space-3:12px;
 --nb-space-4:16px;
 --nb-space-6:24px;
 --nb-space-8:32px;
 --nb-space-12:48px;
 --nb-radius-control:6px;
 --nb-radius-card:10px;
 --nb-shadow-shell:10px 0 28px -16px rgb(66 58 27 / 22%);
}
html.nb-visual-sample {
 --accent:var(--nb-blue); --accent-color:var(--nb-blue);
 --accent-soft:var(--nb-blue-soft); --ink:var(--nb-ink);
 --muted:var(--nb-muted); --line:var(--nb-line); --surface:var(--nb-paper);
}
html.nb-visual-sample,
html.nb-visual-sample body { background:var(--nb-canvas)!important; }
/* Shared shell: one quiet sidebar, one white reading surface. */
html.nb-visual-sample body > header,
html.nb-visual-sample body > header.active,
html.nb-visual-sample body > footer { background:var(--nb-sidebar)!important; border-color:var(--nb-line)!important; }
html.nb-visual-sample section.content { box-shadow:var(--nb-shadow-shell)!important; }
html.nb-visual-sample section.toolbar { border-color:var(--nb-line)!important; }
html.nb-visual-sample body > header .box .title { color:var(--nb-ink); font-weight:600; line-height:1.5; }
html.nb-visual-sample body > header .box .subtitle { color:var(--nb-muted); }
html.nb-visual-sample body > header .box nav .nav-icon { background:transparent!important; outline:0!important; box-shadow:none!important; }
html.nb-visual-sample body > header .box nav ul li > a { color:var(--nb-secondary)!important; }
html.nb-visual-sample body > header .box nav ul li > a:hover { background:#e8eef9!important; color:var(--nb-blue)!important; }
html.nb-visual-sample body > header .box nav li:is(.active,.navbar-active,.current-menu-item) > a,
html.nb-visual-sample body > header .box nav a[aria-current=page] { color:#fff!important; background:var(--nb-blue)!important; }
html.nb-visual-sample body > header .box nav li:is(.active,.navbar-active,.current-menu-item) > a .nav-icon,
html.nb-visual-sample body > header .box nav a[aria-current=page] .nav-icon { color:#fff!important; }
html.nb-visual-sample section.toolbar :is(.nb-toolbar-button,.article-toc-toggle),
html.nb-visual-sample section.toolbar a.homelink { border-radius:var(--nb-radius-control); box-shadow:none; }
html.nb-visual-sample section.toolbar .category > .btn { border-radius:var(--nb-radius-control)!important; font-weight:400; }
html.nb-visual-sample section.toolbar .category > .btn:first-child { background:var(--nb-blue-soft)!important; color:var(--nb-blue)!important; border-color:transparent!important; }
html.nb-visual-sample :is(a,button,input,textarea,select):focus-visible { outline:2px solid var(--nb-blue); outline-offset:3px; }

/* Home: keep blue headlines and dashed rules, establish editorial hierarchy. */
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content .article-feed-heading { align-items:baseline; padding:28px var(--content-gutter) 20px; border-bottom:1px solid var(--nb-line); }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content .article-feed-heading h1 { font-size:24px!important; line-height:1.4; font-weight:600; letter-spacing:0; }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content .article-feed-heading h1::before { width:3px; flex-basis:3px; height:20px; border-radius:1px; }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content .article-feed-heading > span { color:var(--nb-muted); font-size:12px; }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry:not(.moment-list-entry) { padding:24px var(--content-gutter)!important; border-bottom:1px dashed var(--nb-line-strong)!important; }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry h2.title { margin:0!important; }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry h2.title a { color:var(--nb-blue)!important; font-size:21px!important; font-weight:600; line-height:1.5!important; letter-spacing:0; }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry h2.title a:hover { color:var(--nb-blue-hover)!important; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry p.post-excerpt { max-width:58em; margin:8px 0 0!important; color:var(--nb-secondary)!important; font-size:14px!important; line-height:1.7!important; }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry .post-entry-meta { margin-top:12px!important; gap:4px 12px; color:var(--nb-muted)!important; font-size:12px!important; }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry .post-entry-meta .meta-item { color:var(--nb-muted)!important; background:transparent!important; padding:0!important; border:0!important; }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry .post-entry-meta .post-category a { color:var(--nb-secondary)!important; }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry.toplist { background:var(--nb-blue-soft)!important; }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry.toplist:hover { background:#eaf0fb!important; }
html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry.toplist .pin-badge { background:transparent!important; border:0!important; border-radius:0; padding:0; margin-bottom:8px; color:var(--nb-blue)!important; font-size:11px; font-weight:500; }

/* Reading typography shared by ordinary pages, projects and series introductions. */
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow.content > .box { padding-top:24px!important; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .post-page-title { margin-bottom:24px; text-align:left; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .post-page-title h1 { color:var(--nb-ink)!important; text-align:left!important; font-size:30px!important; font-weight:600!important; line-height:1.45!important; margin:0 0 8px!important; letter-spacing:0; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .post-page-title .rel { justify-content:flex-start!important; width:100%; margin:0!important; padding:0!important; background:transparent!important; border:0!important; border-radius:0!important; gap:4px 16px; box-shadow:none; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .post-page-title .rel .meta-item { background:transparent!important; color:var(--nb-muted)!important; padding:0!important; font-size:12px!important; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .post-page-title .rel a { color:var(--nb-muted)!important; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .words { padding-left:0!important; padding-right:0!important; color:var(--nb-ink)!important; font-size:14px!important; line-height:1.75!important; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .words :is(p,li):not(:where(.code-wrapper,.code-wrapper *)) { color:inherit; font-size:14px!important; line-height:1.75!important; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .words > p { margin:0 0 16px!important; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .words h2 { font-size:21px!important; font-weight:600; line-height:1.5!important; margin:32px 0 12px!important; padding:0!important; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .words h3 { font-size:17px!important; font-weight:600; line-height:1.5!important; margin:24px 0 8px!important; padding:0!important; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .words h4 { font-size:15px!important; font-weight:600; line-height:1.5!important; margin:20px 0 8px!important; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .words blockquote:not(.callout) { margin:20px 0!important; padding:12px 16px!important; border-left:3px solid var(--nb-blue)!important; border-radius:0 6px 6px 0!important; background:var(--nb-blue-soft)!important; color:var(--nb-secondary)!important; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .words blockquote:not(.callout) > p:last-child { margin-bottom:0!important; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .article-toc-panel { border:0; border-left:1px solid var(--nb-line); border-radius:0; box-shadow:none; background:transparent; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .article-toc-heading { border-bottom:0; padding-top:8px; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .article-toc-link { border-radius:4px; }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .article-toc-sublist .article-toc-link { color:var(--nb-muted); }
html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .article-toc-link[aria-current=location] { color:var(--nb-blue); }

/* Photography: unboxed introduction; images remain the visual centre. */
html[data-nb-visual=photo] .special-photo .special-post-heading { padding:8px 0 24px; margin:0 0 24px; border:0; border-bottom:1px solid var(--nb-line); border-radius:0; background:transparent; }
html[data-nb-visual=photo] .special-photo .special-post-heading:has(.heading-art) { padding:24px; border:0; border-radius:var(--nb-radius-card); background:var(--nb-blue-soft); }
html[data-nb-visual=photo] .special-photo .special-post-heading h1 { color:var(--nb-ink)!important; font-size:30px!important; font-weight:600!important; line-height:1.4!important; margin:20px 0 12px!important; }
html[data-nb-visual=photo] .special-photo .photo-summary { color:var(--nb-secondary); max-width:46em; margin:0; }
html[data-nb-visual=photo] .special-photo .moment-author time,
html[data-nb-visual=photo] .special-photo .photo-properties dt { color:var(--nb-muted); font-size:12px; }
html[data-nb-visual=photo] .special-photo .photo-properties { gap:12px 24px; margin-top:20px; }
html[data-nb-visual=photo] .special-photo .photo-properties dd { color:var(--nb-secondary); font-size:13px; }
html[data-nb-visual=photo] .photo-layout-tools { border-top:0; padding-top:0; gap:8px; margin-top:20px; }
html[data-nb-visual=photo] .photo-layout-tools button { padding:6px 10px; border:1px solid transparent; border-radius:var(--nb-radius-control); background:#f3f5f8; color:var(--nb-secondary); }
html[data-nb-visual=photo] .photo-layout-tools button[aria-pressed=true] { background:var(--nb-blue); color:#fff; border-color:var(--nb-blue); }
html[data-nb-visual=photo] .special-photo .words .photo-frame > a { border-radius:4px; background:transparent; }
html[data-nb-visual=photo] .special-photo .words .photo-frame figcaption { color:var(--nb-muted)!important; line-height:1.75!important; }

@media(max-width:1100px) {
 html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .article-toc-panel { background:var(--nb-paper); border:1px solid var(--nb-line); border-radius:var(--nb-radius-card); box-shadow:0 12px 40px rgb(32 44 62 / 14%); }
}
@media(max-width:600px) {
 html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content .article-feed-heading { padding:20px var(--content-gutter) 16px; gap:6px 12px; }
 html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content .article-feed-heading h1 { font-size:21px!important; }
 html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content .article-feed-heading > span { font-size:11px; }
 html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry:not(.moment-list-entry) { padding:20px var(--content-gutter)!important; }
 html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry h2.title a { font-size:18px!important; }
 html:is([data-nb-visual=home],[data-nb-visual=listing]) .artlist.content ul.items > li.post-entry .post-entry-meta { font-size:11px!important; margin-top:10px!important; }
 html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow.content > .box { padding-top:20px!important; }
 html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .post-page-title { margin-bottom:20px; }
 html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .post-page-title h1 { font-size:25px!important; }
 html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .post-page-title .rel { gap:4px 12px; }
 html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .post-page-title .rel .meta-item { font-size:11px!important; }
 html:is([data-nb-visual=article],[data-nb-visual=project],[data-nb-visual=series]) .artshow .box .words h2 { font-size:20px!important; margin-top:28px!important; }
 html[data-nb-visual=photo] .special-photo .special-post-heading h1 { font-size:25px!important; }
 html[data-nb-visual=photo] .special-photo .special-post-heading:has(.heading-art) { padding:20px; }
 html[data-nb-visual=photo] .photo-layout-tools { gap:6px; }
 html[data-nb-visual=photo] .photo-layout-tools button { padding:6px 8px; font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
 html.nb-visual-sample :is(.post-entry,.article-toc-link) { transition:none!important; }
}

/* Collections share visual roles, not their individual layout algorithms. */
html.nb-visual-sample .nuliblog-showcase {
 --showcase-accent:var(--nb-blue); --showcase-line:var(--nb-line);
 --showcase-muted:var(--nb-muted); --showcase-tint:var(--nb-blue-soft);
}
html.nb-visual-sample .nuliblog-showcase > .box { padding-top:24px!important; }
html.nb-visual-sample .nuliblog-showcase .showcase-heading { padding:8px 0 24px; margin-bottom:24px; border-color:var(--nb-line); border-radius:0; }
html.nb-visual-sample .nuliblog-showcase .showcase-heading h1 { color:var(--nb-ink)!important; font-size:30px!important; font-weight:600; line-height:1.4!important; margin:12px 0!important; }
html.nb-visual-sample .nuliblog-showcase .showcase-heading > p { color:var(--nb-secondary); font-size:14px; line-height:1.75; }
html.nb-visual-sample .nuliblog-showcase .showcase-heading:has(.heading-art) { padding:24px; border:0; border-radius:var(--nb-radius-card); background:var(--nb-blue-soft); }
html.nb-visual-sample .showcase-eyebrow { color:var(--nb-blue); font-size:12px; font-weight:500; letter-spacing:0; }
html.nb-visual-sample .nuliblog-showcase .showcase-page-content { color:var(--nb-ink); font-size:14px!important; line-height:1.75!important; }
html.nb-visual-sample .nuliblog-showcase .showcase-page-content :is(p,li):not(:where(.code-wrapper,.code-wrapper *)) { font-size:14px!important; line-height:1.75!important; }
html.nb-visual-sample .nuliblog-showcase .showcase-page-content h2 { font-size:21px!important; line-height:1.5!important; margin:32px 0 12px!important; padding:0!important; }
html.nb-visual-sample .nuliblog-showcase .showcase-page-content h3 { font-size:17px!important; line-height:1.5!important; margin:24px 0 8px!important; padding:0!important; }
html.nb-visual-sample .showcase-section-title { margin-bottom:16px; }
html.nb-visual-sample .nuliblog-showcase .showcase-section-title h2 { color:var(--nb-ink)!important; font-size:20px!important; font-weight:600; }
html.nb-visual-sample .nuliblog-showcase :is(.showcase-toolbar-label,.showcase-search-count,.gallery-result,.showcase-taxonomy-tools,.showcase-archive-summary) { color:var(--nb-muted); font-size:12px; }

/* Filters remain at their existing positions and keep their responsive flow. */
html.nb-visual-sample .nuliblog-showcase :is(.showcase-filter-tabs button,.gallery-filter button) { background:#f3f5f8; color:var(--nb-secondary); border-radius:var(--nb-radius-control); box-shadow:none; }
html.nb-visual-sample .nuliblog-showcase .showcase-filter-tabs button[aria-pressed=true] { background:var(--nb-blue); color:#fff; }
html.nb-visual-sample .nuliblog-showcase :is(.showcase-search input,.gallery-filter input,.gallery-filter select,.showcase-rating-filter select) { border-color:var(--nb-line-strong); border-radius:var(--nb-radius-control); color:var(--nb-secondary); background:var(--nb-paper); }
html.nb-visual-sample .nuliblog-showcase input::placeholder { color:var(--nb-muted); opacity:1; }
html.nb-visual-sample :is(.gallery-layout-switch,.showcase-layout-switch) { background:#f3f5f8; border-radius:var(--nb-radius-control); }
html.nb-visual-sample :is(.gallery-layout-switch,.showcase-layout-switch) button { color:var(--nb-secondary); border-radius:4px; }
html.nb-visual-sample :is(.gallery-layout-switch,.showcase-layout-switch) button[aria-pressed=true] { background:var(--nb-paper); color:var(--nb-blue); box-shadow:0 1px 3px rgb(32 44 62 / 10%); }
html.nb-visual-sample .nuliblog-showcase .showcase-button { border-radius:var(--nb-radius-control); background:var(--nb-blue); font-size:13px; box-shadow:none; }
html.nb-visual-sample .nuliblog-showcase .showcase-button.secondary { background:var(--nb-paper); border-color:var(--nb-line-strong); color:var(--nb-blue); }
html.nb-visual-sample .nuliblog-showcase .showcase-button:hover { filter:none; background:var(--nb-blue-hover); color:#fff; }
html.nb-visual-sample .nuliblog-showcase .showcase-button.secondary:hover { background:var(--nb-blue-soft); color:var(--nb-blue); border-color:#a6b9e2; }

/* Cards: a quiet outline, consistent corners, no hover lift. */
html.nb-visual-sample .nuliblog-showcase :is(.showcase-link-card,.showcase-project-card,.showcase-resource-card,.showcase-category-card,.showcase-reading-card,.showcase-photo-card,.gallery-item,.product-card,.showcase-now-card,.showcase-change) { border-color:var(--nb-line); border-radius:var(--nb-radius-card); box-shadow:none; transform:none; }
html.nb-visual-sample .nuliblog-showcase :is(.showcase-link-card,.showcase-project-card,.showcase-resource-card,.showcase-category-card,.product-card):hover { border-color:#a6b9e2; box-shadow:none; transform:none; }
html.nb-visual-sample .showcase-link-copy strong,
html.nb-visual-sample .nuliblog-showcase :is(.showcase-project-copy h3,.showcase-resource-card h2,.showcase-category-card h2,.product-copy h2,.gallery-item-copy h2) { color:var(--nb-blue)!important; font-size:18px!important; font-weight:600; line-height:1.5; }
html.nb-visual-sample .showcase-link-copy strong { font-size:14px!important; }
html.nb-visual-sample :is(.showcase-link-copy > span,.showcase-card-category,.showcase-category-parent,.showcase-reading-state,.showcase-creator,.product-card-top,.product-model,.product-copy time,.gallery-item-group,.gallery-item-copy time) { color:var(--nb-muted); }
html.nb-visual-sample .nuliblog-showcase :is(.showcase-project-copy > p,.showcase-resource-card p,.showcase-reading-copy > p:not(.showcase-creator),.product-copy p,.gallery-item-copy p,.showcase-profile p,.showcase-timeline p) { color:var(--nb-secondary); font-size:14px; line-height:1.75; }
html.nb-visual-sample :is(.product-copy h2 a,.product-read,.gallery-item-copy h2 a) { color:var(--nb-blue); }
html.nb-visual-sample .showcase-featured .showcase-project-card,
html.nb-visual-sample .products-featured .product-card { border-color:#c0cfee; background:var(--nb-blue-soft); }
html.nb-visual-sample .gallery-item.gallery-featured { border-color:#a6b9e2; }
html.nb-visual-sample .gallery-featured-label { background:var(--nb-paper); color:var(--nb-blue); box-shadow:none; }
html.nb-visual-sample :is(.product-status,.showcase-taxonomy-badge) { color:var(--nb-secondary); background:#f3f5f8; border-color:var(--nb-line); }
html.nb-visual-sample .showcase-status:is(.status-active,.status-maintained) { color:var(--nb-blue); }
html.nb-visual-sample .showcase-status.status-developing { color:#88620b; }
html.nb-visual-sample .showcase-status.status-archived { color:var(--nb-muted); }
html.nb-visual-sample .showcase-rating { color:#88620b; }
html.nb-visual-sample .showcase-rating > span { color:#69788e; }
html.nb-visual-sample .nuliblog-showcase :is(.showcase-empty,.series-empty) { border-color:var(--nb-line-strong); color:var(--nb-muted); background:#fafbfd; border-radius:var(--nb-radius-card); box-shadow:none; }

/* About, link exchange and guestbook: one surface per section. */
html.nb-visual-sample :is(.showcase-profile,.showcase-site-info,.showcase-guestbook-welcome) { border:0; border-radius:var(--nb-radius-card); background:var(--nb-blue-soft); padding:24px; }
html.nb-visual-sample .nuliblog-showcase :is(.showcase-profile h2,.showcase-site-info h2,.showcase-guestbook-welcome h2) { color:var(--nb-ink)!important; font-weight:600; }
html.nb-visual-sample .showcase-interests span { border:0; background:var(--nb-paper); color:var(--nb-secondary); border-radius:var(--nb-radius-control); }
html.nb-visual-sample :is(.showcase-site-info p,.showcase-site-details dt,.showcase-guestbook-welcome p,.showcase-copy-status,.showcase-timeline li > span) { color:var(--nb-muted); }
html.nb-visual-sample .showcase-site-details dd { color:var(--nb-secondary); }
html.nb-visual-sample .showcase-timeline li > div { border-left-color:var(--nb-line-strong); }
html.nb-visual-sample .nuliblog-showcase .showcase-timeline h3 { color:var(--nb-ink); }

/* Taxonomy and chronology keep their own structures. */
html.nb-visual-sample .showcase-tag-cloud { padding:24px 0; border:0; border-radius:0; background:transparent; }
html.nb-visual-sample .nuliblog-showcase .showcase-tag { border-color:var(--nb-line); border-radius:var(--nb-radius-control); color:var(--nb-blue); }
html.nb-visual-sample .nuliblog-showcase .showcase-tag.weight-3 { background:var(--nb-blue-soft); }
html.nb-visual-sample .showcase-tag small { color:var(--nb-muted); }
html.nb-visual-sample .nuliblog-showcase .showcase-tag:hover { color:#fff; background:var(--nb-blue); }
html.nb-visual-sample .showcase-tag:hover small { color:#fff; }
html.nb-visual-sample .showcase-archive-year ol { border-left-color:var(--nb-line-strong)!important; }
html.nb-visual-sample .showcase-now-card { border-top-width:1px; }
html.nb-visual-sample :is(.showcase-now-meta .showcase-status,.showcase-now-footer time,.showcase-change-meta time,.showcase-version) { color:var(--nb-muted); }
html.nb-visual-sample .showcase-now-meta .showcase-status.now-current { color:var(--nb-blue); }
html.nb-visual-sample .showcase-now-meta .showcase-status.now-planned { color:#88620b; }
html.nb-visual-sample .showcase-now-meta .showcase-status.now-done { color:#36715e; }
html.nb-visual-sample .showcase-change { border-left-width:2px; border-left-color:var(--nb-blue); }
html.nb-visual-sample .showcase-change p { color:var(--nb-secondary); line-height:1.75; }

/* Reading details: keep projects spacious and series book covers distinctive. */
/* The box fills its current grid column; closing the outline removes that column.
   These rules also cover collection pages whose introduction has headings. */
html.nb-visual-sample .artshow.content > .box { box-sizing:border-box; width:100%!important; min-width:0; max-width:none!important; margin:0!important; }
html.nb-visual-sample .artshow.content.has-article-toc:not(.article-toc-visible) { display:block!important; grid-template-columns:none; }
html.nb-visual-sample .artshow .box .words { width:auto!important; max-width:none!important; margin-left:0!important; margin-right:0!important; padding-left:0!important; padding-right:0!important; text-align:left!important; }
html.nb-visual-sample .artshow .box .words :where(h1,h2,h3,h4,h5,h6,p) { text-align:left; }
html.nb-visual-sample .artshow .box .words a.reference-link:not([href]) { margin:0!important; padding:0!important; border:0!important; background:transparent!important; }
html.nb-visual-sample .artshow .box .words :is(#xiurr_editormd_content,#xiurr_editormd_markdown,.editormd-html-preview,.editormd-preview-container) { box-sizing:border-box; width:auto!important; max-width:none!important; margin-left:0!important; margin-right:0!important; padding-left:0!important; padding-right:0!important; text-align:left!important; }
html.nb-visual-sample .product-detail-meta { border:0; border-radius:var(--nb-radius-control); background:var(--nb-blue-soft); }
html.nb-visual-sample .product-detail-meta dt { color:var(--nb-muted); }
html.nb-visual-sample .product-detail-meta dd { color:var(--nb-secondary); }
html.nb-visual-sample .product-detail-return { color:var(--nb-blue); }
html.nb-visual-sample .series-book { background:var(--nb-blue-soft); border:0; border-radius:var(--nb-radius-card); }
html.nb-visual-sample .nuliblog-showcase .series-book h1 { color:var(--nb-ink)!important; }
html.nb-visual-sample .series-book-subtitle { color:var(--nb-secondary); }
html.nb-visual-sample :is(.series-book-summary,.series-book-eyebrow,.series-book-meta dt,.series-stat,.series-catalogue-title > span,.series-tree-actions button,.series-excerpt-toggle,.series-tree-number,.series-tree-row > time) { color:var(--nb-muted); }
html.nb-visual-sample .series-book-meta dd { color:var(--nb-secondary); }
html.nb-visual-sample :is(.series-book-meta dt,.series-stat,.series-catalogue-title > span,.series-tree-actions button,.series-excerpt-toggle,.series-tree-number,.series-tree-row > time) { font-size:12px; }
html.nb-visual-sample .series-tree { border:0; border-radius:0; padding:8px 0!important; }
html.nb-visual-sample .series-tree-actions { flex-wrap:wrap; }
html.nb-visual-sample .series-tree-children > .series-tree-node::before,
html.nb-visual-sample .series-tree-children > .series-tree-node::after { background:var(--nb-line-strong); }
html.nb-visual-sample .series-tree-title { color:var(--nb-secondary); }
html.nb-visual-sample .series-tree-node[data-series-depth="1"] > .series-tree-row > .series-tree-title { color:var(--nb-blue); }
html.nb-visual-sample .series-tree-node[data-series-depth="2"] > .series-tree-row > .series-tree-title { color:var(--nb-ink); }
html.nb-visual-sample .series-tree-title:hover { color:var(--nb-blue-hover); }
html.nb-visual-sample .series-tree-toggle { color:var(--nb-muted); }
html.nb-visual-sample .series-node-excerpt { color:var(--nb-secondary); background:var(--nb-blue-soft); border-color:var(--nb-line-strong); }
html.nb-visual-sample .series-membership { border:0; background:var(--nb-blue-soft); border-radius:var(--nb-radius-card); }
html.nb-visual-sample :is(.series-membership-head small,.series-neighbors small,.article-neighbor small) { color:var(--nb-muted); }
html.nb-visual-sample :is(.article-neighbor,.series-neighbors a) { color:var(--nb-blue); }
html.nb-visual-sample .article-neighbor { border-color:var(--nb-line); background:#fafbfd; border-radius:var(--nb-radius-control); }

/* Moments stay lightweight, while their stream retains the requested cards. */
html.nb-visual-sample :is(.special-moment .moment-author time,.moment-stream-meta a,.moment-expand,.moment-list-pin) { color:var(--nb-muted); }
html.nb-visual-sample .artlist.content :is(.moment-list-badge,.moment-list-date,.moment-list-comments) { color:var(--nb-muted)!important; }
html.nb-visual-sample :is(.moment-list-text,.moment-stream-text,.special-moment .special-post-content) { color:var(--nb-ink); font-size:14px; line-height:1.75; }
html.nb-visual-sample .moment-list-text { max-height:3.5em; }
html.nb-visual-sample .moment-stream-text:not(.is-expanded) { max-height:7em; }
html.nb-visual-sample .moment-stream-meta strong,
html.nb-visual-sample .special-moment .moment-author strong { color:var(--nb-secondary); }
html.nb-visual-sample [data-showcase=moments] :is(.moment-stream-row,.content-type-legacy .showcase-moment) { border-color:var(--nb-line); border-radius:var(--nb-radius-card); box-shadow:none; }
html.nb-visual-sample .special-moment .special-post-tags a { color:var(--nb-muted); }

/* Native comments remain compact and retain their original form behavior. */
html.nb-visual-sample .artshow .box #divCommentPost { border-color:var(--nb-line)!important; border-top-color:var(--nb-blue)!important; border-radius:var(--nb-radius-card); }
html.nb-visual-sample .artshow .box ul.msg .comment-body { color:var(--nb-secondary); }
html.nb-visual-sample .artshow .box ul.msg :is(.msgname small,.comment-actions .comment-reply-link,.comment-actions .comment-permalink) { color:var(--nb-muted); }

@media(max-width:767px) {
 html.nb-visual-sample .nuliblog-showcase > .box { padding-top:20px!important; }
 html.nb-visual-sample .nuliblog-showcase .showcase-heading h1 { font-size:25px!important; }
 html.nb-visual-sample .nuliblog-showcase .showcase-heading { padding-bottom:20px; margin-bottom:20px; }
 html.nb-visual-sample .nuliblog-showcase .showcase-heading:has(.heading-art),
 html.nb-visual-sample :is(.showcase-profile,.showcase-site-info,.showcase-guestbook-welcome) { padding:20px; }
 html.nb-visual-sample .nuliblog-showcase :is(.showcase-project-copy h3,.showcase-resource-card h2,.showcase-category-card h2,.product-copy h2,.gallery-item-copy h2) { font-size:17px!important; }
 html.nb-visual-sample .nuliblog-showcase .gallery-item-copy h2 { font-size:15px!important; }
 html.nb-visual-sample .series-book { padding:20px; }
 html.nb-visual-sample .series-tree { padding:8px 0!important; }
 html.nb-visual-sample :is(.series-book-meta dt,.series-stat,.series-catalogue-title > span,.series-tree-actions button,.series-excerpt-toggle,.series-tree-number) { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
 html.nb-visual-sample :is(.showcase-link-card,.showcase-project-card,.showcase-resource-card,.showcase-category-card,.product-card) { transition:none; }
}

/* Standalone error page: no remote scripts or fixed desktop-only canvas. */
.nb-error-page { box-sizing:border-box; min-height:100vh; min-height:100dvh; display:grid; place-items:center; margin:0; padding:24px; color:var(--nb-ink); font:14px/1.75 "NuliBlog MiSans",-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif; }
.nb-error-card { box-sizing:border-box; width:min(100%,640px); padding:48px; border-radius:var(--nb-radius-card); background:var(--nb-paper); box-shadow:0 12px 40px rgb(66 58 27 / 6%); overflow-wrap:anywhere; }
.nb-error-brand { display:inline-flex; align-items:center; gap:12px; color:var(--nb-ink); text-decoration:none; font-weight:600; }
.nb-error-brand img { object-fit:contain; border-radius:8px; }
.nb-error-code { color:var(--nb-blue); font-size:64px; line-height:1; font-weight:600; margin:40px 0 16px; letter-spacing:-2px; }
.nb-error-card h1 { font-size:28px; line-height:1.4; font-weight:600; margin:0 0 16px; }
.nb-error-card > p:not(.nb-error-code) { color:var(--nb-secondary); margin:0 0 24px; }
.nb-error-home { display:inline-flex; align-items:center; gap:16px; padding:8px 16px; border-radius:var(--nb-radius-control); color:#fff; background:var(--nb-blue); text-decoration:none; }
.nb-error-home:hover { background:var(--nb-blue-hover); }
@media(max-width:600px) {
 .nb-error-page { padding:16px; }
 .nb-error-card { padding:28px 24px; }
 .nb-error-code { font-size:56px; margin-top:32px; }
 .nb-error-card h1 { font-size:24px; }
}
