/* Nest In Small, look D "Graphite & Citron" (owner approved 20 Oct 2026; canvas "Nest In Small Redesign",
   https://claude.ai/artifact/NjqY83hiuBLDHhriSAXDoC, boards D).
   Loaded last on every page, after site.css (look A): white paper with a faint grid, graphite lines and type, and
   one citron highlighter for what fits (walkways, key numbers, the "fits" stamp). Square-ish corners and hairlines.
   Fonts: Schibsted Grotesk + Reddit Mono (@fontsource-variable packages, imported in src/layouts/Page.astro).
   The theme's and look A's variables are re-pointed here, so the tools and older blocks follow; the solver's
   drawings are recoloured at the end of this file. */

/* ---------- Palette and type ---------- */
:root {
	--d-paper: #F5F5F0;
	--d-sheet: #FFFFFF;
	--d-grid: #EFEFE9;
	--d-hair: #DCDCD4;
	--d-hair2: #C9C9C1;
	--d-ink: #17181A;
	--d-text: #33353A;
	--d-muted: #5E6167;
	--d-cit: #D9EA3C;
	--d-cit-soft: #F2F7C8;
	--d-cit-mid: #C6D72B;
	--d-cit-ink: #556100;
	--d-red: #B42318;
	--d-red-soft: #FDECEA;
	--d-sans: 'Schibsted Grotesk Variable', 'Schibsted Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--d-mono: 'Reddit Mono Variable', 'Reddit Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	--d-graph: linear-gradient(var(--d-grid) 1px, transparent 1px), linear-gradient(90deg, var(--d-grid) 1px, transparent 1px);
	--d-r: 6px;

	--global-palette1: #17181A;
	--global-palette2: #556100;
	--global-palette3: #17181A;
	--global-palette4: #33353A;
	--global-palette5: #5E6167;
	--global-palette6: #8E9096;
	--global-palette7: #DCDCD4;
	--global-palette8: #F5F5F0;
	--global-palette9: #FFFFFF;
	--global-palette10: #D9EA3C;
	--global-body-font-family: var(--d-sans);
	--global-heading-font-family: var(--d-sans);
	--nis-head: var(--d-sans);
	--nis-mono: var(--d-mono);
	--nis-bg: #F5F5F0;
	--nis-accent: #17181A;
	--nis-accent-dark: #556100;
	--nis-ink: #17181A;
	--nis-text: #33353A;
	--nis-body: #33353A;
	--nis-muted: #5E6167;
	--nis-line: #DCDCD4;
	--nis-rule: #C9C9C1;
	--nis-card: #FFFFFF;
	--nis-paper: #FFFFFF;
	--nis-ochre: #D9EA3C;
	--nis-ochre-soft: #F2F7C8;
	--nis-ochre-ink: #556100;
	--nis-sand: #F2F2EE;
	--nis-blush: #F2F2EE;
	--nis-sage: #C6D72B;
	--nis-sage-soft: #EEF6B8;
	--nis-sage-ink: #556100;
	--nis-olive-bg: #D9EA3C;
	--nis-olive-ink: #17181A;
	--nis-clay-bg: #FDECEA;
	--nis-clay-ink: #B42318;
	--nis-control: #C9C9C1;
	--nis-dark: #17181A;
	--nis-dark-2: #26282B;
	--nis-dark-line: #3A3C40;
}
body, button, input, select, optgroup, textarea { font-family: var(--d-sans); }
body { background: var(--d-paper); color: var(--d-text); }
.site { overflow-x: clip; }
.site, .content-bg, body.content-style-unboxed .site { background: var(--d-paper); }
h1, h2, h3, h4, h5, h6, .entry-title, .archive-title, .page-title { font-family: var(--d-sans); color: var(--d-ink); }
h1, h2, .entry-title, .archive-title, .page-title { font-weight: 800; letter-spacing: -0.03em; }
h3, h4 { font-weight: 700; letter-spacing: -0.015em; }
h1 em, h2 em, .archive-title em, .post-archive-hero-section .archive-title em { font-style: normal; color: inherit; background: linear-gradient(transparent 60%, var(--d-cit) 60%, var(--d-cit) 94%, transparent 94%); }
a { color: var(--d-ink); text-decoration-color: var(--d-cit-mid); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { color: var(--d-ink); text-decoration-color: var(--d-ink); }
:focus-visible { outline: 2px solid var(--d-ink); outline-offset: 2px; }
::selection { background: var(--d-cit); color: var(--d-ink); }
.screen-reader-text:focus { background: var(--d-sheet); color: var(--d-ink); }
.nis-mono, .nis-eyebrow, .nis-kicker, .nis-stat-num { font-family: var(--d-mono); }
.nis-eyebrow, .nis-kicker { color: var(--d-cit-ink); }
.wp-block-button__link, .button, .wp-element-button, .wp-block-search__button { border-radius: var(--d-r); background: var(--d-ink); color: #FFFFFF; font-weight: 700; }
.wp-block-button__link:hover, .button:hover, .wp-element-button:hover { background: var(--d-cit); color: var(--d-ink); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--d-ink); border: 1.5px solid var(--d-ink); }
input[type="text"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="url"], select, textarea { border-radius: 4px; border-color: var(--d-hair2); }

/* Verdict chips, in the text and in tables */
.nis-fits, .nis-tight, .nis-no { border-radius: 3px; font-family: var(--d-mono); font-weight: 600; font-size: 0.78em; letter-spacing: 0.04em; text-transform: uppercase; padding: 0.18em 0.6em; }
.nis-fits { background: var(--d-cit); color: var(--d-ink); box-shadow: inset 0 0 0 1px var(--d-ink); }
.nis-tight { background: var(--d-sheet); color: var(--d-ink); box-shadow: none; outline: 1px dashed var(--d-ink); outline-offset: -1px; }
.nis-no { background: var(--d-red-soft); color: var(--d-red); box-shadow: inset 0 0 0 1px var(--d-red); }

/* ---------- Header ---------- */
.nh { background: var(--d-sheet); border-bottom: 1.5px solid var(--d-ink); font-family: var(--d-sans); }
.nh-in { min-height: 68px; padding-top: 10px; padding-bottom: 10px; }
.nh-logo, .nh-logo:hover { color: var(--d-ink); }
.nh-logo svg { color: var(--d-ink); }
.nh-logo span { font-family: var(--d-sans); font-weight: 800; font-size: 21px; letter-spacing: -0.02em; }
.nh-top { color: var(--d-ink); font-weight: 500; }
.nh-top:hover { color: var(--d-ink); box-shadow: inset 0 -2px 0 var(--d-cit); }
.nh-item.is-active > .nh-top { color: var(--d-ink); font-weight: 700; box-shadow: inset 0 -2px 0 var(--d-ink); }
.nh-caret { color: var(--d-muted); }
.nh-caret:hover, .nh-item:hover > .nh-caret { color: var(--d-ink); }
.nh-menu { background: var(--d-sheet); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); box-shadow: 0 18px 36px -22px rgba(23, 24, 26, 0.45); }
.nh-menu-k { font-family: var(--d-mono); color: var(--d-cit-ink); }
.nh-menu a { border-radius: 4px; color: var(--d-ink); }
.nh-menu a:hover, .nh-menu a[aria-current="page"] { background: var(--d-cit-soft); color: var(--d-ink); }
.nh-menu span { color: var(--d-muted); }
.nh-cta { background: var(--d-ink); color: #FFFFFF; border-radius: var(--d-r); padding: 12px 18px; }
.nh-cta:hover, .nh-cta:focus-visible { background: var(--d-cit); color: var(--d-ink); }
@media (max-width: 1120px) {
	.nh-toggle { border: 1px solid var(--d-hair2); border-radius: var(--d-r); background: var(--d-sheet); color: var(--d-ink); font: 700 15px var(--d-sans); }
	.nh-toggle:hover { background: var(--d-cit-soft); color: var(--d-ink); }
	.nh-list { border-top-color: var(--d-hair); }
	.nh-item { border-bottom-color: var(--d-hair); }
	.nh-top { font-family: var(--d-sans); }
	.nh-item.is-active > .nh-top { box-shadow: none; text-decoration: underline; text-decoration-color: var(--d-cit-mid); text-decoration-thickness: 3px; text-underline-offset: 5px; }
}

/* ---------- Footer: light, under a graphite rule ---------- */
.nf { background: var(--d-sheet); color: var(--d-text); border-top: 1.5px solid var(--d-ink); font: 15px/1.6 var(--d-sans); }
.nf-logo, .nf-logo:hover { color: var(--d-ink); }
.nf-logo svg { color: var(--d-ink); }
.nf-logo span { font-family: var(--d-sans); }
.nf-brand p { color: var(--d-text); }
.nf-cta { background: var(--d-ink); color: #FFFFFF; border-radius: var(--d-r); }
.nf-cta:hover { background: var(--d-cit); color: var(--d-ink); }
.nf-h { font-family: var(--d-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--d-ink); }
.nf-cols a { color: var(--d-text); }
.nf-cols a:hover { color: var(--d-ink); text-decoration: underline; text-decoration-color: var(--d-cit-mid); }
.nf-base { border-top-color: var(--d-hair); color: var(--d-muted); }
.nf-base p:last-child { font-family: var(--d-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; }
@media (min-width: 1100px) { .nf-brand { flex: 1 1 250px; } .nf-cols { flex: 3 1 760px; grid-template-columns: repeat(5, minmax(0, 1fr)); } }

/* ---------- Home page (authoring/home.py) ---------- */
.dh { color: var(--d-text); font-size: 17px; line-height: 1.55; }
.dh *, .dh *::before, .dh *::after { box-sizing: border-box; }
.dh p, .dh h1, .dh h2, .dh h3, .dh figure, .dh ul, .dh ol, .dh dl, .dh dd, .dh fieldset { margin: 0; }
.dh ul, .dh ol { padding: 0; list-style: none; }
.dh li { margin: 0; }
.dh-wrap { max-width: 1200px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.dh-k { font-family: var(--d-mono); font-size: 13px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--d-cit-ink); }
.dh-h2 { font-weight: 800; font-size: clamp(30px, 3.6vw, 40px); line-height: 1.04; letter-spacing: -0.03em; color: var(--d-ink); margin-top: 8px !important; }
.dh-h3 { font-weight: 800; font-size: clamp(24px, 2.6vw, 28px); line-height: 1.1; letter-spacing: -0.02em; color: var(--d-ink); }
.dh-sheet { background: var(--d-sheet); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); }
.dh-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 20px; margin-bottom: 24px; }
.dh-more, .dh-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--d-ink); text-decoration: none; padding: 8px 0; }
.dh-more:hover, .dh-link:hover { color: var(--d-ink); box-shadow: inset 0 -3px 0 var(--d-cit); }
.dh-band { background: var(--d-sheet); border-top: 1px solid var(--d-hair); border-bottom: 1px solid var(--d-hair); padding: 60px 0; }

/* Hero: graph paper, the form as numbered rows, the plan as a drawing sheet */
.dh-hero { background: var(--d-graph) var(--d-sheet); background-size: 24px 24px; border-bottom: 1px solid var(--d-hair); }
.dh-hero-in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 52px; align-items: start; padding-top: 52px; padding-bottom: 56px; }
.dh-badge { display: inline-flex; align-items: center; gap: 8px; font-family: var(--d-mono); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--d-ink); background: var(--d-sheet); border: 1px solid var(--d-ink); border-radius: 4px; padding: 7px 10px; }
.dh-badge i { width: 10px; height: 10px; background: var(--d-cit); border: 1px solid var(--d-ink); }
.dh-hero h1 { font-weight: 800; font-size: clamp(42px, 5.6vw, 64px); line-height: 0.98; letter-spacing: -0.035em; color: var(--d-ink); margin: 20px 0 18px; text-wrap: balance; }
.dh-hero h1 mark { color: inherit; background: linear-gradient(transparent 60%, var(--d-cit) 60%, var(--d-cit) 94%, transparent 94%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.dh-lede { font-size: 19px; color: var(--d-text); margin: 0 0 26px !important; max-width: 30em; }
.dh-form { display: grid; }
.dh-frow { display: grid; gap: 8px; padding: 14px 16px; border: 0; border-bottom: 1px solid var(--d-hair); min-width: 0; }
.dh-frow:last-child { border-bottom: 0; }
.dh-frow legend { float: left; width: 100%; padding: 0; margin: 0 0 8px; }
.dh-frow-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 0; }
.dh-field { display: grid; gap: 6px; padding: 14px 16px; min-width: 0; margin: 0; }
.dh-field + .dh-field { border-left: 1px solid var(--d-hair); }
.dh-field .dh-k, .dh-frow legend.dh-k { font-size: 12px; color: var(--d-muted); }
.dh .dh-form select { height: 46px; width: 100%; border: 1px solid var(--d-hair2); border-radius: 4px; background-color: var(--d-sheet); color: var(--d-ink); padding: 0 10px; font: 600 16px var(--d-sans); margin: 0; box-shadow: none; }
.dh .dh-form select:focus { outline: 2px solid var(--d-ink); outline-offset: 1px; border-color: var(--d-ink); }
.dh-seg { display: flex; }
.dh-seg label { flex: 1 1 0; position: relative; margin: 0; }
.dh-seg input, .dh-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.dh-seg span { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border: 1px solid var(--d-hair2); background: var(--d-sheet); color: var(--d-text); font-size: 15px; font-weight: 600; cursor: pointer; }
.dh-seg label + label span { margin-left: -1px; }
.dh-seg label:first-child span { border-radius: 4px 0 0 4px; }
.dh-seg label:last-child span { border-radius: 0 4px 4px 0; }
.dh-seg input:checked + span { background: var(--d-ink); border-color: var(--d-ink); color: #FFFFFF; position: relative; }
.dh-seg input:focus-visible + span, .dh-chip input:focus-visible + span { outline: 2px solid var(--d-ink); outline-offset: 2px; }
.dh-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dh-chip { position: relative; margin: 0; }
.dh-chip span { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border: 1px solid var(--d-hair2); border-radius: 4px; background: var(--d-sheet); color: var(--d-text); font-size: 15px; font-weight: 600; cursor: pointer; }
.dh-chip svg { display: none; }
.dh-chip input:checked + span { background: var(--d-cit); border-color: var(--d-ink); color: var(--d-ink); }
.dh-chip input:checked + span svg { display: block; }
.dh-go-row { gap: 10px; padding: 16px; }
.dh-go { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 52px; border: 0; border-radius: var(--d-r); background: var(--d-ink); color: #FFFFFF; font: 700 17px var(--d-sans); cursor: pointer; }
.dh-go:hover, .dh-go:focus-visible { background: var(--d-cit); color: var(--d-ink); }
.dh-fine { font-size: 14px; color: var(--d-muted); }
.dh-hero-plan { overflow: hidden; }
.dh-sheet-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; padding: 12px 16px; border-bottom: 1px solid var(--d-hair); font-family: var(--d-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--d-muted); }
.dh-plan { display: none; }
.dh-plan[data-shape="standard"] { display: block; }
.dh-hero-in:has(input[name="shape"][value="square"]:checked) .dh-plan[data-shape="standard"],
.dh-hero-in:has(input[name="shape"][value="long"]:checked) .dh-plan[data-shape="standard"] { display: none; }
.dh-hero-in:has(input[name="shape"][value="square"]:checked) .dh-plan[data-shape="square"],
.dh-hero-in:has(input[name="shape"][value="long"]:checked) .dh-plan[data-shape="long"] { display: block; }
.dh-plan-art { padding: 18px 22px 12px; }
.dh-plan-art svg { display: block; width: 100%; height: 500px; }
.dh-tb { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1.5px solid var(--d-ink); }
.dh-tb > div { padding: 10px 14px; min-width: 0; }
.dh-tb > div + div { border-left: 1px solid var(--d-hair); }
.dh-tb dt { font-family: var(--d-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--d-muted); }
.dh-tb dd { font-weight: 700; font-size: 15px; color: var(--d-ink); }
.dh-tb .is-hi dd { display: inline-block; background: var(--d-cit); padding: 0 6px; margin-left: -6px; }
.dh-hero-plan figcaption { padding: 12px 16px; border-top: 1px solid var(--d-hair); font-size: 14px; color: var(--d-muted); }

/* Key numbers: the three walkway widths, bars drawn to scale */
.dh-rules { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 52px; align-items: center; padding-top: 60px; padding-bottom: 60px; }
.dh-rules-text > p:not(.dh-k) { margin: 14px 0 16px; }
.dh-keys { padding: 6px 24px 16px; }
.dh-key { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 18px; align-items: center; padding: 16px 0; }
.dh-key + .dh-key { border-top: 1px solid var(--d-hair); }
.dh-key b { font-weight: 800; font-size: 54px; line-height: 1; letter-spacing: -0.03em; color: var(--d-ink); }
.dh-key-r { display: grid; gap: 8px; min-width: 0; }
.dh-bar { display: block; height: 14px; background: var(--d-cit); border: 1.5px solid var(--d-ink); }
.dh-key-t { font-size: 16px; color: var(--d-muted); }
.dh-key-t strong { color: var(--d-ink); }
.dh-src { margin-top: 6px !important; padding-top: 12px; border-top: 1px solid var(--d-hair); font-size: 14px; color: var(--d-muted); }

/* Tools: numbered rows */
.dh-rows { border-top: 1.5px solid var(--d-ink); }
.dh-row { display: grid; grid-template-columns: 44px 40px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 18px 12px; border-bottom: 1px solid var(--d-hair); color: var(--d-text); text-decoration: none; }
.dh-row:hover { background: var(--d-paper); color: var(--d-text); }
.dh-row.is-main { background: var(--d-cit-soft); }
.dh-row.is-main:hover { background: #EBF3B0; }
.dh-row-n { font-family: var(--d-mono); font-size: 13px; letter-spacing: 0.06em; color: var(--d-muted); }
.dh-row-i { display: inline-flex; color: var(--d-ink); }
.dh-row-t { display: grid; gap: 2px; min-width: 0; }
.dh-row-h { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-weight: 700; font-size: 19px; color: var(--d-ink); }
.dh-row-h em { font-style: normal; font-family: var(--d-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; background: var(--d-cit); color: var(--d-ink); padding: 3px 7px; border-radius: 3px; }
.dh-row-d { font-size: 15px; }
.dh-row-go { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 14px; color: var(--d-ink); white-space: nowrap; }

/* Studio layouts: drawing cards */
.dh-studios { padding-top: 60px; padding-bottom: 20px; }
.dh-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 16px; }
.dh-card { display: grid; grid-template-rows: auto 1fr; background: var(--d-sheet); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); overflow: hidden; color: var(--d-text); text-decoration: none; }
.dh-card:hover { color: var(--d-text); box-shadow: 0 0 0 3px var(--d-cit); }
.dh-card-art { display: block; padding: 14px; border-bottom: 1px solid var(--d-hair); background: var(--d-graph) var(--d-sheet); background-size: 24px 24px; }
.dh-card-art svg { display: block; width: 100%; height: 210px; }
.dh-card-body { display: grid; gap: 3px; align-content: start; padding: 14px 16px 16px; }
.dh-card-body b { font-weight: 800; font-size: 20px; letter-spacing: -0.01em; color: var(--d-ink); }
.dh-card-m { font-family: var(--d-mono); font-size: 13px; color: var(--d-muted); }
.dh-card-d { font-size: 15px; }
.dh-card-go { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-weight: 700; font-size: 14px; color: var(--d-ink); }
.dh-sizes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
.dh-sizes .dh-k { color: var(--d-muted); font-size: 12px; margin-right: 4px; }
.dh-size { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px solid var(--d-ink); border-radius: 4px; background: var(--d-sheet); color: var(--d-ink); font-family: var(--d-mono); font-size: 14px; text-decoration: none; }
.dh-size:hover { background: var(--d-cit); color: var(--d-ink); }

/* Small rooms */
.dh-rooms { padding-top: 40px; padding-bottom: 60px; }
.dh-rooms .dh-h2 { margin-bottom: 24px; }
.dh-rgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); border-top: 1.5px solid var(--d-ink); border-left: 1px solid var(--d-hair); }
.dh-room { display: grid; gap: 6px; align-content: start; padding: 20px; background: var(--d-sheet); border-right: 1px solid var(--d-hair); border-bottom: 1px solid var(--d-hair); color: var(--d-text); text-decoration: none; }
.dh-room:hover { background: var(--d-cit-soft); color: var(--d-text); }
.dh-room svg { color: var(--d-ink); }
.dh-room .dh-k { margin-top: 6px; font-size: 11px; color: var(--d-muted); }
.dh-room b { font-weight: 700; font-size: 19px; color: var(--d-ink); }
.dh-room > span:last-child { font-size: 15px; }

/* Guides and the latest list */
.dh-guides { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 40px; align-items: start; }
.dh-ggrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: 24px 20px; }
.dh-guide { display: grid; gap: 10px; align-content: start; color: var(--d-text); text-decoration: none; }
.dh-guide:hover b { text-decoration: underline; text-decoration-color: var(--d-cit-mid); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.dh-guide-art { display: flex; align-items: center; justify-content: center; height: 196px; padding: 14px; border: 1.5px solid var(--d-ink); border-radius: var(--d-r); background: var(--d-graph) var(--d-sheet); background-size: 24px 24px; }
.dh-guide-art svg { display: block; width: 100%; height: 166px; }
.dh-guide .dh-k { font-size: 11px; }
.dh-guide b { font-weight: 700; font-size: 17px; line-height: 1.3; color: var(--d-ink); }
.dh-latest h3.dh-k { font-size: 12px; font-weight: 600; color: var(--d-ink); padding-bottom: 10px; border-bottom: 1.5px solid var(--d-ink); }
.dh .dh-latest ul.nis-list { margin: 0; padding: 0; counter-reset: dl; }
.dh .dh-latest ul.nis-list li { counter-increment: dl; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; padding: 13px 0; margin: 0; border-bottom: 1px solid var(--d-hair); }
.dh .dh-latest ul.nis-list li::before { content: counter(dl, decimal-leading-zero); font-family: var(--d-mono); font-size: 13px; color: var(--d-muted); padding-top: 2px; }
.dh .dh-latest ul.nis-list a { font-weight: 600; font-size: 16px; line-height: 1.35; color: var(--d-ink); text-decoration: none; padding: 0; }
.dh .dh-latest ul.nis-list a::after { content: none; }
.dh .dh-latest ul.nis-list a:hover { text-decoration: underline; text-decoration-color: var(--d-cit-mid); }

/* Sister sites and "Fix my room" */
.dh-end { display: grid; gap: 16px; padding-top: 48px; padding-bottom: 64px; }
.dh-sister, .dh-fix { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; padding: 22px 24px; }
.dh-sister p, .dh-fix p:not(.dh-k) { font-size: 15px; margin-top: 4px !important; }
.dh-sis-list { display: flex; flex-wrap: wrap; gap: 10px; }
.dh-sis { display: inline-flex; align-items: baseline; gap: 8px; min-height: 44px; padding: 11px 14px; border: 1px solid var(--d-ink); border-radius: 4px; background: var(--d-sheet); color: var(--d-ink); font-size: 15px; text-decoration: none; }
.dh-sis span { font-family: var(--d-mono); font-size: 13px; color: var(--d-muted); }
.dh-sis:hover { background: var(--d-cit-soft); color: var(--d-ink); }
.dh-fix { background: var(--d-cit-soft); padding-top: 26px; padding-bottom: 26px; }
.dh-fix > div { max-width: 40em; }
.dh-fix .dh-h3 { margin: 6px 0 4px; font-size: clamp(26px, 2.8vw, 30px); }
.dh-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 20px; border-radius: var(--d-r); background: var(--d-ink); color: #FFFFFF; font-weight: 700; text-decoration: none; }
.dh-btn:hover { background: var(--d-cit); color: var(--d-ink); box-shadow: inset 0 0 0 1.5px var(--d-ink); }

@media (max-width: 900px) {
	.dh-hero-in, .dh-rules, .dh-guides { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.dh-hero-in { padding-top: 36px; padding-bottom: 40px; }
	.dh-plan-art svg { height: 380px; }
}
@media (max-width: 600px) {
	.dh-wrap { padding-left: 16px; padding-right: 16px; }
	.dh-lede { font-size: 17px; }
	.dh-frow-2 { grid-template-columns: minmax(0, 1fr); }
	.dh-field + .dh-field { border-left: 0; border-top: 1px solid var(--d-hair); }
	.dh-seg span { font-size: 14px; gap: 6px; }
	.dh-plan-art { padding: 12px; }
	.dh-plan-art svg { height: 320px; }
	.dh-tb { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dh-tb > div:nth-child(3) { border-left: 0; }
	.dh-tb > div:nth-child(n+3) { border-top: 1px solid var(--d-hair); }
	.dh-keys { padding: 4px 16px 14px; }
	.dh-key { grid-template-columns: 76px minmax(0, 1fr); gap: 12px; }
	.dh-key b { font-size: 38px; }
	.dh-row { grid-template-columns: 34px minmax(0, 1fr); gap: 10px; padding: 16px 4px; align-items: start; }
	.dh-row-n { padding-top: 5px; }
	.dh-row-i, .dh-row-go { display: none; }
	.dh-band { padding: 44px 0; }
	.dh-rules, .dh-studios { padding-top: 44px; }
	.dh-sister, .dh-fix { padding: 18px 16px; }
}

/* ---------- Articles: a graph-paper title band, then the contents and a tool card in a rail on the left ---------- */
body.single-post .content-area { margin-top: 0; margin-bottom: 64px; }
body.single-post .content-container.site-container, body.single-post.content-width-narrow .content-container.site-container { max-width: 1200px; }
body.single-post .entry.single-entry { box-shadow: none; background: transparent; }
/* the theme widens .alignwide past the narrow column; the wider layout has no room for that (it would run into the rail) */
body.single-post.content-width-narrow .wp-site-blocks .content-container .alignwide { margin-left: 0; margin-right: 0; width: auto; max-width: 100%; }
body.single-post .single-entry > .entry-content-wrap { padding: 0; display: grid; grid-template-columns: 240px minmax(0, 1fr); column-gap: 48px; align-items: start; }
body.single-post .single-entry .entry-header { grid-column: 1 / -1; position: relative; isolation: isolate; padding: 30px 0 36px; margin: 0 0 40px; }
body.single-post .single-entry .entry-header::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: var(--d-graph) var(--d-sheet); background-size: 24px 24px; border-bottom: 1px solid var(--d-hair); }
body.single-post .single-entry .entry-taxonomies { margin: 0 0 10px; }
body.single-post .single-entry .entry-taxonomies a { font-family: var(--d-mono); font-size: 13px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--d-cit-ink); text-decoration: none; }
body.single-post .single-entry .entry-header .entry-title { font-size: clamp(32px, 4.4vw, 50px); line-height: 1.03; letter-spacing: -0.03em; max-width: 18em; text-wrap: balance; margin: 0 0 14px; }
body.single-post .single-entry .entry-meta { font-family: var(--d-mono); font-size: 13px; color: var(--d-muted); }
body.single-post .single-entry .entry-meta a { color: var(--d-muted); text-decoration: none; }
body.single-post .single-entry .entry-content { grid-column: 2; max-width: 860px; margin: 0; }
body.single-post .single-entry .entry-footer { grid-column: 2; }
.nis-rail { grid-column: 1; position: sticky; top: 20px; display: grid; gap: 22px; }
.nis-rail div#toc_container[id] { width: auto; max-width: none; margin: 0; padding: 0; background: none; border: 0; border-top: 1.5px solid var(--d-ink); border-radius: 0; box-shadow: none; display: block; font-size: 15px; }
.nis-rail div#toc_container[id] .toc_title { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--d-hair); text-align: left; font-family: var(--d-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--d-ink); }
.nis-rail div#toc_container[id] .toc_toggle { font-family: var(--d-mono); font-size: 12px; text-transform: none; color: var(--d-muted); }
.nis-rail div#toc_container[id] .toc_toggle a { display: inline; padding: 0; color: var(--d-muted); }
@media (min-width: 961px) { .nis-rail div#toc_container[id] .toc_toggle { display: none; } .nis-rail div#toc_container[id] .toc_list { display: block !important; } }
.nis-rail div#toc_container[id] ul { margin: 0; padding: 0; list-style: none; }
.nis-rail div#toc_container[id] li { margin: 0; padding: 0; border-bottom: 1px solid var(--d-hair); }
.nis-rail div#toc_container[id] li li { border-bottom: 0; }
.nis-rail div#toc_container[id] .toc_list a { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 4px; padding: 10px 0; color: var(--d-ink); text-decoration: none; font-weight: 500; line-height: 1.35; }
.nis-rail div#toc_container[id] .toc_list a:hover { background: var(--d-cit-soft); color: var(--d-ink); }
.nis-rail div#toc_container[id] .toc_number { font-family: var(--d-mono); font-size: 13px; color: var(--d-muted); }
.nis-rail-card { background: var(--d-sheet); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); padding: 16px; display: grid; gap: 8px; }
.nis-rail-card p { margin: 0; }
.nis-rail-k { font-family: var(--d-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--d-cit-ink); }
.nis-rail-h { font-weight: 800; font-size: 19px; letter-spacing: -0.01em; color: var(--d-ink); }
.nis-rail-t { font-size: 15px; line-height: 1.45; color: var(--d-text); }
.nis-rail-go { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; margin-top: 4px; border-radius: var(--d-r); background: var(--d-ink); color: #FFFFFF; font-weight: 700; font-size: 15px; text-decoration: none; }
.nis-rail-go:hover { background: var(--d-cit); color: var(--d-ink); }
@media (max-width: 960px) {
	body.single-post .single-entry > .entry-content-wrap { display: block; }
	body.single-post .single-entry .entry-header { margin-bottom: 28px; }
	.nis-rail { position: static; margin-bottom: 28px; }
	.nis-rail-card { display: none; }
}

/* Article text and blocks */
.single-content { font-size: 17px; line-height: 1.65; color: var(--d-text); counter-reset: dsec; }
.single-content > h2.wp-block-heading { counter-increment: dsec; display: flex; align-items: baseline; gap: 14px; margin-top: 48px; padding-top: 18px; border-top: 1.5px solid var(--d-ink); font-size: clamp(26px, 3vw, 32px); line-height: 1.1; }
.single-content > h2.wp-block-heading::before { content: counter(dsec, decimal-leading-zero); flex: none; font-family: var(--d-mono); font-size: 15px; font-weight: 500; letter-spacing: 0; color: var(--d-cit-ink); }
.single-content h3 { font-size: clamp(20px, 2.2vw, 23px); line-height: 1.2; }
.single-content a:not([class]) { color: var(--d-ink); text-decoration: underline; text-decoration-color: var(--d-cit-mid); text-decoration-thickness: 2px; }
.single-content a:not([class]):hover { background: var(--d-cit-soft); text-decoration-color: var(--d-ink); }
.single-content ul li::marker { color: var(--d-cit-ink); }
.single-content ol li::marker { font-family: var(--d-mono); color: var(--d-cit-ink); }
.single-content strong { color: var(--d-ink); }

/* Short answer: a sheet with the stamp, the answer and the key numbers in a strip */
.wp-block-group.is-style-nis-answer { background: var(--d-sheet); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); padding: 0; overflow: hidden; box-shadow: none; }
.wp-block-group.is-style-nis-answer > .wp-block-group__inner-container > * { margin-top: 0; margin-bottom: 0; padding-left: 20px; padding-right: 20px; }
.wp-block-group.is-style-nis-answer .nis-eyebrow { padding-top: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--d-hair); font-size: 12px; color: var(--d-muted); }
.wp-block-group.is-style-nis-answer > .wp-block-group__inner-container > p:not(.nis-eyebrow) { padding-top: 16px; padding-bottom: 16px; font-size: 19px; line-height: 1.55; color: var(--d-ink); }
.wp-block-group.is-style-nis-answer .wp-block-columns { gap: 0 !important; margin: 0; padding: 0 !important; border-top: 1px solid var(--d-hair); }
.wp-block-group.is-style-nis-answer .wp-block-column { padding: 14px 20px; }
.wp-block-group.is-style-nis-answer .wp-block-column + .wp-block-column { border-left: 1px solid var(--d-hair); }
.wp-block-group.is-style-nis-answer .wp-block-column > * { margin-top: 0; margin-bottom: 0; }
.wp-block-group.is-style-nis-answer .nis-stat-num { font-family: var(--d-sans); font-weight: 800; font-size: 30px; line-height: 1.1; letter-spacing: -0.03em; color: var(--d-ink); }
.wp-block-group.is-style-nis-answer .nis-stat-label { margin-top: 4px !important; font-size: 14px; line-height: 1.4; color: var(--d-muted); }

/* Cards, callouts, rules, the call to action */
.wp-block-group.is-style-nis-card, .wp-block-group.is-style-nis-callout { background: var(--d-sheet); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); box-shadow: none; }
.wp-block-group.is-style-nis-card h3 { font-weight: 800; }
.wp-block-group.is-style-nis-card svg[role="img"] { background: var(--d-graph) var(--d-sheet); background-size: 24px 24px; }
.wp-block-group.is-style-nis-callout ul { list-style: none; padding-left: 0; }
.wp-block-group.is-style-nis-callout ul > li { position: relative; padding-left: 30px; }
.wp-block-group.is-style-nis-callout ul > li::before { content: ""; position: absolute; left: 0; top: 0.3em; width: 16px; height: 16px; border: 1.5px solid var(--d-ink); border-radius: 2px; background: var(--d-sheet); }
.wp-block-group.is-style-nis-rule { background: var(--d-sheet); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); }
.wp-block-group.is-style-nis-rule .nis-mono { color: var(--d-ink); font-weight: 600; }
.wp-block-group.is-style-nis-cta { background: var(--d-cit-soft); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); box-shadow: none; color: var(--d-text); }
.wp-block-group.is-style-nis-cta h3, .wp-block-group.is-style-nis-cta h4 { color: var(--d-ink); font-weight: 800; }
.wp-block-group.is-style-nis-cta p { color: var(--d-text); }
.wp-block-group.is-style-nis-cta .wp-block-button__link { background: var(--d-ink); color: #FFFFFF; border-radius: var(--d-r); }
.wp-block-group.is-style-nis-cta .wp-block-button__link:hover { background: var(--d-sheet); color: var(--d-ink); box-shadow: inset 0 0 0 1.5px var(--d-ink); }

/* Tables: graphite header row, hairlines */
.wp-block-table.is-style-nis { background: var(--d-sheet); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); overflow-x: auto; }
.wp-block-table.is-style-nis table { border: 0; border-collapse: collapse; margin: 0; }
.wp-block-table.is-style-nis thead th { background: var(--d-ink); color: #FFFFFF; font-weight: 700; border: 0; }
.wp-block-table.is-style-nis thead th .nis-mono { color: #E8E8E2; font-weight: 400; }
.wp-block-table.is-style-nis td, .wp-block-table.is-style-nis tbody th { border: 0; border-top: 1px solid var(--d-hair); }
.wp-block-table.is-style-nis td:first-child { color: var(--d-ink); }
.wp-block-table.is-style-nis figcaption { font-size: 14px; color: var(--d-muted); padding: 10px 14px; margin: 0; border-top: 1px solid var(--d-hair); text-align: left; }
@media (max-width: 600px) {
	.wp-block-table.is-style-nis td:first-child, .wp-block-table.is-style-nis tbody th:first-child { min-width: 170px; }
	.wp-block-group.is-style-nis-answer > .wp-block-group__inner-container > * { padding-left: 14px; padding-right: 14px; }
	.wp-block-group.is-style-nis-answer > .wp-block-group__inner-container > p:not(.nis-eyebrow) { font-size: 17px; }
	.wp-block-group.is-style-nis-answer .wp-block-column { padding: 12px 10px; }
	.wp-block-group.is-style-nis-answer .nis-stat-num { font-size: 22px; }
	.wp-block-group.is-style-nis-answer .nis-stat-label { font-size: 13px; }
}

/* Questions: hairline rows */
.single-content .wp-block-details { border: 0; border-bottom: 1px solid var(--d-hair); padding: 2px 0; margin: 0; background: none; }
.single-content .wp-block-details summary { padding: 12px 0; font-weight: 700; font-size: 18px; color: var(--d-ink); cursor: pointer; }
.single-content .wp-block-details summary::marker { color: var(--d-cit-ink); }
.single-content .wp-block-details[open] summary { padding-bottom: 6px; }

/* Similar posts and the previous / next links */
.entry-related { background: var(--d-sheet); border-top: 1px solid var(--d-hair); }
.entry-related-title { font-family: var(--d-mono) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.06em !important; text-transform: uppercase; color: var(--d-ink); }
.entry-related .loop-entry { background: var(--d-sheet); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); box-shadow: none; }
.entry-related .loop-entry:hover { box-shadow: 0 0 0 3px var(--d-cit); }
.entry-related .loop-entry .entry-title { font-size: 18px; line-height: 1.3; letter-spacing: -0.01em; }
.entry-related .loop-entry .entry-title a { color: var(--d-ink); text-decoration: none; }
.entry-related .splide__arrow { background: var(--d-sheet); border: 1.5px solid var(--d-ink); color: var(--d-ink); border-radius: 4px; opacity: 1; }
.entry-related .splide__arrow:hover { background: var(--d-cit); }
.entry-related .splide__pagination__page { background: var(--d-hair2); border-radius: 2px; }
.entry-related .splide__pagination__page.is-active { background: var(--d-ink); }
.post-navigation .nav-links { border-top: 1px solid var(--d-hair); }
.post-navigation a { color: var(--d-ink); text-decoration: none; font-weight: 600; }
.post-navigation .post-navigation-sub small { font-family: var(--d-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--d-muted); }

/* ---------- Section pages, guide lists and archive titles ---------- */
.entry-hero .entry-hero-container-inner, .post-archive-hero-section .entry-hero-container-inner { background: var(--d-graph) var(--d-sheet); background-size: 24px 24px; border-bottom: 1px solid var(--d-hair); }
body.category .post-archive-hero-section .entry-header::before { padding-left: 18px; background: linear-gradient(var(--d-cit), var(--d-cit)) left center / 10px 10px no-repeat; font-family: var(--d-mono); font-size: 13px; font-weight: 500; letter-spacing: 0.06em; color: var(--d-cit-ink); }
.post-archive-hero-section .archive-title { font-weight: 800; letter-spacing: -0.03em; color: var(--d-ink); }
.wp-block-latest-posts.nis-list a, .post-archive.kadence-posts-list .loop-entry .entry-title a { color: var(--d-ink); }
.wp-block-latest-posts.nis-list a:hover, .post-archive.kadence-posts-list .loop-entry .entry-title a:hover { color: var(--d-ink); text-decoration: underline; text-decoration-color: var(--d-cit-mid); }
.lib-card { background: var(--d-sheet); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); }
.lib-card:hover { border-color: var(--d-ink); box-shadow: 0 0 0 3px var(--d-cit); }
.lib-art { background: var(--d-graph) var(--d-sheet); background-size: 24px 24px; border-bottom-color: var(--d-hair); }
.lib-tag { background: var(--d-cit); color: var(--d-ink); border: 1px solid var(--d-ink); border-radius: 3px; font-family: var(--d-mono); font-weight: 500; text-transform: uppercase; letter-spacing: 0.04em; font-size: 11px; }
.lib-card h3 { font-weight: 800; }
.lib-foot { border-top-color: var(--d-hair); }
.lib-foot span { color: var(--d-ink); }
.nis-libnav a { border-radius: 4px; border-color: var(--d-hair2); }
.nis-libnav a:hover { border-color: var(--d-ink); background: var(--d-cit-soft); }
.nis-libnav a[aria-current="page"] { background: var(--d-ink); border-color: var(--d-ink); color: #FFFFFF; }
.nis-rp a { background: var(--d-sheet); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); }
.nis-rp a:hover { border-color: var(--d-ink); box-shadow: 0 0 0 3px var(--d-cit); }
.nis-rp a.is-main { background: var(--d-cit-soft); border-color: var(--d-ink); color: var(--d-ink); }
.nis-rp a.is-main:hover { background: #EBF3B0; }
.nis-rp a.is-main svg, .nis-rp svg { color: var(--d-ink); }
.nis-rp a.is-main span { color: var(--d-text); }
.nis-rp em, .nis-rp a.is-main em { color: var(--d-ink); }
.nis-band--dark { background: var(--d-sheet); color: var(--d-text); border-top: 1.5px solid var(--d-ink); border-bottom: 1.5px solid var(--d-ink); }
.nis-band--dark h2, .nis-band--dark h3 { color: var(--d-ink); }
.nis-band--dark p { color: var(--d-text); }
.nis-band--dark .nis-kicker { color: var(--d-cit-ink); }
.nis-step { border-color: var(--d-hair2); border-radius: var(--d-r); }
.nis-panel { background: var(--d-cit-soft); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); }
.nis-panel p { color: var(--d-text); }
.nis-chip { background: var(--d-cit); color: var(--d-ink); border-radius: 3px; }
.nis-tool { background: var(--d-sheet); border: 1.5px solid var(--d-ink); border-radius: var(--d-r); }
.nis-tool--live { background: var(--d-cit-soft); border-color: var(--d-ink); }
.nis-tool--live h3, .nis-tool--live a { color: var(--d-ink); }
.nis-tool--live p, .nis-tool--live p + p { color: var(--d-text); }
.nis-live { background: var(--d-cit); color: var(--d-ink); }

/* ---------- Tools: the v2 planners, the studio solver and the calculators ---------- */
.nis-v2 .nis-app { --ink: #17181A; --text: #33353A; --muted: #5E6167; --paper: #FFFFFF; --line: #DCDCD4; --accent: #17181A; --mint: #EEF6B8; --white: #FFFFFF; --red: #B42318; --sand: #F2F2EE; font-family: var(--d-sans); border-radius: var(--d-r); }
.nis-sv__card, .nis-sv__plan, .nis-calc, .nis-fit { border-radius: var(--d-r); }
.nis-sv__seg input:checked + span, .nis-calc__seg input:checked + span, .nis-fit__bed-opt input:checked + span { background: var(--d-ink); border-color: var(--d-ink); color: #FFFFFF; }
.nis-sv__btn, .nis-calc__btn { border-radius: var(--d-r); }
.nis-sv__k--ok { background: repeating-linear-gradient(45deg, #C6D72B 0 2px, #EEF6B8 2px 5px); }
.nis-sv__lay[aria-pressed="true"] { border-color: var(--d-ink); box-shadow: 0 0 0 3px var(--d-cit); }
/* The v2 planners (fit checker, storage finder) bring their own sage-and-tan panels: graph paper, white and citron here */
.nis-v2 .nis-app .nis-controls, .nis-v2 .nis-app .nis-panel, .nis-v2 .nis-app .nis-checks { background: var(--d-sheet); }
.nis-v2 .nis-app .nis-form-top, .nis-v2 .nis-app .nis-form-section, .nis-v2 .nis-app .nis-details, .nis-v2 .nis-app .nis-breakdown-row, .nis-v2 .nis-app .nis-footer { border-color: var(--d-hair); }
.nis-v2 .nis-app .nis-form-bottom, .nis-v2 .nis-app .nis-plan-toolbar, .nis-v2 .nis-app .nis-field-set-note, .nis-v2 .nis-app .nis-edit-bar { background: var(--d-paper); color: var(--d-text); }
.nis-v2 .nis-app .nis-step { color: var(--d-ink); border-color: var(--d-ink); font-family: var(--d-mono); }
.nis-v2 .nis-app .nis-field > span:first-child, .nis-v2 .nis-app .nis-hint, .nis-v2 .nis-app .nis-eyebrow, .nis-v2 .nis-app .nis-canvas-label, .nis-v2 .nis-app .nis-legend, .nis-v2 .nis-app .nis-metric span, .nis-v2 .nis-app .nis-metric small, .nis-v2 .nis-app .nis-note-card p, .nis-v2 .nis-app .nis-method p, .nis-v2 .nis-app .nis-method li, .nis-v2 .nis-app .nis-storage-body p, .nis-v2 .nis-app .nis-result-hero p, .nis-v2 .nis-app .nis-breakdown-row span, .nis-v2 .nis-app .nis-empty p, .nis-v2 .nis-app .nis-stage-notes > p { color: var(--d-muted); }
.nis-v2 .nis-app .nis-eyebrow { font-family: var(--d-mono); }
.nis-v2 .nis-app .nis-eyebrow::before { background: var(--d-cit-mid); }
.nis-v2 .nis-app .nis-metric strong, .nis-v2 .nis-app .nis-checklabel, .nis-v2 .nis-app summary, .nis-v2 .nis-app .nis-footer strong, .nis-v2 .nis-app .nis-check-item { color: var(--d-ink); }
.nis-v2 .nis-app input[type=number], .nis-v2 .nis-app select { border-color: var(--d-hair2); border-radius: 4px; color: var(--d-ink); font-family: var(--d-mono); }
.nis-v2 .nis-app input:focus, .nis-v2 .nis-app select:focus { border-color: var(--d-ink); outline: 2px solid var(--d-ink); outline-offset: 1px; }
.nis-v2 .nis-app .nis-btn-primary { background: var(--d-ink); border-color: var(--d-ink); color: #FFFFFF; border-radius: var(--d-r); }
.nis-v2 .nis-app .nis-btn-primary:hover { background: var(--d-cit); color: var(--d-ink); }
.nis-v2 .nis-app .nis-btn { border-radius: var(--d-r); }
.nis-v2 .nis-app .nis-btn:hover { background: var(--d-cit-soft); }
.nis-v2 .nis-app .nis-tag { background: var(--d-cit); border-color: var(--d-ink); color: var(--d-ink); border-radius: 3px; font-family: var(--d-mono); }
.nis-v2 .nis-app .nis-option { border-color: var(--d-hair2); border-radius: 4px; color: var(--d-text); }
.nis-v2 .nis-app .nis-option span { background: var(--d-paper); }
.nis-v2 .nis-app .nis-option[aria-pressed=true] { border-color: var(--d-ink); box-shadow: 0 0 0 2px var(--d-cit); }
.nis-v2 .nis-app .nis-option[aria-pressed=true] span { background: var(--d-ink); color: #FFFFFF; }
.nis-v2 .nis-app .nis-result-hero { background: var(--d-cit-soft); }
.nis-v2 .nis-app .nis-result-hero.nis-fail, .nis-v2 .nis-app .nis-answer.nis-fail, .nis-v2 .nis-app .nis-error { background: var(--d-red-soft); }
.nis-v2 .nis-app .nis-status-icon { background: var(--d-cit); color: var(--d-ink); }
.nis-v2 .nis-app .nis-fail .nis-status-icon { background: var(--d-red-soft); color: var(--d-red); }
.nis-v2 .nis-app .nis-check-item.nis-check-fail { color: var(--d-red); }
.nis-v2 .nis-app .nis-fit-stage, .nis-v2 .nis-app .nis-storage-diagram, .nis-v2 .nis-app .nis-plan-stage, .nis-v2 .nis-app .nis-empty { background: var(--d-graph) var(--d-sheet); background-size: 24px 24px; border-color: var(--d-hair); }
.nis-v2 .nis-app .nis-note-num, .nis-v2 .nis-app .nis-piece-number { color: var(--d-cit-ink); }
.nis-v2 .nis-app .nis-key::before { background: #EEF6B8; border-color: #C6D72B; }
svg [fill="#cbb28f" i], svg [fill="#d9c5a3" i] { fill: #E7E7E0; }
svg [fill="#d9c7a5" i] { fill: #F2F2EE; }
svg [fill="#d6e2cb" i], svg [fill="#dbe6cb" i] { fill: #EEF6B8; }
svg [stroke="#8c977b" i] { stroke: #8E9096; }

/* ---------- The solver's drawings, in the text and in the tools: graphite lines, citron walkways ---------- */
svg [fill="#2F302A" i], svg [fill="#2B1F1A" i], svg [fill="#934029" i], svg [fill="#8C3B1F" i], svg [fill="#B65332" i], svg [fill="#A84A2A" i] { fill: #17181A; }
svg [stroke="#2F302A" i], svg [stroke="#2B1F1A" i], svg [stroke="#934029" i], svg [stroke="#8C3B1F" i], svg [stroke="#B65332" i], svg [stroke="#A84A2A" i] { stroke: #17181A; }
svg [fill="#635D55" i], svg [fill="#6B5A4E" i] { fill: #5E6167; }
svg [stroke="#8C7F71" i], svg [stroke="#8A7362" i], svg [stroke="#A1957D" i], svg [stroke="#BCAD97" i] { stroke: #8E9096; }
svg [fill="#8C7F71" i], svg [fill="#8A7362" i] { fill: #8E9096; }
svg [stroke="#A5AD95" i], svg [stroke="#B8C6AA" i] { stroke: #C6D72B; }
svg [fill="#DDE5D6" i], svg [fill="#E4EBDC" i] { fill: #EEF6B8; }
svg [fill="#486044" i], svg [fill="#3A5229" i] { fill: #556100; }
svg [stroke="#486044" i], svg [stroke="#3A5229" i] { stroke: #556100; }
svg [fill="#E4DCD1" i], svg [fill="#E3D6C4" i] { fill: #ECECE6; }
svg [stroke="#E4DCD1" i], svg [stroke="#E3D6C4" i] { stroke: #ECECE6; }
svg [fill="#EFE8DD" i], svg [fill="#F8F3E8" i] { fill: #F2F2EE; }
svg [fill="#F6E5DB" i], svg [fill="#F8E7DE" i] { fill: #E7E7E0; }
svg [fill="#FAF7F2" i], svg [fill="#FBF7F1" i], svg [fill="#FFFDF9" i] { fill: #FFFFFF; }
svg [fill="#963C35" i], svg [fill="#A64236" i] { fill: #B42318; }
svg [stroke="#963C35" i], svg [stroke="#A64236" i] { stroke: #B42318; }
svg [fill="#F2DAD4" i], svg [fill="#F8D9CB" i] { fill: #FDECEA; }
svg [fill="#755021" i] { fill: #556100; }
svg [stroke="#755021" i] { stroke: #556100; }
svg [fill="#F3E3D3" i] { fill: #F2F7C8; }
svg [fill="#FCF1DE" i] { fill: #F7F7F2; }
svg [font-family*="DM Mono"], svg[font-family*="DM Mono"] { font-family: var(--d-mono); }
svg [font-family*="Fraunces"], svg [font-family*="DM Sans"] { font-family: var(--d-sans); }
