:root{--paper: #fdfdfc;--ink: #141414;--gray: #8d8b84;--gray-light: #a3a19a;--hairline: #ececea;--accent: #0e823a;--sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--gutter: 46px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14.5px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.page{width:100%;max-width:calc(var(--measure, 760px) + 2 * var(--gutter));margin:0 auto;padding:40px var(--gutter) 0;min-height:100vh;display:flex;flex-direction:column}.t,.nav a,.crumb{color:var(--ink);text-decoration:none;transition:color .12s ease;cursor:pointer;display:inline-block}.t:after,.nav a:after,.crumb:after{content:attr(data-t);font-weight:700;visibility:hidden;height:0;display:block;overflow:hidden;pointer-events:none}.t:hover,.nav a:hover,.crumb:hover{color:var(--accent);font-weight:700}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}.logo{font-size:16px;font-weight:700;color:var(--ink);text-decoration:none;transition:color .12s ease;cursor:pointer}.logo:hover{color:var(--accent)}.site-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.nav{display:flex;flex-wrap:wrap;gap:14px;font-size:12px}.nav a{color:var(--gray)}.count{font-family:var(--mono);font-size:11px;color:var(--gray-light);font-variant-numeric:tabular-nums;display:inline-block;min-width:6ch;text-align:right}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sitefoot{margin-top:auto;padding:40px 0 34px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--gray-light)}.sitefoot a{color:inherit;text-decoration:none;transition:color .12s ease;cursor:pointer}.sitefoot a:hover{color:var(--accent);font-weight:700}.photo{position:relative;overflow:hidden;background:#0b0b0b;border-radius:2px}.photo img{display:block;width:100%;height:100%;object-fit:cover}.home-head{padding-top:0}.home-photo{display:block;height:148px;margin-top:20px;border-radius:2px}.home-photo .pcap{position:absolute;z-index:3;left:16px;bottom:13px;text-shadow:0 1px 8px rgba(0,0,0,.5)}.home-photo .pc-t{font-size:12px;color:#f2f0ea;letter-spacing:.06em}.home-photo .pc-m{font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;color:#ffffff9e;display:block;margin-top:4px}.list{margin-top:26px}.row{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:baseline;padding:9px 0}.row[hidden]{display:none}.tcell{display:flex;align-items:baseline;gap:8px;min-width:0}.pin{font-family:ui-monospace,SF Mono,JetBrains Mono,monospace;font-size:10px;letter-spacing:.08em;color:var(--gray-light);border:1px solid var(--hairline);padding:1px 5px;border-radius:3px;flex:none}.year{font-size:12.5px;color:var(--gray-light);font-variant-numeric:tabular-nums}.row .t{font-size:14.5px;line-height:1.5}.art-col{--measure: 620px}.art-title{font-size:21px;font-weight:700;line-height:1.5;margin-top:34px}.art-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--gray-light);margin-top:12px;font-variant-numeric:tabular-nums}.art-body{margin-top:24px}.art-body p{font-size:14.5px;line-height:2;color:#28271f;margin-bottom:16px}.art-body h2{font-size:16.5px;font-weight:700;margin:30px 0 12px}.art-body h3{font-size:15px;font-weight:700;margin:24px 0 10px}.art-body a{color:var(--ink);text-decoration:underline;text-decoration-color:#c9c6bb;text-underline-offset:4px;transition:color .12s ease}.art-body a:hover{color:var(--accent);text-decoration-color:var(--accent);font-weight:700}.art-body blockquote{border-left:2px solid var(--ink);padding-left:14px;font-size:14px;line-height:1.9;color:#57534a;margin:20px 0}.art-body blockquote p{font-size:14px;line-height:1.9;color:#57534a;margin:0}.art-body ul,.art-body ol{margin:0 0 16px 1.3em;font-size:14.5px;line-height:1.9;color:#28271f}.art-body li{margin-bottom:6px}.art-body figure{margin:22px 0 6px}.art-body img{width:100%;height:auto;border-radius:2px;display:block}.art-body figcaption,.art-cap{font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--gray-light);margin-top:8px}.art-body pre{font-family:var(--mono);font-size:12.5px;line-height:1.7;background:#f5f5f3;border-radius:4px;padding:14px 16px;overflow-x:auto;margin:18px 0}.art-body code{font-family:var(--mono);font-size:.88em}.art-body :not(pre)>code{background:#f0efec;padding:1px 5px;border-radius:3px}.art-body hr{border:0;border-top:1px solid var(--hairline);margin:30px 0}.ph-title{font-size:20px;font-weight:700;margin-top:30px}.ph-sub{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--gray-light);margin-top:8px}.set-h{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:20px 0 10px}.set-h h2{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit}.set-h .t{font-size:13px;font-weight:600}.set-h span{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--gray-light);white-space:nowrap}.jgrid{display:flex;flex-wrap:wrap;gap:8px}.jitem{flex-grow:var(--r);flex-basis:calc(var(--r) * 150px);min-width:60px}.jitem .photo{width:100%;transition:opacity .15s ease}.jitem:hover .photo{opacity:.9}.jsp{flex-grow:999;min-width:0}.ex{--measure: 560px;max-width:560px;margin:6px auto 0;width:100%}.ex .ph-title{margin-top:0}.ex-item{margin-top:26px}.ex-item .photo{transition:opacity .15s ease}.ex-item:hover .photo{opacity:.9}.ex-item.portrait .photo{width:62%;margin:0 auto}.ex-cap{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:9px}.ex-item.portrait .ex-cap{width:62%;margin:9px auto 0}.ex-cap .t{font-size:12.5px}.ex-cap span{font-family:var(--mono);font-size:9.5px;color:var(--gray-light);font-variant-numeric:tabular-nums;white-space:nowrap}.about{--measure: 620px}.about h1{font-size:21px;font-weight:700;margin-top:34px}.about-body{margin-top:22px}.about-body p{font-size:14.5px;line-height:2;color:#28271f;margin-bottom:16px}.about-body a{color:var(--ink);text-decoration:underline;text-decoration-color:#c9c6bb;text-underline-offset:4px;transition:color .12s ease}.about-body a:hover{color:var(--accent);text-decoration-color:var(--accent);font-weight:700}.page-title{font-size:20px;font-weight:700;margin-top:30px}@media(max-width:700px){:root{--gutter: 22px}.page{padding-top:30px}.jitem{flex-basis:calc(var(--r) * 110px)}.art-title{font-size:20px}}
