:root{--bg:#f6f5f1;--bg-2:#ecebe5;--fg:#141414;--fg-2:#5a5955;--line:#d9d7cf;--accent:#1f3fd1;--ink:#0b0b0b;--ink-fg:#f6f5f1;--font-serif:"Noto Serif TC","Songti TC",serif;--font-sans:"Noto Sans TC","PingFang TC",system-ui,sans-serif;--font-mono:"JetBrains Mono","SFMono-Regular",Menlo,monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.25rem;--fs-xl:clamp(1.6rem,1.1rem + 2vw,2.4rem);--fs-2xl:clamp(2.2rem,1.4rem + 3.6vw,4.2rem);--sp-1:.5rem;--sp-2:1rem;--sp-3:1.5rem;--sp-4:2.5rem;--sp-5:4rem;--sp-6:7rem;--gutter:clamp(1rem,4vw,3rem);--max:1280px;--radius:2px;--ease:cubic-bezier(.2,.7,.2,1)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-md);line-height:1.7;margin:0;-webkit-font-smoothing:antialiased}img,video{display:block;height:auto;max-width:100%}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;letter-spacing:.01em;line-height:1.25;margin:0}p{margin:0 0 var(--sp-2)}button{background:none;border:0;color:inherit;cursor:pointer;font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{margin-inline:auto;width:min(100% - 2 * var(--gutter),var(--max))}.sec{padding-block:var(--sp-6)}.sec+.sec{border-top:1px solid var(--line)}.sec--ink{background:var(--ink);color:var(--ink-fg)}.sec--ink a:hover{color:#9fb0ff}.label{color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase}.sec--ink .label{color:#a8a7a1}.lede{font-size:var(--fs-lg);line-height:1.8;max-width:44em}.h-xl{font-size:var(--fs-xl)}.h-2xl{font-size:var(--fs-2xl)}.mono{font-family:var(--font-mono)}.muted{color:var(--fg-2)}.sec-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:space-between;margin-bottom:var(--sp-4)}.sec-head h2{font-size:var(--fs-xl)}.btn{align-items:center;border:1px solid;border-radius:var(--radius);display:inline-flex;font-family:var(--font-mono);font-size:var(--fs-sm);gap:.5em;letter-spacing:.06em;padding:.7em 1.2em;transition:background .2s var(--ease),color .2s var(--ease)}.btn:hover{background:var(--fg);color:var(--bg)}.sec--ink .btn:hover{background:var(--ink-fg);color:var(--ink)}.link{border-bottom:1px solid var(--line)}.link:hover{border-color:var(--accent)}.grid{display:grid;gap:var(--sp-4) var(--sp-3)}.grid--2{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}.grid--3{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.tag{border:1px solid var(--line);border-radius:var(--radius);color:var(--fg-2);display:inline-block;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;padding:.15em .5em}.tags{display:flex;flex-wrap:wrap;gap:.4em}.prose{max-width:40em}.prose p{margin-bottom:1em}.prose ul{padding-left:1.2em}.sr-only{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.hdr[data-v-ff6a37b6]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.hdr__in[data-v-ff6a37b6]{align-items:center;display:flex;gap:var(--sp-3);justify-content:space-between;min-height:64px}.hdr__logo[data-v-ff6a37b6]{align-items:baseline;display:flex;gap:.6em}.hdr__zh[data-v-ff6a37b6]{font-family:var(--font-serif);font-size:var(--fs-lg);font-weight:600;letter-spacing:.06em}.hdr__en[data-v-ff6a37b6]{color:var(--fg-2);font-size:var(--fs-xs);letter-spacing:.1em}.hdr__nav[data-v-ff6a37b6]{align-items:center;display:flex;gap:var(--sp-3)}.hdr__link[data-v-ff6a37b6]{border-bottom:1px solid transparent;font-size:var(--fs-sm);letter-spacing:.04em;padding:.3em 0}.hdr__link.router-link-active[data-v-ff6a37b6]{border-color:var(--fg)}.hdr__lang[data-v-ff6a37b6]{display:inline-flex;gap:.4em;margin-left:var(--sp-2)}.hdr__lang-btn[data-v-ff6a37b6]{border:1px solid var(--line);border-radius:var(--radius);color:var(--fg-2);font-size:var(--fs-xs);letter-spacing:.08em;padding:.2em .5em}.hdr__lang-btn.is-on[data-v-ff6a37b6]{background:var(--fg);border-color:var(--fg);color:var(--bg)}.hdr__burger[data-v-ff6a37b6]{border:1px solid var(--line);border-radius:var(--radius);display:none;font-size:var(--fs-xs);letter-spacing:.1em;padding:.4em .7em;text-transform:uppercase}@media(max-width:760px){.hdr__burger[data-v-ff6a37b6]{display:inline-block}.hdr__nav[data-v-ff6a37b6]{align-items:flex-start;background:var(--bg);border-bottom:1px solid var(--line);display:none;flex-direction:column;gap:var(--sp-2);left:0;padding:var(--sp-3) var(--gutter);position:absolute;right:0;top:100%}.hdr__nav.is-open[data-v-ff6a37b6]{display:flex}.hdr__link[data-v-ff6a37b6]{font-size:var(--fs-lg)}.hdr__lang[data-v-ff6a37b6]{margin-left:0;margin-top:var(--sp-1)}}.ftr[data-v-9b98cecd]{border-top:1px solid var(--line);font-size:var(--fs-sm);padding-block:var(--sp-5)}.ftr__in[data-v-9b98cecd]{align-items:start;display:grid;gap:var(--sp-3);grid-template-columns:2fr 1fr 1fr}.ftr__name[data-v-9b98cecd]{font-family:var(--font-serif);font-size:var(--fs-lg)}.ftr__contact[data-v-9b98cecd],.ftr__links[data-v-9b98cecd]{display:flex;flex-direction:column;gap:.4em}.ftr__rights[data-v-9b98cecd]{border-top:1px solid var(--line);font-size:var(--fs-xs);grid-column:1/-1;padding-top:var(--sp-3)}@media(max-width:760px){.ftr__in[data-v-9b98cecd]{grid-template-columns:1fr 1fr}.ftr__in[data-v-9b98cecd]>:first-child{grid-column:1/-1}}.app{display:flex;flex-direction:column;min-height:100dvh}main{flex:1}.skip{background:var(--fg);color:var(--bg);left:-999px;padding:.5em 1em;position:absolute;top:0;z-index:100}.skip:focus{left:var(--gutter)}
