@import"https://fonts.googleapis.com/css2?family=Archivo:ital,wdth,wght@0,62..125,100..900;1,62..125,100..900&display=swap";@import"https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@300..700&display=swap";:root{--header-height: 68px;--black: oklch(.2 .0165 255.31);--dark-grey: oklch(.25 .0165 255.31);--mid-grey: oklch(.35 .0165 255.31);--dim-grey: oklch(.55 0 0);--light-grey: oklch(.7 0 0);--mid-white: oklch(.85 0 0);--off-white: oklch(.95 0 0);--white: oklch(.98 0 0);--blue: oklch(.6988 .1864 252.372);--purple: oklch(.6988 .1864 325.529);--green: oklch(.6988 .1864 151.37);--red: oklch(.6988 .1864 24.41);--accent: var(--green);--accent-text: var(--dark-grey);--text-main: light-dark(var(--black), var(--white));--text-secondary: light-dark(var(--dark-grey), var(--mid-white));--text-tertiary: light-dark(var(--mid-grey), var(--light-grey));--text-accent: light-dark( oklch(from var(--green) calc(l - .2) c h), var(--green) );--accent-pair-text: var(--black);--bg-primary: light-dark(var(--white), var(--black));--bg-secondary: light-dark(var(--off-white), var(--dark-grey));--bg-tertiary: light-dark(var(--mid-white), var(--mid-grey));--space-xxs: .25rem;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 10rem;--round-xs: .25rem;--round-sm: .5rem;--round-md: 1rem;--round-lg: 2rem;--round-full: 100%;--font-xs: clamp(.7rem, .6rem + .25vw, .625rem);--font-sm: clamp(.8rem, .75rem + .25vw, .875rem);--font-base: clamp(1rem, .9rem + .5vw, 1.125rem);--font-lg: clamp(1.125rem, 1rem + .75vw, 1.375rem);--font-xl: clamp(1.25rem, .9rem + 1.5vw, 1.75rem);--font-2xl: clamp(1.5rem, 1rem + 2vw, 2.25rem);--font-3xl: clamp(1.875rem, 1rem + 3vw, 3rem);--font-4xl: clamp(2.25rem, 1rem + 4vw, 4rem);--font-5xl: clamp(4.25rem, 1rem + 6vw, 6rem);--paragraph-width: 80ch;--heading-width: 100ch;--font-wide: 125%;--font-mono: var("Fira Code", monospace);--timing-fastest: .1s;--timing-fast: .25s;--timing-normal: .5s;--timing-slow: .85s}@layer reset{*,*:before,*:after{box-sizing:border-box}*:not(dialog){margin:0}html{color-scheme:light dark;font-size:var(--font-base);color:var(--text-secondary);background-color:var(--bg-primary);scrollbar-gutter:stable;scroll-behavior:auto;block-size:100%;font-family:Archivo,sans-serif;&:lang(ja){font-family:Archivo,Zen Kaku Gothic New,sans-serif}}@media(prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords;scroll-behavior:smooth}}html:has([value=light]:checked){color-scheme:light}html:has([value=dark]:checked){color-scheme:dark}body{margin:0;min-block-size:100svh;display:grid;grid-template-rows:auto 1fr auto;line-height:1.6;-webkit-font-smoothing:antialiased;container-name:body}main{min-height:100svh}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{--_header-scroll-margin: var(--header-scroll-margin, 1);text-wrap:balance;color:var(--text-main);scroll-margin-block-start:calc((var(--header-height) * var(--_header-scroll-margin) + var(--space-xxs)))}h1{text-align:center;font-width:var(--font-wide);font-stretch:var(--font-wide);font-size:var(--font-3xl);font-weight:700;line-height:1.1;letter-spacing:-.03em}h2{font-size:var(--font-2xl);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:.75rem}h3{font-size:var(--font-xl);font-weight:600;line-height:1.3}small,.text-sm{font-size:var(--font-sm)}hr{border:solid .5px var(--bg-tertiary);margin-top:var(--space-xxs);margin-bottom:var(--space-xxs)}ul[role=list],ol[role=list]{list-style:none}p,li,dl{max-width:var(--paragraph-width)}[role=region][aria-labelledby][tabindex]{overflow:auto}[role=region][aria-labelledby][tabindex]:focus{outline:.1em solid rgba(0,0,0,.1)}table{--_table-bg-color: var(--table-bg-color, var(--bg-primary));border-spacing:2px;table-layout:fixed;border-collapse:collapse;width:max(var(--paragraph-width),100%);color:var(--text-secondary);background-color:var(--_table-bg-color);caption-side:bottom;thead,tfoot{color:var(--text-main);background-color:var(--bg-tertiary)}th,caption{text-align:start}thead{border-block-end:2px solid var(--text-tertiary);font-width:var(--font-wide)}tfoot{border-block:2px solid var(--text-tertiary)}tbody tr:nth-child(2n){--_lightness-offset: .03;background-color:var(--bg-secondary)}th,td{padding:var(--space-xs) var(--space-sm)}}.table-responsive{overflow:scroll}a{--_link-color: var(--link-color, var(--text-main));color:var(--_link-color);text-decoration-color:inherit;transition-property:text-decoration-color;transition-duration:var(--timing-fast);&:hover{text-decoration-color:var(--accent)}&.external{margin-inline-end:calc(var(--space-xxs) + 1em);&:after{background-color:currentcolor;content:"(external)";mask-size:cover;mask-image:url(/images/external-link.svg);position:absolute;display:inline-block;width:1em;height:1em;transform:translateY(.5em);margin-inline-start:var(--space-xxs)}}}:not(pre)>code{font-family:var(--font-mono);font-weight:400;font-size:.8em;color:var(--text-accent);padding:var(--space-xxs);border-radius:var(--round-xs);background:var(--bg-secondary);border:1px solid var(--bg-tertiary)}}.font-wide{font-width:var(--font-wide);font-stretch:var(--font-wide)}.font-bold{font-weight:700}.text-center{text-align:center}.text-left{text-align:left}.link-unstyled{color:inherit;text-decoration:none}.skip-link{display:inline-block;padding:var(--space-xxs) var(--space-sm);background:var(--color-light);color:var(--text);text-decoration:none;font-weight:700;text-transform:uppercase;position:absolute;top:1rem;left:1rem}.flow{--_flow-space: var(--flow-space, 1.25em);>*+*:not(:first-child){margin-top:var(--_flow-space)}img{max-width:95%;margin:var(--_flow-space) auto}&.flow--dense{--flow-space: var(--space-sm)}}.stack{--_stack-gap: var(--stack-gap, var(--space-xxs));display:flex;flex-direction:column;gap:var(--_stack-gap);&[class*=stack--sm]{--_stack-gap: var(--space-sm)}&[class*=stack--md]{--_stack-gap: var(--space-md)}}.row{--_gap: var(--gap, var(--space-xxs));--_row-justify: var(--row-justify, start);display:flex;flex-direction:row;justify-content:var(--_row-justify);gap:var(--_gap)}.grid{--_grid-columns: var(--grid-columns, 3);display:grid;grid-template-columns:repeat(var(--_grid-columns),1fr);grid-auto-rows:1fr;gap:var(--space-sm);row-gap:var(--space-sm)}.auto-grid{--_min-col-size: var(--min-col-size, 300px);display:grid;gap:var(--space-sm, 1rem);grid-template-columns:repeat(var(--grid-type, auto-fit),minmax(min(var(--_min-col-size),100%),1fr));container-type:inline-size}.layout{margin:var(--space-md) auto;margin-inline:max(var(--space-md),50% - calc(var(--paragraph-width) / 2))}.layout--wide{margin:var(--space-md) auto;margin-inline:max(var(--space-md),50% - calc(var(--paragraph-width) / 1.5))}.layout--max{margin:var(--space-sm) auto;margin-inline:var(--space-sm)}.card{--_card-color: var(--card-color, var(--bg-secondary));--_border-color: var(--border-color, var(--bg-tertiary));padding:var(--space-sm);border-radius:var(--round-sm);height:auto;color:var(--text-secondary);background-color:var(--_card-color);border:solid 1px var(--_border-color);&[clickable=true]{cursor:pointer;transition-property:background-color,outline;transition-behavior:allow-discrete;transition-duration:var(--timing-fast);outline:0px solid var(--_border-color);&:hover,&:focus-within{background-color:oklch(from var(--_card-color) l c h / .5);outline:2px solid var(--_border-color);@starting-style{outline:0px solid var(--_border-color)}}}.title{font-size:var(--font-lg);font-weight:700;color:var(--text-main)}.body{color:var(--text-secondary)}.details{color:var(--text-tertiary);font-size:var(--font-sm)}.image{min-width:100%;border-radius:var(--round-sm);border:solid 1px oklch(from var(--_card-color) l c h)}a>&{min-height:100%}}.button{--button-color: var(--bg-tertiary);--text-color: var(--text-main);--hover-color: oklch(from var(--button-color) l c h / .8);background-color:var(--button-color);color:var(--text-color);border-radius:var(--round-lg);padding:var(--space-xxs) var(--space-sm);outline:2px solid var(--text-main);outline-offset:-1.5px;box-shadow:none;border:0;font-weight:700;cursor:pointer;min-width:fit-content;transition:all var(--timing-fastest) ease-in;transition-behavior:allow-discrete;&:hover{outline-width:3px;box-shadow:0 0 10px oklch(from var(--text-tertiary) l c h / .5);background-color:var(--hover-color)}&.accent{--button-color: var(--accent);--text-color: var(--accent-text)}}.icon-wrapper{height:fit-content;width:fit-content;background-color:transparent;color:var(--text-main);border-radius:0;padding:0;border:none;font-weight:700;cursor:pointer;transition:all var(--timing-fastest);&:hover{color:var(--text-tertiary)}}.inline{display:inline}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(calc(var(--space-md)))}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fade-slide-in{--_timing: var(--timing, var(--timing-slow));--_delay: var(--delay, 0ms);animation:var(--_timing) ease-out var(--_delay) fade-slide-in;animation-fill-mode:both}.fade-in{--_timing: var(--timing, var(--timing-slow));--_delay: var(--delay, 0ms);animation:var(--_timing) ease-out var(--_delay) fade-in;animation-fill-mode:both}.site-footer.svelte-tioglr{margin:var(--space-sm) auto;margin-inline:var(--space-md);background-color:var(--bg-secondary);padding:var(--space-md);border-radius:var(--round-md);.copyright:where(.svelte-tioglr){margin:0;color:var(--text-tertiary)}}.link-grid.svelte-tioglr{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-md);.section-header:where(.svelte-tioglr){font-size:var(--font-base);margin:0}a:where(.svelte-tioglr){color:var(--text-tertiary);font-size:var(--font-sm);&:hover{color:var(--text-secondary)}}ul:where(.svelte-tioglr){padding-inline-start:0}}.fallback-header:where(.astro-z4jru4n3){position:sticky;inset-block-start:0;z-index:1;height:var(--header-height);background:var(--bg-primary);border-block-end:1px solid var(--bg-tertiary)}
