:root{color-scheme:light;--paper:#f4f6f7;--sheet:#fff;--ink:#17262e;--note:#3e5360;--rule:#738f99;--pen:#1a4a86;--pen-visited:#0e315c;--mark:#f4e7a8;--code-ground:#e4ebed;--max:44rem;--max-wide:56rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:"Source Sans 3",Noto Sans TC,PingFang HK,PingFang TC,Microsoft JhengHei,sans-serif;font-size:1.0625rem;font-weight:400;line-height:1.85}img,svg,video{max-width:100%;height:auto}p{margin:0 0 1rem}h1,h2,h3{color:var(--ink);font-weight:700}h1{text-wrap:balance;margin:0 0 1rem;font-size:clamp(1.75rem,1.15rem + 1.5vw,2.125rem);line-height:1.32}h2{margin:2.4rem 0 .75rem;font-size:1.5rem;line-height:1.35}h3{margin:1.7rem 0 .4rem;font-size:1.25rem;line-height:1.4}strong,b{font-weight:700}a{color:var(--pen);text-underline-offset:.18em;overflow-wrap:anywhere;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}.prose a:visited,.toc a:visited,.post-card .meta a:visited{color:var(--pen-visited)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--pen);outline-offset:3px}::selection{background:var(--mark);color:var(--ink)}.skip{z-index:10;background:var(--ink);color:var(--paper);padding:.45rem .75rem;text-decoration:none;position:absolute;top:-4rem;left:.75rem}.skip:focus{top:.75rem}.shell{width:min(100% - 2.5rem, var(--max));margin-inline:auto}.shell-wide{width:min(100% - 2.5rem, var(--max-wide))}.site-header{background:var(--sheet);border-top:4px solid var(--pen);border-bottom:1px solid var(--rule)}.brand-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1.25rem;padding-top:.95rem;padding-bottom:.45rem;display:flex}.primary-nav{flex-wrap:wrap;gap:.1rem 1.15rem;display:flex}.brand{color:var(--ink);font-size:1.5rem;font-weight:700;line-height:1.2;text-decoration:none}.nav-link,.cat-nav a,.footer-nav a{color:var(--ink);align-items:center;min-height:2.75rem;text-decoration:none;display:inline-flex}.brand:hover,.nav-link:hover,.cat-nav a:hover,.footer-nav a:hover{color:var(--pen)}.nav-link[aria-current=page],.cat-nav a[aria-current=page],.footer-nav a[aria-current=page]{color:var(--pen);text-underline-offset:.28em;font-weight:700;text-decoration:underline 2px}.cat-nav ul,.footer-nav{flex-wrap:wrap;gap:.1rem 1.15rem;margin:0;padding:.15rem 0 .55rem;list-style:none;display:flex}main{padding:2rem 0 3.5rem}.lede{margin:0 0 1.5rem;line-height:1.8}.marked,.direct-answer{background:var(--mark);padding:.85rem .9rem .95rem}.marked{margin:0 -.9rem;line-height:1.8}.inline-links{flex-wrap:wrap;gap:.35rem 1.25rem;margin:0 0 1.75rem;display:flex}.prose ul,.prose ol{margin:0 0 1rem;padding-left:1.35rem}.prose li+li{margin-top:.4rem}.prose blockquote{border-left:3px solid var(--rule);margin:1.25rem 0;padding-left:1rem}code{background:var(--code-ground);padding:.05em .28em;font-family:ui-monospace,"Source Sans 3",monospace;font-size:.92em}pre{background:var(--code-ground);margin:0 0 1rem;padding:.9rem 1rem;line-height:1.6;overflow-x:auto}pre code{background:0 0;padding:0}.section-head{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem 1rem;margin:2.2rem 0 .85rem;padding-bottom:.4rem;display:flex}.section-head h2{margin:0}.more{min-height:2.75rem;color:var(--pen);flex:none;align-items:center;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}.more:hover,.more:focus-visible{text-underline-offset:.18em;text-decoration:underline}.tile-grid,.post-list{margin:0;padding:0;list-style:none}.tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.tile-grid>li,.post-list>li{min-width:0;margin:0;display:flex}.post-list{gap:.65rem;display:grid}.tile{background:var(--sheet);border:1px solid var(--rule);width:100%;min-height:100%;color:var(--ink);flex-direction:column;flex:1;align-items:flex-start;gap:.45rem;padding:.95rem .9rem 1.05rem;text-decoration:none;display:flex}.tile strong{font-size:1.125rem;font-weight:700;line-height:1.35}.tile span{color:var(--note);font-size:.9375rem;line-height:1.55}.tile svg,.thumb svg{width:1.75rem;height:1.75rem;color:var(--pen);display:block}a.tile:hover,a.tile:focus-visible{border-color:var(--pen);color:var(--ink)}a.tile:hover strong,a.tile:focus-visible strong{color:var(--pen)}.tile.is-soon{color:var(--note);background:0 0}.tile.is-soon strong{color:var(--ink)}.tile.is-soon svg{color:var(--note)}.spread{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:stretch;gap:.65rem;display:grid}.spread.is-solo{grid-template-columns:1fr}.spread-side{align-content:start;gap:.65rem;display:grid}.post-card{background:var(--sheet);border:1px solid var(--rule);grid-template-columns:4.5rem minmax(0,1fr);width:100%;min-width:0;display:grid}.post-card.is-featured{grid-template-columns:5.5rem minmax(0,1fr)}.post-card.is-compact{grid-template-columns:3.75rem minmax(0,1fr)}.thumb{color:var(--pen);background:var(--paper);border-right:1px solid var(--rule);align-content:start;justify-items:center;padding-top:.95rem;display:grid}.post-card.is-featured .thumb svg{width:2rem;height:2rem}.post-card-body{min-width:0;padding:.8rem .9rem .95rem}.post-card.is-featured .post-card-body{padding:1rem 1.05rem 1.1rem}.post-card h2,.post-card h3{margin:0 0 .35rem;font-size:1.2rem;line-height:1.4}.post-card.is-featured h2,.post-card.is-featured h3{font-size:1.375rem}.post-card.is-compact h2,.post-card.is-compact h3{font-size:1.0625rem}.post-card h2 a,.post-card h3 a{color:var(--ink);text-decoration:none}.post-card h2 a:hover,.post-card h3 a:hover,.post-card h2 a:focus-visible,.post-card h3 a:focus-visible{color:var(--pen);text-underline-offset:.16em;text-decoration:underline}.post-card .dek{margin:.5rem 0 0;line-height:1.7}.meta{color:var(--note);flex-wrap:wrap;align-items:baseline;gap:.2rem 1.15rem;margin:0;font-size:.9375rem;line-height:1.55;display:flex}.meta a{color:var(--pen)}.meta time{font-variant-numeric:tabular-nums}.empty{border-bottom:1px solid var(--rule);margin:0;padding:.95rem 0}.article-head{border-bottom:1px solid var(--rule);margin:1.1rem 0 1.35rem;padding-bottom:.85rem}.article-head h1{margin-bottom:.45rem;font-size:clamp(1.45rem,1.15rem + .9vw,1.8rem)}.reading-bar{z-index:4;background:var(--paper);border-bottom:2px solid var(--pen);align-items:baseline;gap:.75rem;margin:0 -.9rem;padding:.7rem .9rem .55rem;display:flex;position:sticky;top:0}.reading-kicker{color:var(--pen);white-space:nowrap;flex:none;font-size:.9375rem;font-weight:700}.reading-title{min-width:0;color:var(--ink);font-weight:700;line-height:1.45}.direct-answer{margin:1.5rem -.9rem 1.75rem}.direct-answer h2{margin:0 0 .45rem;font-size:1.0625rem;line-height:1.45}.direct-answer p,.faq-item p{margin:0}.faq{margin:0 0 .5rem}.faq-item h3{margin:0 0 .3rem;font-size:1.125rem;line-height:1.45}.faq-item+.faq-item{border-top:1px solid var(--rule);margin-top:1rem;padding-top:1rem}.toc{background:var(--sheet);border:1px solid var(--rule);border-left:3px solid var(--pen);margin:0 0 1.75rem;padding:.85rem 1rem 1rem .95rem}.toc p{margin:0 0 .4rem;font-weight:700}.toc ol{margin:0;padding-left:1.35rem}.toc li{margin:.3rem 0}.toc li.sub{margin-left:.75rem;font-size:.975rem}.related h2{margin-top:2.4rem}.related .post-list{margin-top:.85rem}.sources{border-top:1px solid var(--rule);margin-top:2rem;padding-top:.35rem}.sources summary{cursor:pointer;align-items:center;min-height:2.75rem;font-weight:700;display:flex}.notice{color:var(--note);margin-top:1.35rem;font-size:.9375rem;line-height:1.7}.site-footer{border-top:1px solid var(--rule);padding-bottom:2.5rem}.footer-nav{margin-bottom:.35rem;padding-top:.85rem}.footer-name,.footer-note{margin:0;font-size:.9375rem;line-height:1.6}.footer-note{color:var(--note);margin-top:.15rem}@media (width<=42rem){.tile-grid{grid-template-columns:1fr 1fr}.spread,.spread.is-solo{grid-template-columns:1fr}.post-card,.post-card.is-featured,.post-card.is-compact{grid-template-columns:3.5rem minmax(0,1fr)}}@media (width<=24rem){.tile-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
