.emdash-image[data-astro-cid-gxs6aqme]{margin:1.5rem 0}.emdash-image[data-astro-cid-gxs6aqme] img[data-astro-cid-gxs6aqme]{max-width:100%;height:auto}.emdash-image[data-astro-cid-gxs6aqme] figcaption[data-astro-cid-gxs6aqme]{font-size:.875rem;color:#666;margin-top:.5rem;text-align:center}.emdash-code[data-astro-cid-sc6ptlgt]{margin:1.5rem 0}.emdash-code-filename[data-astro-cid-sc6ptlgt]{font-size:.75rem;font-family:monospace;background:#2d2d2d;color:#ccc;padding:.5rem 1rem;border-radius:.5rem .5rem 0 0}.emdash-code[data-astro-cid-sc6ptlgt] pre[data-astro-cid-sc6ptlgt]{margin:0;padding:1rem;background:#1e1e1e;border-radius:.5rem;overflow-x:auto}.emdash-code-filename[data-astro-cid-sc6ptlgt]+pre[data-astro-cid-sc6ptlgt]{border-radius:0 0 .5rem .5rem}.emdash-code[data-astro-cid-sc6ptlgt] code[data-astro-cid-sc6ptlgt]{font-family:Fira Code,Consolas,monospace;font-size:.875rem;color:#e0e0e0}.emdash-embed[data-astro-cid-n4ybebrj]{margin:1.5rem 0}.emdash-embed-video[data-astro-cid-n4ybebrj]{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.emdash-embed-video[data-astro-cid-n4ybebrj] iframe[data-astro-cid-n4ybebrj],.emdash-embed-video[data-astro-cid-n4ybebrj] video[data-astro-cid-n4ybebrj]{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.emdash-embed-audio[data-astro-cid-n4ybebrj]{width:100%}.emdash-embed-audio[data-astro-cid-n4ybebrj] audio[data-astro-cid-n4ybebrj]{width:100%}.emdash-embed[data-astro-cid-n4ybebrj] figcaption[data-astro-cid-n4ybebrj]{font-size:.875rem;color:#666;margin-top:.5rem;text-align:center}.emdash-gallery[data-astro-cid-r6ofyu5h]{display:grid;grid-template-columns:repeat(var(--columns, 3),1fr);gap:1rem;margin:1.5rem 0}.emdash-gallery-item[data-astro-cid-r6ofyu5h]{margin:0}.emdash-gallery-item[data-astro-cid-r6ofyu5h] img[data-astro-cid-r6ofyu5h]{width:100%;height:auto;object-fit:cover;aspect-ratio:1}.emdash-gallery-item[data-astro-cid-r6ofyu5h] figcaption[data-astro-cid-r6ofyu5h]{font-size:.75rem;color:#666;margin-top:.25rem;text-align:center}@media(max-width:640px){.emdash-gallery[data-astro-cid-r6ofyu5h]{grid-template-columns:repeat(2,1fr)}}.emdash-columns[data-astro-cid-f4qbrc4r]{display:flex;gap:2rem;margin:1.5rem 0}.emdash-column[data-astro-cid-f4qbrc4r]{flex:1;min-width:0}@media(max-width:768px){.emdash-columns[data-astro-cid-f4qbrc4r]{flex-direction:column;gap:1rem}}.emdash-break[data-astro-cid-qkxayjbm]{margin:2rem 0}.emdash-break-line[data-astro-cid-qkxayjbm]{border:none;border-top:1px solid #e0e0e0}.emdash-break-dots[data-astro-cid-qkxayjbm]{text-align:center;color:#999;letter-spacing:.5em}.emdash-break-space[data-astro-cid-qkxayjbm]{height:2rem}.emdash-html-block[data-astro-cid-jxfsfe2z]{margin:1.5rem 0}.emdash-table-wrapper[data-astro-cid-gdtl6kfd]{margin:1.5rem 0;overflow-x:auto}.emdash-table[data-astro-cid-gdtl6kfd]{width:100%;border-collapse:collapse;font-size:.9rem}.emdash-table[data-astro-cid-gdtl6kfd] th[data-astro-cid-gdtl6kfd],.emdash-table[data-astro-cid-gdtl6kfd] td[data-astro-cid-gdtl6kfd]{border:1px solid #ddd;padding:.75rem;text-align:left}.emdash-table[data-astro-cid-gdtl6kfd] th[data-astro-cid-gdtl6kfd]{background:#f5f5f5;font-weight:600}.emdash-table[data-astro-cid-gdtl6kfd] tbody[data-astro-cid-gdtl6kfd] tr[data-astro-cid-gdtl6kfd]:nth-child(2n){background:#fafafa}.emdash-table[data-astro-cid-gdtl6kfd] tbody[data-astro-cid-gdtl6kfd] tr[data-astro-cid-gdtl6kfd]:hover{background:#f0f0f0}.emdash-button[data-astro-cid-lkidb26g]{display:inline-block;padding:.75em 1.5em;border-radius:4px;text-decoration:none;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.emdash-button--default[data-astro-cid-lkidb26g],.emdash-button--fill[data-astro-cid-lkidb26g]{background-color:var(--emdash-button-bg, #0073aa);color:var(--emdash-button-color, #fff);border:2px solid var(--emdash-button-bg, #0073aa)}.emdash-button--default[data-astro-cid-lkidb26g]:hover,.emdash-button--fill[data-astro-cid-lkidb26g]:hover{background-color:var(--emdash-button-bg-hover, #005177);border-color:var(--emdash-button-bg-hover, #005177)}.emdash-button--outline[data-astro-cid-lkidb26g]{background-color:transparent;color:var(--emdash-button-bg, #0073aa);border:2px solid var(--emdash-button-bg, #0073aa)}.emdash-button--outline[data-astro-cid-lkidb26g]:hover{background-color:var(--emdash-button-bg, #0073aa);color:var(--emdash-button-color, #fff)}.emdash-buttons[data-astro-cid-zrtooknc]{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.emdash-buttons--vertical[data-astro-cid-zrtooknc]{flex-direction:column;align-items:flex-start}.emdash-buttons--horizontal[data-astro-cid-zrtooknc]{flex-direction:row;align-items:center}.emdash-cover[data-astro-cid-xczkeh7b]{position:relative;display:flex;align-items:center;padding:2rem;margin:1.5rem 0;overflow:hidden;border-radius:4px;background-color:var(--emdash-cover-fallback-bg, #333)}.emdash-cover__background[data-astro-cid-xczkeh7b]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.emdash-cover__video[data-astro-cid-xczkeh7b]{object-fit:cover}.emdash-cover__overlay[data-astro-cid-xczkeh7b]{position:absolute;inset:0;z-index:1}.emdash-cover__content[data-astro-cid-xczkeh7b]{position:relative;z-index:2;width:100%;color:var(--emdash-cover-text-color, #fff)}.emdash-cover--align-left[data-astro-cid-xczkeh7b]{justify-content:flex-start;text-align:left}.emdash-cover--align-center[data-astro-cid-xczkeh7b]{justify-content:center;text-align:center}.emdash-cover--align-right[data-astro-cid-xczkeh7b]{justify-content:flex-end;text-align:right}.emdash-cover__content[data-astro-cid-xczkeh7b] h1,.emdash-cover__content[data-astro-cid-xczkeh7b] h2,.emdash-cover__content[data-astro-cid-xczkeh7b] h3,.emdash-cover__content[data-astro-cid-xczkeh7b] h4,.emdash-cover__content[data-astro-cid-xczkeh7b] p{color:inherit}.emdash-file[data-astro-cid-xarbsxpg]{display:flex;align-items:center;gap:.75rem;padding:1rem;margin:1rem 0;background-color:var(--emdash-file-bg, #f5f5f5);border-radius:4px;border:1px solid var(--emdash-file-border, #e0e0e0)}.emdash-file__link[data-astro-cid-xarbsxpg]{display:flex;align-items:center;gap:.5rem;flex:1;text-decoration:none;color:var(--emdash-file-color, #333)}.emdash-file__link[data-astro-cid-xarbsxpg]:hover{text-decoration:underline}.emdash-file__icon[data-astro-cid-xarbsxpg]{width:1.5rem;height:1.5rem;flex-shrink:0;color:var(--emdash-file-icon-color, #666)}.emdash-file__name[data-astro-cid-xarbsxpg]{font-weight:500;word-break:break-all}.emdash-file__download[data-astro-cid-xarbsxpg]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:var(--emdash-button-bg, #0073aa);color:var(--emdash-button-color, #fff);border-radius:4px;transition:background-color .2s}.emdash-file__download[data-astro-cid-xarbsxpg]:hover{background-color:var(--emdash-button-bg-hover, #005177)}.emdash-file__download[data-astro-cid-xarbsxpg] svg[data-astro-cid-xarbsxpg]{width:1.25rem;height:1.25rem}.emdash-pullquote[data-astro-cid-gwfxwbit]{margin:2rem 0;padding:1.5rem 2rem;border-top:4px solid var(--emdash-pullquote-border, #0073aa);border-bottom:4px solid var(--emdash-pullquote-border, #0073aa);text-align:center}.emdash-pullquote__text[data-astro-cid-gwfxwbit]{font-size:1.5rem;font-style:italic;line-height:1.4;color:var(--emdash-pullquote-color, #333);margin:0}.emdash-pullquote__citation[data-astro-cid-gwfxwbit]{margin-top:1rem;font-size:.9rem;font-style:normal;color:var(--emdash-pullquote-citation-color, #666)}:root{--color-bg: #f2ece2;--color-bg-elevated: rgba(255, 251, 246, .78);--color-panel: rgba(255, 250, 243, .78);--color-panel-strong: #fff9f1;--color-text: #171411;--color-muted: #6b6154;--color-border: rgba(23, 20, 17, .11);--color-border-strong: rgba(23, 20, 17, .2);--color-accent: #8e5d3c;--color-accent-soft: rgba(142, 93, 60, .14);--color-highlight: #355a57;--shadow-soft: 0 25px 80px rgba(54, 33, 12, .1);--shadow-strong: 0 30px 120px rgba(54, 33, 12, .18);--font-size-xs: .78rem;--font-size-sm: .92rem;--font-size-base: 1rem;--font-size-lg: 1.15rem;--font-size-xl: 1.45rem;--font-size-2xl: 2rem;--font-size-3xl: 3rem;--font-size-4xl: 4.75rem;--gutter: clamp(1rem, 3vw, 2rem);--content-width: 74rem;--wide-width: 86rem;--radius: 1rem;--radius-xl: 1.6rem;--transition-fast: .15s ease;--transition-base: .24s ease;--transition-slow: .42s cubic-bezier(.22, 1, .36, 1)}@media(prefers-color-scheme:dark){:root:not(.light){--color-bg: #101214;--color-bg-elevated: rgba(24, 27, 29, .78);--color-panel: rgba(24, 27, 29, .82);--color-panel-strong: #1b2023;--color-text: #f1ece3;--color-muted: #aea393;--color-border: rgba(241, 236, 227, .12);--color-border-strong: rgba(241, 236, 227, .22);--color-accent: #dfa271;--color-accent-soft: rgba(223, 162, 113, .14);--color-highlight: #7ab2ad;--shadow-soft: 0 28px 80px rgba(0, 0, 0, .3);--shadow-strong: 0 40px 140px rgba(0, 0, 0, .42)}}:root.dark{--color-bg: #101214;--color-bg-elevated: rgba(24, 27, 29, .78);--color-panel: rgba(24, 27, 29, .82);--color-panel-strong: #1b2023;--color-text: #f1ece3;--color-muted: #aea393;--color-border: rgba(241, 236, 227, .12);--color-border-strong: rgba(241, 236, 227, .22);--color-accent: #dfa271;--color-accent-soft: rgba(223, 162, 113, .14);--color-highlight: #7ab2ad;--shadow-soft: 0 28px 80px rgba(0, 0, 0, .3);--shadow-strong: 0 40px 140px rgba(0, 0, 0, .42)}body{position:relative;background:radial-gradient(circle at 15% 15%,rgba(53,90,87,.08),transparent 28%),radial-gradient(circle at 85% 10%,rgba(142,93,60,.12),transparent 26%),radial-gradient(circle at 50% 100%,rgba(142,93,60,.08),transparent 30%),var(--color-bg)}body:before,body:after{content:"";position:fixed;inset:auto;pointer-events:none;z-index:-1}body:before{top:-12rem;right:-8rem;width:26rem;height:26rem;border-radius:50%;background:radial-gradient(circle,rgba(142,93,60,.18),transparent 68%);filter:blur(20px)}body:after{left:-10rem;bottom:-12rem;width:24rem;height:24rem;border-radius:50%;background:radial-gradient(circle,rgba(53,90,87,.16),transparent 70%);filter:blur(18px)}::selection{background:var(--color-accent-soft);color:var(--color-text)}@layer base;@layer base{*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text);background:var(--color-bg)}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:999;padding:.75rem 1rem;background:var(--color-text);color:var(--color-bg);text-decoration:none;border-radius:999px;transition:top var(--transition-base)}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:20;padding:1rem 0 0}.site-header-inner,.site-footer-inner{max-width:var(--wide-width);margin:0 auto;padding:0 var(--gutter)}.nav{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.1rem;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-panel);backdrop-filter:blur(20px);box-shadow:var(--shadow-soft)}.site-title{display:inline-flex;flex-direction:column;gap:.1rem;text-decoration:none}.site-title-mark{font-size:1rem;font-weight:700;letter-spacing:-.03em}.site-title-domain{font-size:.78rem;color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase}.nav-cluster,.nav-links,.footer-links,.theme-switcher{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.nav-links a,.footer-links a,.github-link{text-decoration:none;color:var(--color-muted);transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.nav-links a:hover,.footer-links a:hover{color:var(--color-text)}.github-link{padding:.7rem 1rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text)}.github-link:hover{border-color:var(--color-border-strong);background:var(--color-accent-soft)}.site-main{display:block}.site-footer{padding:2rem 0 3rem}.site-footer-inner{display:grid;gap:1.25rem;border-top:1px solid var(--color-border);padding-top:1.75rem}.footer-title{margin:0;font-size:.95rem;font-weight:700;letter-spacing:-.02em}.footer-tagline{margin:.35rem 0 0;max-width:36rem;color:var(--color-muted)}.footer-meta{display:grid;gap:1rem}.theme-btn{padding:.55rem .85rem;border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.theme-btn:hover,.theme-btn.active{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-bg-elevated)}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1rem;color:var(--color-muted);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.eyebrow:before{content:"";display:block;width:2.5rem;height:1px;background:currentColor;opacity:.5}.page-shell{max-width:var(--content-width);margin:0 auto;padding:2rem var(--gutter) 5rem}.section-shell{max-width:var(--wide-width);margin:0 auto;padding:0 var(--gutter)}.section-title{margin:0;font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);line-height:1;letter-spacing:-.04em}.section-intro{margin:0;max-width:42rem;color:var(--color-muted);font-size:clamp(1rem,2vw,1.15rem)}.button-row{display:flex;flex-wrap:wrap;gap:.8rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.15rem;border:1px solid transparent;border-radius:999px;background:var(--color-text);color:var(--color-bg);text-decoration:none;font-size:.95rem;font-weight:600;transition:transform var(--transition-fast),opacity var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.button:hover{transform:translateY(-1px);opacity:.96}.button.ghost{background:transparent;color:var(--color-text);border-color:var(--color-border)}.button.ghost:hover{border-color:var(--color-border-strong);background:var(--color-bg-elevated)}.surface{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-panel);box-shadow:var(--shadow-soft)}.muted-link{color:var(--color-muted);text-decoration:none}.muted-link:hover{color:var(--color-text)}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.motion-rise{animation:rise-in .7s ease both}.motion-rise.delay-1{animation-delay:.08s}.motion-rise.delay-2{animation-delay:.16s}@media(min-width:48rem){.nav{flex-direction:row;align-items:center;justify-content:space-between}.site-footer-inner{grid-template-columns:1.3fr 1fr;align-items:end}}@media(min-width:70rem){.site-header{padding-top:1.25rem}.nav{padding:1.1rem 1.3rem}}}
