: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}.site-header nav a.nav-subscribe{color:var(--fg);box-shadow:inset 0 0 0 1px var(--line)}.site-header nav a.nav-subscribe:hover,.site-header nav a.nav-subscribe:focus-visible{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 4px var(--jewel-soft)}.site-title,.site-header nav a{white-space:nowrap}@media (width<=480px){.site-header{gap:var(--space-2)}.site-header nav{gap:0}.site-header nav a{padding-inline:.45em}}@media (width<=400px){.site-header{gap:var(--space-1)}.site-title{font-size:.9rem}.site-header nav a{padding-inline:.28em}.theme-toggle{margin-left:0}}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;align-items:center;display:flex}.post-reading{margin-top:calc(.15rem - var(--space-1));font-size:calc(var(--step--2) * .85);letter-spacing:.01em;flex-basis:100%;order:1;line-height:1.3}.post-subscribe{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line)}.post-subscribe-lead{font-family:var(--font-title);font-size:var(--step-1);color:var(--fg-title);margin:0;line-height:1.4}.post-subscribe .sub-hint{margin:0}.post-subscribe .sub-hint a{color:inherit}.post-subscribe .sub-hint a:hover{color:var(--accent)}.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-dek{font-family:var(--font-title);font-size:var(--step-0);color:var(--fg-muted);text-wrap:pretty;margin:.6em 0 0;line-height:1.55}.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 .table-caption{font-size:calc(var(--step--2) * .92);color:var(--fg-muted);text-align:center;margin:-1.4em 0 2.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:2.2em 0;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}.side-mark{width:1.7rem;color:var(--fg-muted);font:inherit;font-size:var(--step--2);font-variant-numeric:tabular-nums;cursor:pointer;transition:color .15s var(--ease);background:0 0;border:0;border-radius:999px;flex-direction:column;align-items:center;gap:.1rem;padding:.15rem 0 0 .3rem;line-height:1;display:flex;position:absolute;left:100%}.side-mark svg{width:16px;height:16px;transition:box-shadow .15s var(--ease);border-radius:50%;display:block}.side-mark:hover,.side-mark:focus-visible,.side-mark.is-open{color:var(--accent);outline:none}.side-mark:hover svg,.side-mark:focus-visible svg,.side-mark.is-open svg{box-shadow:0 0 0 4px var(--jewel-soft);background:var(--jewel-soft)}.side-mark[hidden]{display:none}.side-mark.is-inline{vertical-align:baseline;flex-direction:row;gap:.25em;width:auto;margin-left:.4em;padding:.1em .3em;display:inline-flex;position:static}.side-mark.is-inline svg{width:14px;height:14px}::highlight(side-quote){background-color:var(--jewel-soft)}.side-select{z-index:55;background:var(--code-bg);color:var(--fg);border:1px solid var(--line);font:inherit;font-size:var(--step--2);cursor:pointer;border-radius:999px;padding:.3rem .7rem;position:absolute}.side-select:hover{color:var(--accent);box-shadow:0 0 0 4px var(--jewel-soft)}.side-select[hidden]{display:none}.side-card{z-index:20;background:var(--code-bg);width:13rem;color:var(--fg);border:1px solid var(--line);font-size:var(--step--2);word-break:keep-all;overflow-wrap:anywhere;border-radius:4px;padding:.7rem .8rem;line-height:1.55;position:absolute;left:calc(100% + 2rem)}.side-card.is-sheet{z-index:60;width:auto;max-height:70vh;padding:1rem 16px calc(1rem + env(safe-area-inset-bottom));font-size:var(--step--1);border-width:1px 0 0;border-radius:12px 12px 0 0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 32px #00000059}.side-card p{margin:0}.side-c+.side-c,.side-c+.side-form{border-top:1px solid var(--line);margin-top:.8rem;padding-top:.8rem}.side-c-head{flex-wrap:wrap;align-items:baseline;gap:.5em;display:flex}.side-c-name{color:var(--fg-title);font-weight:600}.side-c-date{color:var(--fg-muted);font-variant-numeric:tabular-nums}.side-c-body{white-space:pre-wrap;margin-top:.2rem!important}.side-c-meta{color:var(--fg-muted);flex-wrap:wrap;gap:.7em;display:flex;margin-top:.3rem!important}.side-card .side-below,.side-reply{color:var(--fg-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none;animation:none}.side-card .side-below:hover,.side-reply:hover{color:var(--accent);background:0 0}.side-r{border-left:1px solid var(--line);margin:.5rem 0 0 .6rem;padding-left:.6rem}.side-r .side-c-body{color:var(--fg-muted)}.side-r+.side-form,.side-c>.side-form{margin:.6rem 0 0}.side-form{flex-direction:column;gap:.45rem;display:flex}.side-form-title{color:var(--fg-muted)}.side-card .side-quote{border-left:2px solid var(--line);font-family:var(--font-title);color:var(--fg-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;padding-left:.6rem;display:-webkit-box;overflow:hidden}.side-name,.side-text{box-sizing:border-box;background:var(--bg);width:100%;color:var(--fg);border:1px solid var(--line);font:inherit;border-radius:4px;padding:.4rem .5rem}.side-text{resize:vertical;min-height:4.5em}.side-name:focus,.side-text:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--jewel-soft);outline:none}.side-error{color:var(--accent)}.side-error[hidden]{display:none}.side-buttons{gap:.5rem;display:flex}.side-send,.side-close{font:inherit;cursor:pointer;border:1px solid var(--line);color:var(--fg);background:0 0;border-radius:999px;padding:.3rem .8rem}.side-send{background:var(--fg-title);color:var(--bg);border-color:var(--fg-title)}.side-send:hover,.side-close:hover{box-shadow:0 0 0 4px var(--jewel-soft)}.side-send:disabled{opacity:.5;cursor:wait}.fig-diagram{margin:3em 0}.post-body .fig-diagram figcaption{font-size:calc(var(--step--2) * .92);margin-top:1em}.fig-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.fig-diagram svg{width:100%;height:auto;font-family:inherit;display:block}@media (width<=600px){.fig-diagram svg{min-width:600px}.fig-diagram{position:relative}.fig-scroll:not(.is-end){-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.fig-diagram figcaption:after{content:" · 옆으로 밀어 보기"}.fig-diagram:lang(en) figcaption:after{content:" · swipe to see more"}}.fig-diagram text{fill:var(--fg)}.fig-diagram .t-title{fill:var(--fg-title);font-size:16px;font-weight:600;font-family:var(--font-title)}.fig-diagram .t-label{font-size:14px}.fig-diagram .t-big{font-size:16px;font-weight:600}.fig-diagram .t-strong{font-weight:600}.fig-diagram .t-quiet{fill:var(--fg-muted);font-size:12px}.fig-diagram .b{fill:none;stroke:var(--fg-muted);stroke-width:1.25px}.fig-diagram .b-dash{fill:none;stroke:var(--fg-muted);stroke-width:1.25px;stroke-dasharray:4 4}.fig-diagram .b-tint{fill:var(--code-bg);stroke:var(--fg-muted);stroke-width:1.25px}.fig-diagram .b-main{fill:var(--accent);fill-opacity:.12;stroke:var(--accent);stroke-width:2px}.fig-diagram .ln{fill:none;stroke:var(--fg-muted);stroke-width:1.25px}.fig-diagram .ln-faint{fill:none;stroke:var(--line);stroke-width:1.25px}.fig-diagram .ln-accent{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:6 4}.fig-diagram .d-arrow{fill:var(--fg-muted)}.fig-diagram .d-accent{fill:var(--accent)}.fig-diagram .land{fill:var(--code-bg);stroke:none}.fig-diagram .coast{fill:none;stroke:var(--fg-muted);stroke-width:.6px;stroke-linejoin:round}.fig-diagram .ln-red{fill:none;stroke:#e5484d;stroke-width:3px;stroke-linecap:round}.fig-diagram .ln-dash{stroke-dasharray:7 5}.fig-diagram .dot-red{fill:#e5484d}.fig-diagram .t-red{fill:#e5484d;font-size:13px;font-weight:600}.fig-diagram .t-place{letter-spacing:.04em;font-size:13px}.fig-diagram .t-halo{paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round}.bubble{z-index:50;background:var(--code-bg);width:max-content;max-width:min(16rem,100vw - 16px);color:var(--fg);border:1px solid var(--line);font-size:calc(var(--step--1) * .8);word-break:keep-all;border-radius:4px;padding:.52rem .64rem;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(16rem,100vw - 16px);display:flex}.bubble-img{aspect-ratio:16/9;object-fit:cover;border-radius:4px 4px 0 0;width:calc(100% + 1.28rem);max-width:none;margin:-.52rem -.64rem .36rem;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:calc(var(--step-0) * .8);line-height:1.35}.bubble-date,.bubble-host{color:var(--fg-muted);font-size:calc(var(--step--2) * .8);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:.28rem .48rem}.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}.post-print{appearance:none;margin:calc(.3rem - var(--space-1)) 0 0;font:inherit;font-size:calc(var(--step--2) * .85);letter-spacing:.01em;color:var(--fg-muted);cursor:pointer;text-align:left;transition:color .15s var(--ease);background:0 0;border:0;flex-basis:100%;order:2;align-items:center;gap:.4em;padding:0;line-height:1.3;display:flex}.post-print svg{flex:none;width:14px;height:14px}.post-print span{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.2em}.post-print:hover{color:var(--accent)}.post-print:hover span{text-decoration-color:var(--accent)}.post-reading a{color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.2em}.post-reading a:hover{color:var(--accent);text-decoration-color:var(--accent)}.print-url{display:none}.print-dialog{width:min(44rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:var(--space-3) var(--space-3) var(--space-2);border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:6px;overflow:auto;box-shadow:0 12px 40px #00000040}.print-dialog::backdrop{background:#00000073}.print-dialog form{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.print-dialog-title{font-size:var(--step--1);color:var(--fg-muted);margin:0}.print-body{gap:var(--space-3);grid-template-columns:1fr 220px;align-items:start;display:grid}.print-controls{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.print-sample{height:96pt;font-family:var(--font-title);color:var(--fg-title);word-break:keep-all;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.6;display:-webkit-box;overflow:hidden}.print-dialog input[type=range]{width:100%;margin:var(--space-1) 0 0;accent-color:var(--accent)}.print-dialog input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.print-scale{font-size:var(--step--2);color:var(--fg-muted);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.print-scale [data-print-pt]{color:var(--fg)}.print-paper-wrap{width:220px;height:311.143px;box-shadow:0 0 0 1px var(--line), 0 6px 18px #0000002e;background:#fff;border-radius:2px;margin:0;overflow:hidden}.print-sheet{box-sizing:border-box;transform-origin:0 0;background:#fff;width:210mm;height:297mm;padding:20mm 20mm 0;position:relative;transform:scale(.277183)}.print-folio{color:#777;place-items:center;height:22mm;font-family:serif;font-size:10pt;display:grid;position:absolute;bottom:0;left:0;right:0}.print-paper{color:#111;max-height:255mm;font-family:var(--font-title);font-size:var(--ps,15pt);word-break:keep-all;background:#fff;line-height:1.7;position:relative;overflow:hidden}.print-paper p{margin:0 0 1em}.print-paper .pp-meta{font-size:calc(var(--ps,15pt) * .8);color:#555;margin-bottom:2mm}.print-paper .pp-title{font-size:calc(var(--ps,15pt) * 2.27);color:#000;margin-bottom:4mm;font-weight:700;line-height:1.25}.print-paper .pp-dek{font-size:calc(var(--ps,15pt) * 1.07);color:#444;margin-bottom:8mm}.print-paper .pp-h{font-size:calc(var(--ps,15pt) * 1.27);color:#000;margin:6mm 0 3mm;font-weight:600}.print-actions{justify-content:flex-end;gap:var(--space-1);margin-top:var(--space-1);display:flex}.print-actions button{font:inherit;font-size:var(--step--1);cursor:pointer;border:1px solid var(--line);color:var(--fg);transition:box-shadow .3s var(--ease);background:0 0;border-radius:999px;padding:.55em 1.3em}.print-actions .print-go{background:var(--fg-title);color:var(--bg);border-color:var(--fg-title)}.print-actions button:hover{box-shadow:0 0 0 4px var(--jewel-soft)}@media (width<=560px){.print-body{grid-template-columns:1fr}.print-paper-wrap{justify-self:center}}.post-notes{margin:0 0 var(--space-3);flex-direction:column;gap:.35em;display:flex}.post-note{font-size:var(--step--2);color:var(--fg-muted);margin:0;font-style:italic;line-height:1.6}.post-note a{color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.2em}.post-note a:hover{color:var(--accent);text-decoration-color:var(--accent)}@page{size:A4;margin:20mm 20mm 22mm;@bottom-center{content:counter(page) " / " counter(pages);font-family:serif;font-size:10pt;color:#777;vertical-align:middle}}@media print{:root,:root[data-theme=light],:root:not([data-theme=light]){color-scheme:light;--bg:#fff;--fg:#111;--fg-title:#000;--fg-muted:#555;--accent:#2b55d6;--accent-soft:#2b55d624;--line:#bbb;--code-bg:#f1f1f1;--jewel-soft:transparent}:root{--ps:15pt}html,body{color:#111;background:#fff!important}body{font-family:var(--font-title);font-size:var(--ps);word-break:keep-all;line-height:1.7}main.wrap{max-width:none;padding:0}.site-header-bar,.site-footer,.post-rail,.comments,.post-subscribe,.related,.post-tags,.post-pair,.post-print,.print-dialog,.sidenote,.bubble,[class^=side-],[class*=\ side-],.theme-toggle{display:none!important}.post-header{margin-bottom:8mm}.post-meta{font-size:calc(var(--ps) * .8);color:#555}.post-reading{display:none}.post h1{font-size:calc(var(--ps) * 2.27);margin:2mm 0 0;line-height:1.25}.post-dek{font-size:calc(var(--ps) * 1.07);color:#444;margin:4mm 0 6mm;line-height:1.6}.post-cover{break-inside:avoid;margin:0 0 8mm}.post-cover img,.post-body img{width:auto;max-width:100%;max-height:120mm;margin-inline:auto;display:block;filter:none!important}.post-cover figcaption,.post-body figcaption{font-size:calc(var(--ps) * .77);color:#555}.post-body{font-size:var(--ps);line-height:1.7}.post-body p{orphans:3;widows:3}.post-body h2,.post-body h3{break-after:avoid;page-break-after:avoid;font-size:calc(var(--ps) * 1.27);margin-top:9mm}.post-body h3{font-size:calc(var(--ps) * 1.13)}.post-body a{color:inherit;padding:0;text-decoration:none;background:0 0!important}.post-body blockquote{color:#333;border-left:1px solid #999}.post-body figure,.post-body table,.fig-diagram{break-inside:avoid;page-break-inside:avoid}.fig-diagram{-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:7mm 0}.fig-scroll{overflow:visible!important;-webkit-mask:none!important;mask:none!important}.fig-diagram svg{width:100%;min-width:0!important}.fig-diagram figcaption:after{content:none!important}.post-body .footnotes{font-size:calc(var(--ps) * .83);color:#333;break-before:auto}.post-body .footnotes a[data-footnote-backref]{display:none}.post-body sup a{color:inherit}.post-footer{border:0;margin-top:10mm}.post-note{font-size:calc(var(--ps) * .77)}.print-url{font-size:calc(var(--ps) * .73);color:#555;font-family:var(--font);border-top:1px solid #bbb;margin-top:8mm;padding-top:3mm;display:block}}
