/*
Theme Name: tomjn-fse-26
Theme URI: https://github.com/tomjn/tomjn-fse-26
Author: Tom J Nowell
Description: Block theme for tomjn.com.
Version: 1.0.0
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.1
License: GPL-3.0
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: tomjn-fse-26
*/

:root { color-scheme: light dark; }
:root[data-color-scheme="light"] { color-scheme: light; }
:root[data-color-scheme="dark"] { color-scheme: dark; }
/* Links. The hover underline is a half strength muted so it reads in both schemes */
:root { --tomjn-underline-hover: color-mix(in srgb, var(--wp--preset--color--muted) 50%, transparent); }
a:where(:not(.wp-element-button)) { text-decoration-line: underline; text-decoration-color: currentColor; text-decoration-thickness: 1px; text-underline-offset: 0.15em; transition: text-decoration-color 120ms ease; }
a:where(:not(.wp-element-button)):is(:hover, :active) { text-decoration-color: var(--tomjn-underline-hover); }
/* Inside muted text the underline is already muted, so hover darkens it instead */
.has-muted-color a:where(:not(.wp-element-button)):is(:hover, :active) { text-decoration-color: var(--wp--preset--color--contrast); }
/* Heading links are underlined like body links, thicker to suit the size. Specificity beats core's post title rule */
:is(.wp-block-post-title, .wp-block-heading, .wp-block-query-title) a { text-decoration-line: underline; text-decoration-color: currentColor; text-decoration-thickness: 2px; text-underline-offset: 0.15em; transition: text-decoration-color 120ms ease; }
:is(.wp-block-post-title, .wp-block-heading, .wp-block-query-title) a:is(:hover, :active) { text-decoration-color: var(--tomjn-underline-hover); }
/* The site title is the only heading link without an underline at rest */
.wp-block-site-title a { text-decoration-line: underline; text-decoration-color: transparent; text-decoration-thickness: 2px; }
.wp-block-site-title a:is(:hover, :active) { text-decoration-color: var(--tomjn-underline-hover); }
/* Rounded image style keeps its circle despite the global image radius */
.wp-block-image.is-style-rounded img { border-radius: 9999px; }
/* Full width media runs to the window edge, so it drops the radius */
.wp-block-image.alignfull img, .wp-block-cover.alignfull { border-radius: 0; }
.wp-block-media-text__media img { border-radius: 0.5rem; }
/* Post content is full width so wide and full blocks work. Floats line up with the content column, not the window edge */
.wp-block-post-content.is-layout-constrained > .alignleft { margin-inline-start: max(0px, (100% - var(--wp--style--global--content-size)) / 2); }
.wp-block-post-content.is-layout-constrained > .alignright { margin-inline-end: max(0px, (100% - var(--wp--style--global--content-size)) / 2); }
/* On phones, at the breakpoint where core stacks media and text, grids go to one column and floats stop wrapping text */
@media (max-width: 599px) {
	.wp-block-group.is-layout-grid { grid-template-columns: minmax(0, 1fr); }
	.wp-block-post-content.is-layout-constrained > :is(.alignleft, .alignright) { float: none; margin-inline: 0; }
}
/* Separators are short, thin and centred. The wide style spans the content */
hr.wp-block-separator { border: 0; height: 1px; background: color-mix(in srgb, var(--wp--preset--color--muted) 50%, transparent); width: 6rem; margin-left: auto; margin-right: auto; margin-top: var(--wp--preset--spacing--60); margin-bottom: var(--wp--preset--spacing--60); }
hr.wp-block-separator.is-style-wide { width: 100%; }
hr.wp-block-separator.is-style-dots { height: auto; background: none; width: auto; }
/* Vertical rhythm. Headings carry the section spacing, boxed blocks get room to breathe.
   Specificity has to beat core's constrained layout gap rule */
.is-layout-constrained > * + h2 { margin-block-start: 3rem; }
.is-layout-constrained > * + h3 { margin-block-start: 2.25rem; }
.is-layout-constrained > * + :is(h4, h5, h6) { margin-block-start: 1.75rem; }
.is-layout-constrained > :is(h1, h2, h3, h4, h5, h6) + * { margin-block-start: 0.75rem; }
.is-layout-constrained > * + :is(pre, blockquote, figure, table, details, .wp-block-table, .wp-block-pullquote, .wp-block-group, .wp-block-columns, .wp-block-separator),
.is-layout-constrained > :is(pre, blockquote, figure, table, details, .wp-block-table, .wp-block-pullquote, .wp-block-group, .wp-block-columns, .wp-block-separator) + :not(h1, h2, h3, h4, h5, h6) { margin-block-start: 2rem; }
/* Quotes */
.wp-block-quote cite { display: block; margin-top: var(--wp--preset--spacing--30); font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); font-style: normal; color: var(--wp--preset--color--muted); }
.wp-block-quote p { line-height: 1.4; }
/* Pullquotes rely on space rather than rules. The text is set large and centred with generous padding above and below. */
.wp-block-pullquote p { font-size: var(--wp--preset--font-size--xx-large); line-height: 1.25; }
.wp-block-pullquote cite { display: block; margin-top: var(--wp--preset--spacing--40); font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); font-style: normal; text-transform: none; color: var(--wp--preset--color--muted); }
/* Long code lines scroll inside the block instead of widening the page */
/* Long unbroken strings wrap instead of widening the page. Code blocks opt out below */
:where(.wp-block-post-content, .wp-block-comment-content, .wp-block-post-excerpt, .wp-block-post-title, .wp-block-comments-title) { overflow-wrap: anywhere; min-width: 0; }
/* Classic content. Posts written before blocks have no block classes, so the main elements get the same look from their tags.
   Block styles from theme.json still win where a block is present because they come with higher specificity */
.wp-block-post-content :is(pre, code, kbd, samp) { font-family: var(--wp--preset--font-family--mono); tab-size: 4; }
.wp-block-post-content pre { box-sizing: border-box; background: var(--wp--preset--color--surface); border-radius: 0.5rem; padding: var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--small); overflow-x: auto; }
.wp-block-post-content :not(pre) > code { font-size: 0.9em; }
.wp-block-post-content :not(.wp-block-pullquote) > blockquote:not([class]) { margin: 0; padding: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--20) var(--wp--preset--spacing--50); border-left: 3px solid var(--wp--preset--color--muted); font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--large); }
.wp-block-post-content img { max-width: 100%; height: auto; border-radius: 0.5rem; }
.wp-block-post-content :is(.alignleft, .alignright, .aligncenter) img { border-radius: 0.5rem; }
.wp-block-post-content iframe { max-width: 100%; border-radius: 0.5rem; }
/* Code keeps its structure and scrolls sideways. Two lines minimum so a scrollbar never covers the only line */
.wp-block-code { overflow-x: auto; }
.wp-block-post-content pre code, .wp-block-code code { display: block; white-space: pre; overflow-wrap: normal; min-height: calc(2 * 1.6em); tab-size: 4; }
.wp-block-comment-content pre { tab-size: 4; }
/* Buttons take colours from theme.json */
.wp-element-button { transition: background-color 120ms ease, border-color 120ms ease; }
/* Outline buttons invert on hover, since core resets their background */
.wp-block-button.is-style-outline .wp-block-button__link { transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease; }
.wp-block-button.is-style-outline .wp-block-button__link:is(:hover, :active) { background-color: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
/* Icon controls */
.color-scheme-toggle, .wp-block-social-links a { text-decoration: none; transition: opacity 120ms ease; }
.color-scheme-toggle:is(:hover, :active), .wp-block-social-links a:is(:hover, :active) { opacity: 0.7; }
.wp-block-social-links .wp-block-social-link:hover { transform: none; }
/* Social icons are monochrome unless the block sets its own colours, instead of brand colours like Mastodon blue */
.wp-block-social-links:not(.is-style-logos-only):not(.has-icon-background-color) .wp-social-link { background-color: var(--wp--preset--color--contrast); }
.wp-block-social-links:not(.is-style-logos-only):not(.has-icon-color) .wp-social-link { color: var(--wp--preset--color--base); }
.wp-block-social-links.is-style-logos-only:not(.has-icon-color) .wp-social-link { color: var(--wp--preset--color--contrast); }
/* Latest posts dates match the post date in templates */
.wp-block-latest-posts__post-date { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
/* Focus and motion */
:focus-visible { outline: 2px solid var(--wp--preset--color--contrast); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: 0ms !important; } }
input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), textarea { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); border: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 40%, transparent); border-radius: 0.25rem; padding: 0.4em 0.6em; font-family: inherit; font-size: 1rem; transition: border-color 120ms ease; }
input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):is(:hover, :focus-visible), textarea:is(:hover, :focus-visible) { border-color: var(--wp--preset--color--muted); }
/* Embeds and video */
.wp-block-embed__wrapper, .wp-block-embed iframe, .wp-block-video video { border-radius: 0.5rem; overflow: hidden; }
/* Native controls take the text colour instead of the browser blue */
:root { accent-color: var(--wp--preset--color--contrast); }
input:is([type="checkbox"], [type="radio"]) { width: 1.15em; height: 1.15em; margin: 0 0.5em 0 0; vertical-align: -0.2em; }
/* Details. A boxed surface so the contents clearly belong to the summary */
.wp-block-details { background: var(--wp--preset--color--surface); border-radius: 0.5rem; padding: 0 var(--wp--preset--spacing--40); }
.wp-block-details > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1em; padding: var(--wp--preset--spacing--30) 0; font-family: var(--wp--preset--font-family--heading); font-weight: 600; cursor: pointer; text-decoration-line: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: 0.15em; transition: text-decoration-color 120ms ease; }
.wp-block-details > summary::-webkit-details-marker { display: none; }
.wp-block-details > summary::after { content: ""; flex: none; width: 0.75em; height: 0.75em; background: var(--wp--preset--color--muted); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat; transform: rotate(0deg); transition: transform 120ms ease; }
.wp-block-details[open] > summary::after { transform: rotate(180deg); }
.wp-block-details > summary:is(:hover, :active) { text-decoration-color: var(--tomjn-underline-hover); }
.wp-block-details > summary { border-bottom: 1px solid transparent; }
.wp-block-details[open] > summary { border-bottom-color: color-mix(in srgb, var(--wp--preset--color--muted) 40%, transparent); }
.wp-block-details > :not(summary) { margin-top: var(--wp--preset--spacing--30); }
.wp-block-details[open] { padding-bottom: var(--wp--preset--spacing--40); }
.wp-block-details > :last-child:not(summary) { margin-bottom: 0; }
.wp-block-details .wp-block-code { background: var(--wp--preset--color--base); }
/* Previous and next post navigation */
.post-navigation { margin-top: var(--wp--preset--spacing--70); gap: var(--wp--preset--spacing--30); }
.post-navigation .wp-block-post-navigation-link { position: relative; display: flex; flex-direction: column; gap: 0.25em; padding: var(--wp--preset--spacing--40); background: var(--wp--preset--color--surface); border-radius: 0.5rem; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); transition: background-color 120ms ease; }
.post-navigation .post-navigation__next { text-align: right; align-items: flex-end; }
.post-navigation .wp-block-post-navigation-link:has(a:hover, a:active) { background: color-mix(in srgb, var(--wp--preset--color--muted) 18%, var(--wp--preset--color--surface)); }
.post-navigation .wp-block-post-navigation-link a { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--medium); font-weight: 600; color: var(--wp--preset--color--contrast); text-decoration-line: underline; text-decoration-color: transparent; text-decoration-thickness: 2px; outline: none; }
.post-navigation .wp-block-post-navigation-link a:is(:hover, :active) { text-decoration-color: var(--tomjn-underline-hover); }
/* The link covers the whole card, so the card is the click target and the focus ring */
.post-navigation .wp-block-post-navigation-link a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.post-navigation .wp-block-post-navigation-link:has(a:focus-visible) { outline: 2px solid var(--wp--preset--color--contrast); outline-offset: 2px; }
.post-navigation .post-navigation__previous .post-navigation-link__label::before { content: "\2190\00A0"; }
.post-navigation .post-navigation__next .post-navigation-link__label::after { content: "\00A0\2192"; }
.post-navigation .wp-block-post-navigation-link:empty { display: none; }
.post-navigation .post-navigation__next:only-child { grid-column: 2; }
@media (max-width: 600px) {
	.post-navigation { grid-template-columns: 1fr; }
	.post-navigation .post-navigation__next { text-align: left; align-items: flex-start; }
	.post-navigation .post-navigation__next:only-child { grid-column: auto; }
}
/* Pagination for article lists and comments */
.site-pagination { margin-top: var(--wp--preset--spacing--60); padding-top: var(--wp--preset--spacing--40); border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 40%, transparent); gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); font-size: 1rem; }
.site-pagination a, .site-pagination .page-numbers { text-decoration: none; }
.site-pagination :is(.wp-block-query-pagination-numbers, .wp-block-comments-pagination-numbers) { display: inline-flex; gap: 0.25rem; }
.site-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 0.6em; border-radius: 999px; color: var(--wp--preset--color--contrast); transition: background-color 120ms ease; }
.site-pagination a.page-numbers:is(:hover, :active) { background: var(--wp--preset--color--surface); }
.site-pagination .page-numbers.current { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); font-weight: 600; }
.site-pagination .page-numbers.dots { min-width: 0; padding: 0 0.25em; color: var(--wp--preset--color--muted); }
.site-pagination :is(.wp-block-query-pagination-previous, .wp-block-query-pagination-next, .wp-block-comments-pagination-previous, .wp-block-comments-pagination-next) { display: inline-flex; align-items: center; gap: 0.4em; min-height: 44px; padding: 0 1em; border: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 60%, transparent); border-radius: 999px; color: var(--wp--preset--color--contrast); transition: background-color 120ms ease, border-color 120ms ease; }
.site-pagination :is(.wp-block-query-pagination-previous, .wp-block-query-pagination-next, .wp-block-comments-pagination-previous, .wp-block-comments-pagination-next):is(:hover, :active) { background: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--muted); }
.site-pagination :is(.wp-block-query-pagination-previous-arrow, .wp-block-query-pagination-next-arrow, .wp-block-comments-pagination-previous-arrow, .wp-block-comments-pagination-next-arrow) { margin: 0; }
/* Comments */
.wp-block-comments { margin-top: var(--wp--preset--spacing--70); padding-top: var(--wp--preset--spacing--50); border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 40%, transparent); }
.wp-block-comment-template, .wp-block-comment-template ol { list-style: none; margin: 0; padding: 0; }
.wp-block-comment-template > li + li { margin-top: var(--wp--preset--spacing--50); }
.wp-block-comment-template ol { margin-top: var(--wp--preset--spacing--40); margin-left: calc(48px + 1rem); padding-left: var(--wp--preset--spacing--40); border-left: 2px solid color-mix(in srgb, var(--wp--preset--color--muted) 30%, transparent); }
.wp-block-comment-template ol > li + li { margin-top: var(--wp--preset--spacing--40); }
.wp-block-comment-template .comment-body { gap: 1rem; }
.wp-block-comment-template .wp-block-avatar { position: relative; flex: none; width: 48px; height: 48px; line-height: 0; }
/* Gravatar returns a transparent image when there is no avatar, so this outline figure (Lucide circle-user-round) shows through. */
.wp-block-comment-template .wp-block-avatar::before { content: ""; position: absolute; inset: 0; background: color-mix(in srgb, var(--wp--preset--color--muted) 50%, var(--wp--preset--color--base)); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1.5 1.5 21 21' fill='none' stroke='%23000' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 20a6 6 0 0 0-12 0'/%3E%3Ccircle cx='12' cy='10' r='4'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E") center / contain no-repeat; }
.wp-block-comment-template .wp-block-avatar img { position: relative; display: block; width: 100%; height: 100%; border-radius: 9999px; }
.wp-block-comment-template .comment-main { flex: 1; min-width: 0; }
.wp-block-comment-template .comment-meta { margin: 0; line-height: 1.3; }
.wp-block-comment-template .comment-meta > * { margin: 0; }
.wp-block-comment-template .wp-block-comment-author-name a { text-decoration-color: transparent; }
.wp-block-comment-template .wp-block-comment-author-name a:is(:hover, :active) { text-decoration-color: var(--tomjn-underline-hover); }
.wp-block-comment-template .wp-block-comment-date a { text-decoration: none; }
.wp-block-comment-template .wp-block-comment-date a:is(:hover, :active) { text-decoration: underline; text-decoration-color: var(--tomjn-underline-hover); }
.wp-block-comment-template .bypostauthor > .comment-body .wp-block-comment-author-name::after { content: "Author"; display: inline-block; margin-left: 0.6em; padding: 0.1em 0.5em; border: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 60%, transparent); border-radius: 999px; font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); font-weight: 400; color: var(--wp--preset--color--muted); vertical-align: 0.15em; }
.wp-block-comment-template .wp-block-comment-content { margin-top: var(--wp--preset--spacing--20); font-size: 1.0625rem; line-height: 1.6; }
.wp-block-comment-template .wp-block-comment-content > * + * { margin-top: 0.75em; }
.wp-block-comment-template .wp-block-comment-content > :first-child { margin-top: 0; }
.wp-block-comment-template .wp-block-comment-content pre { background: var(--wp--preset--color--surface); border-radius: 0.5rem; padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); overflow-x: auto; }
.wp-block-comment-template .wp-block-comment-content code { font-family: var(--wp--preset--font-family--mono); font-size: 0.9em; }
.wp-block-comment-template .wp-block-comment-content blockquote { margin: 0.75em 0; padding: 0.1em 0 0.1em var(--wp--preset--spacing--40); border-left: 3px solid var(--wp--preset--color--muted); }
.wp-block-comment-template .wp-block-comment-content :is(ul, ol) { padding-left: 1.5em; }
.wp-block-comment-template .wp-block-comment-content ul { list-style: disc; }
.wp-block-comment-template .wp-block-comment-reply-link { margin-top: var(--wp--preset--spacing--20); }
.wp-block-comment-template .wp-block-comment-reply-link a { display: inline-block; text-decoration: none; color: var(--wp--preset--color--muted); transition: color 120ms ease; }
.wp-block-comment-template .wp-block-comment-reply-link a::before { content: "\21A9\FE0E"; margin-right: 0.4em; }
.wp-block-comment-template .wp-block-comment-reply-link a:is(:hover, :active) { color: var(--wp--preset--color--contrast); text-decoration: underline; text-decoration-color: var(--tomjn-underline-hover); }
.wp-block-comment-template .comment-respond { margin-top: var(--wp--preset--spacing--40); }
.wp-block-post-comments-form { margin-top: var(--wp--preset--spacing--60); }
.wp-block-post-comments-form .comment-reply-title { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--large); font-weight: 600; }
.wp-block-post-comments-form label { display: block; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); margin-bottom: 0.3em; }
.wp-block-post-comments-form :is(input:not([type="submit"]):not([type="checkbox"]), textarea) { width: 100%; }
.wp-block-post-comments-form .comment-form-cookies-consent label { display: inline; color: inherit; font-size: inherit; }
.wp-block-post-comments-form .comment-notes { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
@media (max-width: 600px) {
	.wp-block-comment-template ol { margin-left: 0; padding-left: var(--wp--preset--spacing--30); }
	.wp-block-comment-template .wp-block-avatar { width: 36px; height: 36px; }
}
/* Tables */
.wp-block-table > table { border-collapse: separate; border-spacing: 0; overflow: hidden; }
.wp-block-table :is(thead, tfoot) { border: 0; }
.wp-block-table :is(th, td) { border: 0; padding: 0.6em 0.9em; vertical-align: top; }
.wp-block-table :is(th, td):not([data-align]) { text-align: left; }
.wp-block-table thead th { font-weight: 700; }
.wp-block-table thead th, .wp-block-table.is-style-stripes thead th { border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 60%, transparent); }
.wp-block-table tfoot td, .wp-block-table tfoot th { border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 60%, transparent); }
.wp-block-table tbody tr:nth-child(even) { background-color: var(--wp--preset--color--surface); }
/* Core stripes style matches the default */
.wp-block-table.is-style-stripes { border-bottom: 0; }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background-color: transparent; }
.color-scheme-toggle { background: none; border: 0; padding: 0.25rem; color: inherit; cursor: pointer; line-height: 0; min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.color-scheme-toggle .icon-sun { display: none; }
@media (prefers-color-scheme: dark) {
	.color-scheme-toggle .icon-moon { display: none; }
	.color-scheme-toggle .icon-sun { display: block; }
}
:root[data-color-scheme="light"] .color-scheme-toggle .icon-moon { display: block; }
:root[data-color-scheme="light"] .color-scheme-toggle .icon-sun { display: none; }
:root[data-color-scheme="dark"] .color-scheme-toggle .icon-moon { display: none; }
:root[data-color-scheme="dark"] .color-scheme-toggle .icon-sun { display: block; }
.hljs { color: inherit; }
.hljs-comment, .hljs-quote { color: var(--wp--preset--color--muted); font-style: italic; }
.hljs-keyword, .hljs-selector-tag, .hljs-built_in, .hljs-name, .hljs-tag { font-weight: 700; }
.hljs-string, .hljs-attr, .hljs-template-variable, .hljs-addition { color: light-dark(#2f6f4e, #9ccfb0); }
.hljs-number, .hljs-literal, .hljs-symbol, .hljs-bullet { color: light-dark(#7a4b1f, #d9b38c); }
.hljs-title, .hljs-section, .hljs-function .hljs-title { color: light-dark(#3b4a8a, #aab4e6); }
.hljs-variable, .hljs-template-tag, .hljs-attribute { color: light-dark(#6b3b6b, #d2a6d2); }
.hljs-deletion { color: var(--wp--preset--color--muted); text-decoration: line-through; }
.hljs-emphasis { font-style: italic; }
.hljs-strong { font-weight: 700; }
