@font-face{font-family:"EB Garamond";src:url("assets/fonts/EBGaramond.ttf") format("truetype");font-weight:400 800;font-style:normal;font-display:swap}

:root{color-scheme:light}.theme-toggle{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;border:1px solid #aaa;border-radius:14px;background:linear-gradient(#fff,#e9e9e7);padding:5px 10px;color:#444;font:12px/1.4 Verdana,Arial,sans-serif;cursor:pointer}.theme-toggle:focus-visible{outline:3px solid #3685c0;outline-offset:3px}.theme-track{width:25px;height:14px;border-radius:9px;background:#c7c7c3;border:1px solid #aaa;padding:1px;display:inline-flex;align-items:center}.theme-track::after{content:"";width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003}.utility>.theme-toggle{margin-right:auto}html[data-theme=dark]{color-scheme:dark}html[data-theme=dark] body{background:#272826;color:#e5e5df}html[data-theme=dark] .shell{background:#323330;border-color:#5b5d56;box-shadow:0 2px 5px #0003}html[data-theme=dark] .name{color:#eeeeE7}html[data-theme=dark] a{color:#9cc8ed}html[data-theme=dark] a:hover{color:#c8e3f8}html[data-theme=dark] .navigation{background:linear-gradient(#53554e,#3c3e38);border-color:#606259}html[data-theme=dark] .tab{color:#dedfd6;text-shadow:0 1px #222;border-color:#65675e}html[data-theme=dark] .tab:hover{background:#ffffff0b}html[data-theme=dark] .tab[aria-selected=true]{background:linear-gradient(#5a6b71,#3d505a);color:#edf4f6}html[data-theme=dark] :is(.subtitle,.intro,.utility,.project p,.section>p,.post-meta,.post p,.project-entry p,.meta,.body figcaption,footer){color:#bdc0b5}html[data-theme=dark] :is(.utility,.project,.latest-writing,.post,.project-entry,.contact-note,.article-footer,.panel-projects .projects){border-color:#56584f}html[data-theme=dark] :is(.body pre,.project-entry pre){background:#292b26;border-color:#56584f}html[data-theme=dark] .body blockquote{color:#c6c9be;border-color:#74786b}html[data-theme=dark] .theme-toggle{background:linear-gradient(#53554d,#3a3c36);border-color:#73776a;color:#eee}html[data-theme=dark] .theme-track{background:#778a8c;border-color:#8f9d9a}html[data-theme=dark] .theme-track::after{transform:translateX(10px)}

.theme-toggle[hidden]{display:none}

.name,.article,h1{font-family:"EB Garamond",Garamond,"Times New Roman",serif}
.article{font-size:19px;line-height:1.65}

html[data-theme=dark] .project-entry summary{color:#9cc8ed}html[data-theme=dark] .project-entry summary:hover{color:#c8e3f8}

.language-switch{display:inline-flex;flex-shrink:0;align-items:center;border:1px solid #aaa;border-radius:4px;overflow:hidden;font:12px/1.4 Verdana,Arial,sans-serif}.language-switch[hidden]{display:none}.language-switch button{border:0;border-right:1px solid #aaa;background:#f2f2ef;color:#555;padding:6px 8px;cursor:pointer;font:inherit}.language-switch button:last-child{border-right:0}.language-switch button[aria-pressed=true]{background:#d3e6ef;color:#153f58;font-weight:bold}.language-switch button:focus-visible{outline:2px solid #155ca3;outline-offset:-3px}html[data-theme=dark] .language-switch{border-color:#73776a}html[data-theme=dark] .language-switch button{background:#3a3c36;color:#d6d8cf;border-color:#73776a}html[data-theme=dark] .language-switch button[aria-pressed=true]{background:#4c626c;color:#edf4f6}.utility{align-items:center;flex-wrap:wrap}.utility-links{align-items:center}.navigation>.language-switch{align-self:center}html[data-theme=dark] .language-switch button:focus-visible{outline-color:#c8e3f8}

.display-controls{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.utility>.display-controls{margin-right:auto}.navigation>.display-controls{align-self:center}

/* Subtle page background, shared by the portfolio and article pages. */
html{min-height:100%}
body{min-height:100vh;background-color:#eeefed;background-image:radial-gradient(ellipse at 50% 0%,#fffef8 0%,#e6e8e3 50%,#cbd0c8 100%);background-attachment:fixed}
html[data-theme=dark] body{background-color:#272826;background-image:radial-gradient(ellipse at 50% 0%,#484a40 0%,#2d302a 50%,#191c18 100%)}

/* One centered name, with appearance and language controls at the edges. */
.masthead{display:grid;grid-template-columns:110px minmax(0,1fr) 110px;align-items:center;gap:10px;text-align:center}
.masthead>.theme-toggle{justify-self:start}
.masthead>.name{grid-column:2;min-width:0;font-size:28px;letter-spacing:.15px;white-space:nowrap}
.masthead>.language-switch{justify-self:end}
