:root{--paper:#f3e7c8;--paper-alt:#ede0bc;--ink:#1a1810;--ink-soft:#2a2519;--muted:#574f44;--muted-dim:#857d70;--red:#a8362a;--red-deep:#8a2a20;--green:#3d6b4a;--rule:rgba(31, 28, 20, 0.18);--rule-soft:rgba(31, 28, 20, 0.10);--serif:"EB Garamond", "Source Serif 4", Georgia, serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans:-apple-system, BlinkMacSystemFont, "Helvetica Neue", system-ui, sans-serif;--ornament-opacity:1;--noise-opacity:0.10}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%}body{font-family:var(--serif);font-size:18px;line-height:1.6;color:var(--ink);background-color:var(--paper);text-rendering:optimizeLegibility;position:relative}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");opacity:var(--noise-opacity);mix-blend-mode:multiply}img,svg{display:block;max-width:100%}a{color:inherit}.page{max-width:1080px;margin:0 auto;padding:40px 56px 56px;min-height:100vh;position:relative;z-index:1}.main{max-width:720px;margin:0 auto}.main--wide{max-width:1080px}.masthead{display:flex;align-items:baseline;gap:28px;padding:4px 0 32px}.masthead__title{text-decoration:none;color:var(--ink);display:flex;align-items:baseline}.masthead__title-main{font-family:var(--serif);font-weight:500;font-size:36px;line-height:1;letter-spacing:-.01em}.masthead__title-main em{color:var(--red);font-style:italic}.masthead__squiggle{color:var(--red);width:160px;flex-shrink:0;opacity:var(--ornament-opacity);margin-left:auto;align-self:baseline;transform:translateY(3px)}.nav{display:flex;align-items:baseline;gap:22px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;flex:1}.nav__link{color:var(--muted);text-decoration:none;transition:color .15s;cursor:pointer}.nav__link:hover{color:var(--ink)}.nav__link.is-active{color:var(--red)}.nav__link--meta{color:var(--muted-dim);font-size:10px;margin-left:auto}.section-header{margin:4px 0 20px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--rule-soft)}.section-header__title{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--ink);text-transform:uppercase}.section-header__title::after{content:" \2731";color:var(--red);font-family:var(--serif);font-size:12px;margin-left:6px;opacity:var(--ornament-opacity)}.section-header__count{font-family:var(--mono);font-size:10px;color:var(--muted-dim);letter-spacing:.06em}.mark{display:inline-block;vertical-align:middle;color:var(--red)}.mark--squiggle,.mark--hand-rule{display:block}.mark--asterism{display:flex;justify-content:center;gap:12px;padding:14px 0;color:var(--red);font-family:var(--serif);font-size:14px;letter-spacing:.4em;opacity:var(--ornament-opacity)}.center-mark{display:flex;justify-content:center;margin:10px 0}.tags{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--red);display:inline}.tags__hash{color:var(--muted-dim)}.tags__sep{color:var(--muted-dim);padding:0 6px}.drawn-box{position:relative;box-sizing:border-box}.drawn-box>.mark--drawn-box{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:var(--ink)}.drawn-box__inner{position:relative;padding:18px 20px}.home__cols{display:grid;grid-template-columns:1.7fr 1fr;gap:56px}.home__aside{border-left:1px solid var(--rule-soft);padding-left:32px}.featured{padding:4px 0 28px;border-bottom:1px solid var(--rule-soft);margin-bottom:24px}.featured__date{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.featured__title{font-family:var(--serif);font-weight:500;font-size:38px;line-height:1.08;letter-spacing:-.012em;margin:0 0 12px;text-wrap:balance}.featured__title a{color:var(--ink);text-decoration:none}.featured__title a:hover{color:var(--red)}.featured__deck{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--ink-soft);line-height:1.5;margin:0 0 14px;max-width:44ch;text-wrap:pretty}.featured__more{display:inline-block;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--red);text-decoration:none;margin-top:4px;border-bottom:1px solid var(--red);padding-bottom:1px}.featured__more:hover{color:var(--red-deep);border-bottom-color:var(--red-deep)}.journal__entry{display:grid;grid-template-columns:92px 1fr;gap:24px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--rule-soft)}.journal__entry:last-child{border-bottom:none}.journal__date{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-variant-numeric:tabular-nums;line-height:1.5;padding-top:4px}.journal__title{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.25;margin:0;text-wrap:balance}.journal__title a{color:var(--ink);text-decoration:none}.journal__title a:hover{color:var(--red)}.journal__desc{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-soft);line-height:1.5;margin:4px 0 0;text-wrap:pretty;max-width:56ch}.see-all{display:inline-block;margin-top:18px;font-family:var(--mono);font-size:11px;color:var(--red);text-decoration:none;letter-spacing:.06em}.see-all:hover{color:var(--red-deep)}.home-reading__entry{display:block;text-decoration:none;color:var(--ink);padding:12px 0;border-bottom:1px solid var(--rule-soft)}.home-reading__entry:last-child{border-bottom:none}.home-reading__head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:4px}.home-reading__source{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.06em}.home-reading__date{font-family:var(--mono);font-size:10px;color:var(--muted-dim);font-variant-numeric:tabular-nums}.home-reading__title{font-family:var(--serif);font-weight:500;font-size:17px;line-height:1.3;margin:0;text-wrap:balance;color:var(--ink)}.home-reading__entry:hover .home-reading__title{color:var(--red)}.now-playing{margin-top:28px;position:relative;padding:14px}.now-playing::before{content:"";position:absolute;inset:0;border:1.4px solid var(--ink);border-radius:2px 6px 3px 5px/5px 3px 6px 2px;transform:rotate(-.4deg);pointer-events:none;opacity:var(--ornament-opacity)}.now-playing::after{content:"";position:absolute;inset:3px -2px -3px 2px;border:1px solid var(--ink);border-radius:4px 3px 6px 2px/3px 6px 2px 5px;opacity:calc(var(--ornament-opacity) * .35);pointer-events:none}.now-playing__head{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.now-playing__kicker{color:var(--red)}.now-playing__time{color:var(--muted)}.now-playing__row{display:flex;gap:12px;align-items:stretch}.now-playing__art{width:64px;height:64px;flex-shrink:0;color:var(--ink);background:var(--ink);overflow:hidden}.now-playing__art svg{color:var(--paper-alt)}.now-playing__info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.now-playing__title{font-family:var(--serif);font-size:15px;color:var(--ink);line-height:1.25;font-weight:500;text-wrap:pretty}.now-playing__artist{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--muted)}.now-playing__artist em{font-style:italic}.now-playing__bar{margin-top:6px;height:3px;background:var(--rule-soft);position:relative}.now-playing__bar span{position:absolute;inset:0;width:32%;background:var(--red)}.subscribe-quiet{margin-top:28px;padding-top:18px;border-top:1px solid var(--rule-soft);font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-soft);line-height:1.5}.subscribe-quiet em{color:var(--red);font-style:normal}.subscribe-quiet a{color:var(--red);text-decoration:none;border-bottom:1px dotted var(--red)}.page-title{margin-bottom:32px}.page-title__h1{font-family:var(--serif);font-size:44px;font-weight:500;margin:0 0 6px;letter-spacing:-.012em;line-height:1}.page-title__h1 em{font-style:italic}.page-title__deck{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink-soft);max-width:52ch;margin:0;text-wrap:balance}.writing-list{max-width:760px;margin:0}.writing-list .journal__entry{padding:18px 0}.writing-list .journal__title{font-size:22px}.year-sep{margin:28px 0 6px;font-family:var(--mono);font-size:10px;color:var(--muted-dim);letter-spacing:.16em;text-transform:uppercase}.year-sep:first-child{margin-top:0}.article{font-family:var(--serif);font-size:19.5px;line-height:1.7;color:var(--ink);max-width:660px;margin:0 auto}.article p{margin:18px 0}.article a{color:var(--red);text-decoration:none;border-bottom:1px dotted var(--red);padding-bottom:1px}.article a:hover{color:var(--red-deep);border-bottom-style:solid}.article__header{padding:0 0 24px;margin-bottom:28px;border-bottom:1px solid var(--rule-soft)}.article__meta-top{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;flex-wrap:wrap}.article__meta-top .sep{color:var(--muted-dim)}.article__title{font-family:var(--serif);font-weight:500;font-size:46px;line-height:1.05;letter-spacing:-.012em;margin:0 0 12px;text-wrap:balance;color:var(--ink)}.article__title em{font-style:italic}.article__deck{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink-soft);margin:0;text-wrap:balance;max-width:52ch}.article h2{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.2;margin:32px 0 10px;color:var(--ink);letter-spacing:-.005em}.article h3{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.25;margin:26px 0 8px;color:var(--ink)}.article ol,.article ul{padding-left:24px;margin:18px 0}.article li{margin:8px 0}.article hr{border:none;text-align:center;margin:28px 0;height:12px}.article hr::before{content:"\2731 \2731 \2731";color:var(--red);font-family:var(--serif);letter-spacing:.4em;font-size:14px;opacity:var(--ornament-opacity)}.article blockquote{border-left:2px solid var(--rule);padding:4px 0 4px 18px;margin:22px 0;font-family:var(--serif);font-style:italic;color:var(--ink);font-size:18.5px;line-height:1.55}.article blockquote em{color:var(--ink-soft)}.article img{display:block;margin:24px auto;border:1px solid var(--rule);max-width:100%;height:auto}.article>p:first-of-type::first-letter,.article>.drop-cap::first-letter{float:left;font-family:var(--serif);font-size:64px;line-height:.85;padding:4px 8px 0 0;color:var(--red);font-weight:500;opacity:var(--ornament-opacity)}.article .footnotes{margin-top:48px;padding-top:18px;border-top:1px solid var(--rule-soft);font-family:var(--serif);font-size:14px;color:var(--muted);line-height:1.6}.article .footnotes::before{content:"Notes";display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.article .footnotes hr{display:none}.article .footnotes ol{padding-left:20px;margin:0}.article .footnotes li{margin:4px 0}.article sup a,.article a.footnote-ref{border:none;color:var(--red);font-size:.7em;padding:0 2px}.article__footer{margin-top:40px;padding-top:18px;border-top:1px solid var(--rule-soft);display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted)}.article__filed{font-style:normal}.article__filed .tag{color:var(--ink)}.article__nav{display:flex;gap:18px}.article__nav a{color:var(--red);text-decoration:none;border:none}.article__nav a:hover{color:var(--red-deep)}.article :not(pre)>code{font-family:var(--mono);font-size:.86em;background:var(--paper-alt);border:1px solid var(--rule-soft);padding:0 5px;color:var(--ink)}.pullquote{margin:28px -20px;padding:18px 32px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);position:relative}.pullquote::before{content:"\201C";position:absolute;top:-16px;left:18px;padding:0 8px;background:var(--paper);font-family:var(--serif);font-size:32px;color:var(--red);line-height:1}.pullquote blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.4;color:var(--ink);text-wrap:balance;border:none;padding:0}.pullquote figcaption{margin-top:10px;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em}.margin-note{border-left:2px solid var(--red);padding:4px 0 4px 14px;margin:18px 0;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--muted);line-height:1.55;text-wrap:pretty}.margin-note__label{display:inline-block;font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-right:8px}.callout{margin:24px 0}.callout__inner{position:relative;padding:18px 22px}.callout__svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:var(--ink)}.callout__kicker{font-family:var(--mono);font-size:10px;color:var(--red);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}.callout__body{font-family:var(--serif);font-size:17px;font-style:italic;color:var(--ink);line-height:1.5}.fig{margin:24px 0}.fig__media{border:1px solid var(--rule);background:var(--paper-alt);overflow:hidden}.fig__media img{width:100%;height:auto;display:block;border:none;margin:0}.fig__caption{margin-top:8px;display:flex;justify-content:space-between;gap:16px;font-family:var(--serif);font-style:italic;font-size:13.5px;color:var(--muted);line-height:1.45}.fig__credit{font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.06em;flex-shrink:0}.music-card{margin:24px 0;position:relative}.music-card__frame{background:var(--paper-alt);border:1px solid var(--rule);position:relative;padding:14px 18px}.music-card__tab{position:absolute;top:-10px;left:18px;z-index:1;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;background:var(--paper);color:var(--red);padding:2px 8px;border:1px solid var(--rule)}.music-card__caption{margin-top:8px;font-family:var(--serif);font-style:italic;font-size:13.5px;color:var(--muted);line-height:1.45}.music-card iframe{display:block;width:100%;border:0;margin:0}.code-block{margin:22px 0;font-family:var(--mono);font-size:13.5px;line-height:1.6}.code-block__head{display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);padding:6px 12px;font-family:var(--mono);font-size:11px;letter-spacing:.06em}.code-block__head .file{color:var(--paper)}.code-block__head .lang{color:#dabd6d;margin-left:10px;text-transform:uppercase}.code-block__head .sep{color:var(--muted-dim);margin:0 8px}.code-block__copy{background:0 0;border:1px solid var(--muted-dim);color:var(--paper);font-family:var(--mono);font-size:10px;padding:2px 8px;cursor:pointer;letter-spacing:.08em;text-transform:uppercase}.code-block__copy:hover{border-color:var(--paper)}.code-block__body{background:var(--paper-alt);border:1px solid var(--rule);border-top:none;padding:12px 14px;overflow-x:auto}.code-block__body pre,.code-block__body code{margin:0;background:0 0;border:none;font-family:var(--mono);font-size:13.5px;line-height:1.6;color:var(--ink)}.article pre{background:var(--paper-alt);border:1px solid var(--rule);padding:14px;overflow-x:auto;margin:22px 0;font-family:var(--mono);font-size:13.5px;line-height:1.6}.article pre code{background:0 0;border:none;padding:0;font-size:13.5px}.chroma{background:0 0;color:var(--ink)}.chroma .c,.chroma .c1,.chroma .cm{color:var(--muted);font-style:italic}.chroma .s,.chroma .s1,.chroma .s2,.chroma .se,.chroma .sb{color:var(--green)}.chroma .m,.chroma .mi,.chroma .mf,.chroma .mh,.chroma .mo{color:var(--red)}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kt,.chroma .kc{color:var(--red);font-weight:500}.chroma .nb,.chroma .bp{color:var(--red)}.chroma .nf,.chroma .nx{color:var(--ink);font-weight:500}.chroma .nc,.chroma .nn{color:#6b4c1c}.chroma .o,.chroma .ow{color:var(--ink-soft)}.chroma .p{color:var(--ink)}.chroma .err{color:var(--red-deep)}.reading-list{max-width:780px;margin:0}.reading-entry{display:grid;grid-template-columns:56px 1fr auto;gap:20px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--rule-soft);text-decoration:none;color:var(--ink)}.reading-entry:last-child{border-bottom:none}.reading-entry__kind{text-align:center}.reading-entry__sym{font-family:var(--serif);font-size:28px;line-height:1}.reading-entry__kind-label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin-top:4px;color:var(--muted-dim)}.reading-entry--essay .reading-entry__sym{color:var(--red)}.reading-entry--book .reading-entry__sym{color:var(--green)}.reading-entry--paper .reading-entry__sym{color:var(--ink)}.reading-entry__title{font-family:var(--serif);font-size:22px;font-weight:500;margin:0 0 4px;line-height:1.25;text-wrap:balance}.reading-entry:hover .reading-entry__title{color:var(--red)}.reading-entry__byline{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-soft);margin-bottom:6px}.reading-entry__byline .sep{color:var(--muted-dim)}.reading-entry__desc{font-family:var(--serif);font-size:16px;color:var(--ink);margin:0 0 6px;line-height:1.5;text-wrap:pretty;max-width:60ch}.reading-entry__date{text-align:right;font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.06em;font-variant-numeric:tabular-nums}.reading-entry__date .arrow{color:var(--muted-dim)}.about-spread{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start;max-width:960px;margin:0 auto}.about-portrait{margin-bottom:18px}.about-portrait .fig__media{aspect-ratio:3/4}.about-portrait .fig__media img{height:100%;object-fit:cover}.about-stats{margin-top:18px}.about-stats__title{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--rule-soft)}.about-stats table{width:100%;font-family:var(--serif);font-size:15.5px;color:var(--ink);border-collapse:collapse}.about-stats td{padding:3px 0;vertical-align:top}.about-stats td.k{color:var(--muted);font-style:italic;width:48%}.about-stats td.v{text-align:right}.about-stats__empty{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--muted-dim);padding:6px 0}.about-contact{margin-top:22px}.about-contact__title{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--rule-soft)}.about-contact ul{list-style:none;padding:0;margin:0;font-family:var(--serif);font-size:16px;line-height:1.8}.about-contact a{color:var(--red);text-decoration:none;border-bottom:1px dotted var(--red)}.about-bio{font-family:var(--serif);font-size:19px;line-height:1.7;color:var(--ink)}.about-bio p{margin:16px 0}.about-bio>p:first-of-type::first-letter{float:left;font-family:var(--serif);font-size:64px;line-height:.85;padding:4px 8px 0 0;color:var(--red);font-weight:500;opacity:var(--ornament-opacity)}.about-bio a{color:var(--red);text-decoration:none;border-bottom:1px dotted var(--red)}@media(max-width:900px){.page{padding:24px 24px 36px}.home__cols{grid-template-columns:1fr;gap:36px}.home__aside{border-left:none;padding-left:0;border-top:1px solid var(--rule-soft);padding-top:24px}.about-spread{grid-template-columns:1fr;gap:32px}.masthead{flex-wrap:wrap;gap:16px}.masthead__squiggle{display:none}.article__title{font-size:32px}.featured__title{font-size:26px}}@media(max-width:640px){.page{padding:18px 18px 32px}.nav{gap:14px;flex-wrap:wrap}.journal__entry{grid-template-columns:78px 1fr;gap:16px}.article{font-size:17px}.article__deck{font-size:17px}.page-title__h1{font-size:32px}.reading-entry{grid-template-columns:40px 1fr}.reading-entry__date{grid-column:1/-1;text-align:left;padding-left:60px}.pullquote{margin:24px 0;padding:16px}.pullquote blockquote{font-size:19px}}