.language-switcher.svelte-19uomva{position:relative}.language-switcher-button.svelte-19uomva{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:none;border-radius:var(--radius-full);color:var(--color-text);cursor:pointer;transition:background-color var(--transition-fast)}.language-switcher-button.svelte-19uomva:hover,.language-switcher-button[aria-expanded=true].svelte-19uomva{background-color:var(--color-hover-overlay)}.language-switcher-button.svelte-19uomva:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-background),0 0 0 4px var(--color-focus-ring)}.language-menu.svelte-19uomva{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:calc(var(--space-32) + var(--space-8));padding:var(--space-1) 0;background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-md)}.language-menu[hidden].svelte-19uomva{display:none}.language-option.svelte-19uomva{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:0 var(--space-4);color:var(--color-text);font-size:var(--text-sm);transition:background-color var(--transition-fast)}.language-option.svelte-19uomva:hover,.language-option.svelte-19uomva:focus-visible{color:var(--color-text);background-color:var(--color-hover-overlay)}.language-option.svelte-19uomva:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-focus-ring)}.language-option[aria-checked=true].svelte-19uomva{color:var(--color-link);font-weight:var(--font-semibold)}.check.svelte-19uomva{margin-left:auto}.theme-toggle.svelte-o1i844{position:relative;background:transparent;border:none;color:var(--color-text);cursor:pointer;width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.theme-toggle.svelte-o1i844:hover{background-color:var(--color-hover-overlay)}.theme-toggle.svelte-o1i844:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-background),0 0 0 4px var(--color-focus-ring)}.label.svelte-o1i844{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.label-to-light.svelte-o1i844{display:var(--display-dark-only)}.label-to-dark.svelte-o1i844{display:var(--display-light-only)}.icon-sun.svelte-o1i844{display:var(--display-dark-only)}.icon-moon.svelte-o1i844{display:var(--display-light-only)}svg.svelte-o1i844{transition:transform var(--transition-base)}.theme-toggle.svelte-o1i844:hover svg:where(.svelte-o1i844){transform:rotate(15deg)}@media (prefers-reduced-motion: reduce){.theme-toggle.svelte-o1i844:hover svg:where(.svelte-o1i844){transform:none}}.site-toolbar.svelte-1a8n5yp{position:fixed;top:var(--space-2);right:var(--space-2);z-index:100;display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:color-mix(in oklch,var(--color-background) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@media (min-width: 768px){.site-toolbar.svelte-1a8n5yp{top:var(--space-4);right:var(--space-4)}}:root{--color-primary-soft: oklch(85.7% .13 211.7);--color-primary: oklch(69.2% .15 151.2);--color-primary-dark: oklch(54.7% .13 143.2);--color-accent: oklch(75.6% .19 56.2);--color-accent-soft: oklch(87.2% .19 86.6);--color-accent-pale: oklch(80.2% .07 306.2);--color-neutral-dark: oklch(10.7% .01 260);--color-neutral: oklch(32.6% .01 260);--color-neutral-soft: oklch(49.8% .01 260);--color-neutral-light: oklch(75.2% .01 260);--color-neutral-pale: oklch(87.7% .01 260);--color-neutral-verypale: oklch(97.2% .01 260);--color-neutral-white: oklch(100% 0 0);--color-background: var(--color-neutral-white);--color-surface: var(--color-neutral-verypale);--color-surface-elevated: var(--color-neutral-white);--color-text: var(--color-neutral);--color-text-secondary: var(--color-neutral-soft);--color-text-muted: oklch(53% .01 260);--color-border: var(--color-neutral-pale);--color-link: oklch(50% .13 148);--color-link-hover: oklch(42% .11 145);--color-primary-fill: var(--color-link);--color-on-primary-fill: var(--color-neutral-white);--color-brand: var(--color-primary);--color-focus-ring: var(--color-link);--color-overlay: oklch(0% 0 0 / .5);--color-shadow: oklch(0% 0 0 / .1);--color-image-ring: transparent;--color-hover-overlay: oklch(0% 0 0 / .05);--color-hero-dots: #39bc47;--display-light-only: block;--display-dark-only: none;--shadow-sm: 0 2px 4px -1px var(--color-shadow);--shadow-md: 0 4px 12px var(--color-shadow);--shadow-lg: 0 10px 15px -3px var(--color-shadow), 0 4px 6px -2px var(--color-shadow);--drop-shadow-ring: 0 0 1px var(--color-image-ring);--drop-shadow-md: 0 4px 12px var(--color-shadow);--drop-shadow-lg: 0 10px 15px var(--color-shadow);--color-on-gradient-light: oklch(100% 0 0 / .92);--color-on-gradient-light-shadow: oklch(0% 0 0 / .2);--color-on-gradient-light-chip: oklch(100% 0 0 / .25);--color-on-gradient-light-border: oklch(100% 0 0 / .3);--color-on-gradient-dark: oklch(0% 0 0 / .75);--color-on-gradient-dark-shadow: oklch(100% 0 0 / .2);--color-on-gradient-dark-chip: oklch(0% 0 0 / .15);--color-on-gradient-dark-border: oklch(0% 0 0 / .2);--color-success: var(--color-primary);--color-warning: var(--color-accent);--color-error-light: #dc2626;--color-info-light: var(--color-primary-soft);--font-primary: "Noto Sans JP", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "M PLUS 1 Code", "JetBrains Mono", "Fira Code", monospace;--font-display: "Noto Sans JP", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--text-8xl: 6rem;--text-code-inline: .9em;--font-thin: 100;--font-extralight: 200;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--font-black: 900;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--leading-prose: 1.8;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--border-width-medium: 2px;--border-width-thick: 4px;--transition-fast: .15s ease-out;--transition-base: .3s ease-out;--transition-slow: .5s ease-out;--ease-in-out-cubic: cubic-bezier(.4, 0, .2, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-card: var(--radius-lg);--radius-full: 9999px;--container-padding: 1rem;--header-height: 4rem;--footer-height: 6rem;--max-width: calc(720px + var(--container-padding) * 2)}@media (min-width: 768px){:root{--container-padding: 2rem}}@media (min-width: 1024px){:root{--container-padding: 3rem}}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--color-background: oklch(18% .01 260);--color-surface: oklch(22% .01 260);--color-surface-elevated: oklch(24% .01 260);--color-text: oklch(92% .01 260);--color-text-secondary: oklch(78% .01 260);--color-text-muted: oklch(68% .01 260);--color-border: oklch(34% .01 260);--color-link: oklch(75% .15 151.2);--color-link-hover: oklch(84% .13 151.2);--color-primary-fill: oklch(75% .15 151.2);--color-on-primary-fill: oklch(18% .01 260);--color-brand: oklch(72% .15 151.2);--color-focus-ring: oklch(75% .15 151.2);--color-overlay: oklch(0% 0 0 / .65);--color-shadow: oklch(0% 0 0 / .4);--color-image-ring: var(--color-border);--color-hover-overlay: oklch(100% 0 0 / .06);--color-hero-dots: #3fae4b;--display-light-only: none;--display-dark-only: block}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--color-background: oklch(18% .01 260);--color-surface: oklch(22% .01 260);--color-surface-elevated: oklch(24% .01 260);--color-text: oklch(92% .01 260);--color-text-secondary: oklch(78% .01 260);--color-text-muted: oklch(68% .01 260);--color-border: oklch(34% .01 260);--color-link: oklch(75% .15 151.2);--color-link-hover: oklch(84% .13 151.2);--color-primary-fill: oklch(75% .15 151.2);--color-on-primary-fill: oklch(18% .01 260);--color-brand: oklch(72% .15 151.2);--color-focus-ring: oklch(75% .15 151.2);--color-overlay: oklch(0% 0 0 / .65);--color-shadow: oklch(0% 0 0 / .4);--color-image-ring: var(--color-border);--color-hover-overlay: oklch(100% 0 0 / .06);--color-hero-dots: #3fae4b;--display-light-only: none;--display-dark-only: block}}:root:lang(zh-Hans){--font-primary: "Noto Sans SC", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Noto Sans SC", "Inter", -apple-system, BlinkMacSystemFont, sans-serif}:root:lang(zh-Hant){--font-primary: "Noto Sans TC", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Noto Sans TC", "Inter", -apple-system, BlinkMacSystemFont, sans-serif}:root:not(:lang(ja)) [lang=ja]{--font-primary: "Noto Sans JP", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Noto Sans JP", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;font-family:var(--font-primary)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-primary);background-color:var(--color-background);color:var(--color-text);line-height:1.5;min-height:100lvh;display:flex;flex-direction:column}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-link-hover)}img{display:block}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--container-padding)}.section{padding:var(--space-16) 0}.section-title{font-size:var(--text-4xl);margin-bottom:var(--space-8);font-weight:700}.section-subtitle{font-size:var(--text-xl);color:var(--color-text-secondary);margin-bottom:var(--space-6)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px) and (max-width: 1023px){.hide-tablet{display:none!important}}@media (min-width: 1024px){.hide-desktop{display:none!important}}.prose{font-size:var(--text-base);line-height:var(--leading-prose);color:var(--color-text);overflow-wrap:anywhere}.prose h2{font-size:var(--text-2xl);font-weight:var(--font-bold);margin-top:var(--space-12);margin-bottom:var(--space-4);border-bottom:var(--border-width-medium) solid var(--color-border);padding-bottom:var(--space-2)}.prose h3{font-size:var(--text-xl);font-weight:var(--font-semibold);margin-top:var(--space-8);margin-bottom:var(--space-3)}.prose h4{font-size:var(--text-lg);font-weight:var(--font-semibold);margin-top:var(--space-6);margin-bottom:var(--space-2)}.prose p{margin-bottom:var(--space-4)}.prose ul,.prose ol{margin-bottom:var(--space-4);padding-left:var(--space-6)}.prose li{margin-bottom:var(--space-2)}.prose pre{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);overflow-x:auto}.prose code{background:var(--color-surface);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-code-inline);font-family:var(--font-mono)}.prose pre code{background:none;padding:0;overflow-wrap:normal}.prose blockquote{border-left:var(--border-width-thick) solid var(--color-brand);padding-left:var(--space-4);margin:var(--space-6) 0;color:var(--color-text-secondary);font-style:italic}.prose a{color:var(--color-link);text-decoration:underline}.prose a:hover{color:var(--color-link-hover)}.prose img{max-width:100%;height:auto;border-radius:var(--radius-lg);margin:var(--space-6) 0}.layout.svelte-12qhfyh{display:flex;flex-direction:column;min-height:100vh}.main-content.svelte-12qhfyh{flex:1;margin-top:0;width:100%}.site-footer.svelte-12qhfyh{border-top:1px solid var(--color-border);padding:var(--space-8) 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.footer-inner.svelte-12qhfyh{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-4)}.footer-link.svelte-12qhfyh{color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:.2em}.footer-link.svelte-12qhfyh:hover{color:var(--color-link-hover)}
