/* Styles for publications.html. Shared styles (menu, icons, progress line) are in assets/css/site.css. */
:root{ --theme:#0f6e56; --theme-dk:#0a5240; --theme-wash:#e9f3ef; --text:#000; --text-mut:#828282; --divider:#e8e8e8; --bg:#fff; --hover-bg:#fafafa; }
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(64px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Roboto",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:300;font-size:16px;line-height:1.5}
a{color:var(--theme);text-decoration:none}
a:hover{color:var(--theme);text-decoration:underline}
button:focus-visible,a:focus-visible{outline:2px solid var(--theme);outline-offset:2px}
/* navbar */ .navbar{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--divider);padding-top:env(safe-area-inset-top,0px)}
.nav-inner{max-width:930px;margin:0 auto;padding:0 15px;height:56px;display:flex;align-items:center;justify-content:space-between}
.brand{font-size:1.25rem;font-weight:300;color:var(--text)}
.brand b{font-weight:700}
.brand:hover{text-decoration:none;color:var(--text)}
.nav-links{display:flex;gap:2px;align-items:center}
.nav-links a{color:var(--text);padding:8px 10px;font-size:15.5px;font-weight:400}
.nav-links a:hover{color:var(--theme);text-decoration:none}
.nav-links a.active{color:var(--theme);font-weight:500}
/* page */ .container{max-width:930px;margin:0 auto;padding:calc(84px + env(safe-area-inset-top,0px)) 15px 40px}
.post-header{margin-bottom:1.6rem}
.post-title{font-size:2.6rem;font-weight:300;margin:0 0 .3rem;line-height:1.2}
.post-description{color:var(--text-mut);font-size:1.05rem;margin:0}
/* toggles */ .filters{border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);padding:16px 0 14px;margin:0 0 6px}
.filter-row{display:flex;flex-wrap:wrap;gap:8px}
.tbtn{font-family:inherit;font-size:.8rem;font-weight:400;letter-spacing:.02em;text-transform:uppercase; padding:.38rem .95rem;border:1px solid #c9c9c9;border-radius:2px;background:#fff;color:var(--text);cursor:pointer;transition:all .15s}
.tbtn:hover{border-color:var(--theme);color:var(--theme)}
.tbtn[aria-pressed="true"]{background:var(--theme);border-color:var(--theme);color:#fff}
.tbtn.all[aria-pressed="true"]{background:#333;border-color:#333}
.tbtn .ct{opacity:.65;margin-left:6px;font-size:.72rem}
.status{font-size:.85rem;color:var(--text-mut);margin:12px 0 0}
.status b{color:var(--text);font-weight:500}
.status button{font:inherit;border:0;background:none;color:var(--theme);cursor:pointer;padding:0;margin-left:6px}
.status button:hover{text-decoration:underline}
.preamble{display:none;margin:22px 0 4px;padding:14px 18px;background:var(--theme-wash);border-left:3px solid var(--theme);font-size:.98rem;line-height:1.6;font-weight:400;color:#1f2a26}
.preamble.on{display:block}
.preamble h3{margin:0 0 4px;font-size:1rem;font-weight:500;color:var(--theme-dk)}
.preamble p{margin:0}
/* bibliography */ .year{color:#d4d4d4;font-size:2rem;font-weight:400;text-align:right;border-top:1px solid var(--divider);padding-top:.9rem;margin:2.2rem 0 .4rem;line-height:1}
.year.hidden,.entry.hidden{display:none}
ol.bib{list-style:none;margin:0;padding:0}
.entry{display:grid;grid-template-columns:110px minmax(0,1fr);gap:22px;padding:14px 0 16px}
.abbr{padding-top:3px}
.badge{display:block;text-align:center;background:var(--theme);color:#fff;font-size:.72rem;font-weight:500;padding:.38em .4em;border-radius:2px;letter-spacing:.02em}
.badge.pre{background:#7a7a7a}
.badge.jr{background:#4b44a8}
.badge.ch{background:#6b7378}
.legend{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0 0;font-size:.8rem;color:var(--text-mut)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:2px}
.title{font-weight:700;font-size:1rem;line-height:1.4;margin:0 0 2px}
.author{font-size:.95rem;margin:0 0 2px}
.author em{font-style:normal;border-bottom:1px solid var(--text);font-weight:400}
.periodical{font-size:.92rem;font-style:italic;color:#333;margin:0}
.links{margin-top:9px;display:flex;flex-wrap:wrap;gap:6px}
.links a,.links button{font-family:inherit;font-size:.72rem;font-weight:400;text-transform:uppercase;letter-spacing:.03em; color:var(--text);border:1px solid var(--text);border-radius:2px;background:#fff;padding:.2rem .9rem;cursor:pointer;line-height:1.5}
.links a:hover,.links button:hover{color:var(--theme);border-color:var(--theme);text-decoration:none}
.links button[aria-expanded="true"]{color:var(--theme);border-color:var(--theme)}
.abstract{display:none;margin-top:10px;font-size:.9rem;line-height:1.6;border:1px dashed var(--divider);border-radius:4px;padding:10px 14px;color:#222}
.abstract.open{display:block}
.empty{display:none;color:var(--text-mut);text-align:center;padding:40px 0}
.empty.on{display:block}
footer{border-top:1px solid var(--divider);color:var(--text-mut);font-size:.8rem;text-align:center;padding:16px 15px calc(16px + env(safe-area-inset-bottom,0px))}
@media(max-width:760px){
  .nav-links a:not(.active){display:none}
  .post-title{font-size:2rem}
  .entry{grid-template-columns:1fr;gap:6px}
  .badge{display:inline-block;padding:.32em .7em}
}

/* ===== Dark mode: dark-theme versions of the colors above ===== */
html[data-theme="dark"] {color-scheme:dark}
html[data-theme="dark"] {--theme:#62dabc;--theme-dk:#62dabc;--theme-wash:#1f382e;--text:#e4e6e7;--text-mut:#888f96;--divider:#35383b;--bg:#121314;--hover-bg:#191b1d}
html[data-theme="dark"] .navbar {background:rgba(18,19,20,0.97)}
html[data-theme="dark"] .tbtn {border:1px solid #3c4043;background:#121314}
html[data-theme="dark"] .tbtn[aria-pressed="true"] {background:#0f6e56;color:#fff}
html[data-theme="dark"] .tbtn.all[aria-pressed="true"] {background:#b7bcbf;border-color:#b7bcbf}
html[data-theme="dark"] .preamble {background:#0f6e56;color:#8fada2}
html[data-theme="dark"] .year {color:#888f96}
html[data-theme="dark"] .badge {background:#0f6e56;color:#fff}
html[data-theme="dark"] .badge.pre {background:#798188}
html[data-theme="dark"] .badge.jr {background:#4b44a8}
html[data-theme="dark"] .badge.ch {background:#81888f}
html[data-theme="dark"] .periodical {color:#b7bcbf}
html[data-theme="dark"] .links a, html[data-theme="dark"] .links button {background:#121314}
html[data-theme="dark"] .abstract {color:#c6cacd}

/* ===== Dark mode: hand-tuned adjustments ===== */
html[data-theme="dark"] .tbtn.all[aria-pressed="true"], html[data-theme="dark"] .tbtn.all[aria-pressed="true"] * {background:#dfe5e3;border-color:#dfe5e3;color:#121416}
