:root{color-scheme:dark;--bg:#101216;--fg:#d6d8dc;--fg-title:#e8dcc6;--fg-muted:#8f939a;--accent:#8aa2ff;--accent-soft:#8aa2ff38;--line:#262a31;--code-bg:#171a20;--font:"Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", "Noto Sans CJK KR", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", sans-serif;--font-title:"Noto Serif KR", "Nanum Myeongjo", "AppleMyungjo", "Batang", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--measure:40em;--gutter:16px;--step--2:.8125rem;--step--1:.9375rem;--step-0:1.125rem;--step-1:1.3125rem;--step-2:1.5rem;--step-3:clamp(1.75rem, 1.2rem + 2vw, 2.5rem);--leading:1.7;--leading-tight:1.25;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.5rem;--space-6:4rem;--header-h:56px;--ease:cubic-bezier(.2, 0, 0, 1);--jewel-a:#8aa2ff;--jewel-b:#6fe0c8;--jewel-c:#c1a8ff;--jewel-gloss:#fffffff2;--jewel-soft:#8aa2ff42}:root[data-theme=light]{color-scheme:light;--bg:#f6f2ea;--fg:#2a2c31;--fg-title:#1f2228;--fg-muted:#65666a;--accent:#2b55d6;--accent-soft:#2b55d624;--line:#e2dccf;--code-bg:#ede7db;--jewel-a:#2b55d6;--jewel-b:#2fb5a0;--jewel-c:#7a5af5;--jewel-gloss:#ffffffd9;--jewel-soft:#2b55d629}@media (width<=480px){:root{--step-0:1.0625rem;--header-h:48px}}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-h) + 1.5rem);-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--line) transparent}body{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--step-0);line-height:var(--leading);font-feature-settings:"tnum" 1;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--jewel-soft);color:var(--accent)}.theme-toggle{appearance:none;color:var(--fg-muted);width:24px;height:24px;margin-left:var(--space-1);cursor:pointer;transition:color .15s var(--ease), box-shadow .3s var(--ease);background:0 0;border:0;border-radius:50%;place-items:center;padding:4px;display:inline-grid}.theme-toggle svg{width:16px;height:16px;transition:opacity .25s var(--ease), transform .4s var(--ease);grid-area:1/1}.theme-toggle:hover{color:var(--accent);box-shadow:0 0 0 4px var(--jewel-soft)}.theme-toggle .icon-moon{opacity:0;transform:rotate(-60deg)scale(.7)}:root[data-theme=light] .theme-toggle .icon-sun{opacity:0;transform:rotate(60deg)scale(.7)}:root[data-theme=light] .theme-toggle .icon-moon{opacity:1;transform:none}body{transition:background-color .25s var(--ease), color .25s var(--ease)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}a{color:inherit;text-decoration:underline 1px;text-decoration-color:var(--fg-muted);text-underline-offset:.18em;transition:text-decoration-color .15s var(--ease), text-underline-offset .15s var(--ease), color .15s var(--ease)}a:hover{text-decoration-color:var(--accent);text-underline-offset:.24em;color:var(--accent)}.post-body a{background-image:linear-gradient(90deg, var(--fg-muted), var(--fg-muted));transition:color .15s var(--ease);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;padding-bottom:1px;text-decoration:none}.post-body a:hover{color:var(--accent);background-image:linear-gradient(90deg, var(--jewel-a) 0%, var(--jewel-b) 22%, var(--jewel-gloss) 34%, var(--jewel-c) 48%, var(--jewel-a) 70%, var(--jewel-b) 100%);background-position:0 100%;background-size:320% 2px;animation:2.2s linear infinite shimmer}@keyframes shimmer{0%{background-position:0 100%}to{background-position:320% 100%}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){.post-body a:hover,.post-list li:hover :is(h2,h3) a{animation:none}.theme-toggle,.theme-toggle svg,.post-list-thumb img{transition:none}}.wrap{max-width:var(--measure);padding-inline:var(--gutter);margin-inline:auto}.site-header{height:var(--header-h);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.site-header-bar{z-index:10;background:color-mix(in srgb, var(--bg) 52%, transparent);backdrop-filter:blur(12.6px)saturate(1.5);border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);transition:background-color .25s var(--ease);position:sticky;top:0}@supports not (backdrop-filter:blur(1px)){.site-header-bar{background:var(--bg)}}.site-header a{color:inherit;text-decoration:none}.site-header a:hover{color:var(--accent)}.site-title{font-family:var(--font-title);letter-spacing:0;color:var(--fg-title);font-weight:600}.site-header nav{align-items:center;gap:var(--space-1);font-size:var(--step--2);letter-spacing:.02em;color:var(--fg-muted);display:flex}.site-header nav a{transition:color .15s var(--ease), box-shadow .3s var(--ease);border-radius:999px;padding:.3em .75em;line-height:1.3;display:inline-block}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--accent);box-shadow:0 0 0 4px var(--jewel-soft);outline:none}main{padding-block:clamp(2.5rem, 1.5rem + 3vw, 4.5rem) var(--space-5)}@media (width<=480px){main{padding-block:var(--space-5) var(--space-5)}}.home-heading{margin:0 0 var(--space-5);font-size:var(--step-3);line-height:var(--leading-tight);letter-spacing:-.01em;color:var(--fg-title);font-weight:700;font-family:var(--font-title)}.list-heading{margin:0 0 var(--space-1);font-size:var(--step-3);line-height:var(--leading-tight);letter-spacing:-.01em;color:var(--fg-title);font-weight:700;font-family:var(--font-title)}.list-count{margin:0 0 var(--space-4);color:var(--fg-muted);font-size:var(--step--1)}.post-list{margin:0;padding:0;list-style:none}.post-list li{border-top:1px solid var(--line);padding-block:2rem}.post-list li:first-child{border-top:0;padding-top:0}.post-list time{font-size:var(--step--1);color:var(--fg-muted);font-variant-numeric:tabular-nums;display:block}.post-list h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--step-2);letter-spacing:-.005em;text-wrap:balance;color:var(--fg-title);font-weight:600;line-height:1.4;font-family:var(--font-title)}.post-list :is(h2,h3) a{transition:color .15s var(--ease);background-image:linear-gradient(90deg,#0000,#0000);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;padding-bottom:1px;text-decoration:none}.post-list li:hover h2 a{color:var(--accent);background-image:linear-gradient(90deg, var(--jewel-a) 0%, var(--jewel-b) 22%, var(--jewel-gloss) 34%, var(--jewel-c) 48%, var(--jewel-a) 70%, var(--jewel-b) 100%);background-size:320% 2px;animation:2.2s linear infinite shimmer}.post-list li.has-thumb{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 168px;align-items:start;display:grid}.post-list-thumb{border-radius:4px;margin-top:.35rem;display:block;overflow:hidden}.post-list-thumb img{object-fit:cover;width:168px;height:112px;transition:transform .6s var(--ease), filter .6s var(--ease);display:block}.post-list li:hover .post-list-thumb img{transform:scale(1.05)}:root:not([data-theme=light]) .post-list-thumb img{filter:brightness(.88)}:root:not([data-theme=light]) .post-list li:hover .post-list-thumb img{filter:brightness()}@media (width<=480px){.post-list li.has-thumb{gap:var(--space-3);grid-template-columns:minmax(0,1fr) 96px}.post-list-thumb img{width:96px;height:64px}}.post-list p{color:var(--fg-muted);font-size:var(--step--1);text-wrap:pretty;margin:0;line-height:1.6}.site-footer{gap:var(--space-3);padding-block:var(--space-4) var(--space-5);border-top:1px solid var(--line);color:var(--fg-muted);font-size:var(--step--2);flex-wrap:wrap;display:flex}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}.plain h1{font-size:var(--step-3);line-height:var(--leading-tight);letter-spacing:-.01em;color:var(--fg-title);font-family:var(--font-title);margin:0 0 var(--space-3)}.post-header{margin-bottom:var(--space-4)}.post-meta{margin:0 0 var(--space-2);color:var(--fg-muted);font-size:var(--step--1);gap:var(--space-1) var(--space-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.post-footer{margin-top:var(--space-5);gap:var(--space-3);font-size:var(--step--1);flex-direction:column;display:flex}.post h1{font-size:var(--step-3);letter-spacing:-.01em;color:var(--fg-title);font-weight:700;line-height:1.25;font-family:var(--font-title);text-wrap:balance;margin:0}.post-tags{gap:var(--space-1) var(--space-3);color:var(--fg-muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.post-tags a{text-decoration:none}.post-tags a:before{content:"#";opacity:.6}.post-tags a:hover{text-decoration:underline}.post-cover{margin:var(--space-4) 0 0}.post-cover img{border-radius:4px;width:100%;height:auto;display:block}.post-cover figcaption{font-size:var(--step--2);color:var(--fg-muted);text-align:center;margin-top:.6em}:root:not([data-theme=light]) :is(.post-cover img,.post-body img){filter:brightness(.88)}.post-body{font-size:calc(var(--step-0) * .95);line-height:var(--leading)}.post-body>:first-child{margin-top:0}.post-body p{text-wrap:pretty;margin:0 0 1.4em}.post-body h2,.post-body h3,.post-body h4{letter-spacing:-.005em;color:var(--fg-title);font-weight:600;line-height:1.35;font-family:var(--font-title);margin:2.2em 0 .7em}.post-body h2{font-size:var(--step-2)}.post-body h3{font-size:var(--step-1)}.post-body h4{font-size:var(--step-0)}.post-body ul,.post-body ol{margin:0 0 1.4em;padding-left:1.4em}.post-body li{margin-bottom:.4em}.post-body li>p{margin-bottom:.6em}.post-body blockquote{border-left:1px solid var(--fg-muted);color:var(--fg-muted);margin:1.6em 0;padding-left:1.2em}.post-body blockquote p:last-child{margin-bottom:0}.post-body hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.post-body img,.post-body video{border-radius:4px;max-width:100%;height:auto;margin:1.8em auto;display:block}.post-body figure{margin:1.8em 0}.post-body figure img,.post-body figure video{margin:0}.post-body figcaption{font-size:var(--step--2);color:var(--fg-muted);text-align:center;margin-top:.6em}.post-body iframe{aspect-ratio:16/9;background:var(--code-bg);border:0;border-radius:4px;width:100%;height:auto;margin:1.8em 0;display:block}.post-body code{font-family:var(--font-mono);background:var(--code-bg);border-radius:3px;padding:.1em .35em;font-size:.875em}.post-body pre{background:var(--code-bg);padding:var(--space-3);font-size:var(--step--1);border-radius:4px;margin:0 0 1.4em;line-height:1.55;overflow-x:auto}.post-body pre code{font-size:inherit;background:0 0;padding:0}.post-body table{border-collapse:collapse;width:100%;font-size:var(--step--1);margin:0 0 1.4em;display:block;overflow-x:auto}.post-body th,.post-body td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.5em .75em}.post-body th,.post-body strong{font-weight:600}.post-body sup{line-height:0}.post-body a{text-decoration-color:var(--fg-muted)}.post-pair{margin:0}.post-body sup a{color:var(--accent);background:0 0;padding:0 .15em;font-size:.8em}.post-body .footnotes{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line);font-size:var(--step--1);color:var(--fg-muted)}.post-body .footnotes h2{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.post-body .footnotes ol{padding-left:1.4em}.post-body .footnotes li{margin-bottom:.6em}.post-body .footnotes p{margin:0;display:inline}.post-body .footnotes a[data-footnote-backref]{background:0 0;margin-left:.3em}.post-body :target:not(h2,h3,h4){background:var(--jewel-soft);transition:background .6s var(--ease)}.post-pair a{text-decoration:none}.post-pair a:hover{text-decoration:underline}.related{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line)}.related>h2{margin:0 0 var(--space-3);font-size:var(--step-0);font-weight:600;font-family:var(--font-title);color:var(--fg-title)}.related-list li{padding-block:1.1rem}.related-list h3{margin:var(--space-1) 0 0;font-family:var(--font-title);font-size:var(--step-1);color:var(--fg-title);text-wrap:balance;font-weight:600;line-height:1.4}.related-list li.has-thumb{grid-template-columns:minmax(0,1fr) 120px}.related-list .post-list-thumb{margin-top:.15rem}.related-list .post-list-thumb img{width:120px;height:80px}@media (width<=480px){.related-list li.has-thumb{grid-template-columns:minmax(0,1fr) 84px}.related-list .post-list-thumb img{width:84px;height:56px}}.comments{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line)}.comments h2{margin:0 0 var(--space-3);font-size:var(--step-0);letter-spacing:-.01em;font-weight:600}#remark42{min-height:6rem;font-size:var(--step--1);color:var(--fg-muted)}.post-rail{display:none}@media (width>=1240px){.post-rail{gap:var(--space-4);top:calc(var(--header-h) + 3.5rem);bottom:var(--space-5);width:13rem;font-size:var(--step--2);z-index:5;flex-direction:column;line-height:1.45;display:flex;position:fixed;left:calc(50% - 38rem)}}.post-toc{gap:var(--space-3);flex-direction:column;min-height:0;display:flex}.post-toc a{color:var(--fg-muted);transition:color .15s var(--ease);text-decoration:none}.post-toc a:hover{color:var(--accent)}.toc-title{font-family:var(--font-title);font-weight:600;font-size:var(--step--1);line-height:1.35;color:var(--fg-title)!important}.toc-list{flex-direction:column;min-height:0;display:flex;position:relative}.post-toc ol{background:linear-gradient(var(--line), var(--line)) 4px 0 / 1px 100% no-repeat;scrollbar-width:none;margin:0 0 0 -4px;padding:0 0 0 4px;list-style:none;overflow-y:auto}.post-toc li{margin:0}.post-toc li a{padding:.3em 0 .3em .9em;display:block;position:relative}.post-toc li.toc-d3 a{padding-left:1.8em}.post-toc a.is-current{color:var(--fg-title)}.toc-dot{background:var(--fg-title);opacity:0;width:6px;height:6px;transition:transform .32s var(--ease), opacity .2s var(--ease);pointer-events:none;border-radius:50%;position:absolute;top:0;left:-2.5px}.toc-dot.is-on{opacity:1}.rail-comments{color:var(--fg-muted);font-variant-numeric:tabular-nums;align-items:center;gap:.45em;margin-top:auto;text-decoration:none;display:inline-flex}.rail-comments svg{width:16px;height:16px}.rail-comments:hover{color:var(--accent)}.rail-count:not(:empty):before{content:"· "}.post-body{position:relative}.sidenote{width:13rem;font-size:var(--step--2);color:var(--fg-muted);line-height:1.55;position:absolute;left:calc(100% + 2rem)}.sidenote p{margin:0 0 .4em}.sidenote-num{color:var(--accent);font-variant-numeric:tabular-nums;margin-right:.4em}.post-body.has-sidenotes .footnotes{display:none}.bubble{z-index:50;background:var(--code-bg);width:max-content;max-width:min(20rem,100vw - 16px);color:var(--fg);border:1px solid var(--line);font-size:var(--step--1);word-break:keep-all;border-radius:4px;padding:.65rem .8rem;line-height:1.55;position:absolute}.bubble[hidden]{display:none}.bubble.is-following{pointer-events:none}.bubble p{margin:0 0 .4em;display:inline}.bubble-post{flex-direction:column;gap:.25em;width:min(20rem,100vw - 16px);display:flex}.bubble-img{aspect-ratio:16/9;object-fit:cover;border-radius:4px 4px 0 0;width:calc(100% + 1.6rem);max-width:none;margin:-.65rem -.8rem .45rem;display:block}:root:not([data-theme=light]) .bubble-img{filter:brightness(.9)}.bubble-post strong{font-family:var(--font-title);color:var(--fg-title);font-weight:600;font-size:var(--step-0);line-height:1.35}.bubble-date,.bubble-host{color:var(--fg-muted);font-size:var(--step--2);font-variant-numeric:tabular-nums}.bubble-sum{color:var(--fg-muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.bubble-host{padding:.35rem .6rem}.post-body :is(h2#참고,h2#참고-문헌,h2#references,h2#sources)+:is(ul,ol){font-family:var(--font-title);font-size:var(--step--1);color:var(--fg-muted);line-height:1.5}.post-body :is(h2#참고,h2#참고-문헌,h2#references,h2#sources)+:is(ul,ol) li{margin-bottom:.35em}@media (prefers-reduced-motion:reduce){.post-toc a,.toc-dot{transition:none}}.sub-block{margin-top:var(--space-5)}.sub-block h2{margin:0 0 var(--space-2)}.sub-form{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.sub-form input[type=email]{min-width:0;font:inherit;font-size:var(--step--1);color:var(--fg);background:var(--code-bg);border:1px solid var(--line);border-radius:999px;flex:14rem;padding:.65em 1.1em}.sub-form input[type=email]:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--jewel-soft);outline:none}.sub-form button,.post-body a.sub-button{font:inherit;font-size:var(--step--1);color:var(--bg);background:var(--fg-title);cursor:pointer;transition:box-shadow .3s var(--ease);background-image:none;border:0;border-radius:999px;padding:.65em 1.4em;text-decoration:none;display:inline-block}.sub-form button:hover,.post-body a.sub-button:hover{box-shadow:0 0 0 4px var(--jewel-soft);color:var(--bg)}.sub-trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.sub-hint{font-size:var(--step--2);color:var(--fg-muted);line-height:1.6}
