/* ==========================================================================
   Shared styles for every page. Page-specific styles live in assets/css/pages/.
   ========================================================================== */

/* Icons: official Font Awesome Free 7 and Academicons glyphs, subset to the ones used here */
/* Official Font Awesome Free 7 (fonts: SIL OFL 1.1) and Academicons 1.9 (SIL OFL 1.1), subset to the glyphs this site uses. */
@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:900;font-display:block;src:url(data:font/woff2;base64,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) format("woff2")}
@font-face{font-family:"Font Awesome 7 Brands";font-style:normal;font-weight:400;font-display:block;src:url(data:font/woff2;base64,d09GMk9UVE8AAAOIAAkAAAAABjQAAANCA4MDAAAAAAAAAAAAAAAAAAAAAAAAAAAADYUMBmAAPAE2AiQDCgQGBYNeByAbjwVRVA1aAF8k2KbWd7CFBaujGAWI5NLaQVgbAsNJjr7wbX7/+7U7DzGbuGJfFDVvZolSOJ1QN2XwJJYgqm17DzQSjaDGarNVZ6xBv96/L3bVHeEOjBTKYK551nh/6XizjeAgcrruO9WDBObZ73+BiIfzfy5d8t5sul0Kn1In7etVWgennthhJlaKHNA96zQUdrauS6W8vG4lCS1QKKd8amWrfHc6Qb0xm5TBO4+R1CSyxxx+z1z3Trvfq0xkM4E9/FtwRqxjftwtN6f8oE6focuAfJBbxHVc/o/rldu6wp/3t5xdvRLe73LeXtdap5aG8ZXd/AWvnxsXHgqNtOtnzkZyrfksTfo7WmFali8gSYZkGho70jPwbuDy+ths+BSf5KyjxzGZxNb5nnaD68K5uMEpAOWcEFIgm4L2z6OS+fKF/sbBlNWPgVj0pEZzBVTmbIEo9uN6/XUAwJZS83zTiJFUL/U9Vh6c17hus12H4megG7BWYUZhMZcwvXr19A2L0AxWWbgBmR/zyOAFE6s/gCRdSomrZCdJNEgcOY7EV+KoFMRFXE1SzGuJ40A/JYhYcRDNLrropyA5yp+pB8TH5TN5ZJhck6sX/UDrsGkj1iss+hHWnd10EcosQhdx9iwuwoa6sOncOrPct4rXVSDwKL0RIYH2f2SUP2kLF9djlcLqdetXQ63G+guwFGwXLlhQ/EA+ecb+IVzbf3cEqkvdPY0phSiqDAi//PokHQCdOG9dvAf1Bqe7UKMgzuRhTviZR1pVaN7tj2CAIAAok+cTZDlBCGtgRKJBKH86m8n3kJ8HGrUCsb/8MCAeAFOwgDj+VCFIJkM54HCWiOawAjj2d8/V650ACEK+EIT/wV9d659yFQCAhw2/b9hhwaUO6N4OIglPeVZJ4v03/red8hgQObCDBkBbhl5EGECpPQqAChjziIvKE+KN8ELUWOKFst3xwkx5OzWcmmq7SqvW7Nswb9acLcxhklP211i1oo0ut2vaJmqW5ZKeDWQGVmHDOBvNFGg6UHjWtiXjlfJtxPSvvAw+Ch8pUnKPaRs2zUfxMpPFaZ8ASWOQ32TQvkKJb6rfidRt4/xMTsoHMeajKG/zIRgAAA==) format("woff2")}
@font-face{font-family:"Academicons";font-style:normal;font-weight:400;font-display:block;src:url(data:font/woff2;base64,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) format("woff2")}
.fa-solid,.fa-brands,.ai{display:inline-block;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto;-webkit-font-smoothing:antialiased}
.fa-solid{font-family:"Font Awesome 7 Free";font-weight:900} .fa-brands{font-family:"Font Awesome 7 Brands";font-weight:400} .ai{font-family:"Academicons";font-weight:400}
.fa-envelope:before{content:"\f0e0"} .fa-file-lines:before{content:"\f15c"} .fa-award:before{content:"\f559"} .fa-flask:before{content:"\f0c3"}
.fa-microphone:before{content:"\f130"} .fa-tv:before{content:"\f26c"} .fa-flag:before{content:"\f024"} .fa-people-group:before{content:"\e533"}
.fa-landmark:before{content:"\f66f"} .fa-graduation-cap:before{content:"\f19d"}
.fa-linkedin:before{content:"\f08c"} .fa-x-twitter:before{content:"\e61b"}
.ai-dblp:before{content:"\e94f"} .ai-google-scholar:before{content:"\e9d4"}

/* Reading-progress line under the menu */
.readbar {position:fixed;left:0;right:0;top:calc(56px + env(safe-area-inset-top,0px));height:2px;background:#0f6e56;transform-origin:0 50%;transform:scaleX(0);z-index:30;pointer-events:none}

/* "Skip to content" link for keyboard and screen-reader users */
.skip-link {position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:#0f6e56;padding:8px 14px;border:2px solid #0f6e56;border-radius:3px;font-weight:500}
.skip-link:focus {left:12px}

/* Visible keyboard focus everywhere */
:focus-visible {outline:2px solid #0f6e56;outline-offset:2px}

/* Mobile menu */
.nav-toggle {display:none}
@media (max-width:760px) {
  .nav-toggle {display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:42px;height:42px;margin-right:-9px;padding:9px;border:0;background:transparent;cursor:pointer}
  .nav-toggle span {display:block;width:22px;height:2px;border-radius:1px;background:#222;transition:transform .2s,opacity .2s}
  .nav-toggle[aria-expanded="true"] span:nth-child(1) {transform:translateY(6px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2) {opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3) {transform:translateY(-6px) rotate(-45deg)}
  .nav-links {display:none !important;position:absolute;top:100%;left:0;right:0;flex-direction:column;padding:6px 0;background:#fff;border-bottom:1px solid #e8e8e8;box-shadow:0 10px 18px rgba(0,0,0,.06)}
  .nav-links.open {display:flex !important}
  .nav-links a, .nav-links a:not(.active) {display:block !important;padding:11px 22px !important;font-size:16px !important}
}

@media (prefers-reduced-motion:reduce) {
  * {transition:none !important;animation:none !important;scroll-behavior:auto !important}
}
@media print {
  .navbar, .readbar, .nav-toggle, .skip-link {display:none !important}
}

/* ===== Theme toggle (sun/moon button in the menu) ===== */
.nav-inner {justify-content:flex-start !important}
.nav-links {order:1;margin-left:auto}
.theme-toggle {order:2;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:6px;padding:0;border:0;border-radius:50%;background:transparent;color:#555;cursor:pointer}
.theme-toggle:hover {color:#0f6e56;background:rgba(15,110,86,.08)}
.theme-toggle svg {width:19px;height:19px}
.theme-toggle .i-sun, html[data-theme="dark"] .theme-toggle .i-moon {display:none}
html[data-theme="dark"] .theme-toggle .i-sun {display:block}
.nav-toggle {order:3}
@media (max-width:760px) {
  .theme-toggle {margin-left:auto;margin-right:2px}
}

/* ===== Dark mode: dark-theme versions of the colors above ===== */
html[data-theme="dark"] {color-scheme:dark}
html[data-theme="dark"] .readbar {background:#0f6e56}
html[data-theme="dark"] .skip-link {background:#121314;color:#62dabc;border:2px solid #0f6e56}
html[data-theme="dark"] :focus-visible {outline:2px solid #0f6e56}
@media(max-width:760px) {
  html[data-theme="dark"] .nav-toggle span {background:#c6cacd}
  html[data-theme="dark"] .nav-links {background:#121314;border-bottom:1px solid #242628;box-shadow:0 10px 18px rgba(0,0,0,.06)}
}
html[data-theme="dark"] .theme-toggle {color:#9aa0a5}
html[data-theme="dark"] .theme-toggle:hover {color:#62dabc;background:rgba(15,110,86,.08)}

/* ===== Dark mode: hand-tuned adjustments ===== */
html[data-theme="dark"] .theme-toggle {color:#c9d1cf}
html[data-theme="dark"] .theme-toggle:hover {color:#5cc4a1;background:rgba(92,196,161,.12)}
html[data-theme="dark"] .readbar {background:#3fae8a}
html[data-theme="dark"] .nav-toggle span {background:#dfe5e3}
/* figures and logos are drawn for white paper; keep that backing */
html[data-theme="dark"] .fig, html[data-theme="dark"] .fig.svg img, html[data-theme="dark"] .plogo img, html[data-theme="dark"] .arc-wrap svg {background:#fff;border-radius:3px}
html[data-theme="dark"] .plogo img {padding:3px}
html[data-theme="dark"] img {filter:brightness(.94)}
