:root{--color-paper:#eae9e0;--color-paper-line:#d9d7ca;--color-ink:#211f1a;--color-ink-soft:#55534a;--color-ink-faint:#918f82;--color-accent:#2e3e5c;--color-accent-soft:#5c6e91;--color-trail:#a3a196;--font-serif:"Newsreader", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--motion-concept-hold:1.6s;--motion-crossfade:.16s;--layout-measure:65ch;--layout-max-width:680px;--rule:color-mix(in srgb, var(--color-ink) 14%, transparent)}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-serif);background-image:radial-gradient(var(--color-paper-line) .6px, transparent .6px);background-position:-6px -6px;background-size:26px 26px}a{color:inherit}.page{max-width:var(--layout-max-width);flex-direction:column;gap:clamp(2.5rem,6vw,3.5rem);margin:0 auto;padding:clamp(2.5rem,8vw,5.5rem) 1.5rem clamp(3rem,8vw,5rem);display:flex}.masthead{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;padding-bottom:.9rem;display:flex}.wordmark{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-ink-soft);font-size:.8rem;text-decoration:none}.kicker{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-ink-faint);font-size:.72rem}.hero{flex-direction:column;gap:.6rem;display:flex}.path-label{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-ink-faint);margin-bottom:.3rem;font-size:.72rem}.heading-path{font-family:var(--font-mono);color:var(--color-ink-faint);margin:0;font-size:clamp(1.1rem,3.2vw,1.45rem)}.heading-path .topic{color:var(--color-accent);border-bottom:1px solid var(--color-accent-soft);padding-bottom:1px}.question{font-family:var(--font-serif);color:var(--color-ink);text-wrap:balance;min-height:1.7em;margin:.2rem 0 .6rem;font-size:clamp(1.08rem,2.6vw,1.32rem);font-style:italic}.kg{width:100%}.kg svg{width:100%;height:auto;display:block}.kg-edge{stroke:var(--color-ink-faint);stroke-width:1px;opacity:.32;transition:stroke .3s,stroke-width .3s,opacity .3s}.kg-edge.active{stroke:var(--color-accent);stroke-width:1.6px;opacity:1}.kg-node circle{fill:var(--color-ink-faint);opacity:.55;transform-box:fill-box;transform-origin:50%;transition:fill .3s,opacity .3s,transform .3s}.kg-node.active circle{fill:var(--color-accent);opacity:1;transform:scale(1.55)}.kg-node text{font-family:var(--font-mono);fill:var(--color-ink-faint);opacity:.75;font-size:9.5px;transition:fill .3s,opacity .3s}.kg-node.active text{fill:var(--color-ink);opacity:1}.statement{max-width:var(--layout-measure);color:var(--color-ink);font-size:1.14rem;line-height:1.68}.statement p+p{margin-top:1rem}.statement .accent-word{color:var(--color-accent);font-style:italic}h2{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-ink-faint);text-transform:lowercase;margin:0 0 1rem;font-size:.78rem;font-weight:400}.writing .empty{color:var(--color-ink-faint);margin:0;font-style:italic}.writing ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.writing li{border-top:1px solid var(--rule);grid-template-columns:5.5rem minmax(0,1fr);align-items:baseline;gap:1rem;padding:.85rem 0;display:grid}.writing .date{font-family:var(--font-mono);color:var(--color-ink-faint);font-variant-numeric:tabular-nums;font-size:.78rem}.writing .title{color:var(--color-ink);font-size:1.05rem;text-decoration:none}.writing a.title:hover{color:var(--color-accent)}.contact{border-top:1px solid var(--rule);flex-direction:column;gap:.5rem;padding-top:1.4rem;display:flex}.contact p{color:var(--color-ink-soft);max-width:34em;margin:0;font-size:1rem;line-height:1.6}.contact a{font-family:var(--font-mono);color:var(--color-accent);border-bottom:1px solid var(--color-accent-soft);width:fit-content;padding-bottom:1px;font-size:.95rem;text-decoration:none}.contact a:hover{color:var(--color-ink);border-color:var(--color-ink)}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=420px){.writing li{grid-template-columns:4rem minmax(0,1fr)}}
