:root{color:#e9e9e2;font-synthesis:none;--accent:#e9e9e2;--muted:#a3a39c;--border:#383836;--paper:#e9e9e2;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;background:#141414;font-family:Arial,Helvetica Neue,Noto Sans JP,sans-serif;line-height:1.7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{min-height:100vh;margin:0}body:has(dialog[open]){overflow:hidden}::selection{color:#141414;background:#e9e9e2}a{color:inherit;text-underline-offset:.3em}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--paper);outline-offset:6px}button{color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;font-weight:400;line-height:1.1}p{overflow-wrap:anywhere}img,video{max-width:100%}button:disabled{cursor:wait}.wrapper{width:calc(100% - 88px);max-width:1680px;margin-inline:auto}.site-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:30px;height:105px;display:flex}.brand{letter-spacing:-.03em;grid-template-columns:30px auto;align-items:center;font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;display:grid}.brand-mark{grid-row:span 2;align-self:center;margin-top:-7px;font:italic 34px Georgia,serif}.brand-sub{font:7px/2 var(--mono);letter-spacing:.09em;color:var(--muted)}.desktop-nav{gap:32px;display:flex}.desktop-nav a{font-size:12px;text-decoration:none}.desktop-nav sup{font:8px var(--mono);color:var(--muted);margin-left:6px}.desktop-nav a[aria-current=page]{text-decoration:underline}.menu-toggle{font:11px var(--mono);background:0 0;border:0;display:none}.site-menu{padding-block:18px}.site-menu a{border-bottom:1px solid var(--border);gap:20px;padding:16px 0;font-size:30px;text-decoration:none;display:flex}.site-menu a span{font:10px var(--mono);align-self:center}.site-menu a span:last-child{margin-left:auto}main{min-height:50vh}.micro,.eyebrow{font:10px/1.6 var(--mono);letter-spacing:.07em;text-transform:uppercase}.eyebrow{color:var(--muted)}.muted{color:var(--muted);font-size:12px}.page-heading{border-bottom:1px solid var(--border);padding-block:76px 60px;position:relative}.page-heading h1{margin:22px 0 28px;font-size:clamp(64px,10vw,160px);line-height:.95}.page-heading .intro{max-width:560px;color:var(--muted);font-size:13px;line-height:2}.section-number{font:10px var(--mono);position:absolute;top:78px;right:0}.section-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:20px;padding:26px 0 18px;display:flex}.section-heading h2{font:11px var(--mono);letter-spacing:.03em;margin:0}.section-heading a{font:10px var(--mono);text-decoration:none}.back-link{font:10px var(--mono);color:var(--muted);text-decoration:none}.arrow-link{font:11px var(--mono);border-bottom:1px solid var(--border);align-items:center;gap:44px;padding-block:12px;text-decoration:none;display:inline-flex}.arrow-link:hover{border-color:var(--paper)}.post-list{margin:0;padding:0;list-style:none}.post-list>li{border-bottom:1px solid var(--border);padding:29px 0}.post-list article{grid-template-columns:170px 1fr;column-gap:25px;display:grid}.post-list time{font:10px var(--mono);grid-row:span 3;padding-top:7px}.post-list h2{letter-spacing:-.02em;margin-bottom:12px;font-size:24px}.post-list h2 a{text-decoration:none}.post-list h2 a:hover{color:#fff}.post-list p{color:var(--muted);margin-bottom:14px;font-size:12px}.tags{flex-wrap:wrap;gap:14px;margin:0;padding:0;list-style:none;display:flex}.tags a{font:10px var(--mono);color:var(--muted);text-decoration:none}.tags a:before{content:"#";opacity:.5}.tag-directory{grid-template-columns:repeat(2,1fr);gap:0 40px;padding:35px 0;list-style:none;display:grid}.tag-directory a{border-bottom:1px solid var(--border);justify-content:space-between;padding:24px 0;text-decoration:none;display:flex}.article-heading{max-width:850px;margin-inline:auto;padding-block:60px 35px}.article-heading h1{letter-spacing:-.035em;font-size:clamp(32px,5vw,64px);line-height:1.35}.article-heading .intro{max-width:none}.post-dates{font:10px var(--mono);flex-wrap:wrap;gap:20px;margin:24px 0;display:flex}.prose{color:#cecec7;overflow-wrap:anywhere;max-width:760px;margin:45px auto 75px;font-size:14px;line-height:2.2}.prose h2{color:var(--paper);margin-top:2.5em;font-size:25px;line-height:1.5}.prose h3{margin-top:2em;font-size:21px;line-height:1.6}.prose img{width:100%;height:auto;margin-block:30px;display:block}.prose pre{border:1px solid var(--border);padding:24px;font-size:12px;line-height:1.9;overflow:auto;background:#212120!important}.prose :not(pre)>code{background:#292928;padding:2px 4px;font-size:.9em}.prose blockquote{border-left:1px solid var(--paper);color:var(--muted);margin-inline:0;padding-left:24px}.prose table{border-collapse:collapse;max-width:100%;display:block;overflow:auto}.prose th,.prose td{border:1px solid var(--border);padding:12px}.prose hr{border:0;border-top:1px solid var(--border);margin-block:36px}.article-footer{border-top:1px solid var(--border);max-width:760px;font:11px var(--mono);margin:0 auto 80px;padding-top:25px}.site-footer{margin-top:100px}.footer-top{border-top:1px solid var(--border);justify-content:space-between;align-items:end;gap:35px;padding:50px 0 65px;display:flex}.footer-top>p{letter-spacing:-.055em;margin:0;font-size:clamp(40px,6vw,90px);line-height:1}.footer-top em{font-family:Georgia,serif;font-weight:400}.footer-top>div p{color:var(--muted);margin-block:15px;font-size:11px}.footer-top a{font:11px var(--mono);text-decoration:none}.footer-top a span{margin-left:50px}.footer-bottom{border-top:1px solid var(--border);font:9px var(--mono);color:var(--muted);justify-content:space-between;gap:20px;padding-block:20px 26px;display:flex}.footer-bottom a{text-decoration:none}.footer-bottom>div{gap:20px;display:flex}.skip-link{z-index:100;background:var(--paper);color:#141414;padding:12px;font-size:12px;position:fixed;top:-100px;left:15px}.skip-link:focus{top:15px}.empty-state{color:var(--muted);padding-block:40px}[hidden]{display:none!important}.noscript-nav{padding-block:25px}.index-grid{grid-template-columns:1fr 1fr;gap:42px 28px;margin:0;padding:0;list-style:none;display:grid}.index-card a{text-decoration:none;display:block}.index-card-image{aspect-ratio:1.55;background:#181818;position:relative;overflow:hidden}.index-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .7s,filter .5s;display:block}.index-card:hover img{filter:brightness(1.2);transform:scale(1.035)}.index-card-image>span{background:#14141477;border:1px solid #77776d;place-items:center;width:32px;height:32px;font-size:16px;display:grid;position:absolute;bottom:18px;right:20px}.index-card-meta{font:9px var(--mono);color:var(--muted);justify-content:space-between;gap:15px;margin-block:18px 10px;display:flex}.index-card h2{margin:0 0 12px;font-size:clamp(30px,4vw,58px)}.index-card p{color:var(--muted);margin:0;font-size:11px}.page-description{font:10px var(--mono);color:var(--muted);justify-content:space-between;align-items:baseline;padding:28px 0 35px;display:flex}@media (width<=1000px){.wrapper{width:calc(100% - 48px)}.desktop-nav{gap:20px}.brand-sub{font-size:6px}}@media (width<=760px){.wrapper{width:calc(100% - 36px)}.site-header{height:83px}.desktop-nav{display:none}.menu-toggle{align-items:center;gap:14px;display:flex}.menu-toggle span{font-size:24px}.page-heading{padding-block:52px 36px}.page-heading h1{font-size:clamp(58px,14vw,100px)}.section-number{top:54px}.post-list article{grid-template-columns:1fr}.post-list time{margin-bottom:15px;padding:0}.post-list h2{font-size:21px;line-height:1.4}.index-grid{gap:35px 15px}.index-card-meta{font-size:8px}.index-card h2{font-size:30px}.index-card p{font-size:10px;line-height:1.8}.footer-top{flex-direction:column;align-items:start}.footer-bottom{flex-wrap:wrap;font-size:8px}.footer-bottom>span{display:none}.footer-bottom>div{gap:14px}.site-footer{margin-top:65px}.tag-directory{grid-template-columns:1fr}.article-heading h1{font-size:34px}.prose{font-size:13px}.page-description{gap:20px;font-size:9px}.index-card-image{aspect-ratio:1.15}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@view-transition{navigation:auto}::view-transition-old(root){animation:.18s ease-out both archive-out}::view-transition-new(root){animation:.3s ease-out both archive-in}@keyframes archive-out{to{opacity:0}}@keyframes archive-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
