.hero-container[data-astro-cid-ge2uvauf]{flex-direction:column;align-items:flex-start;gap:24px;width:100%;padding:0;display:flex}.hero-header[data-astro-cid-ge2uvauf]{flex-direction:column;gap:16px;width:100%;display:flex}h1[data-astro-cid-ge2uvauf]{color:var(--text-color);text-wrap:balance;overflow-wrap:break-word;margin:0;font-size:2.5rem;line-height:1.2}.description[data-astro-cid-ge2uvauf]{color:var(--muted);text-wrap:pretty;max-width:60ch;font-size:1.1rem;line-height:1.7}.hero-meta[data-astro-cid-ge2uvauf]{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.95rem;display:flex}.author[data-astro-cid-ge2uvauf],.author[data-astro-cid-ge2uvauf]:visited{color:var(--text-color);font-weight:600}.author[data-astro-cid-ge2uvauf]:hover,.reading-time[data-astro-cid-ge2uvauf]{color:var(--contrast)}.hero-tags[data-astro-cid-ge2uvauf]{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hero-tags[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf],.hero-tags[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf]:visited{color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:4px 9px;font-size:.8rem;display:block}.hero-tags[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf]:hover{color:var(--contrast);border-color:var(--contrast)}.key-takeaways[data-astro-cid-ge2uvauf]{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--contrast);border-radius:8px;width:100%;max-width:65ch;padding:16px 20px}.key-takeaways[data-astro-cid-ge2uvauf] p[data-astro-cid-ge2uvauf]{letter-spacing:.06em;text-transform:uppercase;color:var(--contrast);margin-bottom:8px;font-size:.8rem;font-weight:700}.key-takeaways[data-astro-cid-ge2uvauf] ul[data-astro-cid-ge2uvauf]{margin:0;padding-left:1.2em;line-height:1.6}.key-takeaways[data-astro-cid-ge2uvauf] li[data-astro-cid-ge2uvauf]+li[data-astro-cid-ge2uvauf]{margin-top:6px}.hero-content[data-astro-cid-ge2uvauf]{width:100%}.hero-divider[data-astro-cid-ge2uvauf]{border:none;border-top:1px solid var(--line);opacity:1;width:100%;margin:0}@media screen and (width>=720px){h1[data-astro-cid-ge2uvauf]{font-size:3rem}.hero-container[data-astro-cid-ge2uvauf]{gap:28px}}@media screen and (width>=900px){h1[data-astro-cid-ge2uvauf]{font-size:3.5rem}.hero-container[data-astro-cid-ge2uvauf]{gap:32px}}nav[data-astro-cid-mpeii5dz]{border:1px solid var(--line);border-radius:8px;width:100%;margin-bottom:8px;overflow:hidden}.toc-header[data-astro-cid-mpeii5dz]{font-size:inherit;margin:0}.toc-btn[data-astro-cid-mpeii5dz]{background-color:var(--secondary);width:100%;color:var(--contrast);font-family:var(--font-heading);letter-spacing:.02em;text-align:left;cursor:pointer;border:none;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.9rem;font-weight:600;display:flex}.toc-btn[data-astro-cid-mpeii5dz]:hover .chevron[data-astro-cid-mpeii5dz]{opacity:1}.chevron[data-astro-cid-mpeii5dz]{color:var(--text-color);opacity:.6;transition:transform .2s,opacity .2s}.toc-btn[data-astro-cid-mpeii5dz][aria-expanded=true] .chevron[data-astro-cid-mpeii5dz]{transform:rotate(180deg)}ul[data-astro-cid-mpeii5dz]{max-height:0;margin:0;padding:0;list-style-type:none;transition:max-height .3s;overflow:hidden}ul[data-astro-cid-mpeii5dz].open{max-height:min(60vh,600px);padding:8px 0;overflow-y:auto}li[data-astro-cid-mpeii5dz]{margin-left:0;padding:8px 16px}li[data-astro-cid-mpeii5dz].active{background-color:var(--contrast)}li[data-astro-cid-mpeii5dz].active a[data-astro-cid-mpeii5dz]{color:var(--primary)}a[data-astro-cid-mpeii5dz]{white-space:break-spaces;color:var(--text-color);font-size:.875rem;line-height:1.5;text-decoration:none}a[data-astro-cid-mpeii5dz]:hover{color:var(--contrast)}li[data-astro-cid-mpeii5dz]:hover{background-color:var(--contrast)}li[data-astro-cid-mpeii5dz]:hover a[data-astro-cid-mpeii5dz]{color:var(--primary)}.h-3[data-astro-cid-mpeii5dz]{padding-left:32px}.h-3[data-astro-cid-mpeii5dz] a[data-astro-cid-mpeii5dz]{font-size:.825rem}@media (width>=1300px){nav[data-astro-cid-mpeii5dz]{width:280px;max-height:calc(100vh - 200px);box-shadow:none;scrollbar-width:none;background:0 0;border:none;border-radius:0;margin-bottom:0;padding:20px 0;position:fixed;top:100px;right:24px;overflow-y:auto}nav[data-astro-cid-mpeii5dz]::-webkit-scrollbar{display:none}.toc-btn[data-astro-cid-mpeii5dz]{cursor:default;border-bottom:1px solid var(--neutral);text-transform:uppercase;letter-spacing:.08em;color:var(--text-color);background:0 0;padding:0 16px 12px;font-size:.8rem;font-weight:700}.chevron[data-astro-cid-mpeii5dz]{display:none}ul[data-astro-cid-mpeii5dz],ul[data-astro-cid-mpeii5dz].open{border-left:2px solid var(--neutral);max-height:none;margin-left:16px;padding:8px 0;transition:none;overflow:visible}li[data-astro-cid-mpeii5dz]{border-left:2px solid #0000;border-radius:0;margin-left:-2px;padding:6px 16px;transition:border-color .2s}.h-3[data-astro-cid-mpeii5dz]{padding-left:28px}li[data-astro-cid-mpeii5dz]:hover{border-left-color:var(--text-color);background-color:#0000}li[data-astro-cid-mpeii5dz]:hover a[data-astro-cid-mpeii5dz]{color:var(--text-color)}li[data-astro-cid-mpeii5dz].active{border-left-color:var(--contrast);background-color:#0000}li[data-astro-cid-mpeii5dz].active a[data-astro-cid-mpeii5dz]{color:var(--contrast);font-weight:600}a[data-astro-cid-mpeii5dz],.h-3[data-astro-cid-mpeii5dz] a[data-astro-cid-mpeii5dz]{color:var(--muted);font-size:.8rem;transition:color .2s}}.pyodide-wrapper{border:1px solid var(--neutral);border-radius:6px;position:relative;overflow:hidden}.pyodide-wrapper .astro-code{border-radius:0;margin:0}.pyodide-toolbar{background-color:var(--neutral);font-family:var(--font-mono);justify-content:space-between;align-items:center;padding:6px 12px;font-size:.8rem;display:flex}.pyodide-lang{color:var(--text-color);opacity:.7;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.pyodide-btn-group{align-items:center;gap:8px;display:flex}.pyodide-run-btn,.pyodide-sandbox-btn{background-color:var(--contrast);color:var(--primary);font-family:var(--font-mono);cursor:pointer;border:none;border-radius:4px;padding:4px 16px;font-size:.8rem;font-weight:600;line-height:1.4;text-decoration:none;transition:opacity .2s}.pyodide-sandbox-btn{color:var(--text-color);border:1px solid var(--text-color);opacity:.7;background-color:#0000}.pyodide-run-btn:hover,.pyodide-sandbox-btn:hover{opacity:.85}.pyodide-run-btn:disabled{opacity:.5;cursor:wait}.pyodide-output{color:#58d68d;font-family:var(--font-mono);border-top:1px solid var(--neutral);white-space:pre-wrap;word-break:break-word;background-color:#0d1117;max-height:400px;margin:0;padding:12px 20px;font-size:.85rem;line-height:1.6;overflow-y:auto}.pyodide-output.hidden{display:none}.pyodide-output.error{color:#e74c3c}article-read-aloud[data-astro-cid-2joxi7hj]{width:100%;display:block}article-read-aloud[data-astro-cid-2joxi7hj][hidden]{display:none}section[data-astro-cid-2joxi7hj]{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:16px}h2[data-astro-cid-2joxi7hj]{margin:0 0 12px;font-size:1rem}.controls[data-astro-cid-2joxi7hj]{flex-wrap:wrap;align-items:end;gap:8px;display:flex}label[data-astro-cid-2joxi7hj]{min-width:0;color:var(--muted);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.voice[data-astro-cid-2joxi7hj]{flex:180px}button[data-astro-cid-2joxi7hj],select[data-astro-cid-2joxi7hj]{border:1px solid var(--line);min-height:44px;font:inherit;color:var(--text-color);background:var(--primary);border-radius:6px;padding:8px 12px;font-size:.9rem}select[data-astro-cid-2joxi7hj]{text-overflow:ellipsis;width:100%}button[data-astro-cid-2joxi7hj]{cursor:pointer}[data-astro-cid-2joxi7hj][data-play]{color:var(--contrast);border-color:var(--contrast);min-width:100px;font-weight:600}button[data-astro-cid-2joxi7hj]:disabled,select[data-astro-cid-2joxi7hj]:disabled{opacity:.55;cursor:default}button[data-astro-cid-2joxi7hj]:focus-visible,select[data-astro-cid-2joxi7hj]:focus-visible{outline:2px solid var(--contrast);outline-offset:3px}[data-astro-cid-2joxi7hj][data-status]{color:var(--muted);margin-top:12px;font-size:.8rem}.progress[data-astro-cid-2joxi7hj]{color:var(--muted);align-items:center;gap:12px;margin-top:8px;font-size:.75rem;display:flex}progress[data-astro-cid-2joxi7hj]{min-width:0;height:6px;accent-color:var(--contrast);flex:1}.reading-progress[data-astro-cid-g5songws]{z-index:101;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}#reading-progress-bar[data-astro-cid-g5songws]{background:var(--contrast);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.back-link[data-astro-cid-g5songws]{color:var(--muted);width:fit-content;font-size:.85rem}.back-link[data-astro-cid-g5songws]:hover{color:var(--contrast)}#post-article[data-astro-cid-g5songws]{min-width:0}#post-article[data-astro-cid-g5songws] h2{font-size:calc(1.8rem * var(--post-scale,1));letter-spacing:-.025em;margin-top:28px;line-height:1.3}#post-article[data-astro-cid-g5songws] h3{font-size:calc(1.35rem * var(--post-scale,1));margin-top:16px;line-height:1.4}#post-article[data-astro-cid-g5songws] h2,#post-article[data-astro-cid-g5songws] h3,#post-article[data-astro-cid-g5songws] h4{text-wrap:balance;scroll-margin-top:110px}#post-article[data-astro-cid-g5songws] p,#post-article[data-astro-cid-g5songws] li{text-wrap:pretty}#post-article[data-astro-cid-g5songws] .heading-anchor{color:var(--muted);opacity:.4;margin-left:.35em;text-decoration:none;transition:opacity .2s,color .2s}#post-article[data-astro-cid-g5songws] .heading-anchor:before{content:"#"}#post-article[data-astro-cid-g5songws] :is(h2,h3):hover .heading-anchor,#post-article[data-astro-cid-g5songws] .heading-anchor:focus-visible{opacity:1;color:var(--contrast)}#post-article[data-astro-cid-g5songws] ul,#post-article[data-astro-cid-g5songws] ol{margin-left:0;padding-left:1.4em}#post-article[data-astro-cid-g5songws] li+li{margin-top:.5em}#post-article[data-astro-cid-g5songws] :is(p,li,td,th,blockquote,figcaption,dd) a:not(.heading-anchor){text-underline-offset:3px;text-decoration:underline}#post-article[data-astro-cid-g5songws] .external-mark{margin-left:.15em;font-size:.85em;text-decoration:none;display:inline-block}#post-article[data-astro-cid-g5songws] pre{border:1px solid var(--line);max-width:100%;font-size:calc(.85rem * var(--post-scale,1));border-radius:8px;overflow-x:auto!important}#post-article[data-astro-cid-g5songws] :not(pre)>code{color:var(--text-color);background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:4px;padding:.05em .3em;font-size:.9em}#post-article[data-astro-cid-g5songws] .code-block{border:1px solid var(--line);border-radius:8px;overflow:hidden}#post-article[data-astro-cid-g5songws] :is(.code-block,.pyodide-wrapper) pre{border:none;border-radius:0;margin:0}#post-article[data-astro-cid-g5songws] .code-toolbar{background-color:var(--neutral);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:12px;padding:6px 12px;display:flex}#post-article[data-astro-cid-g5songws] .code-lang{color:var(--text-color);opacity:.7;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}#post-article[data-astro-cid-g5songws] .code-copy-btn{color:var(--text-color);border:1px solid var(--line);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:4px;padding:4px 12px;font-size:.8rem;line-height:1.4}#post-article[data-astro-cid-g5songws] .code-copy-btn:hover{border-color:var(--contrast);color:var(--contrast)}#post-article[data-astro-cid-g5songws] blockquote{background:var(--surface);color:var(--muted);border-left-width:2px;padding:16px 20px}#post-article[data-astro-cid-g5songws] .table-scroll{--table-shadow:color-mix(in oklab, var(--text-color) 35%, transparent);background:linear-gradient(to right, var(--primary) 30%, transparent) left / 40px 100% no-repeat local, linear-gradient(to left, var(--primary) 30%, transparent) right / 40px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--table-shadow), transparent) left / 16px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--table-shadow), transparent) right / 16px 100% no-repeat scroll;max-width:100%;overflow-x:auto}#post-article[data-astro-cid-g5songws] .table-scroll:focus-visible{outline:2px solid var(--contrast);outline-offset:2px}#post-article[data-astro-cid-g5songws] .table-scroll table{border-collapse:collapse;font-size:calc(.9rem * var(--post-scale,1));font-variant-numeric:tabular-nums}#post-article[data-astro-cid-g5songws] .table-scroll :is(th,td){border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 16px}#post-article[data-astro-cid-g5songws] .table-scroll :is(th,td)[align=right]{text-align:right}#post-article[data-astro-cid-g5songws] .table-scroll :is(th,td)[align=center]{text-align:center}.reader-tools[data-astro-cid-g5songws]{z-index:20;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:12px;right:12px}.tool-group[data-astro-cid-g5songws]{flex-direction:column;gap:8px;display:none}.tool-group[data-astro-cid-g5songws].open{display:flex}.tool[data-astro-cid-g5songws]{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--contrast);cursor:pointer;border-radius:50%;font-weight:700;box-shadow:0 2px 10px #0003}.tool[data-astro-cid-g5songws][hidden]{display:none}.tool[data-astro-cid-g5songws]:hover:not(:disabled){border-color:var(--contrast)}.tool[data-astro-cid-g5songws]:disabled{opacity:.4;cursor:not-allowed}.tool[data-astro-cid-g5songws][aria-pressed=true],.tool[data-astro-cid-g5songws][aria-expanded=true]{background:var(--contrast);color:var(--primary)}.tool[data-astro-cid-g5songws] sup[data-astro-cid-g5songws]{font-size:.6em}html:root[data-reading=on]{--primary:#f4ecd8;--secondary:#eadfc4;--neutral:#dccfae;--contrast:#8a4b12;--text-color:#433422;--code-background:#ece1c8;color-scheme:light}html:root[data-reading=on] .astro-code-themes{background-color:var(--code-background)!important}#app-wrapper[data-astro-cid-g5songws]{flex-direction:column;width:100%;min-height:100vh;transition:all .3s;display:flex}#main-content[data-astro-cid-g5songws]{flex-direction:column;flex:1;gap:24px;width:100%;margin:0 auto;padding:80px 20px 20px;transition:all .3s;display:flex}#post-article[data-astro-cid-g5songws]{font-size:calc(1.0625rem * var(--post-scale,1));flex-direction:column;gap:24px;width:100%;padding:0;line-height:1.6;display:flex}#post-article[data-astro-cid-g5songws]>p,#post-article[data-astro-cid-g5songws]>ul,#post-article[data-astro-cid-g5songws]>ol,#post-article[data-astro-cid-g5songws]>blockquote{max-width:65ch}#post-article[data-astro-cid-g5songws] img{border-radius:8px;max-width:100%;height:auto;margin:8px 0;display:block}@media screen and (width<=600px){#post-article[data-astro-cid-g5songws] .table-scroll :is(th,td){padding:8px 12px}}@media screen and (width>=720px){#main-content[data-astro-cid-g5songws]{gap:40px;padding:40px}#post-article[data-astro-cid-g5songws]{font-size:calc(1.125rem * var(--post-scale,1));gap:28px;padding:30px 0}.reader-tools[data-astro-cid-g5songws]{bottom:16px;right:16px}.tool-group[data-astro-cid-g5songws],.tool-group[data-astro-cid-g5songws].open{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px;display:flex}.tool-group[data-astro-cid-g5songws] .tool[data-astro-cid-g5songws]{background:var(--primary);box-shadow:none;border-radius:8px}#reading-options-toggle[data-astro-cid-g5songws]{display:none}}@media screen and (width>=900px){#app-wrapper[data-astro-cid-g5songws]{width:100%;margin-left:0;padding-top:80px}#main-content[data-astro-cid-g5songws]{max-width:860px;padding:40px 60px}#post-article[data-astro-cid-g5songws]{padding:40px 0}}@media screen and (width>=1300px){#app-wrapper[data-astro-cid-g5songws]{width:calc(100% - 350px);margin-left:0;margin-right:350px;padding-top:80px}#main-content[data-astro-cid-g5songws]{max-width:900px;margin:0 auto;padding:48px 56px}#post-article[data-astro-cid-g5songws]{gap:24px;padding:0}}
