figure{margin:2.5em 0}figure>a{display:block;cursor:zoom-in}figure>a>img{display:block;width:100%;height:auto}figure:not(.gallery>figure)>a{width:calc(100%*min(1,var(--aspect-ratio, 1)))}figure.gallery{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px;--gallery-row: min(20rem, calc(100% * 20 / var(--gallery-column, 55)))}figure.gallery>figure{position:relative;margin:0;flex-grow:calc(var(--aspect-ratio, 1) * 1000);flex-basis:calc(var(--aspect-ratio, 1) * var(--gallery-row, 20rem));min-width:0}figure.gallery>figure>figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.75rem .6rem .45rem;color:#fff;font-size:.8rem;line-height:1.3;background:linear-gradient(to top,#000000b3,#0000);pointer-events:none;opacity:0;transition:opacity .15s ease;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}@media(hover:hover){figure.gallery>figure:hover>figcaption,figure.gallery>figure:focus-within>figcaption{opacity:1}}figure.gallery>figcaption{flex-basis:100%;order:1}figure.gallery:after{content:"";flex-basis:var(--phantom-basis, 25%);flex-grow:var(--phantom-grow, 10000000)}.lightbox{position:fixed;top:0;left:0;width:100dvw;height:100dvh;max-width:100%;max-height:100%;padding:0;margin:0;border:none;background-color:#000}.lightbox-scroller{display:flex;position:absolute;inset:0;overflow-x:scroll;scroll-snap-type:x mandatory;scrollbar-width:none}.lightbox-scroller::-webkit-scrollbar{display:none}@media(prefers-reduced-motion:no-preference){.lightbox-scroller{scroll-behavior:smooth}}.lightbox-slide{display:flex;flex:0 0 100%;min-width:0;height:100%;margin:0;scroll-snap-align:start;scroll-snap-stop:always;justify-content:center;align-items:center;position:relative}.lightbox-slide>img{width:auto;height:auto;max-width:100%;max-height:100%}.lightbox-caption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:2.5rem 1.25rem 1rem;color:#fff;text-align:center;font-size:.95rem;line-height:1.4;background:linear-gradient(to top,#0009,#0000);pointer-events:none}.lightbox>button{position:fixed;display:flex;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;border:0;border-radius:50%;background:#0006;color:#fff;font-size:1.9rem;line-height:1;cursor:pointer;opacity:.8;transition:opacity .3s ease;z-index:10}.lightbox>button[hidden]{display:none}.lightbox>button:hover:not(:disabled){opacity:1}.lightbox>button:disabled{opacity:.3;cursor:default}.lightbox-close{right:.75rem;top:.5rem}.lightbox-prev{left:.75rem;top:50%;transform:translateY(-50%)}.lightbox-next{right:.75rem;top:50%;transform:translateY(-50%)}@media(hover:none){.lightbox>.lightbox-prev,.lightbox>.lightbox-next{display:none}}
*,:before,:after{box-sizing:border-box}:root{line-height:1.5;overflow-wrap:break-word;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}img{vertical-align:middle}code,kbd,samp,pre{font-family:monospace;font-size:1em}pre{overflow:auto}:root{--text: #1a1a1a;--muted: #555;--faint: #6e6e6e;--rule: #eee;--underline: #b5b5b5}body{color:var(--text);background-color:#fefefe;max-width:55rem;padding:0 1rem 1rem;margin:0 auto;font-family:Georgia,serif;font-size:1.125rem;line-height:1.7}main :is(p,ul,ol){max-width:42rem}h1,h2,h3,h4,h5,h6,nav,header,footer{font-family:system-ui,sans-serif}h1{font-size:2.4em;font-weight:300;line-height:1.2}h2,h3{margin-top:2em;margin-bottom:.5em}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}a{color:var(--muted);text-decoration-thickness:1px;text-underline-offset:.15em;text-decoration-color:var(--underline)}a:hover{color:var(--text);text-decoration-color:currentColor}figcaption{font-size:.95em;font-style:italic}figcaption,body>header,body>header>nav a,body>header>time{color:var(--muted)}:root{--gallery-column: 53}figure.gallery{--gallery-row: min(17rem, calc(100% * 17 / var(--gallery-column)))}body>header>h1{margin-bottom:0}body>header{margin-top:3.5rem;margin-bottom:3.5rem}nav.top ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;align-items:end}nav.top li:first-child{font-weight:600}nav.top li:last-child{margin-left:auto}nav.top li:last-child,nav.top li:last-child a{color:var(--faint)}nav.top a{text-decoration:none}nav.top a:hover{text-decoration:underline}header h1:has(+time){margin-bottom:.25rem}footer{border-top:1px solid var(--rule);margin-top:3em;padding-top:1.5em;font-size:.85em;color:var(--faint)}footer a{color:var(--faint)}footer:empty{display:none}.date{color:var(--faint)}.tags{margin-bottom:.5em}
