:root{
  --ink:#1b1b1b; --muted:#666; --rule:#e3e1da; --link:#33527a; --link-h:#1d3358;
  --new:#6b4e16; --bg:#fcfcfa;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:Charter,Georgia,Cambria,"Times New Roman",serif;
  font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
main{max-width:760px;margin:0 auto;padding:56px 24px 96px}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-h);text-decoration:underline}
header.top{display:flex;gap:26px;align-items:flex-start;margin-bottom:8px}
header.top .ht{flex:1}
header.top img{width:132px;border-radius:4px;filter:grayscale(15%)}
h1{font-size:1.95rem;font-weight:600;margin:0 0 6px;letter-spacing:-.01em}
.tagline{color:var(--muted);font-style:italic;margin:0 0 10px}
.toplinks{font-size:.92rem;color:var(--muted)}
.toplinks a{margin-right:2px}
.toplinks .sep{color:var(--rule);margin:0 7px}
nav.contents{font-size:.86rem;color:var(--muted);margin:22px 0 8px;line-height:1.9}
nav.contents a{color:var(--muted)}
nav.contents a:hover{color:var(--link)}
nav.contents .sep{color:var(--rule);margin:0 6px}
h2{font-size:1.12rem;font-weight:600;margin:2.4em 0 .2em;padding-bottom:5px;
  border-bottom:1px solid var(--rule)}
h2 .pkg{font-weight:400;font-size:.8rem;color:var(--muted)}
ul.pubs{list-style:none;margin:0;padding:0}
ul.pubs>li{padding:13px 0;border-bottom:1px solid #efede6}
ul.pubs>li:last-child{border-bottom:none}
.t{font-size:1rem}
.venue{font-style:italic;color:var(--muted)}
.ln{font-size:.85rem;margin-top:3px;color:var(--muted)}
.ln a{margin:0}
.ln .sep{color:var(--rule);margin:0 6px}
.ln a.new{color:var(--new)}
.ln .wip{font-style:italic;color:var(--muted)}
details{margin-top:5px}
details summary{font-size:.82rem;color:var(--muted);cursor:pointer;list-style:none;
  display:inline-block}
details summary::-webkit-details-marker{display:none}
details summary::before{content:"▸ ";color:var(--rule)}
details[open] summary::before{content:"▾ "}
details p{font-size:.92rem;color:#3a3a3a;margin:.5em 0 .2em;
  padding-left:14px;border-left:2px solid var(--rule)}
.soft{font-size:.95rem}
.soft .nm{color:var(--ink)}
footer{max-width:760px;margin:0 auto;padding:18px 24px 40px;font-size:.82rem;
  color:var(--muted)}
footer a{color:var(--muted)}
