/* Shared typography and navigation */
:root{font-family:"Times New Roman",Times,serif;color:#303030;background:#fff;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-size:18px;line-height:1.45}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:#263cba}a:focus-visible{outline:2px solid #263cba;outline-offset:4px}img{max-width:100%;height:auto;display:block}p{margin:0 0 16px}h1,h2,h3{font-weight:400;line-height:1.15;margin:0 0 16px;overflow-wrap:break-word}h1{font-size:36px}h2{font-size:28px}h3{font-size:25px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;padding:10px;background:white;z-index:5}.site-header{border-bottom:1px solid #333;text-align:center}.masthead{display:inline-block;text-decoration:none;font-size:42px;line-height:1.2;margin:16px 0 20px}.site-header nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 22px;border-top:1px solid #eee;padding:15px 20px;font:700 12px/1.5 Arial,Helvetica,sans-serif;text-transform:uppercase}.site-header nav a{text-decoration:none;padding:3px 0}.site-header nav span{font-weight:400;color:#888}.site-header [aria-current="page"]{text-decoration:underline;text-underline-offset:5px}footer{max-width:1120px;margin:0 auto;border-top:1px solid #333;display:flex;justify-content:space-between;gap:20px;padding:18px 0 25px;font-size:14px}footer p{margin:0}.column-heading{font:700 14px/1.35 Arial,Helvetica,sans-serif;text-transform:uppercase;margin:0 0 24px}.column-heading a{text-decoration:none}.date,.small-label{font:12px/1.5 Arial,Helvetica,sans-serif;color:#777;margin:0 0 10px}.small-label{text-transform:uppercase}.section-link{font-size:15px;margin-top:24px}
/* Homepage: projects, writing, reading */
.home-columns{max-width:1120px;display:grid;grid-template-columns:minmax(0,260px) minmax(0,540px) minmax(0,320px);margin:0 auto}.home-columns>section,.home-columns>div,.home-columns>aside{min-width:0;padding:30px 22px 40px}.home-columns>section{padding-left:0}.home-columns>aside{padding-right:0}.home-writing,.home-books{border-left:1px solid #333}.project-preview{margin-bottom:27px}.project-preview h3{font-size:23px;margin:13px 0 8px}.project-preview h3 a{text-decoration:none}.project-preview p{font-size:16px;line-height:1.4}.project-preview img{border:1px solid #eee}.home-intro{font-size:22px;line-height:1.4;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid #ccc}.home-intro p:last-child{margin-bottom:0}.note h3{font-size:29px;font-style:italic;margin-bottom:16px}.home-about{border-top:1px solid #ccc;padding-top:24px;margin-top:28px}.home-about p{font-size:17px}.shelf{list-style:none;margin:0;padding:0}.shelf li{margin-bottom:22px}.shelf-title{display:block;font-size:21px;line-height:1.25}.shelf-author{display:block;font-size:15px;color:#777;margin-top:6px}
/* Projects */
.catalogue{max-width:1120px;margin:auto}.catalogue-intro{padding:28px 0 24px}.catalogue-intro h1{margin-bottom:12px}.catalogue-deck{font-size:19px}.catalogue-deck p{margin:0}.project-grid{display:grid;grid-template-columns:1fr 1fr}.project-card{min-width:0;padding:25px 28px 28px 0;border-top:1px solid #333}.project-card:nth-child(even){padding-left:28px;padding-right:0;border-left:1px solid #333}.project-card h2{font-size:28px;margin:0 0 18px}.project-card h2 a{text-decoration:none}.project-card figure{margin:0 0 18px}.project-image{display:block}.project-image img{width:100%;height:auto;border:1px solid #eee;aspect-ratio:1200/739;object-fit:cover}.project-description{font-size:18px;line-height:1.45;margin-bottom:14px}.project-links{font:12px/1.6 Arial,Helvetica,sans-serif;margin:0}.project-links span{padding:0 9px}.more-experiments{padding:25px 0 32px;border-top:1px solid #333}.more-experiments h2{font-size:28px;margin-bottom:14px}.more-experiments p{margin-bottom:12px}.more-experiments>.small-label:last-child{margin-top:28px}
/* Reading */
.reading{max-width:1120px;margin:auto}.reading-intro{padding:28px 0 24px}.reading-intro h1{margin-bottom:12px}.reading-intro>p{font-size:19px}.year-nav{display:flex;gap:22px;font:12px Arial,Helvetica,sans-serif}.reading-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #333}.reading-year{min-width:0;padding:25px 24px 30px;scroll-margin-top:20px}.reading-year:first-child{padding-left:0}.reading-year:last-child{padding-right:0}.reading-year+.reading-year{border-left:1px solid #333}.year-heading{margin-bottom:25px}.year-heading h2{font-size:29px;margin:0 0 6px}.year-heading p{font:12px Arial,Helvetica,sans-serif;color:#777;margin:0}.book-list{list-style:none;padding:0;margin:0}.book-list li{margin:0 0 24px}.book-entry h3{font-size:22px;line-height:1.25;margin:0}.book-author{font-size:16px;color:#666;margin:7px 0 0}.book-progress{font:11px/1.5 Arial,Helvetica,sans-serif;color:#777;margin:8px 0 0}.reading-update{font-size:13px;color:#666;padding:20px 0;border-top:1px solid #ccc;margin:0}
@media(max-width:1180px){.home-columns,.catalogue,.reading,footer{margin-left:28px;margin-right:28px}.home-columns{grid-template-columns:minmax(0,23fr) minmax(0,46fr) minmax(0,27fr)}}
@media(max-width:760px){body{font-size:18px}.masthead{font-size:35px;margin:15px 0}.site-header nav{gap:0 14px;font-size:11px;padding:12px 14px}.home-columns,.catalogue,.reading,footer{margin-left:20px;margin-right:20px}.home-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.home-columns>section,.home-columns>div,.home-columns>aside{padding:24px 18px}.home-columns .home-writing{grid-column:1/-1;grid-row:1;border-left:0;border-bottom:1px solid #333;padding-left:0;padding-right:0}.home-columns .home-projects{padding-left:0}.home-columns .home-books{padding-right:0}.home-intro{font-size:21px}.note h3{font-size:27px}.project-preview h3{font-size:21px}.shelf-title{font-size:20px}.project-card{padding:22px 20px 24px 0}.project-card:nth-child(even){padding-left:20px}.project-card h2{font-size:25px}.reading-columns{display:block}.reading-year{padding:25px 0!important}.reading-year+.reading-year{border-left:0;border-top:1px solid #333}.book-entry h3{font-size:23px}.book-list li{margin-bottom:23px}.year-heading{display:flex;align-items:baseline;justify-content:space-between}.reading-update{padding:18px 0}}
@media(max-width:480px){.site-header nav{gap:0 10px}.project-grid{display:block}.project-card,.project-card:nth-child(even){padding:23px 0;border-left:0}.catalogue-intro,.reading-intro{padding-top:25px}.home-columns{display:block}.home-columns .home-writing{border-bottom:1px solid #333}.home-columns .home-projects,.home-columns .home-books{padding:24px 0;border-left:0}.home-columns .home-books{border-top:1px solid #333}.home-projects .project-preview{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 15px;margin-bottom:24px}.project-preview>a{grid-row:1/3}.project-preview h3{margin:0 0 7px}.project-preview p{margin:0;font-size:15px}.shelf li{margin-bottom:18px}.home-about{margin-top:24px}}

.home-columns .home-projects{grid-column:1;grid-row:1}.home-columns .home-writing{grid-column:2;grid-row:1}.home-columns .home-books{grid-column:3;grid-row:1}@media(max-width:760px){.home-columns .home-writing{grid-column:1/-1;grid-row:1}.home-columns .home-projects{grid-column:1;grid-row:2}.home-columns .home-books{grid-column:2;grid-row:2}}

/* Compact illustrated reading entries */
.book-list .illustrated-book{display:grid;grid-template-columns:64px minmax(0,1fr);gap:15px;align-items:start;margin-bottom:28px}.book-cover{display:block;width:64px}.book-cover img{width:64px;height:auto;max-height:105px;object-fit:contain;object-position:top left;border:1px solid #e7e7e7}.illustrated-book .book-entry h3{font-size:20px}.illustrated-book .book-author{font-size:15px;margin-top:6px}.book-links{font:11px/1.7 Arial,Helvetica,sans-serif;margin:9px 0 0}.book-links span{padding:0 5px}.cover-credits{border-top:1px solid #ddd;padding:18px 0 25px;font-size:13px;line-height:1.5}.cover-credits summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.cover-credits p{max-width:650px;margin:14px 0}.cover-credits ul{columns:2;padding-left:18px}.cover-credits li{break-inside:avoid;margin-bottom:5px}@media(max-width:760px){.book-list .illustrated-book{grid-template-columns:72px minmax(0,1fr);gap:18px}.book-cover,.book-cover img{width:72px}.book-cover img{max-height:115px}.illustrated-book .book-entry h3{font-size:23px}.illustrated-book .book-author{font-size:16px}.cover-credits ul{columns:1}}
