@font-face{font-family:mono;src:url(../media/commit_mono_latin_400_normal-s.p.07vxzlkrmhahd.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:mono;src:url(../media/commit_mono_latin_400_italic-s.p.2xorjql0y4sts.woff2)format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:mono;src:url(../media/commit_mono_latin_500_normal-s.p.1r_0-v01srp2_.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:mono Fallback;src:local(Arial);ascent-override:68.45%;descent-override:15.21%;line-gap-override:0.0%;size-adjust:131.49%}.mono_1fe71eb3-module__zHoG2G__className{font-family:mono,mono Fallback,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.mono_1fe71eb3-module__zHoG2G__variable{--font-mono:"mono", "mono Fallback", ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, monospace}
#blog-root{--bg:#f7f8f9;--bg-2:#eef0f2;--fg:#1b2126;--fg-2:#48535b;--fg-3:#646f77;--line:#e0e4e8;--line-2:#c3cad0;--c-bg:#132a3e;--c-dot:#30465a;--c-add:#1a3f26;--c-del:#4c272f;--sans:var(--font-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:var(--font-mono), ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;background:var(--bg);color:var(--fg);font-family:var(--sans);flex-direction:column;flex:1;display:flex}@media (prefers-color-scheme:dark){#blog-root:not([data-theme=light]){--bg:#0e1418;--bg-2:#161e24;--fg:#d6dadd;--fg-2:#abb5c7;--fg-3:#7d8894;--line:#202a32;--line-2:#324858;--c-bg:#062335;--c-dot:#16394f;--c-add:#14351f;--c-del:#3a1b21}}#blog-root[data-theme=dark]{--bg:#0e1418;--bg-2:#161e24;--fg:#d6dadd;--fg-2:#abb5c7;--fg-3:#7d8894;--line:#202a32;--line-2:#324858;--c-bg:#062335;--c-dot:#16394f;--c-add:#14351f;--c-del:#3a1b21}#blog-root{--c-txt:#d6dadd;--c-mut:#94a3b4;--c-cm:#959ec0;--c-str:#c3e88d;--c-num:#f78c6c;--c-kw:#c792ea;--c-fn:#82aaff;--c-tag:#ff5572;--c-att:#c49a3c;--c-gold:#ffc600}#blog-root :focus-visible{outline:2px solid var(--c-fn);outline-offset:3px}#blog-root a:focus-visible{border-radius:2px}.blog-module__3rPSzG__wrap{width:100%;max-width:790px;margin:0 auto;padding:42px 18px 56px}.blog-module__3rPSzG__footer{border-top:1px solid var(--line);max-width:790px;font-family:var(--mono);color:var(--fg-3);justify-content:space-between;gap:18px;margin:0 auto;padding:18px 18px 44px;font-size:12px;display:flex}.blog-module__3rPSzG__footer a{color:inherit;text-decoration:none;transition:color .13s}.blog-module__3rPSzG__footer a:hover{color:var(--fg)}.blog-module__3rPSzG__site{border-bottom:1px solid var(--line);font-family:var(--mono);color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:6px 18px;margin:0 0 38px;padding-bottom:14px;font-size:12.5px;display:flex}.blog-module__3rPSzG__site a{color:inherit;text-decoration:none}.blog-module__3rPSzG__who{color:var(--fg);font-weight:500}.blog-module__3rPSzG__who:hover,.blog-module__3rPSzG__where:hover{color:var(--fg-2)}.blog-module__3rPSzG__theme{border:1px solid var(--line-2);background:var(--bg);border-radius:999px;align-items:stretch;gap:1px;margin-left:auto;padding:2px;display:inline-flex}.blog-module__3rPSzG__theme button{font-family:var(--sans);color:var(--fg-3);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:12px;font-weight:500;transition:color .13s,background .13s;display:inline-flex}.blog-module__3rPSzG__theme button:hover{color:var(--fg)}.blog-module__3rPSzG__theme button[data-active]{background:var(--bg-2);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-2);font-weight:600}@media (prefers-reduced-motion:reduce){#blog-root *{transition:none!important}}#blog-root ::selection{background:#ffc60066}@media (prefers-color-scheme:dark){#blog-root:not([data-theme=light]) ::selection{background:#ffc60038}}#blog-root[data-theme=dark] ::selection{background:#ffc60038}#blog-root [data-tag]{--tag-hue:var(--fg-3)}#blog-root [data-tag=design]{--tag-hue:var(--c-kw)}#blog-root [data-tag=engineering]{--tag-hue:var(--c-fn)}#blog-root [data-tag=tools]{--tag-hue:var(--c-gold)}.blog-module__3rPSzG__tag{font:inherit;background:color-mix(in srgb, var(--tag-hue) 16%, var(--bg));color:color-mix(in srgb, var(--tag-hue) 38%, var(--fg));cursor:pointer;border:1px solid #0000;border-radius:999px;padding:0 7px;line-height:1.5;text-decoration:none;transition:background .13s,border-color .13s;display:inline-block}.blog-module__3rPSzG__tag:hover{background:color-mix(in srgb, var(--tag-hue) 26%, var(--bg))}.blog-module__3rPSzG__tag[data-active]{border-color:color-mix(in srgb, var(--tag-hue) 60%, var(--fg));font-weight:500}
.page-module__dCh_qW__title{letter-spacing:-.018em;text-wrap:balance;margin:0 0 9px;font-size:30px;font-weight:700;line-height:1.2}.page-module__dCh_qW__meta{font-family:var(--mono);color:var(--fg-3);letter-spacing:.01em;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 38px;font-size:12px;display:flex}.page-module__dCh_qW__metaTags{flex-wrap:wrap;gap:5px;margin:0;padding:0;font-size:11px;list-style:none;display:flex}.page-module__dCh_qW__tag{}.page-module__dCh_qW__hero{aspect-ratio:16/9;background:var(--bg-2);border-radius:10px;margin:0 0 26px;position:relative;overflow:hidden}.page-module__dCh_qW__hero:before{content:"";background:var(--preview,none) center / cover no-repeat;filter:blur(28px)saturate(1.1);position:absolute;inset:0;transform:scale(1.12)}.page-module__dCh_qW__hero img{object-fit:cover;width:100%;height:100%;display:block;position:relative}@media (scripting:enabled){.page-module__dCh_qW__hero img{transition:opacity .7s ease-out,transform 1.1s cubic-bezier(.2,.7,.2,1)}.page-module__dCh_qW__hero img:not([data-loaded]){opacity:0;transform:scale(1.045)}}@media (scripting:enabled) and (prefers-reduced-motion:reduce){.page-module__dCh_qW__hero img{transition:opacity .4s ease-out}.page-module__dCh_qW__hero img:not([data-loaded]){transform:none}}@media (min-width:768px){.page-module__dCh_qW__hero+.page-module__dCh_qW__title{font-size:34px}}.page-module__dCh_qW__body{max-width:700px;font-size:17.5px;line-height:1.6}.page-module__dCh_qW__body>:first-child{margin-top:0}.page-module__dCh_qW__body p{text-wrap:pretty;margin:0 0 1.05em}.page-module__dCh_qW__body h2{border-top:1px solid var(--line);letter-spacing:-.01em;margin:2.4em 0 .75em;padding-top:1.05em;font-size:22px;font-weight:600;line-height:1.25}.page-module__dCh_qW__body>h2:first-child{border-top:0;margin-top:0;padding-top:0}.page-module__dCh_qW__body h3{letter-spacing:-.006em;margin:2.2em 0 .5em;font-size:19px;font-weight:600;line-height:1.35}.page-module__dCh_qW__body ul,.page-module__dCh_qW__body ol{margin:0 0 1.05em;padding-left:1.15em}.page-module__dCh_qW__body ul{list-style:outside}.page-module__dCh_qW__body ol{list-style:decimal}.page-module__dCh_qW__body li{margin-bottom:.32em}.page-module__dCh_qW__body li::marker{color:var(--fg-3)}.page-module__dCh_qW__body a{color:inherit;text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);transition:text-decoration-color .14s}.page-module__dCh_qW__body a:hover{-webkit-text-decoration-color:var(--c-gold);text-decoration-color:var(--c-gold)}.page-module__dCh_qW__body blockquote{border-left:1px solid var(--line-2);color:var(--fg-2);margin:1.6em 0;padding-left:22px}.page-module__dCh_qW__body blockquote p{margin:0}.page-module__dCh_qW__body hr{border:0;border-top:1px solid var(--line);margin:2.2em 0}.page-module__dCh_qW__body{--lead:0px}.page-module__dCh_qW__body :is(ul,ol){--lead:1.15em}.page-module__dCh_qW__body :is(ul,ol) :is(ul,ol){--lead:2.3em}.page-module__dCh_qW__body :is(ul,ol) :is(ul,ol) :is(ul,ol){--lead:3.45em}.page-module__dCh_qW__body :is(ul,ol) :is(ul,ol) :is(ul,ol) :is(ul,ol){--lead:4.6em}.page-module__dCh_qW__imageStage{width:calc(100% + var(--lead));margin:1.75em 0 1.75em calc(-1 * var(--lead));justify-items:center;display:grid}@media (min-width:768px){.page-module__dCh_qW__imageStage{--stage:min(1080px, 100vw - 48px);width:var(--stage);margin-left:calc(50% - var(--lead) / 2 + 27px - var(--stage) / 2)}}.page-module__dCh_qW__body blockquote .page-module__dCh_qW__imageStage{width:100%;margin-left:0}.page-module__dCh_qW__imageFrame{width:fit-content;max-width:100%;display:grid;position:relative}.page-module__dCh_qW__imageFrame img{border-radius:8px;width:auto;max-width:100%;height:auto;max-height:min(75svh,720px);display:block}.page-module__dCh_qW__imageFrame[data-sized]{width:min(100%, calc(var(--w) * 1px), calc(min(75svh, 720px) * var(--w) / var(--h)));border-radius:8px}.page-module__dCh_qW__imageFrame[data-sized] img{width:100%;aspect-ratio:var(--w) / var(--h)}.page-module__dCh_qW__imageFrame[data-sized]:not([data-loaded]){background:var(--bg-2)}.page-module__dCh_qW__imageFrame[data-zoomable] img{cursor:zoom-in}.page-module__dCh_qW__imageFrame[data-zoomable] img:focus-visible{outline:2px solid var(--c-gold);outline-offset:3px}.page-module__dCh_qW__imageZoom{pointer-events:none}.page-module__dCh_qW__imageFrame:hover .page-module__dCh_qW__diagramZoom,.page-module__dCh_qW__imageFrame:focus-within .page-module__dCh_qW__diagramZoom{opacity:1}.page-module__dCh_qW__diagramViewerCanvas img{-webkit-user-select:none;user-select:none;border-radius:8px;width:auto;max-width:92vw;height:auto;max-height:84vh;display:block}.page-module__dCh_qW__body code{font-family:var(--mono);background:var(--bg-2);border-radius:3px;padding:.12em .34em;font-size:.855em}.page-module__dCh_qW__tableScroll{max-width:100%;margin:1.5em 0 1.75em;overflow-x:auto}.page-module__dCh_qW__body table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9em;line-height:1.55}.page-module__dCh_qW__body th{border-bottom:1px solid var(--line-2);text-align:start;vertical-align:bottom;padding:0 1.25em .55em 0;font-weight:600}.page-module__dCh_qW__body td{border-bottom:1px solid var(--line);vertical-align:top;padding:.6em 1.25em .6em 0}.page-module__dCh_qW__body th:last-child,.page-module__dCh_qW__body td:last-child{padding-right:0}.page-module__dCh_qW__body td code{white-space:nowrap}.page-module__dCh_qW__card{background:var(--c-bg);border-radius:10px;width:fit-content;max-width:100%;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0b}#blog-root .page-module__dCh_qW__card ::selection{background:#ffc60021}.page-module__dCh_qW__cardHead{font-family:var(--mono);letter-spacing:.01em;color:var(--c-mut);align-items:center;gap:16px;padding:15px 22px 2px;font-size:12px;display:flex}.page-module__dCh_qW__dots{flex:none;gap:6px;display:flex}.page-module__dCh_qW__dots i{background:var(--c-dot);border-radius:50%;width:7px;height:7px}.page-module__dCh_qW__copy{font:inherit;color:var(--c-mut);opacity:.55;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;transition:opacity .14s,color .14s}.page-module__dCh_qW__card:hover .page-module__dCh_qW__copy,.page-module__dCh_qW__copy:focus-visible{opacity:1}.page-module__dCh_qW__copy:hover{color:var(--c-gold);opacity:1}.page-module__dCh_qW__card pre{font-family:var(--mono);color:var(--c-txt);tab-size:2;margin:0;padding:11px 0 19px;font-size:14px;line-height:1.7;overflow-x:auto}.page-module__dCh_qW__card pre code{min-width:max-content;font-size:inherit;color:inherit;white-space:normal;background:0 0;padding:0;display:block}.page-module__dCh_qW__card pre code [data-line]{white-space:pre;padding:0 22px;display:block}.page-module__dCh_qW__card pre code{counter-reset:ln;--ln-w:2ch}.page-module__dCh_qW__card pre code:has(>[data-line]:nth-child(100)){--ln-w:3ch}.page-module__dCh_qW__card pre code:has(>[data-line]:nth-child(10)):not(:has([data-diff])) [data-line]:before{counter-increment:ln;content:counter(ln);width:var(--ln-w);text-align:right;color:var(--c-mut);opacity:.4;font-variant-numeric:tabular-nums;margin-right:2ch;display:inline-block}.page-module__dCh_qW__card pre code [data-diff=add]{background:var(--c-add);box-shadow:inset 2px 0 0 var(--c-str)}.page-module__dCh_qW__card pre code [data-diff=del]{background:var(--c-del);box-shadow:inset 2px 0 0 var(--c-tag)}.page-module__dCh_qW__card pre code [data-sign]{width:1ch;color:var(--c-mut);opacity:.4;margin-right:1ch;font-weight:500;display:inline-block}.page-module__dCh_qW__card pre code [data-diff=add] [data-sign]{color:var(--c-str);opacity:1}.page-module__dCh_qW__card pre code [data-diff=del] [data-sign]{color:var(--c-tag);opacity:1}.page-module__dCh_qW__codeStage{grid-template-columns:minmax(0,1fr);justify-items:center;margin:1.75em 0;display:grid}.page-module__dCh_qW__codeStage>.page-module__dCh_qW__card{min-width:min(100%,700px)}@media (min-width:768px){.page-module__dCh_qW__codeStage{--stage:min(1080px, 100vw - 48px);width:var(--stage);margin-left:calc(50% + 27px - var(--stage) / 2);grid-template-columns:minmax(0,1fr) minmax(min(100%,754px),max-content) minmax(0,1fr)}.page-module__dCh_qW__codeStage>.page-module__dCh_qW__card{grid-column:2;justify-self:start}}.page-module__dCh_qW__diagram{justify-items:center;width:calc(100% + 54px);margin:1.75em 0 1.75em -27px;display:grid}@media (min-width:768px){.page-module__dCh_qW__diagram{--stage:min(1080px, 100vw - 48px);width:var(--stage);margin-left:calc(50% + 27px - var(--stage) / 2)}}.page-module__dCh_qW__diagramFrame{box-sizing:border-box;width:min(100%, max(684px, calc(var(--natural,0px) + 42px)));border:1px solid var(--line);background:var(--bg-2);border-radius:10px;padding:24px 20px;position:relative}.page-module__dCh_qW__diagramSvg{place-items:center;min-width:0;display:grid}.page-module__dCh_qW__diagramSvg svg{width:auto;max-width:100%;height:auto;display:block}.page-module__dCh_qW__diagram{--sticker-ground:color-mix(in srgb, var(--c-gold) 42%, var(--bg));--sticker-card:#fff;--sticker-ink:#132a3e;--sticker-shadow:#132a3e}@media (prefers-color-scheme:dark){#blog-root:not([data-theme=light]) .page-module__dCh_qW__diagram{--sticker-ground:var(--bg-2);--sticker-card:#10171c;--sticker-ink:#e8e3d4;--sticker-shadow:var(--c-gold)}}#blog-root[data-theme=dark] .page-module__dCh_qW__diagram{--sticker-ground:var(--bg-2);--sticker-card:#10171c;--sticker-ink:#e8e3d4;--sticker-shadow:var(--c-gold)}.page-module__dCh_qW__diagram .page-module__dCh_qW__diagramFrame{background:var(--sticker-ground);border-color:#0000}:is(.page-module__dCh_qW__diagram .node rect.label-container,.page-module__dCh_qW__diagram .node polygon,.page-module__dCh_qW__diagram .node path){fill:var(--sticker-card)!important;stroke:var(--sticker-ink)!important;stroke-width:2px!important;filter:drop-shadow(4px 4px 0 var(--sticker-shadow))!important}.page-module__dCh_qW__diagram .node rect.label-container{rx:4px}.page-module__dCh_qW__diagram .nodeLabel{font-weight:600;color:var(--sticker-ink)!important;fill:var(--sticker-ink)!important}.page-module__dCh_qW__diagram .flowchart-link{stroke:var(--sticker-ink)!important;stroke-width:2px!important}:is(.page-module__dCh_qW__diagram .marker,.page-module__dCh_qW__diagram .arrowMarkerPath){fill:var(--sticker-ink)!important;stroke:var(--sticker-ink)!important}.page-module__dCh_qW__diagramZoom,.page-module__dCh_qW__diagramViewerClose,.page-module__dCh_qW__diagramViewerToolbar button{border:1px solid var(--line-2);background:color-mix(in srgb, var(--bg) 92%, transparent);color:var(--fg-2);cursor:pointer;transition:color .13s,border-color .13s,background .13s,opacity .13s}.page-module__dCh_qW__diagramZoom{z-index:1;opacity:.48;border-radius:999px;place-items:center;width:30px;height:30px;padding:0;display:grid;position:absolute;top:10px;right:10px}.page-module__dCh_qW__diagramFrame:hover .page-module__dCh_qW__diagramZoom,.page-module__dCh_qW__diagramZoom:focus-visible{opacity:1}.page-module__dCh_qW__diagram .page-module__dCh_qW__diagramZoom{border:2px solid var(--sticker-ink);background:var(--sticker-card);color:var(--sticker-ink);box-shadow:2px 2px 0 var(--sticker-shadow);opacity:1;transition:box-shadow .13s,transform .13s;top:-12px;right:-12px}.page-module__dCh_qW__diagram .page-module__dCh_qW__diagramZoom:hover,.page-module__dCh_qW__diagram .page-module__dCh_qW__diagramZoom:focus-visible{border-color:var(--sticker-ink);color:var(--sticker-ink);box-shadow:3px 3px 0 var(--sticker-shadow);transform:translate(-1px,-1px)}.page-module__dCh_qW__diagram .page-module__dCh_qW__diagramZoom svg{stroke-width:2px}@media (prefers-reduced-motion:reduce){.page-module__dCh_qW__diagram .page-module__dCh_qW__diagramZoom:hover,.page-module__dCh_qW__diagram .page-module__dCh_qW__diagramZoom:focus-visible{transform:none}}.page-module__dCh_qW__diagramZoom:hover,.page-module__dCh_qW__diagramViewerClose:hover,.page-module__dCh_qW__diagramViewerToolbar button:hover{border-color:var(--c-gold);color:var(--fg)}.page-module__dCh_qW__diagramZoom svg,.page-module__dCh_qW__diagramViewerClose svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.page-module__dCh_qW__diagramViewer{z-index:100;background:color-mix(in srgb, var(--bg) 94%, transparent);color:var(--fg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:fixed;inset:0}.page-module__dCh_qW__diagramViewerStage{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.page-module__dCh_qW__diagramViewerStage[data-dragging]{cursor:grabbing}.page-module__dCh_qW__diagramViewerCanvas{transform-origin:50%;will-change:transform;position:absolute;top:50%;left:50%}.page-module__dCh_qW__diagramViewer{animation:.2s cubic-bezier(.2,0,0,1) both page-module__dCh_qW__viewer-in}.page-module__dCh_qW__diagramViewerStage{animation:.26s cubic-bezier(.2,0,0,1) both page-module__dCh_qW__viewer-stage-in}@keyframes page-module__dCh_qW__viewer-in{0%{opacity:0}}@keyframes page-module__dCh_qW__viewer-stage-in{0%{opacity:0;transform:scale(.94)}}@media (prefers-reduced-motion:reduce){.page-module__dCh_qW__diagramViewerStage{animation-name:page-module__dCh_qW__viewer-in}}.page-module__dCh_qW__diagramViewerCanvas svg{max-height:78vh;display:block;width:min(1200px,82vw)!important;max-width:none!important;height:auto!important}.page-module__dCh_qW__diagramViewerToolbar{z-index:2;border:1px solid var(--line);background:var(--bg);border-radius:999px;gap:1px;padding:2px;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%)}.page-module__dCh_qW__diagramViewerToolbar button{min-width:34px;height:30px;font-family:var(--mono);border:0;border-radius:999px;padding:0 9px;font-size:12px}.page-module__dCh_qW__diagramViewerToolbar button:nth-child(2){min-width:58px}.page-module__dCh_qW__diagramViewerClose{z-index:2;border-radius:999px;place-items:center;width:34px;height:34px;padding:0;display:grid;position:absolute;top:18px;right:18px}.page-module__dCh_qW__diagramViewerHint{z-index:2;background:color-mix(in srgb, var(--bg) 90%, transparent);color:var(--fg-3);font-family:var(--mono);white-space:nowrap;border-radius:999px;margin:0;padding:5px 9px;font-size:11px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.page-module__dCh_qW__diagramSource{font-family:var(--mono);color:var(--fg-3);white-space:pre;margin:0;font-size:12px;line-height:1.55;overflow-x:auto}.page-module__dCh_qW__diagramSource code{color:inherit;font-size:inherit;background:0 0;padding:0}.page-module__dCh_qW__diagramSource[data-error]{color:var(--fg-2)}@media (max-width:720px){.page-module__dCh_qW__diagram{width:100%;margin-left:0}}@media (max-width:580px){.page-module__dCh_qW__diagramFrame{padding:18px 14px}.page-module__dCh_qW__diagramViewerHint{display:none}.page-module__dCh_qW__diagramViewerCanvas svg{max-height:76vh;width:88vw!important}}.page-module__dCh_qW__more{border-top:1px solid var(--line);margin-top:56px;padding-top:32px}.page-module__dCh_qW__moreLabel{font-family:var(--mono);letter-spacing:.06em;color:var(--fg-3);margin:0 0 16px;font-size:12px;font-weight:500}.page-module__dCh_qW__moreList{flex-direction:column;gap:15px;margin:0;padding:0;list-style:none;display:flex}.page-module__dCh_qW__moreList li{grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:20px;display:grid}.page-module__dCh_qW__moreList time{font-family:var(--mono);color:var(--fg-3);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.page-module__dCh_qW__moreList h2{letter-spacing:-.008em;margin:0;font-size:17.5px;font-weight:600;line-height:1.35}.page-module__dCh_qW__moreList h2 a{color:inherit;border-bottom:1px solid #0000;text-decoration:none;transition:border-color .13s}.page-module__dCh_qW__moreList h2 a:hover{border-bottom-color:var(--c-gold)}@media (max-width:580px){.page-module__dCh_qW__moreList li{grid-template-columns:minmax(0,1fr);gap:3px}.page-module__dCh_qW__title{font-size:25px}.page-module__dCh_qW__body{font-size:16.5px}}.page-module__dCh_qW__progress{z-index:50;transform-origin:0;pointer-events:none;background:#c99700;height:3px;position:fixed;inset:0 0 auto;transform:scaleX(0)}@supports (animation-timeline:scroll()){.page-module__dCh_qW__progress{animation:linear both page-module__dCh_qW__read;animation-timeline:scroll(root)}}@keyframes page-module__dCh_qW__read{to{transform:scaleX(1)}}@media print{.page-module__dCh_qW__progress{display:none}}@media (prefers-color-scheme:dark){#blog-root:not([data-theme=light]) .page-module__dCh_qW__progress{background:var(--c-gold)}}#blog-root[data-theme=dark] .page-module__dCh_qW__progress{background:var(--c-gold)}
.page-module__D1rvnq__filter{font-family:var(--mono);flex-wrap:wrap;gap:8px 7px;margin:0 0 34px;font-size:12px;display:flex}.page-module__D1rvnq__filter button{font:inherit;border:1px solid var(--line);color:var(--fg-3);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;transition:color .13s,border-color .13s,background .13s}.page-module__D1rvnq__filter button:hover{color:var(--fg-2);border-color:var(--line-2)}.page-module__D1rvnq__filter button[data-active]{color:var(--fg);border-color:var(--line-2);background:var(--bg-2);font-weight:500}.page-module__D1rvnq__filter button[data-tag][data-active]{border-color:color-mix(in srgb, var(--tag-hue) 60%, var(--fg));background:color-mix(in srgb, var(--tag-hue) 16%, var(--bg));color:color-mix(in srgb, var(--tag-hue) 38%, var(--fg))}.page-module__D1rvnq__year{border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:.06em;color:var(--fg);font-variant-numeric:tabular-nums;margin:2.6em 0 .7em;padding-top:1.1em;font-size:16.5px;font-weight:500}section:first-of-type .page-module__D1rvnq__year{border-top:0;margin-top:0;padding-top:0}.page-module__D1rvnq__list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.page-module__D1rvnq__list li{grid-template-columns:88px 64px minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.page-module__D1rvnq__list time{font-family:var(--mono);color:var(--fg-3);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.page-module__D1rvnq__list h2{letter-spacing:-.008em;margin:0;font-size:17.5px;font-weight:600;line-height:1.35}.page-module__D1rvnq__list h2 a{color:inherit;border-bottom:1px solid #0000;text-decoration:none;transition:border-color .13s}.page-module__D1rvnq__list h2 a:hover{border-bottom-color:var(--c-gold)}.page-module__D1rvnq__tags{font-family:var(--mono);justify-content:flex-end;gap:5px;font-size:11px;display:flex}.page-module__D1rvnq__tag{}.page-module__D1rvnq__thumb{--tag-hue:var(--fg-3);aspect-ratio:16/9;outline:1px solid color-mix(in srgb, var(--fg) 12%, transparent);outline-offset:-1px;background-color:color-mix(in srgb, var(--tag-hue) 18%, var(--bg));border-radius:5px;width:64px;display:block;position:relative;overflow:hidden}.page-module__D1rvnq__thumb[data-cover]{background-color:var(--bg-2)}.page-module__D1rvnq__thumb:before{content:"";background:var(--preview,none) center / cover no-repeat;filter:blur(4px);position:absolute;inset:0;transform:scale(1.15)}.page-module__D1rvnq__thumb img{object-fit:cover;width:100%;height:100%;display:block;position:relative}@media (scripting:enabled){.page-module__D1rvnq__thumb img{transition:opacity .32s ease-out}.page-module__D1rvnq__thumb img:not([data-loaded]){opacity:0}}.page-module__D1rvnq__empty{color:var(--fg-2);margin:0;font-size:17.5px;line-height:1.6}@media (max-width:580px){.page-module__D1rvnq__list li{grid-template-columns:minmax(0,1fr) 80px;align-items:start;gap:3px 14px}.page-module__D1rvnq__list li>*{grid-column:1}.page-module__D1rvnq__list li>.page-module__D1rvnq__thumb{grid-area:1/2/span 3;width:80px;margin-top:2px}.page-module__D1rvnq__tags{flex-wrap:wrap;justify-content:flex-start;margin-top:2px}}
