:root{--bg:#c6f2bd;--fg:#000;--read-bg:var(--bg);--read-fg:var(--fg);--logo-font:"Bagel Fat One", Impact, sans-serif;--logo-weight:400;--logo-ratio:2.611;--logo-scale:1;--logo-cap:.734;--logo-tracking:-.02em;--logo-max:19vw;--logo-align:center;--heading-font:"Bagel Fat One", Impact, sans-serif;--heading-weight:400;--body-font:"Instrument Sans", "Helvetica Neue", Arial, sans-serif;--mono-font:"JetBrains Mono", ui-monospace, Menlo, monospace;--text-size:100%;--leading:1.45;--content-width:78cqi;--measure:76ch;--h1-size:3.5rem;--h2-size:2rem;--h3-size:1.375rem;--small-size:.875rem;--unit:8px;--gutter:42px;--row-pad:11px;--section-gap:74px;--rule:2px;--divider:2px;--date-col:11ch;--thumb:350px;--photo-gap:128px}@font-face{font-family:Bagel Fat One;src:url(/fonts/bagel-fat-one-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-300.woff2)format("woff2");font-weight:300;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-700.woff2)format("woff2");font-weight:700;font-display:swap}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}*,:before,:after{box-sizing:border-box}html{font-size:var(--text-size);background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--body-font);font-size:1rem;line-height:var(--leading);font-synthesis:none;margin:0}::selection{background:var(--fg);color:var(--bg)}a{color:inherit;text-decoration-thickness:var(--rule);text-underline-offset:.15em}a:hover{background:var(--fg);color:var(--bg);text-decoration:none}:focus-visible{outline:var(--rule) solid var(--fg);outline-offset:2px}.mono{font-family:var(--mono-font);font-size:var(--small-size);letter-spacing:.02em}.main-col{--pad-end:var(--gutter);--indent:clamp(12px, 3cqi, var(--gutter));--text-max:100%;container:main/inline-size}.site{min-height:100dvh}.logo-col{--logo-size:calc((100vw - 2 * var(--gutter)) / var(--logo-ratio) * var(--logo-scale));padding:var(--gutter);border-bottom:var(--rule) solid var(--fg)}.logo{inline-size:max-content;font-family:var(--logo-font);font-size:var(--logo-size);font-weight:var(--logo-weight);letter-spacing:var(--logo-tracking);text-transform:uppercase;white-space:nowrap;text-box:trim-both cap alphabetic;line-height:1;text-decoration:none;display:block}:is(.logo,.link-row a,.rolls a,.photos a):hover{color:inherit;background:0 0}@media (width>=900px){.site{align-items:flex-start;display:flex}.logo-col{--logo-size:min(calc((100dvh - 2 * var(--gutter)) / var(--logo-ratio) * var(--logo-scale)), calc(var(--logo-max) / var(--logo-cap)));justify-content:var(--logo-align);border-bottom:0;border-right:var(--rule) solid var(--fg);flex-direction:column;flex:none;height:100dvh;display:flex;position:sticky;top:0;overflow:clip}.logo{writing-mode:vertical-rl;transform:rotate(180deg)}.main-col{--pad-end:max(var(--gutter), calc(100cqi - var(--content-width) + var(--gutter)));--text-max:var(--content-width);flex:1;min-width:0}}.reading .main-col{--bg:var(--read-bg);--fg:var(--read-fg);background:var(--bg);color:var(--fg)}.nav{border-bottom:var(--divider) solid var(--fg);font-family:var(--mono-font);font-size:var(--small-size);text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;display:flex}.nav a{padding:var(--row-pad) clamp(10px, 3cqi, var(--gutter));border-right:var(--divider) solid var(--fg);text-decoration:none}.nav a[aria-current=page]{background:var(--fg);color:var(--bg)}@container main (width<=680px){.nav{gap:calc(var(--row-pad) / 2) var(--gutter);padding:var(--row-pad) var(--gutter)}.nav a{border-right:0;margin:0 -.4em;padding:.15em .4em}}.section{margin-top:var(--section-gap)}.section:first-child{margin-top:0}.intro .prose{padding-bottom:0}.quick{gap:0 var(--gutter);flex-wrap:wrap;display:flex}.section-head{justify-content:space-between;gap:var(--gutter);padding:var(--row-pad) var(--gutter);border-bottom:var(--divider) solid var(--fg);font-family:var(--mono-font);font-size:var(--small-size);text-transform:uppercase;letter-spacing:.06em;margin:0;padding-inline-end:var(--pad-end);font-weight:400;display:flex}.section-head a{text-decoration:none}.rows{margin:0;padding:0;list-style:none}.rows li{border-bottom:var(--divider) solid var(--fg)}.meta,.aside{font-family:var(--mono-font);font-size:var(--small-size)}.aside,.desc{display:block}.by,.desc{opacity:.75}.rows .link-row{grid-template-columns:var(--date-col) 1fr auto;gap:var(--gutter);padding:var(--row-pad) var(--pad-end) var(--row-pad) calc(var(--gutter) + var(--level,0) * var(--indent));align-items:baseline;display:grid;position:relative}.link-row a{text-decoration:none}.link-row .main:after{content:"";position:absolute;inset:0}.link-row .links a{z-index:1;position:relative}.link-row:hover,.link-row:has(a:focus-visible){background:var(--fg);color:var(--bg)}.link-row .links a:hover{text-decoration:underline;text-decoration-thickness:var(--rule)}.link-row a:focus-visible{outline:none}.link-row .links{justify-content:flex-end;gap:0 var(--gutter);flex-wrap:wrap;display:flex}@media (width<=600px){.rows .link-row{grid-template-columns:var(--date-col) 1fr;row-gap:0}.link-row .links{grid-column:2;justify-content:flex-start}}.group+.group{margin-top:var(--section-gap)}.group-head{padding:var(--row-pad) var(--pad-end) var(--row-pad) calc(var(--gutter) + var(--level,0) * var(--indent));border-bottom:var(--divider) solid var(--fg);font-family:var(--heading-font);font-weight:var(--heading-weight);font-size:var(--h2-size);margin:0;line-height:1.1}h3.group-head{font-size:var(--h3-size)}.prose{padding:var(--gutter);max-width:min(var(--text-max), calc(var(--measure) + 2 * var(--gutter)))}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table{margin:0 0 1em}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--heading-font);font-weight:var(--heading-weight);margin:1.6em 0 .5em;line-height:1.1}.prose h1{font-size:min(var(--h1-size), 12vw)}.prose h2{font-size:var(--h2-size)}.prose h3{font-size:var(--h3-size)}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:.2em}.prose img{border:var(--rule) solid var(--fg);max-width:100%;height:auto;display:block}.prose blockquote{padding-left:var(--gutter);border-left:var(--rule) solid var(--fg);margin-left:0}.prose hr{border:0;border-top:var(--rule) solid var(--fg);margin:2em 0}.prose code{font-family:var(--mono-font);font-size:.85em}.prose pre{padding:var(--gutter);background:var(--fg);color:var(--bg);line-height:1.4;overflow-x:auto}.prose pre code{font-size:var(--small-size)}.prose table{border-collapse:collapse;width:100%}.prose th,.prose td{border:var(--rule) solid var(--fg);text-align:left;padding:.3em .5em}.post-head{padding:var(--gutter);border-bottom:var(--divider) solid var(--fg);padding-inline-end:var(--pad-end)}.post-head h1{font-family:var(--heading-font);font-weight:var(--heading-weight);max-width:18ch;font-size:min(var(--h1-size), 12vw);overflow-wrap:break-word;margin:0;line-height:.95}.post-head code,.rows code,.prose :is(h1,h2,h3,h4) code{font-family:inherit;font-size:inherit}.post-head time{margin-top:var(--gutter);display:block}.resume .pdf{float:right;margin:0 0 0 var(--gutter);line-height:2.2}.resume .pdf+h1{margin-top:0}.resume h3{justify-content:space-between;gap:0 var(--gutter);flex-wrap:wrap;display:flex}.resume h3 span:last-child{font-family:var(--mono-font);font-size:var(--small-size);font-weight:400}.resume h1+ul{gap:0 var(--gutter);flex-wrap:wrap;padding:0;list-style:none;display:flex}.resume h1+ul>li{margin:0}.rolls{padding:var(--gutter);grid-template-columns:repeat(auto-fill, minmax(min(var(--thumb), 100%), 1fr));gap:var(--section-gap) var(--gutter);margin:0;padding-inline-end:var(--pad-end);list-style:none;display:grid}.rolls a{gap:calc(var(--row-pad) / 2);text-decoration:none;display:grid}.rolls a:hover .roll-title{text-decoration:underline;text-decoration-thickness:var(--rule)}.rolls img,.rolls .empty{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;display:block}.rolls .empty{border:var(--rule) dashed var(--fg);place-items:center;display:grid}.roll-title{font-family:var(--heading-font);font-weight:var(--heading-weight);font-size:var(--h2-size);line-height:1}.roll-meta{margin:var(--row-pad) 0 0}.photos{gap:var(--photo-gap);padding:var(--gutter);padding-inline-end:var(--pad-end);display:grid}.photos figure{margin:0}.photos img{width:100%;height:auto;max-height:calc(100dvh - 2 * var(--gutter));object-fit:contain;object-position:left;display:block}.photos figcaption{margin-top:calc(var(--row-pad) / 2)}.pixel{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}
