/*
Theme Name: EmbeddedExpertIO Journal
Theme URI: https://embeddedexpert.io
Author: EmbeddedExpertIO
Description: An engineering publication with accessible reading tools and native WordPress authoring.
Version: 2.0.17
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: embeddedexpertio
Tags: blog, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready
*/
:root{color-scheme:light;--bg:#fff;--surface:#f4f6f9;--subtle:#edf2fa;--ink:#10233f;--body:#304057;--muted:#576579;--border:#dce2ea;--control:#78869b;--link:#084ed2;--hover:#063995;--action:#0b5cff;--action-hover:#0849cc;--focus:#0b5cff;--selected:#eaf1ff;--navy:#081c3a;--code:#111d30;--code-head:#203047;--measure:70ch}
:root[data-appearance=dark]{color-scheme:dark;--bg:#181b21;--surface:#222730;--subtle:#273244;--ink:#edf1f8;--body:#d1d8e3;--muted:#a9b6c9;--border:#394252;--control:#8896ad;--link:#9bbfff;--hover:#c6dbff;--action:#215be0;--action-hover:#184ac0;--focus:#abcaff;--selected:#2b3a53;--navy:#101923;--code:#11161f;--code-head:#252e3b}
/* Shared outer edges and desktop rail dimensions. */
:root{--layout-max:1280px;--layout-gutter:32px;--layout-rail:336px;--layout-gap:56px}
*{box-sizing:border-box}html{scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--body);font:1rem/1.65 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;overflow-wrap:break-word}
[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,summary{touch-action:manipulation}a{color:var(--link);text-underline-offset:4px}a:hover{color:var(--hover)}img,video,iframe,embed,object{max-width:100%}img{height:auto;vertical-align:middle}figure{margin:0}p{margin:0 0 1.15em}
h1,h2,h3,h4,h5,h6{color:var(--ink);line-height:1.25;letter-spacing:-.025em;text-wrap:pretty}h1{font-size:2.75rem;font-weight:720}h2{font-size:1.875rem;font-weight:700}h3{font-size:1.375rem}
button,.button,input[type=submit]{cursor:pointer;min-height:44px;padding:10px 18px;border:1px solid var(--action);border-radius:4px;background:var(--action);color:#fff;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
button:hover,.button:hover,input[type=submit]:hover{background:var(--action-hover);color:#fff}
input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),select,textarea{background:var(--bg);color:var(--ink);border:1px solid var(--control);border-radius:4px;min-height:48px;padding:10px 12px;max-width:100%}
textarea{width:100%;min-height:150px}input[type=checkbox],input[type=radio]{width:20px;height:20px;vertical-align:middle;accent-color:var(--action)}::placeholder{color:var(--muted);opacity:1}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:4px}main:focus{outline:none}.icon{display:inline-block;flex-shrink:0;vertical-align:middle}
.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;z-index:999999;top:8px;left:8px;padding:12px 24px;background:var(--bg);color:var(--ink)}
/* Blog masthead: editorial links, company destination and one course action. */
.site-header{background:var(--bg);border-bottom:1px solid var(--border);position:relative;z-index:20}
.header-inner{max-width:var(--layout-max);margin:auto;min-height:88px;padding:16px var(--layout-gutter);display:flex;align-items:center;gap:24px}
.publication-brand{display:inline-flex;align-items:center;flex-shrink:0;min-height:44px;text-decoration:none;color:var(--ink)}.brand img{width:196px;height:auto;max-height:48px;object-fit:contain}.brand .logo-dark{display:none}[data-appearance=dark] .brand .logo-light{display:none}[data-appearance=dark] .brand .logo-dark{display:block}
.header-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;flex:1;min-width:0}.primary-navigation{flex:1;min-width:0}
.header-navigation ul{display:flex;align-items:center;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}.header-navigation a{color:var(--ink);display:flex;align-items:center;min-height:44px;text-decoration:none;font-size:1rem;font-weight:600;padding:10px 12px;line-height:1.5;border-radius:6px}
.header-navigation a:hover{background:var(--surface);color:var(--link)}
.primary-navigation .current-menu-item>a,.primary-navigation a[aria-current=page]{background:var(--selected);color:var(--link);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.primary-navigation li{position:relative}.primary-navigation .sub-menu{display:none;position:absolute;z-index:3;min-width:220px;max-width:min(320px,calc(100vw - 32px));top:100%;background:var(--bg);border:1px solid var(--border);padding:8px 16px;box-shadow:0 8px 24px #0002}.primary-navigation .sub-menu li{width:100%}.primary-navigation li:hover>.sub-menu,.primary-navigation li:focus-within>.sub-menu{display:block}.primary-navigation .sub-menu .sub-menu{left:100%;top:0}
.header-utility{flex-shrink:0}.header-utility a{color:var(--ink);font-weight:600}.header-courses{flex-shrink:0}.header-courses a{padding:10px 18px;border:1px solid var(--action);border-radius:4px;background:var(--action);color:#fff;justify-content:center}.header-courses a:hover{background:var(--action-hover);border-color:var(--action-hover);color:#fff;text-decoration:none}
.header-actions{display:flex;align-items:center;gap:4px;color:var(--ink);flex-shrink:0}.header-actions .icon,.menu-toggle .icon{width:20px;height:20px}
.header-appearance{display:none;position:relative}.appearance-ready .header-appearance{display:block}
.appearance-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.appearance-current-icon{display:inline-flex}.appearance-current-icon>span{display:none}
[data-appearance-choice=light] .appearance-icon-light,[data-appearance-choice=dark] .appearance-icon-dark,[data-appearance-choice=system] .appearance-icon-system{display:inline-flex}
.header-appearance .appearance-chevron .icon{width:14px;height:14px}.header-appearance[open] .appearance-chevron{transform:rotate(180deg)}
.header-search>summary,.header-appearance>summary,.menu-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:var(--ink);cursor:pointer;list-style:none;font-size:1rem;line-height:1.5;font-weight:600}
.header-search>summary::-webkit-details-marker,.header-appearance>summary::-webkit-details-marker{display:none}.header-search>summary:hover,.header-appearance>summary:hover,.menu-toggle:hover{background:var(--surface);color:var(--link)}
.header-search[open]>summary,.header-appearance[open]>summary{background:var(--selected);color:var(--link)}
.appearance-panel{position:absolute;right:0;top:calc(100% + 12px);width:320px;max-width:calc(100vw - 32px);padding:20px;background:var(--bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px #10233f1f;z-index:4}
.appearance-panel fieldset{border:0;padding:0;margin:0;min-width:0}.appearance-panel legend{padding:0;font-size:1rem;font-weight:700;line-height:1.5;color:var(--ink)}
.appearance-panel p{font-size:.875rem;line-height:1.5;color:var(--muted);margin:4px 0 16px}
.appearance-options{display:grid;gap:6px}.appearance-option{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid transparent;border-radius:6px;min-height:68px;cursor:pointer;color:var(--ink);background:var(--surface)}
.appearance-option-copy{flex:1;min-width:0}.appearance-option-title{display:block;font-size:1rem;font-weight:600;line-height:1.5}.appearance-option-description{display:block;font-size:.8125rem;line-height:1.5;color:var(--muted)}
.appearance-option:hover{border-color:var(--control)}.appearance-option:has(input:checked){border-color:var(--link);background:var(--selected)}.appearance-option:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.appearance-option input:focus{outline:none}.appearance-option input[type=radio]{margin:0;flex:none;width:18px;height:18px;accent-color:var(--link)}
.header-search-panel{position:absolute;right:32px;top:calc(100% + 8px);width:min(520px,calc(100vw - 32px));padding:20px;background:var(--bg);border:1px solid var(--control);border-radius:4px;box-shadow:0 12px 32px #0002}.menu-toggle{display:none}.menu-close-icon{display:none}.menu-toggle[aria-expanded=true] .menu-open-icon{display:none}.menu-toggle[aria-expanded=true] .menu-close-icon{display:inline-flex}
.site-wrap{max-width:var(--layout-max);padding:0 var(--layout-gutter);margin:auto}
.archive-header{padding:48px 0 32px;display:flex;align-items:end;justify-content:space-between;gap:32px}.archive-heading h1{margin:0 0 16px;letter-spacing:-.04em;font-size:clamp(2rem,3vw,2.75rem)}.intro{font-size:1.125rem;line-height:1.65;color:var(--muted);margin:0;max-width:66ch}.intro p:last-child{margin:0}.archive-count{font-size:.875rem;white-space:nowrap;color:var(--muted)}
.search-form{display:flex;gap:8px;align-items:stretch;width:100%}.search-form input[type=search]{min-width:0;flex:1;width:100%;font-size:1rem}.search-form button{flex-shrink:0}.search-form input[type=hidden]{display:none}
.topic-nav{display:flex;flex-wrap:wrap;gap:0 24px;border-bottom:1px solid var(--border);margin:0 0 32px;scroll-margin-top:24px}.topic-nav a{padding:12px 0;min-height:48px;color:var(--muted);text-decoration:none;font-size:.875rem;border-bottom:2px solid transparent}.topic-nav a:hover{color:var(--link)}.topic-nav a[aria-current]{color:var(--link);border-color:var(--link);font-weight:650}
.lead-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:48px;margin-bottom:48px}
.lead-story{min-width:0}.featured-cover{display:block;background:var(--surface);aspect-ratio:16/9;overflow:hidden}.featured-cover img{display:block;width:100%;height:100%;object-fit:cover}
.lead-copy{padding-top:24px}.story-context{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;font-size:.875rem;line-height:1.6;color:var(--muted);margin-bottom:10px}.category-link{color:var(--link);text-decoration:none;font-weight:600}.category-link:hover{text-decoration:underline}
.lead-copy h2{font-size:clamp(1.75rem,2.4vw,2.125rem);line-height:1.22;margin:0 0 16px;letter-spacing:-.035em}.lead-copy h2 a,.card-content :is(h2,h3) a{color:var(--ink);text-decoration:none}.lead-copy h2 a:hover,.card-content :is(h2,h3) a:hover{text-decoration:underline;text-decoration-thickness:1px}
.featured-summary{font-size:1.0625rem;line-height:1.65;color:var(--body);margin:0 0 16px}.entry-meta{display:grid;gap:6px;font-size:.875rem;color:var(--muted);line-height:1.7}.entry-byline,.entry-stats{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 20px;min-width:0}.entry-meta a{color:inherit}.entry-byline .author-link{color:var(--ink);font-weight:600}.publication-date{min-width:0}.story-context .publication-date{min-inline-size:12ch}.article-views{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:.9375rem;color:var(--body);font-variant-numeric:tabular-nums}.article-views-count{font-weight:600;color:var(--ink)}.article-views .icon{width:17px;height:17px;flex-shrink:0}.article-views>span{min-width:0;overflow-wrap:anywhere}
.secondary-stories{display:grid;gap:32px;align-content:start;border-left:1px solid var(--border);padding-left:40px}
.article-card{min-width:0}.card-image{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--surface);margin-bottom:20px}.card-image img{display:block;width:100%;height:100%;object-fit:cover}.card-content{min-width:0}.card-content :is(h2,h3){font-size:1.375rem;line-height:1.3;margin:0 0 12px}.card-excerpt{font-size:1rem;line-height:1.65;color:var(--muted);margin:0 0 12px}
.secondary-stories .article-card{display:block}.secondary-stories .card-image{aspect-ratio:16/7;margin-bottom:16px}.secondary-stories .card-content h2{font-size:1.25rem}.secondary-stories .card-excerpt{display:none}
.story-author{font-size:.875rem;color:var(--muted)}.story-summary{font-size:1.0625rem;line-height:1.65}.publication-index{font-size:.875rem;white-space:nowrap}.archive-search{width:min(400px,100%);flex-shrink:0}
.journal-archive .section-heading{border:0;padding:0;margin:0}.journal-archive .section-heading h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.journal-archive .section-heading>a{margin-bottom:24px}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding-top:28px;margin:0 0 28px}.section-heading h2{margin:0;font-size:1.5rem}.section-heading>span,.section-heading>a{font-size:.875rem;color:var(--muted)}
.article-list{max-width:980px}.article-list .article-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;padding:28px 0;border-bottom:1px solid var(--border)}.article-list .article-card:first-child{padding-top:0}.article-list .card-image{margin:0}.article-list .card-content h3{font-size:1.5rem}
.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.article-grid .article-card{border-bottom:1px solid var(--border);padding-bottom:28px}.article-grid .card-image{aspect-ratio:16/9}.article-grid .card-content h3{font-size:1.5rem}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 256px;gap:64px;align-items:start}.content-grid>*{min-width:0}
.sidebar{display:grid;gap:32px;border-left:1px solid var(--border);padding-left:28px;min-width:0}.widget-title,.article-resources h2,.toc h2{font-size:1rem;margin:0 0 16px;letter-spacing:0}.widget ul,.article-resources ul{list-style:none;padding:0;margin:0}.widget{min-width:0;overflow-wrap:anywhere;font-size:.9375rem}.widget li+li{margin-top:16px}.widget a{text-decoration:none}.widget a:hover{text-decoration:underline}.widget .post-date{display:block;font-size:.8125rem;color:var(--muted);margin-top:4px}
.archive-widgets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}

/* Reading surface: article typography is larger than utility controls. */
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:.875rem;padding:28px 0 24px}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--link);text-decoration:underline}
.reading-grid{grid-template-columns:minmax(0,1fr) var(--layout-rail);gap:var(--layout-gap);width:100%;max-width:none;margin:0}.full-article{min-width:0}.entry-header{padding-bottom:28px;margin-bottom:12px}.entry-header h1{margin:0 0 24px;font-size:clamp(1.875rem,3.2vw,2.75rem);line-height:1.16;letter-spacing:-.035em}.article-deck{font-size:1.1875rem;line-height:1.65;color:var(--muted);margin-bottom:20px}
.entry-content{font-size:1.1875rem;line-height:1.75}.entry-content>*{max-width:100%;min-width:0}.entry-content>p,.entry-content>ul,.entry-content>ol{max-width:var(--measure)}
.entry-content h2{margin:1.8em 0 .75em;scroll-margin-top:24px}.entry-content h3{font-size:1.375rem;margin:1.5em 0 .65em;scroll-margin-top:24px}.entry-content h2:first-child{margin-top:0}.entry-content li+li{margin-top:.4em}.entry-content figure{margin:28px 0}.entry-content figcaption,.wp-caption-text{font-size:.875rem;color:var(--muted);line-height:1.6;margin-top:10px}
.entry-content img{border-radius:4px}.entry-content .wp-block-image>a{max-width:100%}.featured-image{margin-bottom:32px}.featured-image img{width:100%;border-radius:4px}
.prerequisites{padding:20px 24px;border-left:4px solid var(--link);background:var(--subtle);border-radius:0 6px 6px 0;margin:0 0 32px}.prerequisites strong{color:var(--ink);display:block;margin-bottom:6px;font-size:1rem}.prerequisites p{margin:0;font-size:1rem;line-height:1.65}
.entry-content blockquote{border-left:3px solid var(--link);margin:28px 0;padding:18px 24px;background:var(--subtle);font-size:1.0625rem}.entry-content blockquote p:last-child{margin:0}.entry-content hr{border:0;border-top:1px solid var(--border);margin:32px 0}.entry-content a{overflow-wrap:anywhere}
.entry-content .alignleft{float:left;margin:8px 24px 16px 0}.entry-content .alignright{float:right;margin:8px 0 16px 24px}.entry-content::after{content:"";display:table;clear:both}.entry-content .aligncenter{display:block;margin-left:auto;margin-right:auto}
.entry-content :not(pre)>code{font:.9em ui-monospace,"Cascadia Code",Consolas,monospace;background:var(--subtle);color:var(--ink);padding:2px 5px;border-radius:4px;overflow-wrap:anywhere}
.entry-content pre{font:.9375rem/1.7 ui-monospace,"Cascadia Code",Consolas,monospace;overflow:auto;white-space:pre;tab-size:4;background:var(--code);color:#e6edf7;padding:24px;margin:28px 0;border-radius:4px;max-width:100%;word-break:normal;overflow-wrap:normal}
.entry-content pre code{font:inherit;color:inherit;background:none;padding:0;white-space:pre}.code-panel{margin:28px 0;border:1px solid var(--border);border-radius:4px;overflow:hidden;background:var(--code)}.code-panel pre{margin:0;border-radius:0}
.code-toolbar{background:var(--code-head);color:#e6edf7;display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:.875rem;flex-wrap:wrap}.code-toolbar>span:first-child{margin-right:auto}.code-toolbar button{min-height:44px;font-size:.8125rem;background:transparent;border-color:#73849a;color:#e6edf7;padding:8px 12px}.code-toolbar button:hover{background:#ffffff14}.code-panel.is-collapsed pre{max-height:400px}
.table-scroll{overflow:auto;margin:28px 0;border:1px solid var(--border);border-radius:4px}.entry-content table{border-collapse:collapse;width:100%;font-size:1rem;line-height:1.6;text-align:left}.entry-content th{background:var(--subtle);color:var(--ink);font-weight:650}.entry-content td,.entry-content th{padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:top}.entry-content caption{padding:14px;text-align:left;color:var(--muted);font-size:.875rem}
.entry-content iframe{border:0}.wp-block-embed__wrapper{max-width:100%}.entry-content :where([class*=teachable],.course-listing,.course-box){max-width:100%!important;box-sizing:border-box}
.reading-grid>.sidebar{align-self:start;position:sticky;top:28px;max-height:calc(100vh - 56px);overflow:auto;padding:0;border-left:0;align-content:start}.reading-rail{position:static}.toc-list{list-style:none;padding:0;margin:0;counter-reset:toc}.toc-list li{margin:0}.toc-list a{display:block;border-left:2px solid transparent;padding:10px 10px 10px 16px;font-size:.9375rem;line-height:1.5;text-decoration:none;color:var(--muted);min-height:44px}.toc-list a:hover{color:var(--link);text-decoration:underline}.toc-list a[aria-current]{border-color:var(--link);color:var(--link);font-weight:600}.toc-list .toc-sub a{padding-left:28px;font-size:.875rem}
.toc-mobile,.mobile-resources{display:none}.article-resources{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.article-resources a{display:flex;align-items:center;gap:12px;font-size:.9375rem;min-height:44px;text-decoration:none;padding:8px 0}.article-resources a:hover{text-decoration:underline}.article-resources .icon{width:20px;height:20px}
/* Article continuation and native WordPress discussion. */
.entry-footer{border-top:1px solid var(--border);padding-top:24px;margin-top:36px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list a{padding:6px 10px;min-height:36px;border:1px solid var(--border);border-radius:4px;font-size:.875rem;text-decoration:none}
.author-card{display:flex;align-items:flex-start;gap:18px;padding:28px 0 0}.author-card>div{min-width:0;overflow-wrap:anywhere}.author-card p{font-size:.9375rem;color:var(--muted);margin:4px 0 0}.author-name a{color:var(--ink);font-weight:650;text-decoration:none}.author-name a:hover{text-decoration:underline}
.related{border-top:1px solid var(--border);margin:32px 0 0;padding-top:24px}.related h2{font-size:1.5rem;margin:0 0 20px}.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.related-grid .article-card{display:block;border:0;padding:0}.related-grid .card-image{display:block;width:100%;margin-bottom:16px}.related-grid .card-content h3{font-size:1.125rem}.related-grid .card-excerpt,.related-grid .entry-meta{display:none}
.post-navigation{border-top:1px solid var(--border);padding-top:24px;margin:32px 0}.nav-links{display:flex;gap:24px;justify-content:space-between}.nav-links>div{flex:1;min-width:0}.nav-links a{display:block;text-decoration:none}.nav-links a:hover{text-decoration:underline}.nav-links span{display:block;color:var(--muted);font-size:.875rem;margin-bottom:6px}.nav-links strong{font-size:.9375rem}.nav-next{text-align:right}
.pagination{margin:32px 0}.pagination .nav-links{justify-content:flex-start;gap:8px;flex-wrap:wrap}.page-numbers{min-width:44px;min-height:44px;padding:8px 14px;border:1px solid var(--control);border-radius:4px;text-align:center}.page-numbers.current{background:var(--action);color:white;border-color:var(--action)}
.comments-area{border-top:1px solid var(--border);padding-top:24px;margin-top:32px}.comments-area>h2{font-size:1.5rem;margin:0 0 24px}.comment-list{list-style:none;padding:0}.comment-list .children{list-style:none;padding-left:24px;border-left:2px solid var(--border);margin-left:16px}.comment-body{margin:24px 0;padding:0 0 24px;border-bottom:1px solid var(--border)}
.comment-author{color:var(--ink);font-size:.9375rem}.comment-author .avatar{float:left;margin-right:12px;border-radius:50%}.comment-metadata{font-size:.8125rem;margin:6px 0 12px}.comment-metadata a{color:var(--muted)}.comment-content{font-size:1rem}.comment-reply-link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem}
.comment-reply-title{font-size:1.375rem}.comment-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.comment-form>p:not(.comment-form-author):not(.comment-form-email){grid-column:1/-1}.comment-form label{display:block;font-size:.9375rem;font-weight:550;margin-bottom:8px}.comment-form-cookies-consent label{display:inline;font-weight:400}.comment-notes,.logged-in-as{font-size:.9375rem;color:var(--muted)}.comment-form input:not([type=checkbox]):not([type=submit]){width:100%}.required{color:var(--link)}
.page-main{max-width:740px;margin:48px auto}.empty-state{padding:40px 0;min-height:35vh}.empty-state .search-form{margin:24px 0}.post-password-form input{margin:12px 0}.page-links{display:flex;gap:12px}

/* Skin the existing CodeMirror renderer without changing its source or options. */
.entry-content .CodeMirror{background:var(--code)!important;color:#e6edf7!important;border-radius:4px;font-family:ui-monospace,"Cascadia Code",Consolas,monospace;line-height:1.7}
.entry-content .CodeMirror pre{margin:0;border:0;padding:0 4px;background:transparent;color:inherit;border-radius:0;overflow:visible;font:inherit}
.entry-content .CodeMirror-gutters{background:var(--code-head)!important;border-color:#53647a!important}
.entry-content .CodeMirror-linenumber{color:#a6b4c8!important}
.entry-content .CodeMirror-panel{background:var(--code-head)!important;color:#e6edf7!important}
.entry-content .CodeMirror .cm-keyword{color:#c4b5fd!important}.entry-content .CodeMirror .cm-number{color:#fda4af!important}.entry-content .CodeMirror .cm-string{color:#a7f3d0!important}.entry-content .CodeMirror .cm-comment{color:#a6b4c8!important}.entry-content .CodeMirror .cm-def,.entry-content .CodeMirror .cm-variable-3,.entry-content .CodeMirror .cm-type{color:#67e8f9!important}.entry-content .CodeMirror .cm-meta{color:#f0abfc!important}
.CodeMirror-panel .control-panel .tool b{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}

.entry-content .CodeMirror-panel .info-panel{height:auto;min-height:56px;padding:6px 10px;align-items:center;gap:8px;flex-wrap:wrap;transition:none}
.entry-content .CodeMirror-panel .info-panel .language{background:none!important;color:#e6edf7!important;padding:4px;font-size:.75rem}
.entry-content .CodeMirror-panel .control-panel{padding:0;gap:8px}
.entry-content .CodeMirror-panel .control-panel .tool{margin:0;cursor:pointer;transition:none}
.entry-content .CodeMirror-panel .control-panel .tool b{border:1px solid #73849a;border-radius:4px;width:auto;height:auto;padding:6px 10px;font:600 .875rem/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;display:inline-flex;align-items:center;justify-content:center}
.entry-content .CodeMirror-panel .control-panel .tool b:after,.entry-content .CodeMirror-panel .control-panel .tool b:before{display:none!important}
.CodeMirror-notice:empty{display:none}



/* Native navigation, footer and responsive reading behavior. */
.has-js .primary-navigation .has-submenu{display:flex;align-items:center;gap:4px}
.submenu-toggle{background:transparent;border:0;color:var(--ink);font-size:20px;padding:0;min-width:44px;min-height:44px}.submenu-toggle:hover{background:var(--surface);color:var(--link)}
.has-js .primary-navigation .has-submenu>.sub-menu{display:none}.has-js .primary-navigation .has-submenu.is-submenu-open>.sub-menu{display:block}
.site-footer{margin-top:64px;background:var(--navy);color:#c9d3e2}.footer-inner{max-width:var(--layout-max);padding:40px var(--layout-gutter) 24px;margin:auto}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:48px}.footer-brand img{width:196px;height:auto;max-height:48px;object-fit:contain}.footer-brand p{font-size:.875rem;margin:16px 0 0;color:#b8c4d6;max-width:40ch}
.footer-links h2{color:white;font-size:1rem;margin:0 0 12px}.footer-links a{display:block;min-height:40px;text-decoration:none;font-size:.9375rem}.footer-links a:hover{text-decoration:underline}.footer-links ul{list-style:none;margin:0;padding:0}.site-footer a{color:#c6d9ff}
.footer-widgets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}.site-footer .widget-title,.site-footer .widget :where(h1,h2,h3,h4,h5,h6){color:white}.footer-bottom{border-top:1px solid #435268;margin-top:32px;padding-top:24px;display:flex;justify-content:space-between;gap:24px;font-size:.875rem}.footer-bottom p{margin:0}
/* Footer navigation uses a clear reading order, native menus and a labelled logo action. */
.footer-top{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:48px}.footer-brand{min-width:0}.footer-back-to-top{display:inline-flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:100%;border-radius:4px;text-decoration:none}.footer-back-to-top>span{display:inline-flex;align-items:center;gap:8px;min-height:24px;font-size:.875rem;font-weight:600}.footer-back-to-top .icon{width:18px;height:18px}.footer-back-to-top:hover>span{text-decoration:underline;text-underline-offset:4px}.site-footer a:focus-visible{outline-color:#c6d9ff}.footer-links a{min-height:44px;padding-block:8px;line-height:1.5}.footer-bottom{align-items:center;flex-wrap:wrap;gap:12px 24px;padding-top:16px}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}.footer-bottom p{line-height:1.6}
@media(max-width:700px){.footer-top{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));column-gap:24px}.footer-brand{grid-column:1/-1}.footer-links{min-width:0}}
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd){background:var(--surface)}.entry-content .wp-block-table.is-style-stripes{border-color:var(--border)}
.CodeMirror{max-width:100%;font-size:.9375rem}.CodeMirror-scroll{overflow:auto!important}
@media(min-width:1101px){.primary-navigation .sub-menu.opens-left{right:0;left:auto}.primary-navigation .sub-menu .sub-menu.opens-left{right:100%;left:auto}}
@media(max-width:1150px){.lead-grid{gap:32px}.secondary-stories{padding-left:28px}.secondary-stories .article-card{display:block}.secondary-stories .card-image{display:none}.reading-grid{grid-template-columns:minmax(0,1fr);gap:32px}.reading-grid>.sidebar{border-left:0;padding:0;position:static;max-height:none;overflow:visible}.toc-desktop{display:none}.toc-mobile{display:block;border-block:1px solid var(--border);margin-bottom:28px}.toc-mobile summary{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:12px 0;cursor:pointer;font-weight:600;color:var(--ink);list-style:none}.toc-mobile summary::-webkit-details-marker{display:none}.toc-mobile[open] summary .icon{transform:rotate(180deg)}.toc-mobile .toc-list{padding:0 0 12px}.mobile-resources{display:block}.mobile-resources .article-resources{border:0;padding:0;margin:0 0 24px}.reading-rail{display:none}}
@media(max-width:900px){:root{--layout-gutter:24px}.article-grid{gap:32px}.search-label{display:none}.archive-header{padding-top:36px}}
@media(max-width:700px){.archive-header{display:block;padding:28px 0 24px}.archive-count{display:block;margin-top:16px}.archive-heading h1{font-size:2rem}.intro{font-size:1.0625rem}.topic-nav{gap:0 20px;margin-bottom:24px}.lead-grid{display:block;margin-bottom:32px}.lead-copy{padding-top:20px}.lead-copy h2{font-size:1.75rem}.featured-summary{font-size:1rem}.secondary-stories{border-left:0;padding-left:0;margin-top:28px;gap:0}.secondary-stories .article-card{padding:24px 0;border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(0,1fr) 104px}.secondary-stories .card-image{display:block}.secondary-stories .article-card:last-child{padding-bottom:0}.article-list .article-card{grid-template-columns:136px minmax(0,1fr);gap:24px}.article-list .card-content h3{font-size:1.25rem}.article-list .card-excerpt{display:none}.article-grid .card-content h3{font-size:1.25rem}.article-grid .card-excerpt{font-size:.9375rem}.article-grid{gap:28px}.breadcrumbs{padding:24px 0}.entry-header{padding-bottom:20px;margin-bottom:8px}.entry-content{font-size:1.125rem}.entry-content h2{font-size:1.625rem}.entry-content h3{font-size:1.375rem}.entry-content pre{font-size:.875rem;padding:18px}.entry-content table{font-size:.9375rem}.footer-top{flex-wrap:wrap;gap:28px}.footer-brand{width:100%}.footer-widgets,.archive-widgets{grid-template-columns:1fr}.footer-inner{padding:32px var(--layout-gutter) 24px}.site-footer{margin-top:48px}}
@media(max-width:480px){:root{--layout-gutter:20px}.header-search-panel{padding:16px}.search-form{gap:6px}.search-form input[type=search]{padding:10px}.search-form button{padding:10px 12px;font-size:.9375rem}.article-grid{grid-template-columns:1fr}.article-grid .card-content h3{font-size:1.375rem}.article-grid .card-image{margin-bottom:16px}.article-list .article-card{grid-template-columns:96px minmax(0,1fr);gap:20px}.article-list .card-image{aspect-ratio:1}.article-list .card-content h3{font-size:1.125rem}.story-context{gap:4px 12px}.entry-header h1{font-size:1.875rem;line-height:1.2}.entry-content .alignleft,.entry-content .alignright{float:none;margin:24px 0}.entry-content blockquote{padding:16px 18px}.code-toolbar{padding:6px 10px;gap:6px}.code-toolbar button{padding:8px;font-size:.8125rem}.comment-list .children{margin-left:4px;padding-left:16px}.comment-form{display:block}.related-grid{grid-template-columns:1fr;gap:24px}.related-grid .article-card{display:flex;gap:16px}.related-grid .card-image{width:96px;flex-shrink:0;margin:0;aspect-ratio:1}.nav-links{gap:16px}.footer-bottom{font-size:.8125rem}}
@media(max-width:700px){.secondary-stories .card-image{grid-column:2;grid-row:1;aspect-ratio:1;margin:0}.secondary-stories .card-content{grid-column:1;grid-row:1}.publication-index{display:inline-flex;align-items:center;gap:6px;min-height:44px}.archive-search{margin-top:20px}}
@media(max-width:359px){:root{--layout-gutter:16px}.secondary-stories .article-card{grid-template-columns:1fr 80px;gap:16px}.entry-header h1{font-size:1.75rem}}
@media(max-width:1100px){
.header-inner{min-height:76px;padding:12px var(--layout-gutter);gap:12px;flex-wrap:wrap;justify-content:space-between}.brand img{width:180px}.has-js .menu-toggle{display:inline-flex}
.header-navigation{flex-basis:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 0 8px;border-top:1px solid var(--border)}.has-js .header-navigation{display:none}.has-js .header-navigation.is-open{display:flex}
.primary-navigation{flex:none}.header-navigation ul{flex-direction:column;align-items:stretch;gap:4px}.header-navigation a{padding:12px;min-height:48px}
.primary-navigation .sub-menu{position:static;display:block;padding:0 0 0 16px;box-shadow:none;min-width:0;max-width:100%;border:0}.has-js .primary-navigation .has-submenu{flex-wrap:wrap;justify-content:space-between}.has-js .primary-navigation .has-submenu>a{flex:1}.has-js .primary-navigation .has-submenu>.sub-menu{width:100%}
.header-utility{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.header-actions{flex-direction:column;align-items:stretch;gap:4px;min-width:0}.header-search>summary,.header-appearance>summary{justify-content:flex-start;min-height:48px;padding:12px;flex-wrap:wrap}.header-search-panel{position:static;width:100%;padding:12px 8px 16px;border:0;box-shadow:none;background:transparent}.search-label{display:inline}
.appearance-label{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;flex:1}.appearance-current{color:var(--muted)}.appearance-panel{position:static;width:100%;max-width:none;box-shadow:none;margin:8px 0;padding:16px}.header-courses{margin-top:16px}.header-courses a{padding:12px 18px;min-height:48px}
}
@media(max-width:600px){.brand img{width:180px}.header-search-panel .search-form{flex-wrap:wrap}.header-search-panel .search-form input{flex-basis:150px}.header-search-panel .search-form button{flex-grow:1}}
@media(max-width:379px){.brand img{width:160px}}
@media(forced-colors:active){.appearance-option{border-color:ButtonText}.appearance-option:has(input:checked){border:2px solid Highlight}.primary-navigation a[aria-current=page]{outline:1px solid Highlight;outline-offset:-1px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.sidebar,.toc,.mobile-resources,.comments-area,.post-navigation,.eeio-offers,.code-toolbar{display:none!important}body{background:white;color:black}.site-wrap{max-width:none;padding:0}.content-grid{display:block}.entry-content pre{white-space:pre-wrap;max-height:none!important;background:#f4f4f4;color:black}.entry-content a{color:inherit}h1,h2,h3{break-after:avoid}figure,table{break-inside:avoid}}
