:root{--paper:#f6f7f4;--paper-raised:#fff;--ink:#172033;--ink-2:#3b4455;--muted:#687082;--rule:#dbe0da;--rule-strong:#b9c1ba;--blue:#2742a8;--blue-ink:#1d3285;--blue-wash:#e9edf8;--red:#c23a2b;--focus:#2742a8;--on-blue:#fff;--sans:"PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--serif:"Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "STSong", serif;--step--1:.8125rem;--step-0:1rem;--step-1:1.1875rem;--step-2:1.5rem;--step-3:clamp(1.75rem, 1.3rem + 1.6vw, 2.375rem);--step-4:clamp(2.125rem, 1.4rem + 3vw, 3.5rem);--measure:40rem;--wide:72rem;--gutter:clamp(1rem, 4vw, 2.5rem);--radius:6px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#11151c;--paper-raised:#171c25;--ink:#e6e9ef;--ink-2:#c3c8d2;--muted:#8f97a6;--rule:#262d39;--rule-strong:#3a4352;--blue:#93a8f2;--blue-ink:#b4c3f7;--blue-wash:#1c2440;--red:#e06a5b;--focus:#93a8f2;--on-blue:#11151c;color-scheme:dark}}:root[data-theme=dark]{--paper:#11151c;--paper-raised:#171c25;--ink:#e6e9ef;--ink-2:#c3c8d2;--muted:#8f97a6;--rule:#262d39;--rule-strong:#3a4352;--blue:#93a8f2;--blue-ink:#b4c3f7;--blue-wash:#1c2440;--red:#e06a5b;--focus:#93a8f2;--on-blue:#11151c;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7;overflow-x:clip}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}.num{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.wrap{width:min(100% - 2 * var(--gutter), var(--wide));margin-inline:auto}.site-header{border-bottom:1px solid var(--rule);background:var(--paper)}.site-header .wrap{justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.25rem;display:flex}.brand{align-items:center;gap:.75rem;min-width:0;display:flex}.brand img{object-fit:cover;border-radius:50%;flex:none;width:2.25rem;height:2.25rem}.brand-name{letter-spacing:.02em;font-size:1.125rem;font-weight:700;line-height:1.2}.brand-line{color:var(--muted);font-size:var(--step--1);line-height:1.3;display:block}.site-nav{gap:.25rem;display:flex}.site-nav a{border-radius:var(--radius);color:var(--ink-2);white-space:nowrap;padding:.4rem .75rem;font-size:.9375rem}.site-nav a:hover{color:var(--ink);background:var(--blue-wash)}.site-nav a[aria-current=page]{color:var(--blue-ink);box-shadow:inset 0 -2px 0 var(--blue);border-radius:0;font-weight:600}@media (width<=640px){.site-header .wrap{flex-direction:column;align-items:stretch;gap:.25rem;padding-block:.75rem 0}.site-nav{scrollbar-width:none;margin-inline:-.75rem;overflow-x:auto}.site-nav a{padding:.6rem .75rem}}main{padding-block:clamp(2rem,5vw,3.5rem) 4rem}.page-title{font-size:var(--step-4);letter-spacing:-.01em;margin:0;font-weight:700;line-height:1.15}.page-lede{color:var(--ink-2);font-size:var(--step-1);max-width:36em;margin:.75rem 0 0;line-height:1.75}.section{margin-top:clamp(3rem,7vw,4.5rem)}.section-head{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.25rem;padding-bottom:.6rem;display:flex}.section-head h2{font-size:var(--step-2);margin:0;line-height:1.3}.more{color:var(--blue);white-space:nowrap;font-size:.9375rem}.more:hover{text-underline-offset:3px;text-decoration:underline}.btn{border-radius:var(--radius);border:1px solid var(--blue);background:var(--blue);min-height:2.75rem;color:var(--on-blue);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--blue-ink);border-color:var(--blue-ink)}.btn.quiet{color:var(--blue);background:0 0}.btn.quiet:hover{background:var(--blue-wash)}.tags{flex-wrap:wrap;gap:.35rem .5rem;margin:0;padding:0;list-style:none;display:flex}.tag{font-size:var(--step--1);color:var(--blue-ink);background:var(--blue-wash);border-radius:3px;padding:.1rem .5rem;line-height:1.6}a.tag:hover{text-underline-offset:2px;text-decoration:underline}.meta{color:var(--muted);flex-wrap:wrap;gap:.25rem 1rem;font-size:.875rem;display:flex}.empty{color:var(--muted);padding:3rem 0}.empty a{color:var(--blue)}.essay-list{margin:0;padding:0;list-style:none}.essay{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) 9.5rem;align-items:start;gap:1.25rem;padding:1.35rem 0;display:grid}.essay.no-cover{grid-template-columns:minmax(0,1fr)}.essay h3{font-size:var(--step-1);margin:.2rem 0 .4rem;font-weight:650;line-height:1.45}.essay a.title:hover h3{color:var(--blue-ink);text-underline-offset:4px;text-decoration:underline 1px}.essay p{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .6rem;font-size:.9375rem;line-height:1.75;display:-webkit-box;overflow:hidden}.essay .cover{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:var(--rule);width:9.5rem;display:block}@media (width<=560px){.essay{grid-template-columns:minmax(0,1fr) 5.5rem;gap:.9rem}.essay .cover{aspect-ratio:1;width:5.5rem}.essay p{-webkit-line-clamp:3}}.ledger{margin:0;padding:0;list-style:none}.ledger-row{border-bottom:1px solid var(--rule);grid-template-columns:6.5rem minmax(0,1fr);align-items:stretch;display:grid}.ledger-date{border-right:3px double var(--red);text-align:right;padding:.95rem .9rem .95rem 0;line-height:1.25}.ledger-date b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.375rem;font-weight:650;display:block}.ledger-date span{color:var(--muted);font-size:.75rem}.ledger-body{min-width:0;padding:.95rem 0 .95rem 1.1rem}.ledger-body a.line{color:var(--ink);line-height:1.75;display:block}.ledger-body a.line:hover{color:var(--blue-ink);text-underline-offset:4px;text-decoration:underline 1px}.ledger-body .tags{margin-top:.45rem}.ledger-month{font-size:var(--step-1);border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;margin:2.25rem 0 0;padding:0 0 .4rem;display:flex}.ledger-month small{color:var(--muted);font-size:.875rem;font-weight:400}@media (width<=560px){.ledger-row{grid-template-columns:4.25rem minmax(0,1fr)}.ledger-date{padding-right:.6rem}.ledger-date b{font-size:1.125rem}.ledger-body{padding-left:.75rem}}.cal{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal .dow{color:var(--muted);text-align:center;padding-bottom:2px;font-size:.6875rem}.cal .d{aspect-ratio:1;color:var(--muted);font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--rule) 45%, transparent);border-radius:3px;place-items:center;font-size:.75rem;display:grid}.cal .d.pad{background:0 0}.cal a.d{background:var(--blue);color:var(--on-blue);font-weight:600}.cal a.d:hover{background:var(--blue-ink)}.cal .d.today{outline:1.5px solid var(--red);outline-offset:-1.5px}.filters{flex-wrap:wrap;gap:.4rem;margin:1.5rem 0 .5rem;display:flex}.filters a{border:1px solid var(--rule-strong);color:var(--ink-2);border-radius:999px;padding:.3rem .7rem;font-size:.875rem}.filters a:hover{border-color:var(--blue);color:var(--blue-ink)}.filters a[aria-current=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filters a small{color:inherit;opacity:.65;font-variant-numeric:tabular-nums;margin-left:.2rem}.site-footer{border-top:1px solid var(--rule);color:var(--muted);padding:2.5rem 0 3rem;font-size:.875rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.site-footer nav{flex-wrap:wrap;gap:1.25rem;display:flex}.site-footer a:hover{color:var(--ink)}.follow{align-items:center;gap:1rem;display:flex}.follow img{border:1px solid var(--rule);background:#fff;border-radius:4px;width:5.5rem;height:5.5rem}.follow strong{color:var(--ink);font-size:.9375rem;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .prose :is(p,span,section,strong,em,li,h1,h2,h3,h4,blockquote,font){color:inherit!important;background-color:#0000!important}}:root[data-theme=dark] .prose :is(p,span,section,strong,em,li,h1,h2,h3,h4,blockquote,font){color:inherit!important;background-color:#0000!important}
