/* generated by build_night.py: the night (pine) theme for the mirrored live pages. Do not edit; edit
   src/replica/night-mirror.css or the colour map in build_night.py. */
/* 1. the compiled live styles, colours mapped to the night tokens */
:root[data-theme="dark"] *,:root[data-theme="dark"] ::before,:root[data-theme="dark"] ::after{border-color:rgb(41 58 48)}
:root[data-theme="dark"] input::-moz-placeholder,:root[data-theme="dark"] textarea::-moz-placeholder{color:rgb(147 164 154)}
:root[data-theme="dark"] input::placeholder,:root[data-theme="dark"] textarea::placeholder{color:rgb(147 164 154)}
:root[data-theme="dark"] .prose{color:rgb(233 230 218)}
:root[data-theme="dark"] .prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:rgb(233 230 218);text-decoration-color:rgb(233 230 218 / 0.251)}
:root[data-theme="dark"] .prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover{text-decoration-color:rgb(233 230 218)}
:root[data-theme="dark"] .prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:rgb(233 230 218)}
:root[data-theme="dark"] .prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)){border-left-color:rgb(41 58 48)}
:root[data-theme="dark"] .prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:rgb(233 230 218)}
:root[data-theme="dark"] .prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:rgb(233 230 218)}
:root[data-theme="dark"] .prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:rgb(233 230 218)}
:root[data-theme="dark"] .prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:rgb(233 230 218)}
:root[data-theme="dark"] .prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)){background-color:rgb(22 36 28);border:1px solid rgb(41 58 48)}
:root[data-theme="dark"] .prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)){background-color:rgb(22 36 28);border:1px solid rgb(41 58 48)}
:root[data-theme="dark"] .prose{--tw-prose-body:rgb(233 230 218);--tw-prose-headings:rgb(233 230 218);--tw-prose-lead:rgb(147 164 154);--tw-prose-links:rgb(233 230 218);--tw-prose-bold:rgb(233 230 218);--tw-prose-counters:rgb(147 164 154);--tw-prose-bullets:rgb(147 164 154);--tw-prose-hr:rgb(41 58 48);--tw-prose-quotes:rgb(233 230 218);--tw-prose-quote-borders:rgb(41 58 48);--tw-prose-captions:rgb(147 164 154);--tw-prose-kbd:rgb(246 243 233);--tw-prose-kbd-shadows:rgb(246 243 233 / 10%);--tw-prose-code:rgb(233 230 218);--tw-prose-pre-code:rgb(233 230 218);--tw-prose-pre-bg:rgb(22 36 28);--tw-prose-th-borders:rgb(41 58 48);--tw-prose-td-borders:rgb(41 58 48);--tw-prose-invert-body:rgb(176 189 181);--tw-prose-invert-headings:rgb(233 230 218);--tw-prose-invert-lead:rgb(147 164 154);--tw-prose-invert-links:rgb(233 230 218);--tw-prose-invert-bold:rgb(233 230 218);--tw-prose-invert-counters:rgb(147 164 154);--tw-prose-invert-bullets:rgb(176 189 181);--tw-prose-invert-hr:rgb(41 58 48);--tw-prose-invert-quotes:rgb(233 230 218);--tw-prose-invert-quote-borders:rgb(41 58 48);--tw-prose-invert-captions:rgb(147 164 154);--tw-prose-invert-kbd:rgb(233 230 218);--tw-prose-invert-kbd-shadows:rgb(233 230 218 / 10%);--tw-prose-invert-code:rgb(233 230 218);--tw-prose-invert-pre-code:rgb(176 189 181);--tw-prose-invert-th-borders:rgb(41 58 48);--tw-prose-invert-td-borders:rgb(41 58 48)}
:root[data-theme="dark"] .prose :where(h5):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:rgb(233 230 218)}
:root[data-theme="dark"] .prose :where(h6):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:rgb(233 230 218)}
:root[data-theme="dark"] .\!border-black{border-color:rgb(41 58 48 / var(--tw-border-opacity, 1)) !important}
:root[data-theme="dark"] .border-codex-beige{border-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}
:root[data-theme="dark"] .border-codex-emerald{border-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}
:root[data-theme="dark"] .border-codex-emerald\/25{border-color:rgb(233 230 218 / 0.25)}
:root[data-theme="dark"] .border-codex-emerald\/40{border-color:rgb(233 230 218 / 0.4)}
:root[data-theme="dark"] .border-codex-emerald\/70{border-color:rgb(41 58 48 / 0.7)}
:root[data-theme="dark"] .border-codex-ink{border-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}
:root[data-theme="dark"] .border-codex-ink\/15{border-color:rgb(233 230 218 / 0.15)}
:root[data-theme="dark"] .border-codex-ink\/20{border-color:rgb(233 230 218 / 0.2)}
:root[data-theme="dark"] .border-codex-ink\/25{border-color:rgb(233 230 218 / 0.25)}
:root[data-theme="dark"] .border-codex-ink\/50{border-color:rgb(41 58 48 / 0.5)}
:root[data-theme="dark"] .border-ritual-black-10{border-color:rgb(233 230 218 / 0.102)}
:root[data-theme="dark"] .border-ritual-black-20{border-color:rgb(233 230 218 / 0.2)}
:root[data-theme="dark"] .border-ritual-green{border-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}
:root[data-theme="dark"] .bg-\[\#DCE8DF\]{background-color:rgb(28 46 36 / var(--tw-bg-opacity, 1))}
:root[data-theme="dark"] .bg-codex-clay{background-color:rgb(222 158 118 / var(--tw-bg-opacity, 1))}
:root[data-theme="dark"] .bg-codex-emerald{background-color:rgb(20 34 26 / var(--tw-bg-opacity, 1))}
:root[data-theme="dark"] .bg-codex-emerald\/10{background-color:rgb(233 230 218 / 0.1)}
:root[data-theme="dark"] .bg-codex-emerald\/\[0\.04\]{background-color:rgb(233 230 218 / 0.04)}
:root[data-theme="dark"] .bg-codex-ink{background-color:rgb(20 34 26 / var(--tw-bg-opacity, 1))}
:root[data-theme="dark"] .bg-codex-ink\/40{background-color:rgb(233 230 218 / 0.4)}
:root[data-theme="dark"] .bg-codex-ink\/80{background-color:rgb(20 34 26 / 0.8)}
:root[data-theme="dark"] .bg-codex-stone\/50{background-color:rgb(41 58 48 / 0.5)}
:root[data-theme="dark"] .bg-codex-stone\/60{background-color:rgb(41 58 48 / 0.6)}
:root[data-theme="dark"] .bg-codex-warm{background-color:rgb(22 36 28 / var(--tw-bg-opacity, 1))}
:root[data-theme="dark"] .bg-codex-warm\/80{background-color:rgb(22 36 28 / 0.8)}
:root[data-theme="dark"] .bg-ritual-green{background-color:rgb(20 34 26 / var(--tw-bg-opacity, 1))}
:root[data-theme="dark"] .to-codex-paper{--tw-gradient-to:rgb(14 25 19) var(--tw-gradient-to-position)}
:root[data-theme="dark"] .fill-black{fill:rgb(233 230 218)}
:root[data-theme="dark"] .fill-codex-ink{fill:rgb(233 230 218)}
:root[data-theme="dark"] .fill-codex-stone{fill:rgb(147 164 154)}
:root[data-theme="dark"] .fill-white{fill:rgb(233 230 218)}
:root[data-theme="dark"] .stroke-black{stroke:rgb(233 230 218)}
:root[data-theme="dark"] .stroke-codex-stone{stroke:rgb(147 164 154)}
:root[data-theme="dark"] .text-codex-beige{color:rgb(176 189 181 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .text-codex-clay{color:rgb(222 158 118 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .text-codex-emerald{color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .text-codex-ink{color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .text-codex-ink\/60{color:rgb(233 230 218 / 0.6)}
:root[data-theme="dark"] .text-codex-ink\/65{color:rgb(233 230 218 / 0.65)}
:root[data-theme="dark"] .text-codex-ink\/70{color:rgb(233 230 218 / 0.7)}
:root[data-theme="dark"] .text-codex-ink\/80{color:rgb(233 230 218 / 0.8)}
:root[data-theme="dark"] .text-codex-ink\/85{color:rgb(233 230 218 / 0.85)}
:root[data-theme="dark"] .text-codex-muted{color:rgb(176 189 181 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .text-codex-paper{color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .text-codex-stone{color:rgb(147 164 154 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .text-codex-stone\/60{color:rgb(147 164 154 / 0.6)}
:root[data-theme="dark"] .text-ritual-green{color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .text-white{color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .decoration-codex-emerald\/30{text-decoration-color:rgb(233 230 218 / 0.3)}
:root[data-theme="dark"] .decoration-codex-emerald\/40{text-decoration-color:rgb(233 230 218 / 0.4)}
:root[data-theme="dark"] .decoration-codex-ink\/30{text-decoration-color:rgb(233 230 218 / 0.3)}
:root[data-theme="dark"] .ring-codex-clay\/20{--tw-ring-color:rgb(233 230 218 / 0.2)}
:root[data-theme="dark"] .ring-codex-ink\/20{--tw-ring-color:rgb(233 230 218 / 0.2)}
:root[data-theme="dark"] .wrapper-box{border-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}
:root[data-theme="dark"] .wrapper-box > p{background-color:rgb(22 36 28 / var(--tw-bg-opacity, 1))}
:root[data-theme="dark"] .caption{color:rgb(147 164 154 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .timeline-dotted-line{background:linear-gradient(to bottom, 
		rgb(20 34 26 / 0.6) 0%, 
		rgb(233 230 218 / 0.3) 50%, 
		rgba(28, 25, 23, 0.0) 100%
	)}
:root[data-theme="dark"] .codex-rule{border-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}
:root[data-theme="dark"] a.codex-link{color:rgb(233 230 218 / var(--tw-text-opacity, 1));text-decoration-color:rgb(233 230 218 / 0.25)}
:root[data-theme="dark"] a.codex-link:hover{text-decoration-color:rgb(233 230 218)}
:root[data-theme="dark"] .backdrop\:bg-codex-ink\/80::backdrop{background-color:rgb(20 34 26 / 0.8)}
:root[data-theme="dark"] .hover\:border-codex-beige:hover{border-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}
:root[data-theme="dark"] .hover\:border-codex-emerald:hover{border-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}
:root[data-theme="dark"] .hover\:border-codex-ink:hover{border-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}
:root[data-theme="dark"] .hover\:bg-\[\#16291F\]:hover{background-color:rgb(20 34 26 / var(--tw-bg-opacity, 1))}
:root[data-theme="dark"] .hover\:bg-codex-beige\/50:hover{background-color:rgb(41 58 48 / 0.5)}
:root[data-theme="dark"] .hover\:bg-codex-emerald\/5:hover{background-color:rgb(233 230 218 / 0.05)}
:root[data-theme="dark"] .hover\:bg-codex-emerald\/90:hover{background-color:rgb(20 34 26 / 0.9)}
:root[data-theme="dark"] .hover\:bg-codex-emerald\/\[0\.02\]:hover{background-color:rgb(233 230 218 / 0.02)}
:root[data-theme="dark"] .hover\:bg-codex-emerald\/\[0\.03\]:hover{background-color:rgb(233 230 218 / 0.03)}
:root[data-theme="dark"] .hover\:bg-codex-emerald\/\[0\.04\]:hover{background-color:rgb(233 230 218 / 0.04)}
:root[data-theme="dark"] .hover\:bg-codex-emerald\/\[0\.07\]:hover{background-color:rgb(233 230 218 / 0.07)}
:root[data-theme="dark"] .hover\:bg-ritual-black-10:hover{background-color:rgb(233 230 218 / 0.102)}
:root[data-theme="dark"] .hover\:bg-ritual-black-20:hover{background-color:rgb(233 230 218 / 0.2)}
:root[data-theme="dark"] .hover\:text-codex-emerald:hover{color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .hover\:text-codex-emerald\/80:hover{color:rgb(233 230 218 / 0.8)}
:root[data-theme="dark"] .hover\:text-codex-ink:hover{color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .hover\:text-codex-ink\/60:hover{color:rgb(233 230 218 / 0.6)}
:root[data-theme="dark"] .hover\:text-codex-paper:hover{color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .hover\:decoration-codex-emerald:hover{text-decoration-color:rgb(233 230 218)}
:root[data-theme="dark"] .hover\:decoration-codex-ink:hover{text-decoration-color:rgb(233 230 218)}
:root[data-theme="dark"] .focus-visible\:outline-codex-ink:focus-visible{outline-color:rgb(41 58 48)}
:root[data-theme="dark"] .group:hover .group-hover\:fill-codex-emerald{fill:rgb(233 230 218)}
:root[data-theme="dark"] .group:hover .group-hover\:text-codex-emerald{color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .group:hover .group-hover\:text-codex-ink{color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .group:hover .group-hover\:decoration-codex-emerald{text-decoration-color:rgb(233 230 218)}
:root[data-theme="dark"] .group:hover .group-hover\:decoration-codex-ink{text-decoration-color:rgb(233 230 218)}
:root[data-theme="dark"] .prose-headings\:text-codex-ink :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"],[class~="not-prose"] *))){color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .prose-h1\:text-\[\#16291F\] :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))){color:rgb(246 243 233 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .prose-h2\:border-codex-beige :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))){border-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}
:root[data-theme="dark"] .prose-h2\:text-codex-ink :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))){color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .prose-h3\:text-codex-emerald :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))){color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .prose-a\:text-\[\#16291F\] :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))){color:rgb(246 243 233 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .prose-a\:decoration-\[\#16291F\]\/60 :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))){text-decoration-color:rgb(246 243 233 / 0.6)}
:root[data-theme="dark"] .hover\:prose-a\:text-codex-emerald :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))):hover{color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .hover\:prose-a\:decoration-codex-emerald :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))):hover{text-decoration-color:rgb(233 230 218)}
:root[data-theme="dark"] .prose-blockquote\:border-l-codex-emerald :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))){border-left-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}
:root[data-theme="dark"] .prose-blockquote\:bg-codex-emerald\/\[0\.04\] :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))){background-color:rgb(233 230 218 / 0.04)}
:root[data-theme="dark"] .prose-blockquote\:text-codex-ink :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))){color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .prose-strong\:text-\[\#16291F\] :is(:where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *))){color:rgb(246 243 233 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .prose-strong\:text-codex-ink :is(:where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *))){color:rgb(233 230 218 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .prose-code\:text-\[\#16291F\] :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))){color:rgb(246 243 233 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .prose-li\:marker\:text-codex-emerald * :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)))::marker{color:rgb(233 230 218)}
:root[data-theme="dark"] .prose-li\:marker\:text-codex-emerald :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)))::marker{color:rgb(233 230 218)}
:root[data-theme="dark"] .prose-th\:border-codex-beige :is(:where(th):not(:where([class~="not-prose"],[class~="not-prose"] *))){border-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}
:root[data-theme="dark"] .prose-th\:text-\[\#16291F\] :is(:where(th):not(:where([class~="not-prose"],[class~="not-prose"] *))){color:rgb(246 243 233 / var(--tw-text-opacity, 1))}
:root[data-theme="dark"] .prose-hr\:border-codex-emerald\/20 :is(:where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *))){border-color:rgb(233 230 218 / 0.2)}
@media (min-width: 1100px){:root[data-theme="dark"] .lg\:border-codex-ink{border-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}}
@media (prefers-color-scheme: dark){:root[data-theme="dark"] .dark\:\!border-white{border-color:rgb(41 58 48 / var(--tw-border-opacity, 1)) !important}}
@media (prefers-color-scheme: dark){:root[data-theme="dark"] .dark\:border-ritual-white-10{border-color:rgb(233 230 218 / 0.102)}}
@media (prefers-color-scheme: dark){:root[data-theme="dark"] .dark\:border-ritual-white-20{border-color:rgb(233 230 218 / 0.2)}}
@media (prefers-color-scheme: dark){:root[data-theme="dark"] .dark\:border-white{border-color:rgb(41 58 48 / var(--tw-border-opacity, 1))}}
@media (prefers-color-scheme: dark){:root[data-theme="dark"] .dark\:fill-black{fill:rgb(233 230 218)}}
@media (prefers-color-scheme: dark){:root[data-theme="dark"] .dark\:fill-white{fill:rgb(233 230 218)}}
@media (prefers-color-scheme: dark){:root[data-theme="dark"] .dark\:stroke-white{stroke:rgb(233 230 218)}}
@media (prefers-color-scheme: dark){:root[data-theme="dark"] .dark\:text-black{color:rgb(233 230 218 / var(--tw-text-opacity, 1))}}
:root[data-theme="dark"] .\[\&\>div\>button\>span\>span\]\:\!bg-codex-ink>div>button>span>span{background-color:rgb(20 34 26 / var(--tw-bg-opacity, 1)) !important}
:root[data-theme="dark"] .\[\&\>div\>button\>span\>span\]\:before\:\!bg-codex-ink>div>button>span>span::before{background-color:rgb(20 34 26 / var(--tw-bg-opacity, 1)) !important}
:root[data-theme="dark"] .\[\&\>div\>button\>span\>span\]\:after\:\!bg-codex-ink>div>button>span>span::after{background-color:rgb(20 34 26 / var(--tw-bg-opacity, 1)) !important}
:root[data-theme="dark"] .\[\&\>div\>section\>div\]\:border-ritual-black-15>div>section>div{border-color:rgb(233 230 218 / 0.149)}
@media (prefers-color-scheme: dark){:root[data-theme="dark"] .\[\&\>div\>section\>div\]\:dark\:border-ritual-white-15>div>section>div{border-color:rgb(233 230 218 / 0.149)}}
:root[data-theme="dark"] .\[\&\>div\]\:border-ritual-black-10>div{border-color:rgb(233 230 218 / 0.102)}
:root[data-theme="dark"] .\[\&\>div\]\:bg-ritual-black-10>div{background-color:rgb(233 230 218 / 0.102)}
@media (prefers-color-scheme: dark){:root[data-theme="dark"] .\[\&\>div\]\:dark\:border-ritual-white-10>div{border-color:rgb(233 230 218 / 0.102)}}
:root[data-theme="dark"] .timeline-body a{color:rgb(222 158 118);text-decoration-color:rgb(222 158 118 / 0.35)}
:root[data-theme="dark"] .timeline-body a:hover{text-decoration-color:rgb(222 158 118 / 1)}
:root[data-theme="dark"] .timeline-body code{background:rgb(22 36 28);border:1px solid rgb(41 58 48);color:rgb(246 243 233)}
:root[data-theme="dark"] .timeline-body strong{color:rgb(246 243 233)}
:root[data-theme="dark"] .timeline-body em{color:rgb(246 243 233)}
:root[data-theme="dark"]{background-color:rgb(14 25 19) !important}
:root[data-theme="dark"] body{color:rgb(233 230 218);background-color:rgb(14 25 19)}
/* 1b. blog figures drawn on white (measured by build_night.py) */
:root[data-theme="dark"] img[src$="/images/blog/breaking-permutations/visual-01-light.webp"],
:root[data-theme="dark"] img[src$="/images/blog/breaking-permutations/visual-02-light.webp"],
:root[data-theme="dark"] img[src$="/images/blog/breaking-permutations/visual-03-light.webp"],
:root[data-theme="dark"] img[src$="/images/blog/breaking-permutations/visual-04-light.webp"],
:root[data-theme="dark"] img[src$="/images/blog/breaking-permutations/visual-05-light.webp"],
:root[data-theme="dark"] img[src$="/images/blog/breaking-permutations/visual-06-light.webp"],
:root[data-theme="dark"] img[src$="/images/blog/breaking-permutations/visual-07-light.webp"],
:root[data-theme="dark"] img[src$="/images/blog/breaking-permutations/visual-08-light.webp"],
:root[data-theme="dark"] img[src$="/images/blog/breaking-permutations/visual-09-light.webp"],
:root[data-theme="dark"] img[src$="/images/blog/cascade/diagram-01.png"],
:root[data-theme="dark"] img[src$="/images/blog/cascade/diagram-02.png"],
:root[data-theme="dark"] img[src$="/images/blog/cascade/diagram-03.png"],
:root[data-theme="dark"] img[src$="/images/blog/cascade/diagram-04.png"],
:root[data-theme="dark"] img[src$="/images/blog/cascade/diagram-05.png"],
:root[data-theme="dark"] img[src$="/images/blog/privacy-challenges/comm-bandwidth-stats.webp"],
:root[data-theme="dark"] img[src$="/images/blog/privacy-challenges/light-gelu-vs-puma.webp"],
:root[data-theme="dark"] img[src$="/images/blog/privacy-challenges/light-gelu-vs-smpc.webp"],
:root[data-theme="dark"] img[src$="/images/blog/privacy-challenges/light-h100.webp"],
:root[data-theme="dark"] img[src$="/images/blog/privacy-challenges/light-softmax.webp"],
:root[data-theme="dark"] img[src$="/images/blog/privacy-challenges/nimbus.webp"],
:root[data-theme="dark"] img[src$="/images/blog/privacy-challenges/table.webp"],
:root[data-theme="dark"] img[src$="/images/blog/resonance-pt2/paper-image-1.webp"],
:root[data-theme="dark"] img[src$="/images/blog/resonance-pt2/paper-image-2.webp"],
:root[data-theme="dark"] img[src$="/images/blog/resonance-pt2/paper-image-3.webp"],
:root[data-theme="dark"] img[src$="/images/blog/resonance-pt2/paper-image-4.webp"],
:root[data-theme="dark"] img[src$="/images/blog/resonance-pt2/paper-image-5.webp"],
:root[data-theme="dark"] img[src$="/images/blog/resonance-pt2/paper-image-6.webp"],
:root[data-theme="dark"] img[src$="/images/blog/resonance-pt2/paper-image-7.webp"],
:root[data-theme="dark"] img[src$="/images/blog/resonance-pt2/paper-image-8.webp"],
:root[data-theme="dark"] img[src$="/images/blog/vtune/state-1.webp"],
:root[data-theme="dark"] img[src$="/images/blog/vtune/state-2.webp"]{filter:invert(1) hue-rotate(180deg) brightness(.94);mix-blend-mode:screen}
:root[data-theme="dark"] :has(> img[src$="/images/blog/breaking-permutations/visual-01-light.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/breaking-permutations/visual-02-light.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/breaking-permutations/visual-03-light.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/breaking-permutations/visual-04-light.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/breaking-permutations/visual-05-light.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/breaking-permutations/visual-06-light.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/breaking-permutations/visual-07-light.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/breaking-permutations/visual-08-light.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/breaking-permutations/visual-09-light.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/cascade/diagram-01.png"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/cascade/diagram-02.png"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/cascade/diagram-03.png"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/cascade/diagram-04.png"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/cascade/diagram-05.png"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/privacy-challenges/comm-bandwidth-stats.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/privacy-challenges/light-gelu-vs-puma.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/privacy-challenges/light-gelu-vs-smpc.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/privacy-challenges/light-h100.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/privacy-challenges/light-softmax.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/privacy-challenges/nimbus.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/privacy-challenges/table.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/resonance-pt2/paper-image-1.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/resonance-pt2/paper-image-2.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/resonance-pt2/paper-image-3.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/resonance-pt2/paper-image-4.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/resonance-pt2/paper-image-5.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/resonance-pt2/paper-image-6.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/resonance-pt2/paper-image-7.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/resonance-pt2/paper-image-8.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/vtune/state-1.webp"]),
:root[data-theme="dark"] :has(> img[src$="/images/blog/vtune/state-2.webp"]){background-color:rgb(14 25 19)}
/* 2. the homepage night palette (src/replica/dark.css) */
/* ==== Night page (landing v2, 2026-10-22): the colleague's Alluri dark preset, pine ground, as the default ====
   From ritual-hero-shaders.vercel.app preview/page.css (the page tokens the shader kit's night grounds use), pine only,
   without its two @font-face lines (this page loads Newsreader and JetBrains Mono from Google Fonts).
   Everything is under :root[data-theme="dark"], which build.py sets on <html>; /skills, /security and (via build_night.py) the mirrored pages are night too. */
:root[data-theme="dark"][data-night="pine"]{--night-ground:14 25 19;--night-deep:20 34 26;--night-warm:22 36 28;--night-paper:14 25 19;--night-ink:233 230 218;--night-ink-strong:246 243 233;--night-stone:147 164 154;--night-muted:176 189 181;--night-rule:41 58 48;--night-clay:222 158 118;--night-rose:60 43 40;--night-mint:28 46 36}
:root[data-theme="dark"]{color-scheme:dark;--d-ink:rgb(var(--night-ink));--d-red:rgb(var(--night-clay))}
:root[data-theme="dark"],:root[data-theme="dark"] body{background:rgb(var(--night-ground))!important;color:rgb(var(--night-ink))}
:root[data-theme="dark"] .bg-codex-paper{background-color:rgb(var(--night-paper))}
:root[data-theme="dark"] .bg-codex-warm{background-color:rgb(var(--night-warm))}
:root[data-theme="dark"] .bg-codex-ink{background-color:rgb(var(--night-deep))}
:root[data-theme="dark"] .bg-codex-clay{background-color:rgb(var(--night-clay))}
:root[data-theme="dark"] .text-codex-ink,:root[data-theme="dark"] .text-codex-emerald{color:rgb(var(--night-ink))}
:root[data-theme="dark"] .text-codex-clay{color:rgb(var(--night-clay))}
:root[data-theme="dark"] .text-codex-muted{color:rgb(var(--night-muted))}
:root[data-theme="dark"] .text-codex-stone{color:rgb(var(--night-stone))}
:root[data-theme="dark"] .text-codex-beige{color:rgb(var(--night-muted))}
:root[data-theme="dark"] .text-codex-paper{color:rgb(var(--night-ink))}
:root[data-theme="dark"] .border-codex-ink{border-color:rgb(var(--night-rule))}
:root[data-theme="dark"] .border-codex-beige{border-color:rgb(var(--night-rule))}
:root[data-theme="dark"] .border-codex-ink\/15{border-color:rgb(var(--night-ink) / .15)}
:root[data-theme="dark"] .border-codex-ink\/20{border-color:rgb(var(--night-ink) / .2)}
:root[data-theme="dark"] .border-codex-ink\/25{border-color:rgb(var(--night-ink) / .25)}
:root[data-theme="dark"] .border-codex-ink\/50{border-color:rgb(var(--night-ink) / .5)}
:root[data-theme="dark"] .text-codex-ink\/60{color:rgb(var(--night-ink) / .6)}
:root[data-theme="dark"] .text-codex-ink\/70{color:rgb(var(--night-ink) / .7)}
:root[data-theme="dark"] .text-codex-ink\/80{color:rgb(var(--night-ink) / .8)}
:root[data-theme="dark"] header.bg-codex-paper{background:rgb(var(--night-ground))}
:root[data-theme="dark"] header .hamburger .hamburger-inner,:root[data-theme="dark"] header .hamburger .hamburger-inner::before,:root[data-theme="dark"] header .hamburger .hamburger-inner::after{background-color:rgb(var(--night-ink))!important}
:root[data-theme="dark"] header .fill-codex-ink{fill:rgb(var(--night-ink))}
:root[data-theme="dark"] footer{border-top:1px solid rgb(var(--night-rule))}
:root[data-theme="dark"] img[src*="images/papers/"],:root[data-theme="dark"] video{filter:brightness(.86) contrast(1.04)}
:root[data-theme="dark"] img[src*="images/logos/"]{filter:invert(1) hue-rotate(180deg) brightness(.92)}
:root[data-theme="dark"] ritual-paper-birds{filter:brightness(.96) saturate(1.02)}
:root[data-theme="dark"] svg [fill="#F3F4F3" i]{fill:rgb(var(--night-warm))}
:root[data-theme="dark"] svg [fill="#E7E5E4" i],:root[data-theme="dark"] svg [fill="#1F392D" i]{fill:rgb(var(--night-ink))}
:root[data-theme="dark"] svg [fill="#5E331C" i]{fill:rgb(var(--night-clay))}
:root[data-theme="dark"] svg [stroke="#1F392D" i]{stroke:rgb(var(--night-ink))}
:root[data-theme="dark"] svg [stroke="#47594F" i],:root[data-theme="dark"] svg [stroke="#8A9A91" i]{stroke:rgb(var(--night-muted))}
:root[data-theme="dark"] svg [stroke="#5E331C" i]{stroke:rgb(var(--night-clay))}
:root[data-theme="dark"] ::selection{background:rgb(var(--night-clay) / .35);color:rgb(var(--night-ink-strong))}
:root[data-theme="dark"] :focus-visible{outline-color:rgb(var(--night-clay))!important}

/* ---- our own parts on the night page (not on the colleague's page): menus, leaving notice, agent line ---- */
:root[data-theme="dark"] .nv-menu .bg-codex-paper{background:rgb(var(--night-deep))}
:root[data-theme="dark"] .hover\:bg-codex-emerald\/5:hover{background-color:rgb(var(--night-ink) / .06)}
:root[data-theme="dark"] .bg-codex-emerald{background-color:rgb(var(--night-clay))}
:root[data-theme="dark"] .bg-codex-emerald.text-codex-paper{color:rgb(var(--night-ground))}
:root[data-theme="dark"] .hover\:bg-codex-emerald\/90:hover{background-color:rgb(var(--night-clay) / .9)}
:root[data-theme="dark"] .bg-codex-ink\/40{background-color:rgb(4 9 6 / .62)}
:root[data-theme="dark"] .hover\:bg-codex-beige\/50:hover{background-color:rgb(var(--night-ink) / .08)}
:root[data-theme="dark"] .hover\:text-codex-paper:hover{color:rgb(var(--night-ink-strong))}
:root[data-theme="dark"] .hover\:text-codex-ink\/60:hover{color:rgb(var(--night-ink) / .6)}
:root[data-theme="dark"]{--al-ink:rgb(var(--night-ink));--al-ink2:rgb(var(--night-ink-strong));--al-mute:rgb(var(--night-muted));--al-line:rgb(var(--night-rule));
  --al-wash:rgb(var(--night-deep));--al-red:rgb(var(--night-clay));--al-paper:rgb(var(--night-ground))}
:root[data-theme="dark"] .al-line{background:rgb(var(--night-deep))}
:root[data-theme="dark"] .al-scrim{background:rgb(4 9 6 / .62)}
:root[data-theme="dark"] .al-sheet{background:rgb(var(--night-ground));border-left-color:rgb(var(--night-rule))}

/* owner 2026-10-25: the three agent-card drawings (tools/cards/build_cards.mjs) carry their own muted night colours; their
   panels take the page ground with a soft rule. */
:root[data-theme="dark"] div:has(> svg[data-i]){background:rgb(var(--night-ground))}
:root[data-theme="dark"] .border-codex-ink:has(svg[data-i]){border-color:rgb(var(--night-rule) / .7)}

/* owner 2026-10-25: research papers on the night page. The scans are white pages; show them as dark pages (inverted, so text
   stays legible) blended into the pine ground, slightly dimmed so they sit behind the card text. Field tags (#DCE8DF chips)
   get the night chip colours, since the light ink on a pale chip was unreadable. */
:root[data-theme="dark"] img[src*="images/papers/"]{filter:invert(1) hue-rotate(180deg) contrast(.88);mix-blend-mode:screen;opacity:.72}
:root[data-theme="dark"] div:has(> img[src*="images/papers/"]){background:rgb(var(--night-deep))}
:root[data-theme="dark"] .bg-\[\#DCE8DF\]{background-color:rgb(28 46 36);color:rgb(var(--night-ink-strong));--tw-ring-color:rgb(147 164 154 / .55);font-weight:600;letter-spacing:.01em}

/* 3. mirrored-page fixes (src/replica/night-mirror.css) */
/* Mirrored live pages on the night page: fixes the generated colour map cannot express (owner 2026-10-23). */

/* blog posts carry each figure twice, drawn for light and for dark: the night page shows the dark one */
:root[data-theme="dark"] .image-light{display:none}
:root[data-theme="dark"] .image-dark{display:flex}

/* code blocks keep their own dark theme; the inline-code chip must not repeat on every line inside them */
:root[data-theme="dark"] .prose pre code,:root[data-theme="dark"] .prose pre code *{background-color:transparent;border:0}
