@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}html{scroll-behavior:smooth;block-size:100%;font-family:var(--font-sans), sans-serif;font-size:16px;font-weight:var(--weight-medium);line-height:var(--leading-relaxed);color:var(--color-fg);background-color:var(--color-bg);text-size-adjust:100%;-webkit-font-smoothing:antialiased}body{min-block-size:100dvh;font-size:var(--text-base)}a{color:var(--color-link);text-decoration:none}a:not([class]){text-decoration-skip-ink:auto;text-decoration:underline}a:visited{color:var(--color-link-visited)}img,picture{max-width:100%;height:auto;display:block}input,button,textarea,select,table{font:inherit}}@layer tokens{:root{color-scheme:light dark;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--focus-ring-width:2px;--focus-ring-offset:2px;--duration-instant:0s;--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--duration-spin:.9s;--duration-pulse:1.6s;--duration-view-transition:var(--duration-normal);--duration-view-transition-shared:var(--duration-slow);--delay-tooltip-open:.4s;--delay-tooltip-close:.15s;--easing-linear:cubic-bezier(0, 0, 1, 1);--easing-in:cubic-bezier(.4, 0, 1, 1);--easing-out:cubic-bezier(0, 0, .2, 1);--easing-in-out:cubic-bezier(.4, 0, .2, 1);--easing-standard:cubic-bezier(.2, 0, 0, 1);--easing-view-transition:var(--easing-standard);--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-full:9999px;--radius-card:var(--radius-lg);--radius-skeleton:var(--radius-md);--size-touch-min:2.75rem;--size-icon-xs:.75rem;--size-icon-sm:1rem;--size-icon-md:1.25rem;--size-icon-lg:1.5rem;--space-0:0;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-10:2.5rem;--space-16:4rem;--space-base:var(--space-4);--font-sans:"Pretendard Variable", Pretendard, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple SD Gothic Neo", sans-serif;--font-display:"Pretendard Variable", Pretendard, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple SD Gothic Neo", sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-sm:.875rem;--text-base:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-h1:1.476rem;--text-h2:1.383rem;--text-h3:1.296rem;--text-small:.878rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tight:-.025em;--z-base:0;--z-sticky:1100;--opacity-chart-area:.24;--gap:var(--space-3);--page-padding:var(--space-6);--color-neutral-50:light-dark(oklch(98.48% .0013 106.42),oklch(21.61% .0035 85));--color-neutral-100:light-dark(oklch(96.99% .0013 106.42),oklch(26.85% .004 85));--color-neutral-200:light-dark(oklch(92.32% .0026 48.72),oklch(37.41% .0055 85));--color-neutral-300:light-dark(oklch(86.87% .0043 56.37),oklch(44.44% .0065 85));--color-neutral-400:light-dark(oklch(71.61% .0091 56.26),oklch(55.34% .0116 58.07));--color-neutral-500:light-dark(oklch(55.34% .0116 58.07),oklch(71.61% .0091 56.26));--color-neutral-600:light-dark(oklch(44.44% .0096 73.64),oklch(86.87% .0043 56.37));--color-neutral-700:light-dark(oklch(37.41% .0087 67.56),oklch(92.32% .0026 48.72));--color-neutral-800:light-dark(oklch(26.85% .0063 34.3),oklch(96.99% .0013 106.42));--color-neutral-900:light-dark(oklch(21.61% .0061 56.04),oklch(98.48% .0013 106.42));--color-bg:light-dark(oklch(99.5% 0 0),oklch(21.61% .0035 85));--color-bg-subtle:light-dark(oklch(96.99% .0013 106.42),oklch(26.85% .004 85));--color-bg-muted:light-dark(oklch(92.32% .0026 48.72),oklch(37.41% .0055 85));--color-skeleton-base:light-dark(oklch(92.32% .0026 48.72),oklch(37.41% .0055 85));--color-skeleton-highlight:light-dark(oklch(96.99% .0013 106.42),oklch(44.44% .0065 85));--color-chart-1:light-dark(oklch(55% .155 250),oklch(66% .184 250));--color-chart-2:light-dark(oklch(67% .18 45),oklch(74% .16 48));--color-chart-3:light-dark(oklch(65% .13 235),oklch(75% .12 235));--color-chart-4:light-dark(oklch(65% .21 12),oklch(73% .18 12));--color-chart-5:light-dark(oklch(58% .2 295),oklch(70% .16 295));--color-chart-6:light-dark(oklch(55% .151 150),oklch(66% .156 150));--color-chart-grid:light-dark(oklch(92.32% .0026 48.72),oklch(44.44% .0065 85));--color-chart-axis:light-dark(oklch(37.41% .0087 67.56),oklch(92.32% .0026 48.72));--color-chart-reference:light-dark(oklch(26.85% .0063 34.3),oklch(96.99% .0013 106.42));--color-fg:light-dark(oklch(26.85% .0063 34.3),oklch(85% .0013 106.42));--color-fg-muted:light-dark(oklch(45.5% .012 56),oklch(76% .01 56));--color-link:light-dark(oklch(36% .012 56),oklch(80% .01 56));--color-link-visited:light-dark(oklch(45.5% .012 56),oklch(76% .01 56));--color-surface:light-dark(oklch(100% 0 0),oklch(26.85% .004 85));--color-primary:light-dark(oklch(44.44% .0096 73.64),oklch(71.61% .0091 56.26));--color-accent:light-dark(oklch(55.34% .1739 38.4),oklch(75.76% .159 55.93));--color-border:light-dark(oklch(92.32% .0026 48.72),oklch(37.41% .0055 85));--color-ring:light-dark(oklch(44.44% .0096 73.64),oklch(71.61% .0091 56.26));--color-success:light-dark(oklch(52.73% .1371 150.07),oklch(80.03% .1821 151.71));--color-warning:light-dark(oklch(55.53% .1455 49),oklch(83.69% .1644 84.43));--color-danger:light-dark(oklch(51.43% .1978 16.93),oklch(71.92% .169 13.43));--color-info:light-dark(oklch(50% .1193 242.75),oklch(75.35% .139 232.66));--color-orange:light-dark(oklch(67% .18 45),oklch(74% .16 48));--color-orange-soft:light-dark(oklch(94% .05 55),oklch(32% .06 45));--color-orange-fg:light-dark(oklch(52% .155 45),oklch(84% .11 55));--color-sky:light-dark(oklch(65% .13 235),oklch(75% .12 235));--color-sky-soft:light-dark(oklch(94% .04 230),oklch(30% .05 235));--color-sky-fg:light-dark(oklch(50% .13 240),oklch(82% .1 230));--color-violet:light-dark(oklch(58% .2 295),oklch(70% .16 295));--color-violet-soft:light-dark(oklch(94% .04 295),oklch(31% .06 295));--color-violet-fg:light-dark(oklch(50% .19 295),oklch(83% .09 295));--color-rose:light-dark(oklch(65% .21 12),oklch(73% .18 12));--color-rose-soft:light-dark(oklch(94% .04 12),oklch(31% .07 12));--color-rose-fg:light-dark(oklch(53% .2 12),oklch(83% .1 12));--color-card:light-dark(oklch(100% 0 0),oklch(26.85% .004 85));--color-link-hover:light-dark(oklch(27% .012 56),oklch(91% .008 56));--color-code-bg:light-dark(oklch(96.99% .0013 106.42),oklch(26.85% .004 85));--color-code-border:light-dark(oklch(92.32% .0026 48.72),oklch(37.41% .0055 85));--color-syntax-fg:light-dark(oklch(26.85% .0063 34.3),oklch(85% .0013 106.42));--color-syntax-comment:light-dark(oklch(53% .012 56),oklch(71% .012 56));--color-syntax-keyword:light-dark(oklch(50% .17 345),oklch(78% .12 345));--color-syntax-operator:light-dark(oklch(44.44% .0096 73.64),oklch(71.61% .0091 56.26));--color-syntax-string:light-dark(oklch(50% .12 150),oklch(80% .13 150));--color-syntax-constant:light-dark(oklch(52% .14 45),oklch(80% .12 55));--color-syntax-function:light-dark(oklch(49% .15 290),oklch(78% .11 290));--color-syntax-type:light-dark(oklch(50% .1 75),oklch(84% .12 85));--color-syntax-variable:light-dark(oklch(26.85% .0063 34.3),oklch(85% .0013 106.42));--color-syntax-property:light-dark(oklch(50% .11 240),oklch(79% .1 235));--color-syntax-tag:light-dark(oklch(51% .16 25),oklch(76% .13 25));--color-syntax-selector:light-dark(oklch(51% .16 25),oklch(76% .13 25));--color-syntax-inserted:light-dark(oklch(50% .13 145),oklch(80% .15 148));--color-syntax-deleted:light-dark(oklch(51% .18 18),oklch(74% .15 15))}}@layer preferences{@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:root{--duration-instant:0s;--duration-fast:0s;--duration-normal:0s;--duration-slow:0s;--duration-view-transition:0s;--duration-view-transition-shared:0s}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}}@layer components;@layer utilities{:where(.ds-icon){inline-size:var(--ds-icon-size,var(--size-icon-sm));block-size:var(--ds-icon-size,var(--size-icon-sm));vertical-align:-.125em;color:inherit;stroke:currentColor;stroke-width:var(--ds-icon-stroke-width,2);flex:none}:where(.ds-icon--text){--ds-icon-size:1em}:where(.ds-icon--xs){--ds-icon-size:var(--size-icon-xs)}:where(.ds-icon--sm){--ds-icon-size:var(--size-icon-sm)}:where(.ds-icon--md){--ds-icon-size:var(--size-icon-md)}:where(.ds-icon--lg){--ds-icon-size:var(--size-icon-lg)}:where(.ds-icon--stroke-subtle){--ds-icon-stroke-width:1.5}:where(.ds-icon--stroke-regular){--ds-icon-stroke-width:2}:where(.ds-icon--stroke-bold){--ds-icon-stroke-width:2.5}:where([dir=rtl] .ds-icon--directional,.ds-icon--directional[dir=rtl]){scale:-1 1}}@layer app{:root{--grid-columns:12;--grid-max:980px;--grid-column:calc((var(--grid-max) - var(--gap) * (var(--grid-columns) - 1)) / var(--grid-columns));--content-width:calc(var(--grid-column) * 8 + var(--gap) * (8 - 1));--vt-duration:.24s;--vt-duration-slow:.28s;--vt-ease:cubic-bezier(.25, .1, .25, 1);--vt-ease-out:cubic-bezier(0, 0, .15, 1);--vt-ease-spring:cubic-bezier(.34, 1.32, .64, 1)}@media (prefers-reduced-motion:reduce){:root{--vt-duration:0s;--vt-duration-slow:0s}}@media (prefers-contrast:more){html{font-weight:var(--weight-bold)}}:focus-visible{outline:var(--focus-ring-width) solid var(--color-ring);outline-offset:var(--focus-ring-offset)}:root::selection{background-color:color-mix(in oklch, var(--color-primary) 30%, transparent)}.has-neutral-50-color{color:var(--color-neutral-50)}.has-neutral-50-background-color{background-color:var(--color-neutral-50)}.has-neutral-100-color{color:var(--color-neutral-100)}.has-neutral-100-background-color{background-color:var(--color-neutral-100)}.has-neutral-200-color{color:var(--color-neutral-200)}.has-neutral-200-background-color{background-color:var(--color-neutral-200)}.has-neutral-300-color{color:var(--color-neutral-300)}.has-neutral-300-background-color{background-color:var(--color-neutral-300)}.has-neutral-400-color{color:var(--color-neutral-400)}.has-neutral-400-background-color{background-color:var(--color-neutral-400)}.has-neutral-500-color{color:var(--color-neutral-500)}.has-neutral-500-background-color{background-color:var(--color-neutral-500)}.has-neutral-600-color{color:var(--color-neutral-600)}.has-neutral-600-background-color{background-color:var(--color-neutral-600)}.has-neutral-700-color{color:var(--color-neutral-700)}.has-neutral-700-background-color{background-color:var(--color-neutral-700)}.has-neutral-800-color{color:var(--color-neutral-800)}.has-neutral-800-background-color{background-color:var(--color-neutral-800)}.has-neutral-900-color{color:var(--color-neutral-900)}.has-neutral-900-background-color{background-color:var(--color-neutral-900)}.has-primary-color{color:var(--color-primary)}.has-primary-background-color{background-color:var(--color-primary)}.has-success-color{color:var(--color-success)}.has-success-background-color{background-color:var(--color-success)}.has-warning-color{color:var(--color-warning)}.has-warning-background-color{background-color:var(--color-warning)}.has-error-color{color:var(--color-danger)}.has-error-background-color{background-color:var(--color-danger)}.has-info-color{color:var(--color-info)}.has-info-background-color{background-color:var(--color-info)}.has-text-color{color:var(--color-fg)}.has-text-background-color{background-color:var(--color-fg)}.has-text-muted-color{color:var(--color-fg-muted)}.has-text-muted-background-color{background-color:var(--color-fg-muted)}.has-bg-color{color:var(--color-bg)}.has-bg-background-color{background-color:var(--color-bg)}.has-surface-color{color:var(--color-surface)}.has-surface-background-color{background-color:var(--color-surface)}.has-card-color{color:var(--color-card)}.has-card-background-color{background-color:var(--color-card)}.has-border-color{color:var(--color-border)}.has-border-background-color{background-color:var(--color-border)}.has-accent-color{color:var(--color-accent)}.has-accent-background-color{background-color:var(--color-accent)}.has-link-color{color:var(--color-link)}.has-link-background-color{background-color:var(--color-link)}.has-link-hover-color{color:var(--color-link-hover)}.has-link-hover-background-color{background-color:var(--color-link-hover)}.has-code-bg-color{color:var(--color-code-bg)}.has-code-bg-background-color{background-color:var(--color-code-bg)}.has-code-border-color{color:var(--color-code-border)}.has-code-border-background-color{background-color:var(--color-code-border)}}html{scrollbar-gutter:stable both-edges}html[data-color-scheme=dark]{color-scheme:dark}html[data-color-scheme=light]{color-scheme:light}tt,code,kbd,samp{font-family:var(--font-mono), monospace}hr{width:100px;margin-block:calc(var(--gap) * 6);border-color:var(--color-border);border-style:solid;border-width:thin 0 0}@media (width<980px){hr{margin-left:auto;margin-right:auto}}input:not([type=checkbox],[type=radio]),textarea,select{max-width:100%}.screen-reader-text{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.screen-reader-text:focus{z-index:calc(var(--z-sticky) + 10);top:var(--space-base);left:var(--space-base);width:auto;height:auto;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-link);clip-path:none;margin:0;text-decoration:underline;position:fixed;overflow:visible}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--vt-duration);animation-timing-function:var(--vt-ease)}@keyframes image-in{0%{opacity:0}}@keyframes image-out{to{opacity:0}}::view-transition-group(image-){animation-duration:var(--vt-duration-slow);animation-timing-function:var(--vt-ease-out)}::view-transition-image-pair(image-){isolation:isolate}::view-transition-old(image-),::view-transition-new(image-){object-fit:cover;object-position:center;mix-blend-mode:plus-lighter;width:100%;height:100%}::view-transition-old(image-){animation:image-out var(--vt-duration-slow) var(--vt-ease-out) both}::view-transition-new(image-){animation:image-in var(--vt-duration-slow) var(--vt-ease-out) both}@keyframes title-in{0%{opacity:0}}@keyframes title-out{to{opacity:0}}::view-transition-old(title-){animation:title-out var(--vt-duration) var(--vt-ease) both}::view-transition-new(title-){animation:title-in var(--vt-duration) var(--vt-ease) both}@keyframes meta-in{0%{opacity:0;transform:translateY(8px)}}@keyframes meta-out{to{opacity:0}}::view-transition-old(meta-),::view-transition-old(footer-){animation:meta-out calc(var(--vt-duration) * .6) var(--vt-ease) both}::view-transition-new(meta-){animation:meta-in var(--vt-duration) var(--vt-ease-out) .12s both}::view-transition-new(footer-){animation:meta-in var(--vt-duration) var(--vt-ease-out) .24s both}@keyframes back-in{0%{opacity:0;transform:translate(-16px)}}@keyframes back-out{to{opacity:0;transform:translate(-16px)}}::view-transition-old(back-button){animation:back-out calc(var(--vt-duration) * .7) var(--vt-ease) both}::view-transition-new(back-button){animation:back-in var(--vt-duration) var(--vt-ease-spring) both}@keyframes toc-in{0%{opacity:0;transform:translate(16px)}}@keyframes toc-out{to{opacity:0;transform:translate(16px)}}::view-transition-old(toc-nav){animation:toc-out calc(var(--vt-duration) * .7) var(--vt-ease) both}::view-transition-new(toc-nav){animation:toc-in var(--vt-duration) var(--vt-ease-spring) both}@media (prefers-reduced-motion:reduce){::view-transition-old(*),::view-transition-new(*){animation-duration:.01ms!important;animation-delay:0s!important}}.site-main{margin-block-start:calc(var(--space-base) * 4)}@media (width>=980px){.site{grid-template-columns:1fr var(--content-width);gap:var(--gap);max-width:var(--grid-max);margin:0 auto;display:grid}.site-main{grid-row:span 2}.site .footer,.site:has(.widget-area) .widget-area{grid-row-start:3;grid-column-start:2}.site:has(.widget-area) .footer{grid-row-start:4;grid-column-start:2}}.header{anchor-name:--header;gap:var(--gap);flex-direction:column;margin-block-start:calc(var(--space-base) * 4);display:flex;container-name:header}.header-title{flex:none}.header-title h1{font:inherit;margin:0}.header-title a{color:var(--color-fg);font-size:calc(var(--text-h1) * 2);letter-spacing:-1px;text-decoration-color:var(--color-accent);text-box-trim:trim-both;text-box-edge:cap alphabetic;margin-block-end:var(--space-base);font-weight:900;line-height:1;display:inline-flex}@media (width>=980px){.header{top:calc(var(--space-base) * 4);z-index:var(--z-sticky);position:sticky}}@media (width<980px){.header{margin-inline:var(--page-padding)}}.footer{text-box-trim:trim-both;text-box-edge:cap alphabetic;justify-content:flex-start;align-items:center;gap:var(--gap);padding-block:calc(var(--space-base) * 4);line-height:1;display:flex;container-name:footer}.footer .color-scheme-toggle{position:relative}.footer .color-scheme-toggle:after{inline-size:100%;min-inline-size:var(--size-touch-min);block-size:100%;min-block-size:var(--size-touch-min);content:"";position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%}.footer .color-scheme-toggle{align-items:center;gap:calc(var(--gap) / 2);color:var(--color-fg-muted);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.footer .color-scheme-toggle svg{display:none}.footer .color-scheme-toggle[data-color-scheme=system] [data-color-scheme-icon=system],.footer .color-scheme-toggle[data-color-scheme=light] [data-color-scheme-icon=light],.footer .color-scheme-toggle[data-color-scheme=dark] [data-color-scheme-icon=dark]{display:block}.footer .color-scheme-toggle [data-color-scheme-label]{display:none}@media (width<980px){.footer{margin-inline:var(--page-padding)}}.site-navigation{gap:var(--gap);flex:1;display:flex;container-name:main-navigation}.site-navigation>ul,.site-navigation .sub-menu{gap:var(--gap);display:flex}.widget-area{box-sizing:border-box;max-width:min(var(--content-width), 100%);padding:0;container-name:sidebar}@media (width<980px){.widget-area{max-width:min(var(--content-width), 100% - var(--page-padding) * 2);margin-inline:var(--page-padding)}}.widget-area:not(:first-child,h2,h3){margin-block-start:var(--space-base)}.promo-banner{z-index:calc(var(--z-sticky) + 1);justify-content:center;align-items:center;gap:var(--gap);min-block-size:var(--promo-banner-height);padding-inline:var(--page-padding);background-color:var(--color-surface);border-block-end:1px solid var(--color-border);display:flex;position:sticky;inset-block-start:0}.promo-banner__text{color:var(--color-fg-muted);font-size:var(--text-small);line-height:var(--leading-tight);text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;margin:0;overflow:hidden}.promo-banner__cta{align-items:center;gap:calc(var(--space-base) * .25);padding:calc(var(--space-base) * .25) calc(var(--space-base) * .75);border-radius:var(--radius-sm);background-color:var(--color-accent);color:var(--color-bg);font-size:var(--text-small);font-weight:var(--weight-medium);line-height:var(--leading-tight);white-space:nowrap;flex:none;text-decoration:none;display:inline-flex}.promo-banner__cta:hover,.promo-banner__cta:focus-visible{color:var(--color-bg);opacity:.85}.promo-banner__close{position:relative}.promo-banner__close:after{inline-size:100%;min-inline-size:var(--size-touch-min);block-size:100%;min-block-size:var(--size-touch-min);content:"";position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%}.promo-banner__close{padding:calc(var(--space-base) * .25);border-radius:var(--radius-sm);color:var(--color-fg-muted);cursor:pointer;transition:color var(--duration-fast) var(--easing-standard);background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.promo-banner__close:hover,.promo-banner__close:focus-visible{color:var(--color-fg)}@media (width>=783px){.admin-bar .promo-banner{inset-block-start:32px}}@media (width<980px){.promo-banner{gap:calc(var(--gap) * .5);padding-inline:var(--page-padding)}}[data-promo-banner=dismissed] .promo-banner{display:none}body:has(.promo-banner){--promo-banner-height:3rem}@media (width>=980px){body:has(.promo-banner) .header{top:calc(var(--space-base) * 4 + var(--promo-banner-height))}}
