:root{color-scheme:light dark;--paper:#f4f2ed;--paper-2:#e9e5dc;--paper-3:#dbd5c8;--ink:#121110;--ink-2:#46423b;--muted:#7a7469;--line:#d5cfc3;--code-bg:#e9e5dc;--orange:#f56600;--orange-text:#b84a00;--on-orange:#121110;--on-orange-soft:#121110b8;--on-orange-line:#12111047;--on-orange-inv:#f4f2ed;--hl-band:#f56600;--font-serif:"Noto Serif TC", "Songti TC", "Source Han Serif TC", serif;--font-sans:"Noto Sans TC", "PingFang TC", -apple-system, BlinkMacSystemFont, "Microsoft JhengHei", "Helvetica Neue", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--wrap:1140px;--measure:34em;--text:17px;--leading:2;--pad:48px}@media (prefers-color-scheme:dark){:root{--paper:#14120f;--paper-2:#1e1b17;--paper-3:#2a251f;--ink:#ede8de;--ink-2:#b4ad9e;--muted:#877f70;--line:#322d26;--code-bg:#1e1b17;--orange-text:#ff7a29;--hl-band:#f566008c}}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-sans);font-size:var(--text);line-height:var(--leading);background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;line-break:strict;hanging-punctuation:allow-end;text-autospace:normal}body{letter-spacing:.02em;-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100dvh;margin:0;font-weight:400;display:flex}a{color:inherit;text-decoration:none}a:hover{color:var(--orange-text)}img,video{max-width:100%;height:auto;display:block}::selection{background:var(--orange);color:var(--on-orange)}:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.wrap{width:100%;max-width:var(--wrap);padding-inline:var(--pad);margin-inline:auto}.edge{background:var(--orange);height:10px}main{flex:1;padding-block:0}.site-header{padding-block:0}.masthead{justify-content:space-between;align-items:flex-end;gap:32px;padding-block:38px 20px;display:flex}.brand{display:block}.wordmark{font-family:var(--font-serif);letter-spacing:.08em;font-size:36px;font-weight:900;line-height:1;display:block}.latin{font-family:var(--font-mono);letter-spacing:.44em;color:var(--muted);margin-top:12px;font-size:11px;font-weight:700;display:block}.brand:hover .wordmark{color:var(--orange-text)}.site-header nav{align-items:center;gap:8px;padding-bottom:4px;display:flex}.site-header nav a{letter-spacing:.12em;min-height:44px;color:var(--muted);align-items:center;padding-inline:14px;font-size:15px;font-weight:500;display:inline-flex}.site-header nav a:hover{color:var(--ink)}.site-header nav a[aria-current=page]{background:var(--orange);color:var(--on-orange);font-weight:700}.site-header nav a.rss{font-family:var(--font-mono);letter-spacing:.24em;font-size:11px;font-weight:700}.rule-heavy{border-top:4px solid var(--ink)}.vmark{writing-mode:vertical-rl;background:var(--orange);color:var(--on-orange);letter-spacing:.42em;white-space:nowrap;align-self:start;padding:28px 13px;font-size:15px;font-weight:700}h1,h2,h3,h4,.wordmark,.p-title,.col-mark{font-feature-settings:"palt" 1;word-break:keep-all;text-wrap:pretty}.hero-grid{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:60px;padding-block:86px 92px;display:grid}.kicker{font-family:var(--font-mono);letter-spacing:.3em;color:var(--muted);margin:0 0 30px;font-size:11px;font-weight:500}.hero h1{font-family:var(--font-serif);letter-spacing:.02em;margin:0 0 36px;font-size:86px;font-weight:900;line-height:1.3}.hl{background:var(--orange);color:var(--on-orange);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.02em .14em}.lede{max-width:30em;color:var(--ink-2);margin:0 0 44px;font-size:18px;line-height:2}.actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.btn{background:var(--orange);min-height:52px;color:var(--on-orange);border:2px solid var(--ink);letter-spacing:.1em;align-items:center;padding-inline:28px;font-size:16px;font-weight:700;display:inline-flex}.btn:hover{background:var(--ink);color:var(--paper)}.btn-2{min-height:52px;font-family:var(--font-mono);letter-spacing:.2em;color:var(--muted);box-shadow:inset 0 -2px 0 0 var(--ink);align-items:center;font-size:12px;font-weight:500;display:inline-flex}.btn-2:hover{color:var(--ink)}.all-link{min-height:44px;font-family:var(--font-mono);letter-spacing:.18em;box-shadow:inset 0 -2px 0 0 var(--ink);align-items:center;margin-top:30px;font-size:12px;font-weight:500;display:inline-flex}.all-link:hover{color:var(--orange-text);box-shadow:inset 0 -2px 0 0 var(--orange-text)}.sec-head{border-bottom:3px solid var(--ink);justify-content:space-between;align-items:baseline;gap:24px;margin:0;padding-bottom:14px;display:flex}.sec-head .lbl{letter-spacing:.32em;margin:0;font-size:15px;font-weight:700}.sec-head .lbl em{font-family:var(--font-mono);letter-spacing:.26em;color:var(--muted);margin-left:16px;font-size:10px;font-style:normal;font-weight:500}.sec-head .more{font-family:var(--font-mono);letter-spacing:.18em;color:var(--muted);font-size:11px}.pagehead{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:60px;padding-block:66px 42px;display:grid}.pagehead h1{font-family:var(--font-serif);letter-spacing:.04em;margin:0 0 22px;font-size:64px;font-weight:900;line-height:1.3}.pagehead .lede{max-width:28em;margin:0}.post-list{margin:0;padding:0;list-style:none}.post-list li{border-bottom:1px solid var(--line);grid-template-columns:172px minmax(0,1fr);gap:42px;padding-block:34px;display:grid}.rail{flex-direction:column;gap:10px;padding-top:6px;display:flex}.rail .date{font-family:var(--font-mono);letter-spacing:.02em;color:var(--orange-text);font-size:19px;font-weight:700;line-height:1.2}.rail .cat{font-family:var(--font-mono);letter-spacing:.18em;color:var(--ink);border:1px solid var(--ink);align-self:flex-start;padding:3px 7px;font-size:10px;font-weight:700}.rail .cat:hover{background:var(--orange);color:var(--on-orange);border-color:var(--orange)}.p-title{font-family:var(--font-serif);letter-spacing:.01em;margin:0 0 10px;font-size:28px;font-weight:700;line-height:1.55}.p-desc{color:var(--ink-2);max-width:var(--measure);margin:0;font-size:16px;line-height:1.9}.post-list li:hover .p-title a{color:var(--orange-text)}.yr-row{align-items:center;gap:24px;padding-block:52px 16px;display:flex}.yr-row:first-of-type{padding-top:30px}.yr{font-family:var(--font-mono);letter-spacing:.01em;color:var(--orange-text);font-size:52px;font-weight:700;line-height:1}.yr-line{border-top:3px solid var(--ink);flex:1;height:0}.yr-n{letter-spacing:.16em;color:var(--muted);font-size:13px}.badge{font-family:var(--font-mono);letter-spacing:.16em;background:var(--orange);color:var(--on-orange);vertical-align:middle;margin-inline-start:.6em;padding:5px 8px;font-size:11px;font-weight:700;line-height:1;display:inline-block}.cat-nav{flex-wrap:wrap;gap:12px;margin:0 0 10px;display:flex}.cat-nav a{border:2px solid var(--ink);min-height:46px;font-family:var(--font-mono);letter-spacing:.16em;align-items:center;padding-inline:20px;font-size:12px;font-weight:500;display:inline-flex}.cat-nav a.zh{font-family:var(--font-sans);letter-spacing:.16em;font-size:15px}.cat-nav a:hover{background:var(--paper-2);color:var(--ink)}.cat-nav a[aria-current=page]{background:var(--orange);color:var(--on-orange);font-weight:700}.cat-nav a[aria-current=page]:hover{background:var(--ink);color:var(--paper)}.art{grid-template-columns:184px minmax(0,1fr);gap:60px;padding-block:62px 0;display:grid}.art-rail{flex-direction:column;align-items:flex-start;gap:26px;display:flex}.art-rail .row{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-2);font-size:13px;font-weight:500;line-height:1.5}.art-rail .row.zh{font-family:var(--font-sans);letter-spacing:.06em;font-size:14px}.art-rail .k{font-family:var(--font-mono);letter-spacing:.24em;color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.art-main{max-width:720px}.art-kicker{font-family:var(--font-mono);letter-spacing:.26em;color:var(--muted);margin:0 0 26px;font-size:11px;font-weight:500}.art-main h1{font-family:var(--font-serif);letter-spacing:.02em;margin:0 0 26px;font-size:48px;font-weight:900;line-height:1.45}.dek{color:var(--ink-2);border-left:5px solid var(--orange);max-width:26em;margin:0 0 42px;padding-left:20px;font-size:18px;line-height:2}.cover{background:var(--paper-2);border:2px solid var(--ink);justify-content:center;margin:0 0 52px;padding:30px;display:flex}.cover img{width:auto;max-height:440px}.article-body{max-width:var(--measure)}.article-body>:first-child{margin-top:0}.article-body p{margin:0 0 1.6em;font-size:17px;line-height:2.05}.article-body h2{font-family:var(--font-serif);border-top:3px solid var(--ink);margin:2.5em 0 1em;padding-top:.7em;font-size:26px;font-weight:700;line-height:1.65}.article-body h3{font-family:var(--font-serif);margin:2.2em 0 .8em;font-size:21px;font-weight:700;line-height:1.7}.article-body ul,.article-body ol{margin:0 0 1.7em;padding-inline-start:1.4em}.article-body li{margin-bottom:.6em;line-height:2}.article-body li::marker{color:var(--orange-text)}.article-body a{color:var(--orange-text);box-shadow:inset 0 -2px #f5660073}.article-body a:hover{background:var(--orange);color:var(--on-orange);box-shadow:none}.article-body em{background:linear-gradient(transparent 62%, var(--hl-band) 62%);font-style:normal}.article-body strong{font-weight:700}.article-body blockquote{background:var(--orange);color:var(--on-orange);font-family:var(--font-serif);letter-spacing:.02em;font-feature-settings:"palt" 1;border:0;margin:2.8em 0;padding:24px 26px;font-size:21px;font-weight:700;line-height:1.8}.article-body blockquote p{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}.article-body blockquote p+p{margin-top:.7em}.article-body blockquote a{color:var(--on-orange);box-shadow:inset 0 -2px 0 0 var(--on-orange-line)}.article-body blockquote a:hover{background:var(--on-orange);color:var(--orange)}.article-body img{border:2px solid var(--ink);margin:2.2em auto}.article-body hr{border:0;border-top:3px solid var(--ink);width:3rem;margin:3em 0}.article-body figcaption{color:var(--muted);margin-top:.6em;font-size:14px}.article-body table{border-collapse:collapse;width:100%;margin:0 0 1.7em;font-size:15px;display:block;overflow-x:auto}.article-body th,.article-body td{border-bottom:1px solid var(--line);text-align:start;padding:.6em .8em}.article-body th{border-bottom:2px solid var(--ink);font-weight:700}code{font-family:var(--font-mono);background:var(--code-bg);padding:.1em .35em;font-size:.875em}pre{background:var(--code-bg);border-left:5px solid var(--orange);margin:0 0 1.7em;padding:1.2em 1.4em;line-height:1.7;overflow-x:auto}pre code{background:0 0;padding:0;font-size:.85em}.authorship{max-width:var(--measure);border:3px solid var(--ink);background:var(--paper-2);color:var(--ink-2);margin-top:70px;padding:26px 28px;font-size:14px;line-height:1.9}.authorship .k{font-family:var(--font-mono);letter-spacing:.24em;color:var(--orange-text);margin-bottom:10px;font-size:10px;font-weight:700;display:block}.article-footer{max-width:var(--measure);color:var(--ink-2);margin-top:40px;font-size:15px;line-height:1.9}.article-footer a{color:var(--orange-text);box-shadow:inset 0 -2px #f5660073}.article-footer a:hover{background:var(--orange);color:var(--on-orange);box-shadow:none}.site-footer{background:var(--orange);color:var(--on-orange);margin-top:110px;padding-block:70px 40px}.col-grid{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:64px;display:grid}.col-mark{font-family:var(--font-serif);letter-spacing:.08em;font-size:60px;font-weight:900;line-height:1}.col-latin{font-family:var(--font-mono);letter-spacing:.44em;color:var(--on-orange-soft);margin-top:16px;font-size:11px;font-weight:700}.col-cta .k{font-family:var(--font-mono);letter-spacing:.26em;color:var(--on-orange-soft);margin-bottom:14px;font-size:10px;font-weight:700;display:block}.col-cta p{max-width:26em;margin:0 0 24px;font-size:16px;line-height:1.9}.col-mail{font-family:var(--font-mono);color:var(--on-orange);border-bottom:3px solid var(--on-orange);padding-bottom:5px;font-size:22px;font-weight:700;display:inline-block}.col-mail:hover{color:var(--on-orange-inv);border-color:var(--on-orange-inv)}.col-bottom{border-top:2px solid var(--on-orange-line);font-family:var(--font-mono);letter-spacing:.16em;justify-content:space-between;gap:24px;margin-top:60px;padding-top:22px;font-size:11px;font-weight:500;display:flex}.col-bottom a{color:var(--on-orange)}.col-bottom a:hover{color:var(--on-orange-inv)}.col-bottom .zh{font-family:var(--font-sans);letter-spacing:.14em}.col-bottom .sp{color:var(--on-orange-soft);margin-inline:12px}.muted{color:var(--muted)}@media (width<=900px){:root{--pad:28px}.hero-grid,.pagehead{grid-template-columns:minmax(0,1fr);gap:32px}.vmark{writing-mode:horizontal-tb;letter-spacing:.22em;justify-self:start;padding:8px 14px;font-size:13px}.hero-grid{flex-direction:column-reverse;align-items:flex-start;padding-block:44px 56px;display:flex}.hero h1{font-size:56px}.pagehead{flex-direction:column-reverse;align-items:flex-start;padding-block:44px 32px;display:flex}.pagehead h1{font-size:46px}.art{grid-template-columns:minmax(0,1fr);gap:34px;padding-block:44px 0}.art-rail{flex-flow:wrap;align-items:center;gap:14px 28px}.art-main h1{font-size:36px}.site-footer{margin-top:72px}.col-grid{grid-template-columns:minmax(0,1fr);gap:40px}.col-mark{font-size:46px}}@media (width<=560px){:root{--text:16px;--pad:20px}.edge{height:8px}.masthead{flex-direction:column;align-items:stretch;gap:20px;padding-block:26px 16px}.wordmark{font-size:30px}.latin{letter-spacing:.38em;font-size:10px}.site-header nav{flex-wrap:wrap;gap:6px;margin-left:-12px;padding-bottom:0}.site-header nav a{padding-inline:12px;font-size:14px}.rule-heavy{border-top-width:3px}.hero h1{font-size:42px;line-height:1.34}.pagehead h1{font-size:38px}.lede{font-size:16px;line-height:1.95}.actions{flex-direction:column;align-items:stretch;gap:14px}.btn,.btn-2{justify-content:center}.all-link{border:2px solid var(--ink);width:100%;min-height:52px;box-shadow:none;justify-content:center}.sec-head .lbl{letter-spacing:.26em;font-size:14px}.sec-head .lbl em{display:none}.post-list li{padding-block:24px;display:block}.rail{flex-direction:row;align-items:center;gap:12px;margin-bottom:10px;padding-top:0}.rail .date{font-size:15px}.rail .cat{letter-spacing:.14em;padding:2px 6px;font-size:9px}.p-title{font-size:21px;line-height:1.6}.p-desc{font-size:15px;line-height:1.85}.yr{font-size:38px}.yr-row{padding-block:36px 12px}.art-main h1{font-size:30px}.dek{padding-left:16px;font-size:16px}.cover{padding:16px}.cover img{max-height:320px}.article-body h2{font-size:22px}.article-body blockquote{padding:20px;font-size:18px}.col-mark{font-size:40px}.col-bottom{flex-direction:column;gap:10px;margin-top:36px}}@media (prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}
