@font-face{font-family:Pretendard Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/pretendard-rest.DmxGAu9S.woff2)format("woff2");unicode-range:U+A0-FF,U+2010-206F,U+2190-21FF,U+2460-24FF,U+25A0-26FF,U+3000-303F,U+3131-318E,U+AC00-D7A3,U+FF01-FF5E}@font-face{font-family:Pretendard Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/pretendard-site.C6rMF9ZX.woff2)format("woff2");unicode-range:U+20-7E,U+A9,U+B7,U+2013-2014,U+2018-2019,U+201C-201D,U+2026,U+2192,U+2197,U+300C-300D,U+AC00-AC01,U+AC04,U+AC10,U+AC12,U+AC14,U+AC19,U+AC1C-AC1D,U+AC70,U+AC74,U+AC78,U+AC80,U+AC83,U+AC8C,U+ACA0,U+ACA8-ACAA,U+ACB0,U+ACBC-ACBD,U+ACC4,U+ACE0,U+ACE4,U+ACE8,U+ACF3,U+ACF5,U+ACFC,U+AD00,U+AD1C,U+AD50,U+AD6C-AD6D,U+AD70,U+AD73,U+AD81,U+AD8C,U+ADDC,U+ADF8,U+ADFC,U+AE00,U+AE08-AE09,U+AE0B,U+AE30,U+AE34,U+AE38,U+AE41,U+AE4C,U+AE54,U+AEBC,U+AED8,U+AF64,U+AFB8,U+AFC0,U+AFE8,U+B00C,U+B04A,U+B054,U+B05D,U+B07C,U+B098,U+B09C,U+B0A0,U+B0A8-B0A9,U+B0AC,U+B0B4,U+B0B8,U+B0BC,U+B108,U+B110,U+B113,U+B118,U+B123-B124,U+B144,U+B150,U+B155,U+B178,U+B193,U+B204,U+B20C,U+B220,U+B234,U+B274,U+B290-B291,U+B294,U+B298,U+B2A5-B2A6,U+B2C8,U+B2CC,U+B2E4,U+B2E8,U+B2EC,U+B2F4-B2F5,U+B2F9,U+B300,U+B354-B355,U+B358,U+B35C,U+B370-B371,U+B378,U+B3C4-B3C5,U+B3C8,U+B3CC,U+B3D9,U+B3FC,U+B410,U+B418,U+B41C,U+B420,U+B429,U+B450,U+B454,U+B465,U+B46C,U+B4A4,U+B4C8,U+B4DC-B4DD,U+B4E0,U+B4E3-B4E4,U+B4ED,U+B4F1,U+B514,U+B529-B52A,U+B530-B531,U+B54C,U+B5A0,U+B5A4,U+B5BB,U+B610-B611,U+B6F0,U+B728,U+B72F-B730,U+B73B,U+B744,U+B77C,U+B780,U+B78C,U+B790,U+B798,U+B79C,U+B7AB,U+B7C9,U+B7EC,U+B7F0,U+B7FC-B7FD,U+B800,U+B807-B808,U+B80C,U+B824-B825,U+B835,U+B838,U+B840,U+B85C-B85D,U+B860,U+B86C,U+B8CC,U+B8E8-B8E9,U+B8EC,U+B8F9,U+B904,U+B958,U+B960,U+B974,U+B978,U+B97C,U+B984,U+B9AC-B9AD,U+B9B0,U+B9B4,U+B9BC-B9BD,U+B9C1,U+B9C8-B9C9,U+B9CC,U+B9CE,U+B9D0,U+B9DE,U+B9E1,U+B9E4,U+B9F5,U+BA38-BA39,U+BA3C,U+BA40,U+BA48,U+BA54,U+BA70,U+BA74,U+BA85,U+BA87,U+BAA8-BAA9,U+BAB0,U+BABB,U+BB34,U+BB36,U+BB38,U+BB3B-BB3C,U+BB58,U+BBA4,U+BBF8,U+BBFC,U+BC00,U+BC0B,U+BC14,U+BC16,U+BC18,U+BC1B-BC1C,U+BC29,U+BC30-BC31,U+BC84,U+BC88,U+BC94-BC95,U+BCA0,U+BCBD,U+BCC0,U+BCC4,U+BCF4-BCF5,U+BCF8,U+BCFC,U+BD07,U+BD10,U+BD24,U+BD80,U+BD84,U+BD88,U+BD99,U+BDF0,U+BE0C,U+BE14,U+BE44,U+BE4C,U+BE60,U+BE68,U+BE7C,U+C0AC,U+C0B0,U+C0B4,U+C0C1,U+C0C8-C0C9,U+C0DD,U+C11C-C11D,U+C120,U+C124,U+C12F,U+C131,U+C138,U+C14B,U+C158,U+C178,U+C18C-C18D,U+C190,U+C194,U+C218-C219,U+C21C,U+C220,U+C228,U+C26C,U+C27D,U+C2A4,U+C2B5,U+C2B9,U+C2DC-C2DD,U+C2E0,U+C2E4,U+C2EC-C2ED,U+C2F6,U+C313,U+C368,U+C4F0,U+C4F4,U+C4F8,U+C501,U+C529,U+C52C,U+C544,U+C548,U+C54A,U+C54C,U+C558-C559,U+C55E,U+C560,U+C571,U+C57C-C57D,U+C598,U+C5B4,U+C5B8,U+C5BC,U+C5C5-C5C8,U+C5D0,U+C5D4,U+C5EC-C5ED,U+C5F0,U+C5F4,U+C600-C601,U+C606,U+C608,U+C624,U+C628,U+C62E,U+C635,U+C640,U+C644,U+C654,U+C65C,U+C678,U+C694,U+C6A9,U+C6B0,U+C6B4,U+C6B8,U+C6C0,U+C6C3,U+C6CC,U+C6D0,U+C6D4,U+C6F9,U+C704,U+C720,U+C73C,U+C740,U+C744,U+C74C,U+C751,U+C758,U+C774-C775,U+C778,U+C77C-C77D,U+C783-C785,U+C787-C788,U+C790-C791,U+C798,U+C7A1,U+C7A5,U+C7AC-C7AD,U+C800-C801,U+C804,U+C808,U+C810-C811,U+C815,U+C81C-C81D,U+C820,U+C838,U+C84C,U+C870-C871,U+C874,U+C885,U+C88B,U+C8FC,U+C900,U+C904,U+C90D,U+C911,U+C990,U+C99D,U+C9C0-C9C1,U+C9C4,U+C9C8,U+C9D1,U+C9DC,U+C9E0,U+C9E4,U+CABD,U+CC28-CC29,U+CC2E,U+CC30,U+CC38,U+CC3E,U+CC44,U+CC59,U+CC98,U+CC9C,U+CCAB,U+CCAD,U+CCB4,U+CCD0,U+CD08,U+CD1D,U+CD5C,U+CD94,U+CD9C,U+CDA9,U+CDE8,U+CE20,U+CE58-CE59,U+CE5C,U+CE60,U+CE74,U+CEA0-CEA1,U+CEE4,U+CEEC,U+CF1C,U+CF54,U+CF58,U+CFE0,U+D050,U+D06C,U+D070,U+D07C,U+D0A4,U+D0AC,U+D0B5,U+D0C0,U+D0C8,U+D0D0-D0D1,U+D0DC-D0DD,U+D130,U+D134,U+D14C,U+D150,U+D15C,U+D1A0,U+D1A4,U+D1B5,U+D1F4,U+D22C,U+D2B8-D2B9,U+D2BC,U+D2C0,U+D2F0,U+D300,U+D30C,U+D310,U+D328-D329,U+D398-D399,U+D3B4,U+D3B8,U+D3EC,U+D3F0,U+D3F4,U+D3FC,U+D45C,U+D478,U+D480,U+D488,U+D504,U+D508,U+D50C,U+D53C,U+D540,U+D544,U+D558,U+D55C,U+D560,U+D568-D569,U+D56D,U+D574-D575,U+D588-D589,U+D5A5,U+D5D8,U+D600,U+D604,U+D614-D615,U+D63C,U+D654-D655,U+D658,U+D669,U+D68C-D68D,U+D6C4-D6C5,U+D6E8,U+D750,U+D769,U+D788,U+D78C,U+FEFF}:root{color-scheme:light;--bg:#fdfdfc;--fg:#21201c;--soft:#55554f;--faint:#8f8f88;--line:#e8e8e3;--wash:#f3f3f0;--shadow:0 1px 0 #0000000a, 0 12px 32px -8px #00000038, 0 0 0 1px #0000000f;--sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#111110;--fg:#eeeeec;--soft:#b5b4ae;--faint:#7d7c76;--line:#2a2a28;--wash:#1c1c1a;--shadow:0 0 0 1px #ffffff14, 0 16px 40px -10px #000000b3}}:root[data-theme=dark]{color-scheme:dark;--bg:#111110;--fg:#eeeeec;--soft:#b5b4ae;--faint:#7d7c76;--line:#2a2a28;--wash:#1c1c1a;--shadow:0 0 0 1px #ffffff14, 0 16px 40px -10px #000000b3}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:var(--faint) var(--bg)}body{background:var(--bg);color:var(--fg);font-family:var(--sans);letter-spacing:-.01em;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.7}h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0;padding:0}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}[hidden]{display:none!important}::selection{background:var(--fg);color:var(--bg)}:focus-visible{outline:2px solid var(--fg);outline-offset:3px;border-radius:4px}.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:50;background:var(--fg);color:var(--bg);border-radius:6px;padding:8px 12px;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.page{width:min(640px,100% - 48px);margin:0 auto;padding:120px 0 96px}.masthead{justify-content:space-between;align-items:center;gap:16px;display:flex}.masthead a.name{font-weight:600}.masthead p{display:none}.masthead nav{color:var(--soft);align-items:center;gap:4px;font-size:15px;display:flex}.masthead nav a{border-radius:8px;padding:6px 10px}.masthead nav a:hover,.masthead nav a[aria-current]{color:var(--fg);background:var(--wash)}.theme{width:32px;height:32px;color:var(--soft);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;margin-left:4px;display:inline-grid}.theme:hover{color:var(--fg);background:var(--wash)}.theme svg{width:15px;height:15px}.back{color:var(--soft)}.back:hover{color:var(--fg)}section{margin-top:112px}section>h2{color:var(--faint);margin-bottom:18px;font-size:14px;font-weight:500}section>p{color:var(--soft)}section>p+p{margin-top:14px}.lede{color:var(--fg);letter-spacing:-.015em;margin-top:64px;font-size:18px;line-height:1.7}.lede+.lede{color:var(--soft);margin-top:12px;font-size:16px}.items{gap:4px;display:grid}.items a,.items .item{border-radius:10px;margin:0 -14px;padding:12px 14px;display:block}.items .item{padding-block:8px}.items a{transition:background-color .15s}.items a:hover{background:var(--wash)}.items b{align-items:baseline;gap:8px;font-weight:600;display:flex}.items b small{color:var(--faint);font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}.items a b:after{content:"→";color:var(--faint);margin-left:auto;font-weight:400;transition:transform .2s,color .15s}.items a[href^=http] b:after,.items a[href^=mailto] b:after{content:"↗"}.items a:hover b:after{color:var(--fg);transform:translate(3px)}.items span{color:var(--soft);margin-top:2px;font-size:15px;display:block}.rows{border-top:1px solid var(--line)}.rows a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:24px;padding:13px 0;display:flex}.rows time{color:var(--faint);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.rows a{padding-inline:4px;transition:background-color .15s}.rows a:hover{background:var(--wash)}.rows a span{font-weight:500}.peek{z-index:10;aspect-ratio:16/10;pointer-events:none;opacity:0;width:320px;transform:translate3d(var(--x,0), var(--y,0), 0) scale(.94);box-shadow:var(--shadow);background:var(--line);border-radius:10px;transition:opacity .2s,transform .2s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;left:0;overflow:hidden}.peek.on{opacity:1;transform:translate3d(var(--x,0), var(--y,0), 0) scale(1)}.peek img{object-fit:cover;object-position:top;width:100%;height:100%}@media (hover:none),(width<=900px){.peek{display:none}}.inline a,.prose a,.note a{text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px}.inline a:hover,.prose a:hover,.note a:hover{text-decoration-color:var(--fg)}.title{margin-top:64px}.title h1{font-size:15px;font-weight:500}.title p{color:var(--soft)}.facts{grid-template-columns:5.5em 1fr;gap:6px 16px;margin-top:40px;font-size:14px;display:grid}.facts dt{color:var(--faint)}.facts dd{color:var(--soft)}.shot{box-shadow:var(--shadow);background:var(--line);border-radius:10px;margin-top:48px;overflow:hidden}.shot img{width:100%}.caption{color:var(--faint);margin-top:12px;font-size:13px}.points{gap:22px;display:grid}.points h3{font-size:15px;font-weight:500}.points p{color:var(--soft)}.did{color:var(--soft);gap:2px;margin-top:10px;display:grid}.did li:before{content:"–  ";color:var(--faint)}.pager{justify-content:space-between;gap:24px;margin-top:128px;display:flex}.pager a{display:grid}.pager a:last-child{text-align:right}.pager small{color:var(--faint);font-size:13px}.pager a:hover b{color:var(--soft)}.pager b{font-weight:500}.meta{color:var(--faint);font-size:14px}.prose{color:var(--soft);margin-top:64px}.prose>*+*{margin-top:1.15em}.prose h2{color:var(--fg);margin-top:3em;font-size:15px;font-weight:500}.prose h3{color:var(--fg);margin-top:2em;font-size:15px;font-weight:500}.prose h2+*,.prose h3+*{margin-top:.6em}.prose strong{color:var(--fg);font-weight:500}.prose ul,.prose ol{padding-left:1.2em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li{margin-top:.3em}.prose blockquote{border-left:2px solid var(--line);padding-left:16px}.prose hr{border:0;border-top:1px solid var(--line)}.prose :not(pre)>code{background:var(--wash);font-family:var(--mono);color:var(--fg);border-radius:4px;padding:.1em .35em;font-size:.9em}.prose pre{background:var(--wash);font-family:var(--mono);color:var(--fg);border-radius:8px;padding:16px 18px;font-size:13px;line-height:1.7;overflow-x:auto}.tags{color:var(--faint);flex-wrap:wrap;gap:4px 12px;margin-top:10px;font-size:14px;display:flex}.tags a:hover{color:var(--fg)}.prose .fig{border:1px solid var(--line);color:var(--fg);border-radius:10px;margin-top:2em;margin-bottom:2em;padding:24px 20px;font-size:14px;line-height:1.5}.fig figcaption{text-align:center;color:var(--faint);margin-top:18px;font-size:13px}.mock{background:var(--wash);border-radius:10px;max-width:320px;margin:0 auto;padding:18px}.mock-title{font-weight:600;display:block}.mock-sub{color:var(--faint);margin-top:2px;font-size:12px;display:block}.mock-form{gap:8px;margin-top:14px;display:flex}.mock-input{border:1px solid var(--line);background:var(--bg);color:var(--soft);border-radius:6px;flex:1;padding:7px 10px}.mock-btn{background:var(--fg);color:var(--bg);border-radius:6px;padding:7px 14px}.mock-ok{color:var(--soft);margin-top:12px;font-size:13px;display:block}.prose .marks{gap:8px;max-width:320px;margin:18px auto 0;padding:0;font-size:13px;list-style:none;display:grid}.prose .marks li+li{margin-top:0}.marks li{color:var(--soft);grid-template-columns:4.5em 1fr;gap:10px;display:grid}.marks .k{color:var(--fg);font-weight:500}.marks .k.dim{color:var(--faint)}.chain{text-align:center;justify-items:center;display:grid}.node{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:8px 14px}.node small{color:var(--faint);font-size:12px;display:block}.node.new{border-style:dashed}.node.rule{background:var(--wash)}.wire{background:var(--faint);opacity:.5;width:1px;height:18px}.deps{grid-template-columns:repeat(4,1fr);gap:8px;width:100%;display:grid;position:relative}.deps:before{content:"";background:var(--faint);opacity:.5;height:1px;position:absolute;top:0;left:12.5%;right:12.5%}.dep{border:1px solid var(--line);border-radius:8px;margin-top:18px;padding:8px 4px;font-size:13px;position:relative}.dep:before{content:"";background:var(--faint);opacity:.5;width:1px;height:18px;position:absolute;top:-19px;left:50%}.dep small{color:var(--faint);margin-top:2px;display:block}.footer{color:var(--faint);justify-content:space-between;gap:16px;margin-top:128px;font-size:13px;display:flex}.footer a:hover{color:var(--fg)}@media (width<=520px){.page{padding-top:64px}section,.pager,.footer{margin-top:96px}.masthead{gap:8px}.masthead nav a{padding:6px 7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{.masthead nav,.theme,.peek,.footer{display:none}body{color:#000;background:#fff}}
