:root{--ratio:1.3333;--tag-steps:3;--fs-meta:clamp(.7036rem, .7622rem - .1025vw, .7417rem);--fs-body:.8125rem;--fs-h4:clamp(.89rem, .8641rem + .1297vw, .9382rem);--fs-h3:clamp(.975rem, .9166rem + .2918vw, 1.0833rem);--fs-h2:clamp(1.17rem, 1.0222rem + .7392vw, 1.4444rem);--fs-title:clamp(1.404rem, 1.1228rem + 1.4059vw, 1.9259rem);--fs-headline:clamp(1.538rem, 1.1685rem + 1.8474vw, 2.2239rem);--fs-brand:clamp(1.6848rem, 1.2091rem + 2.3787vw, 2.5679rem);--fs-display:clamp(2.4261rem, 1.2738rem + 5.7617vw, 4.5652rem)}@layer scale-fallback{:root{--ratio:1.3333;--tag-steps:3;--fs-meta:clamp(.7036rem, .7622rem - .1025vw, .7417rem);--fs-body:.8125rem;--fs-h4:clamp(.89rem, .8641rem + .1297vw, .9382rem);--fs-h3:clamp(.975rem, .9166rem + .2918vw, 1.0833rem);--fs-h2:clamp(1.17rem, 1.0222rem + .7392vw, 1.4444rem);--fs-title:clamp(1.404rem, 1.1228rem + 1.4059vw, 1.9259rem);--fs-headline:clamp(1.538rem, 1.1685rem + 1.8474vw, 2.2239rem);--fs-brand:clamp(1.6848rem, 1.2091rem + 2.3787vw, 2.5679rem);--fs-display:clamp(2.4261rem, 1.2738rem + 5.7617vw, 4.5652rem)}}:root{--ink:#333;--ink-strong:#000;--ink-muted:#666;--ink-faint:#777;--paper:#fff;--rule:#ccc;--rule-soft:#eaeaea;--wash:#f8f8f8;--highlight:#ff6;--code-bg:#2d2d2d;--code-ink:#f8f8f8;--code-comment:#5f5a60;--code-keyword:#cda869;--code-string:#8f9d6a;--code-number:#cf6a4c;--code-entity:#9b703f;--code-variable:#7587a6;--code-support:#9b859d;--font-body:"Noto Sans", "Noto Sans TC", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--font-serif:"Newsreader", Georgia, "Iowan Old Style", "Noto Serif", serif;--body-aspect:.536;--line:1.625rem;--half:.8125rem;--tracking:.0625rem;--content:40rem;--sidebar:9rem;--gutter:4.375rem;--page-pad:1rem;color-scheme:light}*,: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(--font-body);font-size:var(--fs-body);font-optical-sizing:auto;font-weight:300;line-height:var(--line);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}img,svg,video,iframe{max-width:100%;height:auto}a{background-color:var(--highlight);color:#000;text-decoration:none;&:hover{color:var(--highlight);background-color:#000}&:focus-visible{outline-offset:2px;outline:2px solid #000}&:has(>img){background:0 0}}:focus:not(:focus-visible){outline:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{padding:0 .5rem;position:absolute;inset-block-start:-10rem;inset-inline-start:var(--page-pad);&:focus{inset-block-start:var(--page-pad)}}.site{width:min(100% - 2 * var(--page-pad), var(--content) + var(--gutter) + var(--sidebar));grid-template-columns:minmax(0,1fr);grid-template-areas:"header""main""sidebar""footer";margin-inline:auto;display:grid}@media (width>=57.125rem){.site{grid-template-columns:var(--content) var(--sidebar);column-gap:var(--gutter);grid-template-areas:"header header""main sidebar""footer footer"}}.site-header{grid-area:header}.site-main{grid-area:main;min-width:0}.site-sidebar{grid-area:sidebar}.site-footer{grid-area:footer}.site-header{margin-block:calc(var(--line) * 2)}.site-title{font-family:var(--font-mono);font-size:var(--fs-brand);font-weight:100;line-height:1.2;line-height:round(up, var(--fs-brand) * 1.2, var(--half));letter-spacing:0;margin:0;& a,& a:hover{color:#191919;background:0 0}& a{white-space:pre}}.site-description{margin:var(--half) 0 0;color:var(--ink-muted);font-size:var(--fs-meta)}.post{margin-block-end:calc(var(--line) * 6);.post-list &{margin-block-end:calc(var(--line) * 3)}}.post-title{margin:0 0 var(--half);color:var(--ink-strong);font-size:var(--fs-title);font-weight:300;line-height:1.5;line-height:round(up, var(--fs-title) * 1.3, var(--half));text-wrap:balance}h1.post-title{font-size:var(--fs-headline);line-height:1.5;line-height:round(up, var(--fs-headline) * 1.3, var(--half))}.tags{text-transform:lowercase}.post-meta{margin:0 0 var(--half);color:var(--ink-muted);font-size:var(--fs-meta);font-weight:400;line-height:var(--line);letter-spacing:0;& .sep{margin-inline:.25em}}.post-summary{letter-spacing:var(--tracking);text-wrap:pretty;margin:0}.post-more{margin:var(--half) 0 0;font-size:var(--fs-meta)}.post-footer{color:var(--ink-muted);font-size:var(--fs-meta);margin-block-start:calc(var(--line) * 2)}.pager{justify-content:space-between;gap:0 var(--half);margin-block:0 calc(var(--line) * 3);font-size:var(--fs-meta);flex-wrap:wrap;display:flex;& .next{text-align:end;margin-inline-start:auto}}.prose{letter-spacing:var(--tracking);overflow-wrap:break-word;&>:first-child{margin-block-start:0}&>:last-child{margin-block-end:0}& :is(p,blockquote,ul,ol,dl,table,pre,figure){margin-block:var(--half)}& p{text-wrap:pretty}& :is(h1,h2,h3,h4,h5,h6){margin:var(--line) 0 var(--half);color:var(--ink-strong);letter-spacing:0;text-wrap:balance;padding:0;scroll-margin-block-start:var(--line);font-weight:300;line-height:1.5;position:relative}& h1{font-size:var(--fs-title);line-height:round(up, var(--fs-title) * 1.3, var(--half))}& h2{font-size:var(--fs-h2);line-height:round(up, var(--fs-h2) * 1.3, var(--half));border-block-end:1px solid var(--rule);margin-block-end:calc(var(--half) / 2);padding-block-end:calc(var(--half) / 2 - 1px)}& h3{font-size:var(--fs-h3);line-height:round(up, var(--fs-h3) * 1.3, var(--half))}& h4{font-size:var(--fs-h4);line-height:var(--line)}& h5{font-size:var(--fs-body);font-weight:400;line-height:var(--line)}& h6{font-size:var(--fs-body);font-weight:400;line-height:var(--line);color:var(--ink-faint)}& .anchor{opacity:0;margin-inline-end:.375rem;padding-inline:.25rem;position:absolute;inset-inline-end:100%;&:before{content:"#"}}& :is(h1,h2,h3,h4,h5,h6):hover .anchor,& .anchor:focus-visible{opacity:1}& :is(ul,ol){padding-inline-start:1.875rem}& li{margin:0}& li>:is(ul,ol){margin-block:0}& dt{margin:var(--half) 0 0;font-style:italic}& dd{margin:0 0 var(--half);padding:0 var(--half)}& blockquote{padding:0 var(--half);color:var(--ink-faint);border-inline-start:4px solid #ddd;margin-inline:0;&>:first-child{margin-block-start:0}&>:last-child{margin-block-end:0}}& hr{height:4px;margin-block:calc(var(--line) - 2px);background:repeating-linear-gradient(-45deg, var(--rule) 0 1px, transparent 1px 4px);border:0}& table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}& :is(th,td){padding:calc(var(--half) / 2) var(--half);border:1px solid var(--rule);text-align:start}& th{font-weight:400}& tr:nth-child(2n){background:var(--wash)}& img{display:block}& figure{margin-inline:0;& figcaption{color:var(--ink-muted);font-size:var(--fs-meta);line-height:calc(var(--line) * .75);margin-block-start:calc(var(--half) / 2)}}& iframe{aspect-ratio:16/9;border:0;width:100%;display:block}}:is(code,kbd,samp,pre){font-family:var(--font-mono);font-size:inherit;font-size-adjust:var(--body-aspect);letter-spacing:0}:not(pre)>:is(code,kbd,samp){border:1px solid var(--rule-soft);background:var(--wash);white-space:break-spaces;border-radius:3px;margin-inline:2px;padding:0 5px}pre{padding:calc(var(--half) - 1px) 1rem;background:var(--code-bg);color:var(--code-ink);line-height:calc(var(--line) * .75);tab-size:4;border:1px solid #333;border-radius:3px;overflow-x:auto;& code{font:inherit;font-size-adjust:inherit;white-space:pre}& ::selection{color:#316ba5;background:#def}}:root{--shiki-foreground:var(--code-ink);--shiki-background:var(--code-bg);--shiki-token-comment:var(--code-comment);--shiki-token-keyword:var(--code-keyword);--shiki-token-string:var(--code-string);--shiki-token-string-expression:var(--code-string);--shiki-token-constant:var(--code-number);--shiki-token-function:var(--code-entity);--shiki-token-parameter:var(--code-variable);--shiki-token-punctuation:var(--code-ink);--shiki-token-link:var(--code-support)}.hljs-comment,.hljs-quote{color:var(--code-comment);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-type{color:var(--code-keyword)}.hljs-string,.hljs-regexp,.hljs-addition{color:var(--code-string)}.hljs-number,.hljs-literal,.hljs-symbol,.hljs-bullet{color:var(--code-number)}.hljs-title,.hljs-section,.hljs-name,.hljs-selector-id,.hljs-selector-class{color:var(--code-entity)}.hljs-variable,.hljs-template-variable,.hljs-attr,.hljs-attribute,.hljs-params{color:var(--code-variable)}.hljs-meta,.hljs-tag,.hljs-subst{color:var(--code-support)}.hljs-deletion{color:var(--code-number)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}.site-sidebar{font-size:var(--fs-body);line-height:var(--line);margin-block-end:calc(var(--line) * 2);@media (width>=57.125rem){padding-inline-start:1.25rem}& section+section{margin-block-start:var(--line)}& h2{color:var(--ink-muted);font-size:var(--fs-meta);font-weight:400;line-height:var(--line);letter-spacing:.05em;text-transform:lowercase;margin:0}& ul{margin:0;padding:0;list-style:none}& .count{color:var(--ink-muted);font-variant-numeric:tabular-nums}}.tag-cloud{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:0;flex-wrap:wrap;align-items:baseline;gap:0 .5rem;margin:0;padding:0;list-style:none;display:flex;& li{--weight:0;font-size:calc(var(--fs-body) + var(--weight) * .875rem);font-size:calc(var(--fs-body) * pow(var(--ratio), var(--weight) * var(--tag-steps)));font-weight:calc(200 + var(--weight) * 400);line-height:1.4}}.archive-header{margin-block-end:calc(var(--line) * 2);& .archive-kind,& .archive-count{color:var(--ink-muted);font-size:var(--fs-meta);font-weight:400;line-height:var(--line);letter-spacing:.05em;margin:0}& .archive-kind{text-transform:lowercase}& h1{color:var(--ink-strong);font-size:var(--fs-title);font-weight:300;line-height:1.5;line-height:round(up, var(--fs-title) * 1.3, var(--half));text-wrap:balance;margin:0}}.search{gap:.25rem;display:flex;& input{color:#000;width:100%;min-width:0;font:inherit;line-height:calc(var(--line) - 2px);background:#eee;border:1px solid #999;border-radius:0;padding:0 .375rem}}.site-footer{margin:0 0 var(--line);color:var(--ink-muted);font-size:var(--fs-meta);padding-block-start:calc(var(--line) * 2)}.not-found{margin-block-end:calc(var(--line) * 6);& .code{font-family:var(--font-mono);font-size:var(--fs-display);font-weight:100;line-height:1;line-height:round(up, var(--fs-display), var(--half));letter-spacing:-.02em;margin:0}& h1{margin:var(--line) 0 var(--half);color:var(--ink-strong);font-size:var(--fs-h3);font-weight:300;line-height:round(up, var(--fs-h3) * 1.3, var(--half))}& p{margin:0 0 var(--half);letter-spacing:var(--tracking)}}@media print{.site{width:auto;display:block}.site-sidebar,.pager,.skip-link{display:none}a{background:0 0}.prose :is(table,figure),pre{break-inside:avoid}pre{border-color:var(--rule);background:var(--wash);color:#000}}
