:root{--font-sans-kr:"Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono-kr:"D2Coding", "Cascadia Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--color-bg:#faf9f6;--color-text:var(--color-text-primary);--color-text-primary:#212121;--color-text-secondary:#6e6e73;--color-text-tertiary:#8e8e93;--color-accent:#ff5e3a;--color-hover-bg:#0000000a;--color-border:#0000000f;--color-border-strong:#00000014;--color-code-bg:#f5f4f1;--color-concept-bg:#f0f9ff;--color-concept-border:#0ea5e94d;--color-concept-text:#0369a1;--content-max-width:700px;--content-px:1.5rem;--post-max-width:calc(var(--content-max-width) - 2 * var(--content-px));--post-layout-max-width:var(--content-max-width);--article-toc-width:168px;--article-toc-gap:48px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-20:80px;--space-30:120px;--space-32:128px;--text-xs:12px;--text-sm:13px;--text-md:15px;--text-base:17px;--text-lg:18px;--text-xl:24px;--text-2xl:32px;--radius-md:6px;--radius-full:9999px;--transition-color:color .15s ease;--transition-bg:background-color .15s ease}@media (width<=480px){:root{--content-px:1rem}}.dark{--color-bg:#111110;--color-text:var(--color-text-primary);--color-text-primary:#e8e8e6;--color-text-secondary:#e8e8e6a6;--color-text-tertiary:#e8e8e673;--color-accent:#ff7a5c;--color-hover-bg:#ffffff0f;--color-border:#ffffff0f;--color-border-strong:#ffffff1a;--color-code-bg:#1a1917;--color-concept-bg:#0ea5e91a;--color-concept-border:#0ea5e940;--color-concept-text:#7dd3fc}*,:before,:after{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans-kr);font-size:var(--text-base);letter-spacing:0;word-break:keep-all;-webkit-font-smoothing:antialiased}body{background:var(--color-bg);min-height:100vh;margin:0;transition:background-color .2s,color .2s}a{color:inherit;text-decoration:none}code,pre,kbd,samp{font-family:var(--font-mono-kr)}.astro-code span{color:var(--shiki-light,inherit)}.dark .astro-code{background:var(--color-code-bg)}.dark .astro-code span{color:var(--shiki-dark,var(--shiki-light,inherit))}.prose{margin-top:var(--space-14);color:var(--color-text-primary);font-size:var(--text-base);line-height:1.8}.prose *{margin:0}.prose *+*{margin-top:var(--space-5)}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--color-text-primary);font-weight:600;line-height:1.5}.prose h1,.prose h2{font-size:var(--text-xl)}.prose h2{margin-top:var(--space-12)}.prose h3{margin-top:var(--space-10);font-size:var(--text-lg)}.prose h4,.prose h5,.prose h6{margin-top:var(--space-8,32px);font-size:var(--text-base)}.prose ul,.prose ol{padding-left:1.25rem}.prose ol{font-variant-numeric:tabular-nums}.prose li+li{margin-top:6px}.prose blockquote{padding-left:var(--space-4);color:var(--color-text-primary);border-left:2px solid}.prose blockquote.post-callout{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-code-bg);color:var(--color-text-primary);font-size:var(--text-md);padding:12px 14px 12px 44px;line-height:1.7;position:relative}.prose blockquote.post-callout:before{content:attr(data-callout-icon);line-height:1;position:absolute;top:13px;left:14px}.prose blockquote.post-alert{border-radius:var(--radius-md);font-size:var(--text-md);border:0;border-left:3px solid;padding:12px 14px;line-height:1.7}.prose blockquote.post-alert:before{font-size:var(--text-xs);letter-spacing:.06em;margin-bottom:4px;font-weight:600;display:block}.prose blockquote.post-alert--note{background:#eff6ff;border-color:#3b82f6}.prose blockquote.post-alert--note:before{content:"NOTE";color:#2563eb}.prose blockquote.post-alert--tip{background:#f0fdf4;border-color:#22c55e}.prose blockquote.post-alert--tip:before{content:"TIP";color:#16a34a}.prose blockquote.post-alert--important{background:#faf5ff;border-color:#a855f7}.prose blockquote.post-alert--important:before{content:"IMPORTANT";color:#9333ea}.prose blockquote.post-alert--warning{background:#fffbeb;border-color:#f59e0b}.prose blockquote.post-alert--warning:before{content:"WARNING";color:#d97706}.prose blockquote.post-alert--caution{background:#fff1f2;border-color:#ef4444}.prose blockquote.post-alert--caution:before{content:"CAUTION";color:#dc2626}.prose a{color:var(--color-accent);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--color-accent) 35%, transparent);text-underline-offset:2px}.prose a:hover,.prose a:focus-visible{text-decoration-color:var(--color-accent)}.prose pre{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-code-bg);padding:14px var(--space-4);color:var(--color-text-primary);font-size:13.5px;line-height:1.7;overflow-x:auto}.prose pre.astro-code{background:var(--color-code-bg)}.prose code{font-size:.92em}.prose :not(pre)>code{border:1px solid var(--color-border);background:var(--color-code-bg);color:var(--color-text-primary);border-radius:8px;padding:.2em .5em}.prose hr{background:var(--color-border-strong);border:0;height:1px}.prose table{border:1px solid var(--color-border-strong);border-spacing:0;border-collapse:separate;border-radius:var(--radius-md);width:max-content;max-width:100%;font-size:var(--text-md);display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);text-align:left;vertical-align:top;white-space:nowrap;padding:8px 14px}.prose th{background:var(--color-code-bg);color:var(--color-text-primary);font-weight:500}.prose tr:last-child td{border-bottom:0}.prose tbody tr:nth-child(2n){background:var(--color-code-bg)}.prose img{border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:100%;height:auto}.dark .prose tbody tr:nth-child(2n){background:#ffffff08}.dark .prose a{color:var(--color-accent);text-decoration-color:color-mix(in srgb, var(--color-accent) 35%, transparent)}.dark .prose a:hover,.dark .prose a:focus-visible{text-decoration-color:var(--color-accent)}.dark .prose blockquote.post-alert--note{background:#0d1d35;border-color:#3b6fc4}.dark .prose blockquote.post-alert--note:before{color:#7aafff}.dark .prose blockquote.post-alert--tip{background:#0d2318;border-color:#2d8a4e}.dark .prose blockquote.post-alert--tip:before{color:#5fd68c}.dark .prose blockquote.post-alert--important{background:#1a0d2e;border-color:#8a50c8}.dark .prose blockquote.post-alert--important:before{color:#c085f5}.dark .prose blockquote.post-alert--warning{background:#271a00;border-color:#c07a10}.dark .prose blockquote.post-alert--warning:before{color:#f0a832}.dark .prose blockquote.post-alert--caution{background:#2a0d0d;border-color:#c43030}.dark .prose blockquote.post-alert--caution:before{color:#f07070}.post__body .contains-task-list{padding-left:0;list-style:none}.post__body .task-list-item{align-items:baseline;gap:var(--space-3);display:flex}.post__body .task-list-item>*{margin-top:0}.post__body .task-list-item input{accent-color:#22a06b;width:1em;height:1em;margin:0;transform:translateY(.12em)}.post__body .task-list-item>code{line-height:1}.prose .mermaid-diagram{color-scheme:light;padding:var(--space-4) 0;text-align:center;display:block;overflow-x:auto}.dark .prose .mermaid-diagram{color-scheme:dark}.prose .mermaid-diagram__svg{border:0;width:auto;max-width:100%}.post__body details{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-code-bg)}.post__body summary{color:var(--color-text-primary);cursor:pointer;font-size:var(--text-md);user-select:none;padding:10px 14px}.post__body details>:not(summary){margin:0;padding:0 14px 14px}.post__body table{width:max-content;max-width:100%;display:block;overflow-x:auto}.wiki-shell[data-astro-cid-gytn7p5m]{background:var(--color-bg);min-height:100vh;color:var(--color-text)}.wiki-header[data-astro-cid-gytn7p5m]{max-width:var(--content-max-width);height:56px;padding:0 var(--content-px);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.wiki-header--article[data-astro-cid-gytn7p5m]{max-width:var(--post-layout-max-width)}.wiki-header--wide[data-astro-cid-gytn7p5m]{max-width:var(--article-layout-max-width)}.wiki-header__right[data-astro-cid-gytn7p5m]{align-items:center;gap:var(--space-2);display:flex}.wiki-header__logo[data-astro-cid-gytn7p5m]{color:var(--color-text-45);font-size:var(--text-lg);letter-spacing:-.025em;transition:var(--transition-color);font-weight:600}.wiki-header__logo[data-astro-cid-gytn7p5m]:hover,.wiki-header__logo[data-astro-cid-gytn7p5m]:focus-visible{color:var(--color-black)}.wiki-header__theme-toggle[data-astro-cid-gytn7p5m]{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-40);cursor:pointer;font-family:var(--font-sans-kr);transition:var(--transition-color), var(--transition-bg);background:0 0;border:0;justify-content:center;align-items:center;font-size:18px;line-height:1;display:inline-flex}.wiki-header__theme-toggle[data-astro-cid-gytn7p5m]:hover,.wiki-header__theme-toggle[data-astro-cid-gytn7p5m]:focus-visible{background:var(--color-hover-bg);color:var(--color-black);outline:none}.wiki-header__theme-icon--sun[data-astro-cid-gytn7p5m],.dark .wiki-header__theme-icon--moon[data-astro-cid-gytn7p5m]{display:none}.dark .wiki-header__theme-icon--sun[data-astro-cid-gytn7p5m]{display:inline}.concept-hovercard{z-index:50;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg);pointer-events:auto;align-items:flex-start;gap:10px;padding:12px 14px;animation:.1s hovercard-in;display:flex;position:absolute;box-shadow:0 4px 20px #00000017,0 1px 4px #0000000d}.dark .concept-hovercard{box-shadow:0 4px 24px #0006,0 1px 6px #0003}.concept-hovercard[hidden]{display:none}@keyframes hovercard-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.concept-hovercard__body{flex-direction:column;gap:4px;min-width:0;display:flex}.concept-hovercard__badge{border:1px solid var(--color-concept-border);background:var(--color-concept-bg);color:var(--color-concept-text);letter-spacing:.04em;user-select:none;border-radius:3px;padding:1px 5px;font-size:11px;font-weight:500;line-height:1.6;display:inline-block}.concept-hovercard__title{color:var(--color-black);font-size:var(--text-md);font-weight:600;line-height:1.4;display:block}.concept-hovercard__desc{color:var(--color-text-55);font-size:var(--text-sm);margin:0;line-height:1.6}
