:root{
  --md-primary-fg-color:#355bb2; --md-primary-fg-color--light:#5b7cc4; --md-primary-fg-color--dark:#26417e;
  --md-accent-fg-color:#f57726; --cs-soft:#eaf0fb;
}
/* white top bar, matching the home */
.md-header{background:#fff;color:var(--md-default-fg-color);box-shadow:0 0 .2rem rgba(18,35,59,.08),0 .2rem .4rem rgba(18,35,59,.06)}
.md-header__button.md-logo img{height:1.55rem;width:auto}
.md-header__title{color:var(--md-default-fg-color);font-weight:600}
.md-header [data-md-component=search] .md-search__input{background:#eef3f9}
.cs-hnav{display:flex;gap:.1rem;align-items:center;margin-left:auto}
.cs-hnav a{font-size:.72rem;color:var(--md-default-fg-color--light);padding:.4rem .6rem;border-radius:.35rem;white-space:nowrap}
.cs-hnav a:hover{color:var(--md-primary-fg-color);background:var(--cs-soft)}
.cs-mnt{display:flex;align-items:center;gap:.4rem;color:var(--md-default-fg-color--light);margin:0 .3rem 0 .5rem}
.cs-mnt img{height:1.9rem;display:block}
@media (max-width:76.1875em){.cs-hnav{display:none}.cs-mnt{display:none}}
/* headings in serif, like the home */
.md-typeset h1,.md-typeset h2,.md-typeset h3{font-family:Charter,"Iowan Old Style",Georgia,serif}
/* "browse this case on GitHub" link under each tutorial title */
.md-typeset a.cs-ghsource{display:inline-flex;align-items:center;gap:.45rem;margin:-.3rem 0 1.4rem;padding:.4rem .8rem;font-size:.78rem;font-weight:600;color:var(--md-default-fg-color--light);border:1px solid var(--md-default-fg-color--lightest);border-radius:.6rem;text-decoration:none;transition:color .15s,border-color .15s,background .15s}
.md-typeset a.cs-ghsource:hover{color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);background:var(--cs-soft)}
.md-typeset a.cs-ghsource svg{width:1rem;height:1rem;fill:currentColor;flex:none}
.cs-home{color:var(--md-default-fg-color--light)}
/* home hero (centered) */
.cs-hero{max-width:52rem;margin:0 auto;padding:9vh 1rem 6rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.cs-hero h1{font-family:Charter,"Iowan Old Style",Georgia,serif;font-size:2.6rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .7rem}
/* Charter's underscore glyph is very wide; shrink it so "code_saturne" reads tight */
.cs-hero h1 .cs-us{display:inline-block;transform:scaleX(.5);margin:0 -.13em}
.cs-hero p{color:var(--md-default-fg-color--light);max-width:42rem;margin:0 0 1.7rem;font-size:.95rem}
.cs-herosearch{display:flex;align-items:center;gap:.7rem;width:min(38rem,92vw);border:1.5px solid var(--md-default-fg-color--lightest);border-radius:.85rem;padding:.95rem 1.15rem;color:var(--md-default-fg-color--light);cursor:text;box-shadow:0 .4rem 1.4rem rgba(53,91,178,.10);transition:border-color .15s}
.cs-herosearch:hover{border-color:var(--md-primary-fg-color)}
.cs-hero-mnt{margin-top:1.6rem;display:flex;align-items:center;gap:.5rem;color:var(--md-default-fg-color--light);font-size:.8rem}
.cs-hero-mnt img{height:2rem;display:block}
.cs-clone{margin-top:1.6rem;text-align:center;color:var(--md-default-fg-color--light);font-size:.8rem}
.cs-clone>span{display:block}
.cs-clone code{display:inline-block;margin-top:.45rem;background:#eef3f9;border:1px solid #e3e9f1;border-radius:.4rem;padding:.4rem .7rem;font-family:var(--md-code-font,monospace);font-size:.78rem;color:var(--md-primary-fg-color)}
.cs-clone-note{margin-top:.6rem;font-size:.68rem;color:var(--md-default-fg-color--lighter)}
.cs-clone-note code{margin:0;padding:.05rem .3rem;font-size:.68rem}
/* home faceted search + result cards */
.cs-search{width:min(40rem,92vw);margin:.3rem auto 0}
.cs-search__box{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;border:1.5px solid var(--md-default-fg-color--lightest);border-radius:.85rem;padding:.7rem .8rem;box-shadow:0 .4rem 1.4rem rgba(53,91,178,.10)}
.cs-search__box:focus-within{border-color:var(--md-primary-fg-color)}
.cs-sic{color:var(--md-default-fg-color--light);flex:none}
.cs-search input{flex:1;min-width:8rem;border:0;background:none;outline:none;font-size:.95rem;color:var(--md-default-fg-color)}
.cs-fchip{display:inline-flex;align-items:center;gap:.3rem;background:var(--cs-soft);color:var(--md-primary-fg-color);border-radius:.4rem;padding:.15rem .35rem .15rem .5rem;font-size:.72rem}
.cs-fchip .k{opacity:.6;font-size:.62rem;text-transform:uppercase}.cs-fchip b{font-weight:600}
.cs-fchip button{border:0;background:none;color:inherit;cursor:pointer;font-size:.9rem;opacity:.6}.cs-fchip button:hover{opacity:1}
.cs-addf{position:relative;flex:none}
.cs-addf>button{border:1px dashed var(--md-default-fg-color--lightest);background:none;color:var(--md-default-fg-color--light);cursor:pointer;border-radius:.5rem;padding:.3rem .6rem;font-size:.72rem}
.cs-addf>button:hover{border-color:var(--md-primary-fg-color);color:var(--md-primary-fg-color)}
.cs-pop{position:absolute;right:0;top:calc(100% + .4rem);width:18rem;max-height:60vh;overflow:auto;background:#fff;border:1px solid var(--md-default-fg-color--lightest);border-radius:.7rem;box-shadow:0 .6rem 2rem rgba(18,35,59,.18);padding:.7rem;z-index:10;text-align:left}
.cs-pop[hidden]{display:none}.cs-pg{margin-bottom:.6rem}.cs-pg h4{font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--md-default-fg-color--lighter);margin:0 0 .35rem;font-weight:700}
.cs-pv{display:flex;flex-wrap:wrap;gap:.3rem}
.cs-vchip{border:1px solid var(--md-default-fg-color--lightest);background:#fff;color:var(--md-default-fg-color--light);border-radius:1rem;padding:.15rem .5rem;font-size:.7rem;cursor:pointer}
.cs-vchip:hover{border-color:var(--md-primary-fg-color)}.cs-vchip[aria-pressed=true]{background:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);color:#fff}
.cs-results{width:min(60rem,94vw);margin:2rem auto 0;text-align:left}
.cs-rcount{font-size:.72rem;color:var(--md-default-fg-color--light);margin-bottom:.7rem}
.cs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.7rem}
.cs-card{display:flex;flex-direction:column;gap:.4rem;border:1px solid var(--md-default-fg-color--lightest);border-radius:.6rem;padding:.8rem .85rem;background:#fff;box-shadow:0 1px 2px rgba(18,35,59,.05);transition:border-color .12s,transform .12s}
.cs-card:hover{border-color:var(--md-primary-fg-color);transform:translateY(-2px)}
.cs-card .cr{display:flex;justify-content:space-between;align-items:center;gap:.4rem}
.cs-card .tp{display:inline-flex;align-items:center;gap:.35rem;font-size:.66rem;color:var(--md-default-fg-color--light);font-weight:600}
.cs-card .tp .d{width:.5rem;height:.5rem;border-radius:50%}
.cs-card h3{font-family:Charter,"Iowan Old Style",Georgia,serif;font-size:1rem;margin:0;line-height:1.2;color:var(--md-default-fg-color)}
.cs-card .mt{display:flex;flex-wrap:wrap;gap:.3rem .7rem;font-size:.68rem;color:var(--md-default-fg-color--light);align-items:center}
.cs-card .bd{font-family:var(--md-code-font,monospace);font-size:.62rem;background:#eef3f9;border:1px solid #e3e9f1;padding:0 .3rem;border-radius:.25rem;color:var(--md-primary-fg-color)}
.cs-card .phs{display:flex;flex-wrap:wrap;gap:.25rem}.cs-card .ph{font-size:.62rem;color:var(--md-primary-fg-color);background:var(--cs-soft);padding:.05rem .4rem;border-radius:.3rem}
.cs-card .pill{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .4rem;border-radius:1rem;white-space:nowrap}
.cs-card .pill.beginner{color:#2f7d4f;background:#e6f0e9}.cs-card .pill.intermediate{color:#a9781f;background:#f6eddb}.cs-card .pill.advanced{color:#b8531f;background:#f7e8dd}
.cs-none{color:var(--md-default-fg-color--light);padding:1.5rem 0}
/* left nav = same tree as the home */
.cs-navlbl{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--md-default-fg-color--lighter);font-weight:700;padding:0 .6rem;margin:.2rem 0 .6rem}
.cs-grp{margin:0 0 .1rem}
.cs-grp>summary{list-style:none;display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.42rem .6rem;border-radius:.35rem;font-size:.76rem;font-weight:600;color:var(--md-default-fg-color)}
.cs-grp>summary::-webkit-details-marker{display:none}
.cs-grp>summary:hover{background:var(--cs-soft)}
.cs-chev{margin-left:auto;color:var(--md-default-fg-color--lighter);transition:transform .15s}
.cs-grp[open]>summary .cs-chev{transform:rotate(90deg)}
.cs-dot{width:.55rem;height:.55rem;border-radius:50%;flex:none}
.cs-tree ul{list-style:none;margin:.1rem 0 .5rem;padding:0 0 0 1.55rem}
.cs-link{display:block;padding:.32rem .6rem;border-radius:.3rem;font-size:.74rem;color:var(--md-default-fg-color--light);line-height:1.3}
.cs-link:hover{background:#fff;color:var(--md-primary-fg-color)}
.cs-link.on{color:var(--md-primary-fg-color);font-weight:700;background:var(--cs-soft)}
.cs-toplink{display:block;padding:.42rem .6rem;border-radius:.35rem;font-size:.76rem;font-weight:600;color:var(--md-default-fg-color)}
.cs-toplink:hover{background:var(--cs-soft)}
.cs-toplink.on{color:var(--md-primary-fg-color);background:var(--cs-soft)}
/* light footer with Simvia (no black bar, no prev/next) */
.md-footer{background:transparent}
.md-footer-meta.cs-footer{background:#f2f5fa;color:var(--md-default-fg-color--light);border-top:1px solid #e3e9f1}
.cs-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem .2rem}
.cs-footer__mnt{display:flex;align-items:center;gap:.5rem;font-size:.72rem}
.cs-footer__mnt img{height:1.7rem;display:block}
.cs-footer__links{display:flex;gap:1.1rem;font-size:.72rem}
.cs-footer__links a{color:var(--md-default-fg-color--light)}
.cs-footer__links a:hover{color:var(--md-primary-fg-color)}
