.hamburger[data-astro-cid-3weo6hls]{display:flex;flex-direction:column;justify-content:space-around;width:2rem;height:1.75rem;background:transparent;border:none;cursor:pointer;padding:0;z-index:10}.line[data-astro-cid-3weo6hls]{width:2rem;height:.25rem;background-color:var(--color-text-inverse);border-radius:10px;transition:all .3s linear;position:relative;transform-origin:1px}.hamburger[data-astro-cid-3weo6hls].active .line[data-astro-cid-3weo6hls]:first-child{transform:rotate(45deg)}.hamburger[data-astro-cid-3weo6hls].active .line[data-astro-cid-3weo6hls]:nth-child(2){opacity:0}.hamburger[data-astro-cid-3weo6hls].active .line[data-astro-cid-3weo6hls]:nth-child(3){transform:rotate(-45deg)}.header[data-astro-cid-3ef6ksr2]{background-color:var(--color-secondary);color:var(--color-text-inverse);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.header-content[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) 0}.site-title[data-astro-cid-3ef6ksr2]{font-size:var(--font-size-xl);margin:0}.site-title[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--color-text-inverse);text-decoration:none;font-weight:700}.nav-desktop[data-astro-cid-3ef6ksr2]{display:none}.nav-desktop[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--color-text-inverse);text-decoration:none;margin-left:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);transition:background-color var(--transition-fast)}.nav-desktop[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{background-color:var(--color-secondary-light)}.nav-mobile[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;background-color:var(--color-secondary);padding:var(--spacing-md);transform:translateY(-100%);position:absolute;top:60px;left:0;width:100%;transition:transform var(--transition-base);z-index:99}.nav-mobile[data-astro-cid-3ef6ksr2].open{transform:translateY(0)}.nav-mobile[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--color-text-inverse);text-decoration:none;padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-secondary-light)}.menu-button[data-astro-cid-3ef6ksr2]{display:block}@media (min-width: 768px){.menu-button[data-astro-cid-3ef6ksr2]{display:none}.nav-desktop[data-astro-cid-3ef6ksr2]{display:flex}.nav-mobile[data-astro-cid-3ef6ksr2]{display:none}}.footer[data-astro-cid-sz7xmlte]{background-color:var(--color-secondary);color:var(--color-text-inverse);padding:var(--spacing-lg) 0;margin-top:var(--spacing-2xl)}.footer-content[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.footer-links[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-lg)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-text-inverse);text-decoration:none;transition:color var(--transition-fast)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-primary-light)}.copyright[data-astro-cid-sz7xmlte]{font-size:var(--font-size-sm);margin:0}@media (min-width: 768px){.footer-content[data-astro-cid-sz7xmlte]{flex-direction:row;justify-content:space-between}}:root{--color-primary: #3498db;--color-primary-light: #5dade2;--color-primary-dark: #2980b9;--color-secondary: #2c3e50;--color-secondary-light: #34495e;--color-secondary-dark: #1a252f;--color-accent: #e74c3c;--color-text: #333333;--color-text-light: #666666;--color-text-inverse: #ffffff;--color-bg: #f9f9f9;--color-bg-card: #ffffff;--color-bg-code: #f5f5f5;--color-border: #e0e0e0;--font-family-base: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--font-family-heading: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--font-family-code: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.875rem;--font-size-3xl: 2.25rem;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-loose: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--container-max-width: 1200px;--content-max-width: 720px;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--border-radius-sm: 4px;--border-radius-md: 6px;--border-radius-lg: 8px;--shadow-sm: 0 1px 3px rgba(0,0,0,.1);--shadow-md: 0 4px 6px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px rgba(0,0,0,.1);--transition-fast: .15s ease;--transition-base: .3s ease}.container{width:100%;padding:0 var(--spacing-md);margin:0 auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:var(--container-max-width)}}.grid{display:grid;gap:var(--spacing-md)}.col-1{grid-template-columns:repeat(1,1fr)}.col-2{grid-template-columns:repeat(2,1fr)}@media (min-width: 768px){.md\:col-2{grid-template-columns:repeat(2,1fr)}.md\:col-3{grid-template-columns:repeat(3,1fr)}.md\:col-4{grid-template-columns:repeat(4,1fr)}.md\:col-1-2{grid-template-columns:1fr 2fr}.md\:col-2-1{grid-template-columns:2fr 1fr}.md\:col-3-1{grid-template-columns:3fr 1fr}}.flex{display:flex}.flex-col{flex-direction:column}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.flex-wrap{flex-wrap:wrap}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-md{margin-top:var(--spacing-md)}.mb-md{margin-bottom:var(--spacing-md)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);line-height:var(--line-height-tight);margin:0 0 var(--spacing-md) 0}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-base)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}img{max-width:100%;height:auto}main{padding:var(--spacing-xl) 0}section{margin-bottom:var(--spacing-2xl)}article{margin-bottom:var(--spacing-xl)}.article-content{max-width:var(--content-max-width);margin:0 auto}.article-content p{margin-bottom:var(--spacing-md)}.article-content img{border-radius:var(--border-radius-md);margin:var(--spacing-lg) 0}.article-content img,.article-content svg{max-width:100%;height:auto}.article-content pre{background-color:var(--color-bg-code);border-radius:var(--border-radius-md);padding:var(--spacing-md);overflow-x:auto;font-family:var(--font-family-code);font-size:var(--font-size-sm);margin:var(--spacing-lg) 0}.article-content code{font-family:var(--font-family-code);font-size:.9em;background-color:var(--color-bg-code);padding:.2em .4em;border-radius:var(--border-radius-sm)}.article-content pre code{padding:0;background-color:transparent}.article-content table{width:100%;border-collapse:collapse;margin:var(--spacing-lg) 0}.article-content th,.article-content td{border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md)}.article-content th{background-color:var(--color-bg);font-weight:700}input,textarea,select,button{font-family:inherit;font-size:inherit}button{cursor:pointer}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-accent{color:var(--color-accent)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-white{background-color:#fff}.rounded{border-radius:var(--border-radius-md)}.shadow{box-shadow:var(--shadow-md)}
