/* Graphic accents only: retain the existing layout and typography. */
.column-heading{position:relative;min-height:30px;display:flex;align-items:center;gap:12px}
.section-drawing{display:inline-block;width:64px;height:31px;object-fit:contain;order:2;margin-left:auto;flex-shrink:0}
.home-projects .section-drawing{width:74px;height:35px}
.home-intro{position:relative}
.home-intro:after{content:"";position:absolute;right:0;bottom:-1px;width:42px;height:5px;background:radial-gradient(circle,var(--ink) .65px,transparent .8px) 0 0/3px 3px;background-color:var(--paper)}
.home-intro .intro-alias a{text-decoration-color:#bd9c18}
footer{position:relative}
footer:after{content:"";position:absolute;top:-3px;right:0;width:30px;height:5px;background:radial-gradient(circle,var(--ink) .65px,transparent .8px) 0 0/3px 3px;background-color:var(--paper)}
@media(max-width:480px){.section-drawing{width:56px;height:27px}.home-projects .section-drawing{width:64px;height:31px}}

/* Small ink arrows and screened ends to rules. */
.graphic-arrow{display:inline-block;width:16px;height:16px;vertical-align:-3px;margin:0 2px;overflow:visible;flex-shrink:0}
.post pre .graphic-arrow{width:14px;height:14px;vertical-align:-2px}
.project-card,.more-experiments,.reading-columns,.reading-update,.cover-credits,.post-source-note,.post h2{position:relative}
.project-card:before,.more-experiments:before,.reading-columns:before,.reading-update:before,.cover-credits:before,.post-source-note:before,.post h2:before{content:"";position:absolute;right:0;top:-3px;width:48px;height:5px;background:radial-gradient(circle,var(--ink) .65px,transparent .8px) 0 0/3px 3px;background-color:var(--paper);pointer-events:none}
.post h2{border-top:1px solid var(--soft-rule);padding-top:22px}
@media(max-width:760px){.reading-year+.reading-year{position:relative}.reading-year+.reading-year:before{content:"";position:absolute;right:0;top:-3px;width:48px;height:5px;background:radial-gradient(circle,var(--ink) .65px,transparent .8px) 0 0/3px 3px;background-color:var(--paper)}}

.photos{max-width:1120px;margin:0 auto}.photos-intro{padding:28px 0 24px}.photos-intro h1{margin-bottom:12px}.photos-intro p{font-size:19px;margin:0}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;border-top:1px solid var(--rule);padding-top:28px;position:relative;margin-bottom:36px}.photo-grid:before{content:"";position:absolute;right:0;top:-3px;width:48px;height:5px;background:radial-gradient(circle,var(--ink) .65px,transparent .8px) 0 0/3px 3px;background-color:var(--paper)}.photo-grid figure{margin:0;align-self:center}.photo-grid img{width:100%;height:auto}.photo-grid a{display:block}.photo-grid a:focus-visible{outline-offset:5px}@media(max-width:1180px){.photos{margin-left:28px;margin-right:28px}}@media(max-width:760px){.photos{margin-left:20px;margin-right:20px}.photo-grid{gap:20px}}@media(max-width:480px){.photo-grid{grid-template-columns:1fr;gap:24px}.photos-intro{padding-top:25px}}

.home-intro .intro-tower{position:absolute;top:0;right:3px;width:36px;height:96px;opacity:.85}.home-intro .portrait-strip{max-width:calc(100% - 54px)}

/* Device-aware theme, with an optional saved override. */
:root{--ink:#303030;--paper:#fff;--rule:#333;--soft-rule:#ddd;--muted:#707070;--code-paper:#fafafa;--link-focus:#263cba;color-scheme:light}
:root[data-theme="dark"]{--ink:#deded7;--paper:#191a19;--rule:#77796f;--soft-rule:#44473f;--muted:#a6aa9e;--code-paper:#242622;--link-focus:#edd979;color-scheme:dark}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--ink:#deded7;--paper:#191a19;--rule:#77796f;--soft-rule:#44473f;--muted:#a6aa9e;--code-paper:#242622;--link-focus:#edd979;color-scheme:dark}}
:root[data-theme="dark"] .section-drawing,:root[data-theme="dark"] .intro-tower{filter:invert(1) hue-rotate(180deg)}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:6px;border:0;background:transparent;color:var(--ink);cursor:pointer;flex-shrink:0}.theme-toggle svg{width:20px;height:20px;display:block}.theme-toggle:hover{background:var(--code-paper)}.theme-toggle:focus-visible{outline:2px solid var(--link-focus);outline-offset:3px}.theme-toggle .sun{display:none}:root[data-theme="dark"] .theme-toggle .sun{display:block}:root[data-theme="dark"] .theme-toggle .moon{display:none}
