.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:0.875rem;color:var(--emdash-caption-color, var(--color-muted, #666));margin-top:0.5rem;text-align:center}.emdash-image--align-left[data-astro-cid-gxs6aqme],.emdash-image--align-right[data-astro-cid-gxs6aqme]{width:fit-content;max-width:50%}.emdash-image--align-left[data-astro-cid-gxs6aqme]{float:left;margin:0 1.5rem 1rem 0}.emdash-image--align-right[data-astro-cid-gxs6aqme]{float:right;margin:0 0 1rem 1.5rem}.emdash-image--align-center[data-astro-cid-gxs6aqme]{width:fit-content;margin-inline:auto}.emdash-image--align-wide[data-astro-cid-gxs6aqme],.emdash-image--align-full[data-astro-cid-gxs6aqme]{width:100%}@media (max-width: 640px){.emdash-image--align-left[data-astro-cid-gxs6aqme],.emdash-image--align-right[data-astro-cid-gxs6aqme]{float:none;width:100%;max-width:100%;margin-inline:0}}.emdash-code[data-astro-cid-sc6ptlgt]{margin:1.5rem 0}.emdash-code-filename[data-astro-cid-sc6ptlgt]{font-size:0.75rem;font-family:monospace;background:#2d2d2d;color:#ccc;padding:0.5rem 1rem;border-radius:0.5rem 0.5rem 0 0}.emdash-code[data-astro-cid-sc6ptlgt] pre[data-astro-cid-sc6ptlgt]{margin:0;padding:1rem;background:#1e1e1e;border-radius:0.5rem;overflow-x:auto}.emdash-code-filename[data-astro-cid-sc6ptlgt]+pre[data-astro-cid-sc6ptlgt]{border-radius:0 0 0.5rem 0.5rem}.emdash-code[data-astro-cid-sc6ptlgt] code[data-astro-cid-sc6ptlgt]{font-family:"Fira Code","Consolas",monospace;font-size:0.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:0.875rem;color:var(--emdash-caption-color, var(--color-muted, #666));margin-top:0.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:0.75rem;color:var(--emdash-caption-color, var(--color-muted, #666));margin-top:0.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 var(--emdash-break-color, var(--color-border, #e0e0e0))}.emdash-break-dots[data-astro-cid-qkxayjbm]{text-align:center;color:var(--emdash-break-dots-color, var(--color-muted, #999));letter-spacing:0.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:0.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 var(--color-border, #ddd);padding:0.75rem;text-align:left}.emdash-table[data-astro-cid-gdtl6kfd] th[data-astro-cid-gdtl6kfd] p,.emdash-table[data-astro-cid-gdtl6kfd] td[data-astro-cid-gdtl6kfd] p{margin:0}.emdash-table[data-astro-cid-gdtl6kfd] th[data-astro-cid-gdtl6kfd]{background:var(--color-surface, #f5f5f5);font-weight:600}.emdash-table[data-astro-cid-gdtl6kfd] tbody[data-astro-cid-gdtl6kfd] tr[data-astro-cid-gdtl6kfd]:nth-child(even){background:var(--color-bg-subtle, #fafafa)}.emdash-table[data-astro-cid-gdtl6kfd] tbody[data-astro-cid-gdtl6kfd] tr[data-astro-cid-gdtl6kfd]:hover{background:var(--color-surface, #f0f0f0)}.emdash-button[data-astro-cid-lkidb26g]{display:inline-block;padding:0.75em 1.5em;border-radius:4px;text-decoration:none;font-weight:500;cursor:pointer;transition:background-color 0.2s,border-color 0.2s,color 0.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:0.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:0.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:0.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 0.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:0.9rem;font-style:normal;color:var(--emdash-pullquote-citation-color, #666)}.emdash-live-search[data-astro-cid-6brwnvjo]{position:relative;display:inline-block}.emdash-live-search-input[data-astro-cid-6brwnvjo]{width:100%;padding:0.5rem 1rem;font-size:1rem;border:1px solid var(--emdash-search-border, #ccc);border-radius:0.25rem;background:var(--emdash-search-bg, white);color:var(--emdash-search-text, inherit)}.emdash-live-search-input[data-astro-cid-6brwnvjo]:focus{outline:none;border-color:var(--emdash-search-border-focus, #666)}.emdash-live-search-results[data-astro-cid-6brwnvjo]{position:absolute;top:100%;left:0;right:0;margin-top:0.25rem;background:var(--emdash-search-bg, white);border:1px solid var(--emdash-search-border, #ccc);border-radius:0.25rem;box-shadow:0 4px 6px rgba(0,0,0,0.1);max-height:400px;overflow-y:auto;z-index:1000}.emdash-live-search-loading[data-astro-cid-6brwnvjo],.emdash-live-search-no-results[data-astro-cid-6brwnvjo]{padding:1rem;text-align:center;color:var(--emdash-search-muted, #666)}.emdash-live-search-result[data-astro-cid-6brwnvjo]{display:block;padding:0.75rem 1rem;text-decoration:none;color:var(--emdash-search-text, inherit);border-bottom:1px solid var(--emdash-search-border, #eee)}.emdash-live-search-result[data-astro-cid-6brwnvjo]:last-child{border-bottom:none}.emdash-live-search-result[data-astro-cid-6brwnvjo]:hover,.emdash-live-search-result[data-astro-cid-6brwnvjo]:focus,.emdash-live-search-result[data-astro-cid-6brwnvjo].focused{background:var(--emdash-search-hover, #f5f5f5);outline:none}.emdash-live-search-result-title[data-astro-cid-6brwnvjo]{display:block;font-weight:500}.emdash-live-search-result-collection[data-astro-cid-6brwnvjo]{display:block;font-size:0.75rem;color:var(--emdash-search-muted, #888);text-transform:uppercase;letter-spacing:0.05em;margin-top:0.125rem}.emdash-live-search-result-snippet[data-astro-cid-6brwnvjo]{display:block;font-size:0.875rem;color:var(--emdash-search-muted, #666);margin-top:0.25rem}.emdash-live-search-result-snippet[data-astro-cid-6brwnvjo] mark{font-weight:600;background:none;color:var(--emdash-search-highlight, var(--emdash-search-text, #000))}/*
  theme.css -- override any :root variable here to retheme the blog.

  This is the only file you need to edit to customize the site's visual
  appearance. All defaults are listed below as comments. Uncomment and
  change any value to override it.

  Base.astro puts its defaults inside @layer base, so declarations here
  (which are unlayered) always take priority -- no specificity tricks needed.

  Note: this template defines explicit dark mode colors in Base.astro.
  Overriding light-mode --color-* variables here won't affect dark mode.
  To customize dark mode, also override --color-* variables inside a
  @media (prefers-color-scheme: dark) block and/or in the :root.dark rule.
*/

:root {
	--color-bg: #fbfcfb;
	--color-bg-subtle: #f3f7f5;
	--color-text: #14211f;
	--color-text-secondary: #42534f;
	--color-muted: #6d7d78;
	--color-border: #dfe8e4;
	--color-border-subtle: #edf2f0;
	--color-surface: #eef5f2;
	--color-accent: #0f766e;
	--color-accent-hover: #115e59;
	--color-on-accent: #ffffff;
	--color-accent-ring: color-mix(in srgb, var(--color-accent) 20%, transparent);
	--color-highlight: #f5b84b;
	--tracking-tight: 0;
	--tracking-snug: 0;
	--tracking-wide: 0;
	--tracking-wider: 0;
	--search-input-width: 260px;
	--content-width: 720px;

	/* --- Colors ---
	--color-bg: #ffffff;
	--color-bg-subtle: #fafafa;
	--color-text: #1a1a1a;
	--color-text-secondary: #525252;
	--color-muted: #8b8b8b;
	--color-border: #e5e5e5;
	--color-border-subtle: #f0f0f0;
	--color-surface: #f7f7f7;
	--color-accent: #0066cc;
	--color-accent-hover: #0052a3;
	--color-on-accent: white;
	--color-accent-ring: color-mix(in srgb, var(--color-accent) 25%, transparent);
	*/

	/* --- Type scale ---
	--font-size-xs: 0.8125rem;
	--font-size-sm: 0.875rem;
	--font-size-base: 1rem;
	--font-size-lg: 1.125rem;
	--font-size-xl: 1.25rem;
	--font-size-2xl: 1.5rem;
	--font-size-3xl: 2rem;
	--font-size-4xl: 2.5rem;
	--font-size-5xl: 3.5rem;
	*/

	/* --- Line heights ---
	--leading-tight: 1.15;
	--leading-snug: 1.3;
	--leading-normal: 1.5;
	--leading-relaxed: 1.7;
	*/

	/* --- Letter spacing ---
	--tracking-tight: -0.03em;    used on h1 and large titles
	--tracking-snug: -0.02em;     used on h2–h6, site/card titles
	--tracking-wide: 0.06em;      used on meta labels, TOC/widget titles
	--tracking-wider: 0.08em;     used on footer headings, section labels
	*/

	/* --- Spacing ---
	--spacing-1: 0.25rem;
	--spacing-2: 0.5rem;
	--spacing-3: 0.75rem;
	--spacing-4: 1rem;
	--spacing-5: 1.25rem;
	--spacing-6: 1.5rem;
	--spacing-8: 2rem;
	--spacing-10: 2.5rem;
	--spacing-12: 3rem;
	--spacing-16: 4rem;
	--spacing-20: 5rem;
	--spacing-24: 6rem;
	*/

	/* --- Layout ---
	--content-width: 680px;       article/page body column width
	--wide-width: 1200px;         max container width (home, archives)
	--gutter-width: 200px;        right sidebar column (TOC) on article pages
	--meta-col-width: 180px;      left meta column on article pages
	--nav-height: 64px;           sticky header height
	--search-input-width: 180px;  nav search box width
	*/

	/* --- Borders & radius ---
	--radius: 4px;
	--radius-lg: 8px;
	*/

	/* --- Transitions ---
	--transition-fast: 120ms ease;
	--transition-base: 180ms ease;
	*/

	/* --- Avatars ---
	--avatar-size-xs: 18px;    card byline avatars
	--avatar-size-sm: 20px;    post list byline avatars
	--avatar-size-md: 24px;    featured post byline avatars
	--avatar-size-lg: 32px;    single post byline avatars
	*/

	/* --- Shadows ---
	--shadow-dropdown: 0 8px 30px rgba(0, 0, 0, 0.12);
	--shadow-btn-active: 0 1px 2px rgba(0, 0, 0, 0.05);
	*/

	/* --- Misc ---
	--tag-padding-y: 2px;    vertical padding on tag pills
	*/
}

:root.dark {
	--color-bg: #101816;
	--color-bg-subtle: #14211f;
	--color-text: #eef6f3;
	--color-text-secondary: #c5d3cf;
	--color-muted: #8fa09b;
	--color-border: #2a3b37;
	--color-border-subtle: #21302d;
	--color-surface: #1b2a27;
	--color-accent: #5eead4;
	--color-accent-hover: #99f6e4;
	--color-on-accent: #082f2a;
	--color-highlight: #f6c86a;
}

@media (prefers-color-scheme: dark) {
	:root:not(.light) {
		--color-bg: #101816;
		--color-bg-subtle: #14211f;
		--color-text: #eef6f3;
		--color-text-secondary: #c5d3cf;
		--color-muted: #8fa09b;
		--color-border: #2a3b37;
		--color-border-subtle: #21302d;
		--color-surface: #1b2a27;
		--color-accent: #5eead4;
		--color-accent-hover: #99f6e4;
		--color-on-accent: #082f2a;
		--color-highlight: #f6c86a;
	}
}
/*
			 * Establish layer order: "base" has lower priority than unlayered
			 * styles, so theme.css overrides always win regardless of source
			 * order in the bundled CSS.
			 */
			@layer base;

			@layer base {
				*:where(:not([class*="emdash"]):not([class*="ec-"])),
				*:where(:not([class*="emdash"]):not([class*="ec-"]))::before,
				*:where(:not([class*="emdash"]):not([class*="ec-"]))::after {
					box-sizing: border-box;
				}

				body,
				h1,
				h2,
				h3,
				h4,
				h5,
				h6,
				p,
				ul,
				ol,
				figure,
				blockquote,
				dl,
				dd {
					margin: 0;
				}

				ul,
				ol {
					padding: 0;
				}

				:root {
					/* Colors - Light mode (default) */
					--color-bg: #ffffff;
					--color-bg-subtle: #fafafa;
					--color-text: #1a1a1a;
					--color-text-secondary: #525252;
					--color-muted: #8b8b8b;
					--color-border: #e5e5e5;
					--color-border-subtle: #f0f0f0;
					--color-surface: #f7f7f7;
					--color-accent: #0066cc;
					--color-accent-hover: #0052a3;
					--color-on-accent: white;
					--color-accent-ring: color-mix(
						in srgb,
						var(--color-accent) 25%,
						transparent
					);

					/* EmDash search theming */
					--emdash-search-bg: var(--color-bg);
					--emdash-search-text: var(--color-text);
					--emdash-search-muted: var(--color-muted);
					--emdash-search-border: var(--color-border);
					--emdash-search-hover: var(--color-surface);
					--emdash-search-highlight: var(--color-text);

					/* Type scale - more refined */
					--font-size-xs: 0.8125rem;
					--font-size-sm: 0.875rem;
					--font-size-base: 1rem;
					--font-size-lg: 1.125rem;
					--font-size-xl: 1.25rem;
					--font-size-2xl: 1.5rem;
					--font-size-3xl: 2rem;
					--font-size-4xl: 2.5rem;
					--font-size-5xl: 3.5rem;

					/* Line heights */
					--leading-tight: 1.15;
					--leading-snug: 1.3;
					--leading-normal: 1.5;
					--leading-relaxed: 1.7;

					/* Spacing - more generous */
					--spacing-1: 0.25rem;
					--spacing-2: 0.5rem;
					--spacing-3: 0.75rem;
					--spacing-4: 1rem;
					--spacing-5: 1.25rem;
					--spacing-6: 1.5rem;
					--spacing-8: 2rem;
					--spacing-10: 2.5rem;
					--spacing-12: 3rem;
					--spacing-16: 4rem;
					--spacing-20: 5rem;
					--spacing-24: 6rem;

					/* Legacy spacing aliases */
					--spacing-xs: var(--spacing-1);
					--spacing-sm: var(--spacing-2);
					--spacing-md: var(--spacing-4);
					--spacing-lg: var(--spacing-6);
					--spacing-xl: var(--spacing-8);
					--spacing-2xl: var(--spacing-12);
					--spacing-3xl: var(--spacing-16);

					/* Layout - wider for three-column */
					--content-width: 680px;
					--wide-width: 1200px;
					--max-width: var(--content-width);
					--gutter-width: 200px;
					--radius: 4px;
					--radius-lg: 8px;

					/* Transitions */
					--transition-fast: 120ms ease;
					--transition-base: 180ms ease;

					/* Nav */
					--nav-height: 64px;

					/* Search */
					--search-input-width: 180px;

					/* Article layout */
					--meta-col-width: 180px;

					/* Avatar sizes */
					--avatar-size-xs: 18px;
					--avatar-size-sm: 20px;
					--avatar-size-md: 24px;
					--avatar-size-lg: 32px;

					/* Letter spacing */
					--tracking-tight: -0.03em;
					--tracking-snug: -0.02em;
					--tracking-wide: 0.06em;
					--tracking-wider: 0.08em;

					/* Tag pill */
					--tag-padding-y: 2px;

					/* Shadows */
					--shadow-dropdown: 0 8px 30px rgba(0, 0, 0, 0.12);
					--shadow-btn-active: 0 1px 2px rgba(0, 0, 0, 0.05);
				}

				/* Dark mode via system preference (when no explicit class) */
				@media (prefers-color-scheme: dark) {
					:root:not(.light) {
						--color-bg: #0d0d0d;
						--color-bg-subtle: #141414;
						--color-text: #ededed;
						--color-text-secondary: #a0a0a0;
						--color-muted: #6b6b6b;
						--color-border: #2a2a2a;
						--color-border-subtle: #1f1f1f;
						--color-surface: #181818;
						--color-accent: #4d9fff;
						--color-accent-hover: #6eb0ff;
					}
				}

				/* Explicit dark mode */
				:root.dark {
					--color-bg: #0d0d0d;
					--color-bg-subtle: #141414;
					--color-text: #ededed;
					--color-text-secondary: #a0a0a0;
					--color-muted: #6b6b6b;
					--color-border: #2a2a2a;
					--color-border-subtle: #1f1f1f;
					--color-surface: #181818;
					--color-accent: #4d9fff;
					--color-accent-hover: #6eb0ff;
				}

				html {
					scroll-behavior: smooth;
				}

				body {
					font-family: var(--font-sans);
					font-size: var(--font-size-base);
					line-height: var(--leading-relaxed);
					color: var(--color-text);
					background: var(--color-bg);
					-webkit-font-smoothing: antialiased;
					-moz-osx-font-smoothing: grayscale;
					min-height: 100vh;
				}

				a:where(:not([class*="emdash"]):not([class*="ec-"])) {
					color: var(--color-accent);
					text-decoration: none;
					transition: color var(--transition-fast);
				}

				a:where(:not([class*="emdash"]):not([class*="ec-"])):hover {
					color: var(--color-accent-hover);
				}

				img {
					max-width: 100%;
					height: auto;
					display: block;
				}

				h1,
				h2,
				h3,
				h4,
				h5,
				h6 {
					font-family: var(--font-sans);
					line-height: var(--leading-tight);
					font-weight: 600;
					letter-spacing: var(--tracking-snug);
				}

				h1 {
					font-weight: 700;
					letter-spacing: var(--tracking-tight);
				}

				::selection {
					background: var(--color-accent);
					color: white;
				}
			}.site-header[data-astro-cid-5hce7sga]{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent)}.nav[data-astro-cid-5hce7sga]{display:flex;justify-content:space-between;align-items:center;max-width:var(--wide-width);margin:0 auto;padding:var(--spacing-3) var(--spacing-6);height:var(--nav-height)}.site-title[data-astro-cid-5hce7sga]{font-size:var(--font-size-lg);font-weight:750;color:var(--color-text);text-decoration:none;letter-spacing:0}.site-title[data-astro-cid-5hce7sga]:hover{color:var(--color-accent)}.site-logo-img[data-astro-cid-5hce7sga]{height:48px;width:auto;display:block;margin:-8px 0}.nav-right[data-astro-cid-5hce7sga]{display:flex;align-items:center;gap:var(--spacing-5);margin-inline-start:auto}.nav-links[data-astro-cid-5hce7sga]{display:flex;gap:var(--spacing-2);font-size:var(--font-size-sm)}.nav-links[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{display:inline-flex;align-items:center;min-height:36px;padding:0 var(--spacing-3);border-radius:999px;text-decoration:none;color:var(--color-text);transition:color var(--transition-fast),background var(--transition-fast)}.nav-links[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:hover{color:var(--color-accent);background:var(--color-surface)}.language-switcher[data-astro-cid-5hce7sga]{display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1);border:1px solid var(--color-border);border-radius:999px;background:color-mix(in srgb,var(--color-bg) 82%,transparent)}.language-link[data-astro-cid-5hce7sga]{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 var(--spacing-2);border-radius:999px;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:700;text-decoration:none;transition:color var(--transition-fast),background var(--transition-fast)}.language-link[data-astro-cid-5hce7sga]:hover{color:var(--color-accent);background:var(--color-surface)}.language-link[data-astro-cid-5hce7sga].active{background:var(--color-accent);color:var(--color-on-accent)}.nav-admin[data-astro-cid-5hce7sga]{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.nav-admin[data-astro-cid-5hce7sga]:hover{color:var(--color-text)}.site-search[data-astro-cid-5hce7sga]{position:relative;width:var(--search-input-width);--emdash-search-border-focus: var(--color-accent)}.site-search-input{width:var(--search-input-width);padding:var(--spacing-2) var(--spacing-3);font-family:var(--font-sans);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg);color:var(--color-text);min-height:40px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.site-search-input::placeholder{color:var(--color-muted)}.site-search-input:focus,.site-search-input:focus-visible{outline:none;border-color:var(--color-accent)!important;box-shadow:0 0 0 3px var(--color-accent-ring)}.site-search-results{position:absolute;top:100%;left:0;right:0;margin-top:var(--spacing-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);max-height:400px;overflow-y:auto;z-index:1000}.site-search-results .emdash-live-search-loading,.site-search-results .emdash-live-search-no-results{padding:var(--spacing-4);text-align:center;color:var(--color-muted);font-size:var(--font-size-sm)}.site-search-result{display:block;padding:var(--spacing-3) var(--spacing-4);text-decoration:none;color:var(--color-text);border-bottom:1px solid var(--color-border-subtle);transition:background var(--transition-fast)}.site-search-result:last-child{border-bottom:none}.site-search-result:hover,.site-search-result:focus,.site-search-result.focused{background:var(--color-surface);outline:none}.site-search-result .emdash-live-search-result-title{display:block;font-weight:500;font-size:var(--font-size-sm)}.site-search-result .emdash-live-search-result-collection{display:block;font-size:var(--font-size-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-top:2px}.site-search-result .emdash-live-search-result-snippet{display:block;font-size:var(--font-size-sm);color:var(--color-muted);margin-top:var(--spacing-1);line-height:var(--leading-snug)}.site-search-result .emdash-live-search-result-snippet mark{font-weight:600;color:var(--color-text)}main[data-astro-cid-5hce7sga]{min-height:calc(100vh - var(--nav-height) - 300px)}.site-footer[data-astro-cid-5hce7sga]{background:var(--color-bg-subtle);border-top:1px solid var(--color-border-subtle)}.footer-inner[data-astro-cid-5hce7sga]{max-width:var(--wide-width);margin:0 auto;padding:var(--spacing-16) var(--spacing-6) var(--spacing-8)}.footer-grid[data-astro-cid-5hce7sga]{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--spacing-12);margin-bottom:var(--spacing-12)}.footer-brand[data-astro-cid-5hce7sga]{max-width:280px}.footer-logo[data-astro-cid-5hce7sga]{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);text-decoration:none;letter-spacing:var(--tracking-snug)}.footer-logo-img[data-astro-cid-5hce7sga]{height:24px;width:auto}.footer-tagline[data-astro-cid-5hce7sga]{margin-top:var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-muted);line-height:var(--leading-relaxed)}.footer-nav[data-astro-cid-5hce7sga]{min-width:0}.footer-heading[data-astro-cid-5hce7sga]{font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-muted);margin-bottom:var(--spacing-4)}.footer-links[data-astro-cid-5hce7sga]{list-style:none}.footer-links[data-astro-cid-5hce7sga] li[data-astro-cid-5hce7sga]{margin-bottom:var(--spacing-2)}.footer-links[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);transition:color var(--transition-fast)}.footer-links[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:hover{color:var(--color-text)}.footer-widgets-section[data-astro-cid-5hce7sga] .widget-area{display:block}.footer-widgets-section[data-astro-cid-5hce7sga] .widget{color:var(--color-text-secondary)}.footer-widgets-section[data-astro-cid-5hce7sga] .widget__title{font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-muted);margin-bottom:var(--spacing-4)}.footer-widgets-section[data-astro-cid-5hce7sga] .widget__content{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--leading-relaxed)}.footer-bottom[data-astro-cid-5hce7sga]{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-6);border-top:1px solid var(--color-border)}.footer-copyright[data-astro-cid-5hce7sga]{font-size:var(--font-size-sm);color:var(--color-muted)}.footer-copyright[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{color:var(--color-text-secondary)}.theme-switcher[data-astro-cid-5hce7sga]{display:flex;gap:var(--spacing-1);padding:var(--spacing-1);background:var(--color-surface);border-radius:var(--radius)}.theme-btn[data-astro-cid-5hce7sga]{display:flex;align-items:center;justify-content:center;width:32px;height:28px;background:transparent;border:none;color:var(--color-muted);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast)}.theme-btn[data-astro-cid-5hce7sga]:hover{color:var(--color-text-secondary)}.theme-btn[data-astro-cid-5hce7sga].active{background:var(--color-bg);color:var(--color-text);box-shadow:var(--shadow-btn-active)}.theme-btn[data-astro-cid-5hce7sga] svg[data-astro-cid-5hce7sga]{width:16px;height:16px}@media (max-width: 900px){.footer-grid[data-astro-cid-5hce7sga]{grid-template-columns:1fr 1fr;gap:var(--spacing-8)}.footer-brand[data-astro-cid-5hce7sga]{grid-column:span 2;max-width:none}}@media (max-width: 640px){.site-header[data-astro-cid-5hce7sga]{position:sticky}.nav[data-astro-cid-5hce7sga]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;height:auto;column-gap:var(--spacing-3);row-gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4)}.site-title[data-astro-cid-5hce7sga]{grid-column:1;grid-row:1;font-size:var(--font-size-base);min-width:0}.nav-right[data-astro-cid-5hce7sga]{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch;width:100%;margin-inline-start:0;row-gap:var(--spacing-2)}.site-search[data-astro-cid-5hce7sga]{grid-column:1;width:100%;max-width:none}.site-search-input{width:100%!important;padding:var(--spacing-3) var(--spacing-4)!important;font-size:var(--font-size-sm)!important;min-height:46px}.site-search-results{left:0;right:0;max-height:min(55vh,420px)}.nav-links[data-astro-cid-5hce7sga]{grid-column:1;display:flex;column-gap:var(--spacing-3);row-gap:var(--spacing-1);flex-wrap:wrap;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.nav-links[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{flex:0 0 auto;min-height:34px;padding:0 var(--spacing-3);background:var(--color-surface)}.language-switcher[data-astro-cid-5hce7sga]{width:max-content;max-width:100%;overflow-x:auto}.language-link[data-astro-cid-5hce7sga]{flex:0 0 auto;min-width:38px;height:34px}.nav-admin[data-astro-cid-5hce7sga]{grid-column:2;grid-row:1;justify-self:end;font-size:var(--font-size-xs);margin-inline-start:0;white-space:nowrap}.footer-grid[data-astro-cid-5hce7sga]{grid-template-columns:1fr}.footer-brand[data-astro-cid-5hce7sga]{grid-column:span 1}.footer-bottom[data-astro-cid-5hce7sga]{flex-direction:column;gap:var(--spacing-4);text-align:center}.footer-controls[data-astro-cid-5hce7sga]{flex-wrap:wrap;justify-content:center}}