@font-face{font-family:Pretendard Variable;src:url(/fonts/PretendardVariable.subset.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-subtle:#fafafa;--text:#191919;--text-strong:#0a0a0a;--muted:#6f6f6f;--line:#e6e6e6;--line-strong:#d4d4d4;--accent:#c2410c;--accent-vivid:#ff6a00;--measure:44rem;--gutter:clamp(20px, 5vw, 40px);--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Consolas, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0d0d;--bg-subtle:#171717;--text:#e8e8e8;--text-strong:#fafafa;--muted:#9a9a9a;--line:#262626;--line-strong:#363636;--accent:#ff7a33;--accent-vivid:#ff7a33}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0d0d;--bg-subtle:#171717;--text:#e8e8e8;--text-strong:#fafafa;--muted:#9a9a9a;--line:#262626;--line-strong:#363636;--accent:#ff7a33;--accent-vivid:#ff7a33}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);letter-spacing:-.003em;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;margin:0;font-size:16.5px;font-weight:400;line-height:1.78}h1,h2,h3,h4,h5,h6,p,dl,dd,figure,blockquote,pre{margin:0}ul,ol{margin:0;padding:0}img,svg{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}hr{border:0;border-top:1px solid var(--line);height:0;margin:0}table{border-collapse:collapse}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:color-mix(in srgb, var(--accent-vivid) 22%, transparent);color:var(--text-strong)}.column{width:min(var(--measure), 100%);padding-inline:var(--gutter);margin-inline:auto}.rule{margin-block:clamp(36px,5vw,52px)}.site-head{z-index:10;border-bottom:1px solid var(--line);background:var(--bg);padding-block:18px;position:sticky;top:0}.doc [id]{scroll-margin-top:6rem}.site-head .column{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.wordmark{color:var(--text-strong);letter-spacing:-.012em;font-size:15px;font-weight:650}.site-nav{gap:12px;font-size:14px;display:flex}.site-nav a{color:var(--muted);padding:8px 4px}.site-nav a:hover{color:var(--text);transition:color .12s}.site-nav a[aria-current=page]{color:var(--accent);font-weight:600}.head-actions{align-items:center;gap:18px;display:flex}.theme-toggle{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{border-color:var(--line-strong);color:var(--text);transition:border-color .12s,color .12s}.theme-toggle-icon{width:15px;height:15px}.theme-toggle-face{display:inline-flex}.theme-toggle-face--dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle-face--light{display:none}:root:not([data-theme=light]) .theme-toggle-face--dark{display:inline-flex}}:root[data-theme=dark] .theme-toggle-face--light{display:none}:root[data-theme=dark] .theme-toggle-face--dark,:root[data-theme=light] .theme-toggle-face--light{display:inline-flex}:root[data-theme=light] .theme-toggle-face--dark{display:none}.site-foot{border-top:1px solid var(--line);padding-block:34px 56px}.theme-reset{color:var(--muted);font:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 40%, transparent);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-self:start;margin-top:6px;padding:0;display:none}:root[data-theme] .theme-reset{display:inline-block}.theme-reset:hover{color:var(--text)}.site-foot .column{color:var(--muted);gap:4px;font-size:13.5px;display:grid}.foot-links{flex-wrap:wrap;gap:4px 20px;margin-bottom:10px;font-size:14px;list-style:none;display:flex}.foot-links a,.doc-links a,.doc-meta a{padding-block:5px}.doc{padding-block:clamp(48px,7vw,84px) clamp(56px,8vw,96px)}.doc-title{color:var(--text-strong);letter-spacing:-.022em;text-wrap:balance;font-size:clamp(30px,4.2vw,40px);font-weight:700;line-height:1.28}.doc-meta{gap:6px;margin-top:22px;font-size:13.5px;line-height:1.6;display:grid}.doc-meta>div{grid-template-columns:4.5rem minmax(0,1fr);gap:14px;display:grid}.doc-meta dt{color:var(--muted)}.doc-lede{letter-spacing:-.008em;margin-top:30px;font-size:18.5px;line-height:1.7}.doc-section{margin-top:clamp(40px,5vw,56px)}.doc-section>h2,.proof-group>h2{color:var(--text-strong);letter-spacing:-.014em;margin-bottom:18px;font-size:23px;font-weight:650;line-height:1.35}.doc-links{flex-wrap:wrap;gap:8px 24px;font-size:15px;list-style:none;display:flex}.doc-contents{margin-top:20px}.callout{border-left:2px solid var(--accent-vivid);background:var(--bg-subtle);margin-top:24px;padding:14px 16px;font-size:14.5px;line-height:1.68}.inline-link,.doc-links a,.foot-links a,.prose a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .12s}.inline-link:hover,.doc-links a:hover,.foot-links a:hover,.prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.external-link{align-items:center;gap:.32em;display:inline-flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.external-link-icon{flex:none;width:.9em;height:.9em}.link-list{list-style:none}.link-list>li+li{border-top:1px solid var(--line)}.link-list a{padding-block:14px;display:block}.link-title{color:var(--accent);font-size:16px;font-weight:600;display:block}.link-list a:hover .link-title{text-underline-offset:3px;text-decoration:underline}.link-desc{color:var(--muted);margin-top:4px;font-size:14.5px;line-height:1.6;display:block}.career-summary{list-style:none}.career-summary>li{border-top:1px solid var(--line);padding-block:18px}.career-summary>li:first-child{border-top:0;padding-top:0}.career-summary-title{color:var(--text-strong);letter-spacing:-.01em;font-size:18px;font-weight:650;line-height:1.4}.career-summary-title a:hover{color:var(--accent);transition:color .12s}.career-summary-meta{color:var(--muted);flex-wrap:wrap;gap:0 8px;margin-top:5px;font-size:13.5px;line-height:1.6;display:flex}.career-summary-description{margin-top:8px;font-size:15px;line-height:1.65}.career-summary-more{margin-top:14px;font-size:14px}.entry{border-top:1px solid var(--line);padding-block:clamp(34px,4.5vw,46px)}.entry:first-child{border-top:0;padding-top:0}.entry-title{color:var(--text-strong);letter-spacing:-.016em;font-size:22px;font-weight:650;line-height:1.35}.entry-meta{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:0 8px;margin-top:8px;font-size:13.5px;display:flex}.entry-meta .sep{color:var(--muted)}.entry-summary{margin-top:14px}.entry-tech{color:var(--muted);margin-top:10px;font-size:13.5px}.entry-related{margin-top:clamp(30px,4vw,42px)}.entry-related>h3{color:var(--text-strong);letter-spacing:-.01em;margin-bottom:8px;font-size:18px;font-weight:650}.proof-group{margin-top:clamp(40px,5vw,56px)}.proof-group:first-of-type{margin-top:0}.index-list{list-style:none}.index-list .entry{border-top:0;padding-block:0}.index-list>li+li .entry{border-top:1px solid var(--line)}.entry-link{cursor:pointer;border-radius:4px;margin-inline:-14px;padding:clamp(30px,4vw,40px) 14px;transition:background-color .12s;display:block}.proof-group>h2{margin-bottom:6px}.proof-group .index-list>li:first-child .entry-link{padding-top:12px}:is(.entry-link:hover,.entry-link:focus-visible){background:var(--bg-subtle)}:is(.entry-link:hover .entry-title,.entry-link:focus-visible .entry-title){color:var(--accent);transition:color .12s}.entry-action{width:max-content;color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-underline-offset:3px;margin-top:16px;margin-left:auto;font-size:13.5px;font-weight:600;line-height:1.5;display:block}.entry-link:hover .entry-action{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.breadcrumb{color:var(--muted);margin-bottom:18px;font-size:13.5px}.breadcrumb a:hover{color:var(--accent)}.pager{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:14px;margin-top:clamp(44px,6vw,64px);padding-top:26px;display:grid}.pager-link{border:1px solid var(--line);border-radius:4px;gap:3px;padding:14px 16px;transition:border-color .12s;display:grid}.pager-link:hover{border-color:var(--line-strong)}.pager-next{text-align:right}.pager-label{color:var(--muted);font-size:12.5px}.pager-title{color:var(--text-strong);font-size:14.5px;font-weight:600;line-height:1.45}.prose{margin-top:clamp(30px,4vw,42px)}.prose>:first-child{margin-top:0}.prose p{margin:1.15em 0}.prose h2{color:var(--text-strong);letter-spacing:-.014em;margin:3.2em 0 .6em;font-size:23px;font-weight:650;line-height:1.35}.prose h3{color:var(--text-strong);letter-spacing:-.01em;margin:2.2em 0 .5em;font-size:18px;font-weight:650}.prose ul,.prose ol{margin:1.15em 0;padding-left:1.15em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li{margin:.42em 0;padding-left:.15em}.prose li::marker{color:var(--muted)}.prose strong{color:var(--text-strong);font-weight:650}.prose code{border:1px solid var(--line);background:var(--bg-subtle);font-family:var(--font-mono);border-radius:3px;padding:2px 5px;font-size:.855em}.prose pre{border:1px solid var(--line);background:var(--bg-subtle);font-family:var(--font-mono);border-radius:4px;margin:1.5em 0;padding:16px 18px;font-size:14px;line-height:1.65;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;border:0;padding:0}.prose figure{margin:1.7em 0}.prose img{border:1px solid var(--line);background:var(--bg-subtle);border-radius:4px;margin:1.7em auto}.prose figure img{margin-block:0}.prose .diagram{border:1px solid var(--line);border-radius:4px;margin:1.7em 0;padding:10px;display:block}.prose figcaption{color:var(--muted);text-align:center;margin-top:9px;font-size:13.5px;line-height:1.6}.prose blockquote{border-left:2px solid var(--accent-vivid);color:var(--muted);margin:1.5em 0;padding:2px 0 2px 18px}.prose hr{margin:2.4em 0}.prose table{width:100%;margin:1.6em 0;font-size:15px}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 12px}.prose th{background:var(--bg-subtle);font-weight:650}@media (max-width:680px){body{font-size:16px;line-height:1.75}.site-head{padding-block:20px}.site-nav{gap:8px;font-size:13.5px}.head-actions{gap:14px}.doc-meta>div{grid-template-columns:3.9rem minmax(0,1fr);gap:10px}.doc-lede{font-size:17px}.entry-title{font-size:20px}.prose h2,.doc-section>h2,.proof-group>h2{font-size:21px}.pager{grid-template-columns:1fr}.pager-next{text-align:left}}@media print{.site-head,.site-foot,.doc-contents,.pager,.entry-action{display:none}body{color:#000;background:#fff;font-size:10.5pt;line-height:1.55}.doc{padding-block:0}.column{width:auto;padding-inline:0}.entry,.proof-group,.prose figure,.prose .diagram{break-inside:avoid}.doc-title,.prose h2,.doc-section>h2,.proof-group>h2{break-after:avoid}.prose a[href^=http]:after,.doc-meta a[href^=http]:after{content:" (" attr(href) ")";font-size:.85em;font-weight:400}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}
