.site-footer[data-astro-cid-yfu5idmn]{border-top:1px solid var(--color-line)}.footer-inner[data-astro-cid-yfu5idmn]{justify-content:space-between;align-items:center;gap:var(--space-5);min-height:7rem;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--step--1);display:flex}@media (width<=42rem){.footer-inner[data-astro-cid-yfu5idmn]{flex-direction:column;justify-content:center;align-items:flex-start}}.locale-switcher[data-astro-cid-623l2mu6]{min-height:2.25rem;color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.08em;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);background:#05112057;border:1px solid #b2d0ff38;border-radius:999px;grid-template-columns:auto auto auto;align-items:center;gap:.3rem;padding:.35rem .6rem;font-size:.68rem;line-height:1;display:inline-grid}.locale-switcher[data-astro-cid-623l2mu6]:hover{color:var(--color-text);background:#f6a66117;border-color:#f6a66180}.locale-switcher__current[data-astro-cid-623l2mu6]{color:var(--color-dawn);font-weight:700;line-height:1;display:block}.locale-switcher__divider[data-astro-cid-623l2mu6]{color:#c0d3eb73;line-height:1;display:block}.locale-switcher__next[data-astro-cid-623l2mu6]{letter-spacing:0;line-height:1;display:block}.site-header[data-astro-cid-vtybea45]{z-index:20;min-height:var(--header-height);border-bottom:1px solid var(--color-line);backdrop-filter:blur(12px);background:#030a13c2;position:relative}.site-header--overlay[data-astro-cid-vtybea45]{backdrop-filter:none;background:linear-gradient(#030a13b8,#0000);border-bottom-color:#f2f4f71f;position:absolute;inset:0 0 auto}.header-inner[data-astro-cid-vtybea45]{min-height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-6);display:flex}.wordmark[data-astro-cid-vtybea45]{color:var(--color-text);font-family:var(--font-display);letter-spacing:.28em;font-size:.9rem;text-decoration:none}.header-actions[data-astro-cid-vtybea45]{align-items:center;gap:clamp(.7rem,1.6vw,1.35rem);display:flex}ul[data-astro-cid-vtybea45]{align-items:center;gap:clamp(1.25rem,2.7vw,2.8rem);list-style:none;display:flex}nav[data-astro-cid-vtybea45] a[data-astro-cid-vtybea45],summary[data-astro-cid-vtybea45]{color:var(--color-muted);font-family:var(--font-sans);letter-spacing:.01em;transition:color var(--transition-fast);font-size:.86rem;text-decoration:none}nav[data-astro-cid-vtybea45] a[data-astro-cid-vtybea45]:hover,nav[data-astro-cid-vtybea45] a[data-astro-cid-vtybea45][aria-current=page]{color:var(--color-dawn)}nav[data-astro-cid-vtybea45] a[data-astro-cid-vtybea45][aria-current=page]{text-underline-offset:1.55rem;text-decoration:underline 1px}.mobile-nav[data-astro-cid-vtybea45]{display:none;position:relative}summary[data-astro-cid-vtybea45]{list-style:none}summary[data-astro-cid-vtybea45]::-webkit-details-marker{display:none}@media (width<=56rem){.desktop-nav[data-astro-cid-vtybea45]{display:none}.mobile-nav[data-astro-cid-vtybea45]{display:block}.header-actions[data-astro-cid-vtybea45]{gap:var(--space-3)}.mobile-nav[data-astro-cid-vtybea45] nav[data-astro-cid-vtybea45]{width:min(16rem, calc(100vw - (var(--gutter) * 2)));padding:var(--space-5);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-strong);box-shadow:var(--shadow-soft);position:absolute;top:calc(100% + 1rem);right:0}.mobile-nav[data-astro-cid-vtybea45] ul[data-astro-cid-vtybea45]{flex-direction:column;align-items:stretch;gap:0}.mobile-nav[data-astro-cid-vtybea45] a[data-astro-cid-vtybea45]{padding-block:var(--space-3);display:block}.mobile-nav[data-astro-cid-vtybea45] a[data-astro-cid-vtybea45][aria-current=page]{text-decoration:none}}:root{color-scheme:dark;--color-canvas:#06111f;--color-canvas-deep:#030a13;--color-surface:#0f1f30b8;--color-surface-strong:#102338;--color-text:#f2f4f7;--color-text-soft:#c3ccd6;--color-muted:#8f9dac;--color-line:#97b4cf2e;--color-line-strong:#97b4cf57;--color-dawn:#ff8a3d;--color-dawn-soft:#f6b17d;--color-moon:#82aeff;--color-focus:#b6ceff;--font-cjk:"Astral Days Nocturne", "Apple SD Gothic Neo", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans KR", "Noto Sans JP", sans-serif;--font-sans:Inter, var(--font-cjk), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-ko:var(--font-sans);--font-ja:var(--font-sans);--font-display:"Iowan Old Style", var(--font-cjk), "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif CJK JP", Georgia, serif;--font-mono:"SFMono-Regular", var(--font-cjk), Consolas, "Liberation Mono", monospace;--font-code:"IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--step--1:clamp(.76rem, .72rem + .13vw, .84rem);--step-0:clamp(.98rem, .93rem + .18vw, 1.08rem);--step-1:clamp(1.15rem, 1.05rem + .38vw, 1.36rem);--step-2:clamp(1.42rem, 1.22rem + .75vw, 1.86rem);--step-3:clamp(1.82rem, 1.42rem + 1.45vw, 2.68rem);--step-4:clamp(2.45rem, 1.72rem + 2.8vw, 4.2rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--space-9:7rem;--radius-sm:.3rem;--radius-md:.8rem;--radius-lg:1.35rem;--shadow-soft:0 1.5rem 5rem #0000003d;--container:84rem;--content:70rem;--gutter:clamp(1.1rem, 3vw, 3rem);--header-height:4.5rem;--transition-fast:.15s ease;--transition-base:.22s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;text-size-adjust:100%}body,h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul,ol{padding:0}img,picture,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}a{color:inherit}button,summary{cursor:pointer}body{font-family:var(--font-ko);font-size:var(--step-0);letter-spacing:-.012em;word-break:keep-all;overflow-wrap:anywhere;font-weight:400;line-height:1.75}:lang(ja){font-family:var(--font-ja);line-break:strict}:lang(en){font-family:var(--font-sans);letter-spacing:0}h1,h2,h3{color:var(--color-text);font-family:var(--font-display);text-wrap:balance;font-weight:500;line-height:1.16}h1{font-size:var(--step-4);letter-spacing:-.045em}h2{font-size:var(--step-3);letter-spacing:-.035em}h3{font-size:var(--step-2);letter-spacing:-.025em}.ui-label,.meta{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.08em;line-height:1.5}[data-content-locale]{display:none}html[data-locale=ja] [data-content-locale=ja],html[data-locale=ko] [data-content-locale=ko]{display:block}.markdown-content{color:var(--color-text-soft);font-size:var(--step-1);line-height:1.9}.markdown-content>*+*{margin-top:var(--space-5)}.markdown-content :is(h2,h3,h4){scroll-margin-top:calc(var(--header-height) + var(--space-5))}.markdown-content :is(h2,h3,h4)+*{margin-top:var(--space-4)}.markdown-content h2{margin-top:var(--space-8);font-size:var(--step-3)}.markdown-content h3{margin-top:var(--space-7)}.markdown-content :is(ul,ol){padding-left:1.35em}.markdown-content li+li{margin-top:var(--space-2)}.markdown-content blockquote{padding:var(--space-3) var(--space-5);border-left:2px solid var(--color-moon);color:var(--color-muted)}.markdown-content :not(pre)>code{border:1px solid var(--color-line);border-radius:var(--radius-sm);font-family:var(--font-code);font-variant-ligatures:none;background:#82aeff17;padding:.1em .35em;font-size:.86em}.markdown-content pre{padding:var(--space-5);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:#020811d1;overflow-x:auto}.markdown-content pre code{font-family:var(--font-code);font-size:var(--step--1);font-variant-ligatures:none}.markdown-content img{border:1px solid var(--color-line);border-radius:var(--radius-md);width:100%;height:auto}.markdown-content .youtube-embed{width:100%}.youtube-embed__frame{aspect-ratio:16/9;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:#020811d1;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff12}.youtube-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.markdown-content table{border-collapse:collapse;width:100%;font-size:var(--step-0);display:block;overflow-x:auto}.markdown-content :is(th,td){min-width:8rem;padding:var(--space-3);border:1px solid var(--color-line-strong);text-align:left;vertical-align:top}.markdown-content th{color:var(--color-text);background:#82aeff14}.markdown-content hr{border:0;border-top:1px solid var(--color-line-strong)}@font-face{font-family:Astral Days Nocturne;src:url(/fonts/AstralDaysNocturne-Regular.otf)format("opentype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}html{background:var(--color-canvas-deep);min-width:20rem}body{min-height:100vh;color:var(--color-text-soft);background:radial-gradient(circle at 78% 7%, #22466e33, transparent 27rem), linear-gradient(180deg, var(--color-canvas) 0%, var(--color-canvas-deep) 100%)}::selection{color:var(--color-canvas-deep);background:var(--color-dawn-soft)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:.3rem;border-radius:var(--radius-sm)}a{text-underline-offset:.24em;text-decoration-thickness:.08em}.container{width:min(100% - (var(--gutter) * 2), var(--container));margin-inline:auto}.content-container{width:min(100% - (var(--gutter) * 2), var(--content));margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;top:var(--space-3);left:var(--space-3);padding:var(--space-2) var(--space-4);color:var(--color-canvas-deep);background:var(--color-focus);position:fixed;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.page-transition{z-index:999;opacity:0;pointer-events:none;background:#02081000;transition:opacity .32s,background-color .42s;position:fixed;inset:0;overflow:hidden}.page-transition:before{content:"";opacity:0;background:linear-gradient(115deg,#0000 37%,#82aeff12 48%,#f6b17d0f 52%,#0000 63%),#020810d6;transition:opacity .34s,transform .46s cubic-bezier(.32,0,.45,1);position:absolute;inset:0;transform:translate(-12%)}.page-transition__ray{opacity:0;filter:blur(1px);background:linear-gradient(90deg,#0000,#c6e0ff5c,#0000);width:70%;height:145%;transition:opacity .22s,transform .45s cubic-bezier(.4,0,.45,1);position:absolute;top:-18%;left:-32%;transform:skew(-18deg)translate(0)}.page-transition__ray--fine{background:linear-gradient(90deg,#0000,#ffbe8e52,#0000);width:45%;transition-delay:18ms;left:-43%}body.is-page-leaving .page-transition{opacity:1;background:#0208107a}body.is-page-leaving .page-transition:before{opacity:1;transform:translate(0)}body.is-page-leaving .page-transition__ray{opacity:.76;transform:skew(-18deg)translate(210%)}body.is-page-leaving .page-transition__ray--fine{opacity:.58;transform:skew(-18deg)translate(310%)}.placeholder-page{min-height:calc(100vh - var(--header-height));padding-block:clamp(6rem,14vw,11rem)}.placeholder-page p{max-width:42rem;margin-top:var(--space-5);color:var(--color-muted)}body.is-page-reveal-ready [data-scroll-reveal].page-copy-reveal,body.is-page-reveal-ready [data-scroll-reveal-prose] .page-copy-reveal{opacity:.1;transition:opacity .72s ease var(--page-reveal-delay,0s), transform .78s cubic-bezier(.22, .72, .24, 1) var(--page-reveal-delay,0s);transform:translateY(.9rem)}body.is-page-reveal-ready [data-scroll-reveal].page-copy-reveal.is-page-copy-visible,body.is-page-reveal-ready [data-scroll-reveal-prose] .page-copy-reveal.is-page-copy-visible{opacity:1;transform:translate(0,0)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
