:root{color-scheme:light;--color-bg:#f7f7f5;--color-text:#2c2c2c;--color-link:#6f93bd;--header-line:#8d8d90;--footer-line:#c9c9cc;--footer-text:#aaaab0;--mode-btn-light:#efefec;--mode-btn-dark:#1a1c1f}[data-theme=dark]{color-scheme:dark;--color-bg:#16181a;--color-text:#e2e2de;--color-link:#8aaedf;--header-line:#2f3236;--footer-line:#272a2e;--footer-text:#9fa1a6}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(141,141,144,.22)transparent}html::-webkit-scrollbar{width:.38rem}html::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar-thumb{background:rgba(141,141,144,.22);border-radius:.2rem}html::-webkit-scrollbar-thumb:hover{background:rgba(141,141,144,.34)}*,*::before,*::after{box-sizing:border-box}body{margin:3.5rem auto;color:var(--color-text);font-family:noto sans kr,sans-serif;font-size:1rem;font-weight:400;line-height:1.7;letter-spacing:.01em;background:var(--color-bg)}@media(max-width:540px){body{margin:1rem auto;line-height:1.75}}button,input,textarea{font-family:inherit}img{margin:1.2rem 0;max-width:100%;height:auto}a{color:var(--color-link);text-decoration:none}p{margin-bottom:1.8rem}.layout-container{width:100%;max-width:900px;margin:0 auto}.header__line{height:.13rem;background:linear-gradient(var(--header-line),var(--header-line))50%/calc(100% - 1.6rem).12rem no-repeat;opacity:.8}.header__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem}.header__main{display:flex;align-items:center;gap:.75rem;min-width:0}.header__actions{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.header__brand{color:var(--color-text);font-size:1.8rem;font-weight:600;line-height:1.2;white-space:nowrap}.header__link{color:var(--color-text);font-size:1.2rem;font-weight:500;line-height:1.2;white-space:nowrap;transition:opacity .15s ease}.header__link:not([aria-current=page]):hover{opacity:.8}.header__link[aria-current=page]{text-decoration:underline;text-decoration-color:var(--color-text);text-underline-offset:.2em}.color__mode-btn{width:1.6rem;height:.8rem;padding:0;border:.12rem solid var(--color-text);border-radius:.14rem;background:linear-gradient(to right,var(--mode-btn-dark) 50%,var(--mode-btn-light) 50%);background-size:200% 100%;background-position:0;box-shadow:inset 0 0 0 .02rem rgba(0,0,0,5%);cursor:pointer;transition:border-color .15s ease,background-position .2s ease}.color__mode-btn:hover{border-color:var(--color-link)}[data-theme=dark] .color__mode-btn{background-position:100%}@media(max-width:540px){.header__item{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;row-gap:.35rem}.header__main{grid-column:1/4;grid-row:1;flex-direction:column;align-items:center;justify-self:center;gap:.35rem}.header__actions{grid-column:3;grid-row:1;justify-self:end;align-self:center}.header__brand,.header__link{text-align:center;margin-bottom:.1rem}}.footer__line{height:.13rem;background:linear-gradient(var(--footer-line),var(--footer-line))50%/calc(100% - 1.6rem).12rem no-repeat;opacity:.8}.footer__item{display:flex;justify-content:center;padding:.8rem;color:var(--footer-text);font-size:.84rem;font-weight:400;text-align:center}.footer__item ul{display:flex;flex-direction:column;align-items:center;gap:.4rem}.footer__link{color:var(--footer-text);transition:opacity .2s ease}.footer__link:hover{opacity:.8}@media(min-width:540px){.footer__item ul{flex-direction:row;justify-content:center;gap:1.6rem}}.text-link{gap:.4rem;text-decoration:none;transition:opacity .15s ease}.text-link:hover{opacity:.8}.text-link__meta{color:var(--color-text);font-size:.92rem;opacity:.8}.post-list__item+.post-list__item{margin-top:.2rem;margin-bottom:.4rem}.unstyled-list{margin:0;padding:0;list-style:none}.article{max-width:min(800px,100% - 3.2rem);margin:2.6rem auto;padding:.2rem}.article__item{display:flex;align-items:center;gap:.8rem;margin-bottom:2rem}.article__back-link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;border:solid .1rem var(--color-text);border-radius:.14rem;color:var(--color-text);font-weight:600;background:0 0;font-size:1rem;opacity:.6;transition:opacity .2s ease}@media(hover:hover) and (pointer:fine){.article__back-link:hover{opacity:1}}.article__title{margin:0;font-size:1.6rem;font-weight:500;line-height:1.3;letter-spacing:-.01em;text-align:left}.article__content{font-size:1.02rem;font-weight:400}.article__content h2{margin-top:2rem;margin-bottom:.8rem;font-size:1.44rem;font-weight:600;line-height:1.3}.article__content h3{margin-top:1.6rem;margin-bottom:.6rem;font-size:1.14rem;font-weight:600;line-height:1.3}.article__content h4{margin-top:1.4rem;margin-bottom:.5rem;font-size:1.04rem;font-weight:600;line-height:1.3}.article__content h5{margin-top:1.2rem;margin-bottom:.4rem;font-size:1.02rem;font-weight:600;line-height:1.3}.article__content h6{margin-top:1rem;margin-bottom:.4rem;font-size:.92rem;font-weight:600;line-height:1.3}.article__content h2+p,.article__content h3+p,.article__content h4+p,.article__content h5+p,.article__content h6+p{margin-top:0}.article__content a{transition:opacity .2s ease}.article__content a:hover{opacity:.8}.article__content li{overflow-wrap:break-word}.to-top{display:none;margin:2rem auto 0;width:2rem;height:2rem;border:solid .1rem var(--color-text);border-radius:.14rem;color:var(--color-text);font-weight:600;background:0 0;font-size:1.02rem;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s ease}.to-top.show{display:block;opacity:.6;pointer-events:auto}@media(hover:hover) and (pointer:fine){.to-top:hover{opacity:1}}.archive summary{list-style:none}.archive summary::-webkit-details-marker{display:none}.archive__item+.archive__item{margin-top:.35rem}.archive__list .archive__list{margin-top:.4rem;padding-left:1rem}.archive__summary{display:inline-flex;align-items:baseline;gap:.4rem;cursor:pointer;transition:opacity .15s ease}.archive__summary:hover{opacity:.8}.archive__summary::before{content:"+";margin-right:.15rem;color:var(--color-text);opacity:.7}.archive__details[open]>.archive__summary::before{content:"−";margin-right:.24rem}.archive__year{color:var(--color-text)}.error-container{max-width:600px;margin:10px auto;text-align:center}.error-container h1{margin:30px 0;font-size:4em;line-height:1;letter-spacing:-1px}blockquote{width:fit-content;max-width:100%;margin:.4rem 0;padding:.2rem .4rem;border-left:.23rem solid #9d8f8d;background-color:#f3f3f1}blockquote p{margin:0}table{max-width:max-content;margin:0;border-collapse:collapse;font-size:1rem}table th{padding:.4rem;border:1px solid #d3d3d6;background-color:#ececea}table td{padding:.4rem;border:1px solid #dddddf;background-color:#f8f8f6}:not(pre)>code{padding:.1rem .35rem;border-radius:.2rem;font-family:inherit;font-size:.94rem;font-weight:500;background-color:#eef1ee}abbr[title]{text-decoration:underline dotted;text-underline-offset:.2em;cursor:help}.highlight{width:max-content;max-width:100%;overflow-x:auto}pre{width:max-content;max-width:100%;margin:0;padding:.3rem .5rem;border:1px solid #dddddf;border-radius:.2rem;font-size:.94rem;line-height:1.4;color:#5f666b;background-color:#f8f8f6;overflow-x:auto}.chroma .c,.chroma .ch,.chroma .cm,.chroma .cp,.chroma .cpf,.chroma .cs{color:#8d8d90}.chroma .k,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .na,.chroma .nf,.chroma .fm{color:#6f93bd}.chroma .kc,.chroma .kd,.chroma .kt,.chroma .nt,.chroma .nn,.chroma .nc,.chroma .no,.chroma .nd,.chroma .ni,.chroma .nb,.chroma .bp{color:#b09a63}.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .ss,.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo,.chroma .l,.chroma .ld{color:#6f8b5b}.chroma .o,.chroma .ow,.chroma .or,.chroma .p{color:#98a0a6}.chroma .gi{color:#6f8b5b}.chroma .gd{color:#a78480}.chroma .ge{font-style:italic}.chroma .gs{font-weight:600}.chroma .gh{color:#6f93bd;font-weight:600}.chroma .err{color:#2c2c2c;background-color:#c18f8b}[data-theme=dark] blockquote{border-left-color:#8f8180;background-color:#1b1d20}[data-theme=dark] table th{border-color:#2f3236;background-color:#202327}[data-theme=dark] table td{border-color:#2a2d31;background-color:#181a1d}[data-theme=dark] :not(pre)>code{color:#e2e2de;background-color:#202327}[data-theme=dark] pre{color:#e2e2de;border-color:#2a2d31;background-color:#181a1d}[data-theme=dark] .chroma .c,[data-theme=dark] .chroma .ch,[data-theme=dark] .chroma .cm,[data-theme=dark] .chroma .cp,[data-theme=dark] .chroma .cpf,[data-theme=dark] .chroma .cs{color:#9fa1a6}[data-theme=dark] .chroma .k,[data-theme=dark] .chroma .kn,[data-theme=dark] .chroma .kp,[data-theme=dark] .chroma .kr,[data-theme=dark] .chroma .na,[data-theme=dark] .chroma .nf,[data-theme=dark] .chroma .fm{color:#8aaedf}[data-theme=dark] .chroma .kc,[data-theme=dark] .chroma .kd,[data-theme=dark] .chroma .kt,[data-theme=dark] .chroma .nt,[data-theme=dark] .chroma .nn,[data-theme=dark] .chroma .nc,[data-theme=dark] .chroma .no,[data-theme=dark] .chroma .nd,[data-theme=dark] .chroma .ni,[data-theme=dark] .chroma .nb,[data-theme=dark] .chroma .bp{color:#c2ab73}[data-theme=dark] .chroma .s,[data-theme=dark] .chroma .sa,[data-theme=dark] .chroma .sb,[data-theme=dark] .chroma .sc,[data-theme=dark] .chroma .dl,[data-theme=dark] .chroma .sd,[data-theme=dark] .chroma .se,[data-theme=dark] .chroma .sh,[data-theme=dark] .chroma .si,[data-theme=dark] .chroma .sx,[data-theme=dark] .chroma .sr,[data-theme=dark] .chroma .ss,[data-theme=dark] .chroma .m,[data-theme=dark] .chroma .mb,[data-theme=dark] .chroma .mf,[data-theme=dark] .chroma .mh,[data-theme=dark] .chroma .mi,[data-theme=dark] .chroma .il,[data-theme=dark] .chroma .mo,[data-theme=dark] .chroma .l,[data-theme=dark] .chroma .ld{color:#8fa57a}[data-theme=dark] .chroma .o,[data-theme=dark] .chroma .ow,[data-theme=dark] .chroma .or,[data-theme=dark] .chroma .p{color:#a4abb2}[data-theme=dark] .chroma .gi{color:#8fa57a}[data-theme=dark] .chroma .gd{color:#c18f8b}[data-theme=dark] .chroma .ge{font-style:italic}[data-theme=dark] .chroma .gs{font-weight:600}[data-theme=dark] .chroma .gh{color:#8aaedf;font-weight:600}[data-theme=dark] .chroma .err{color:#1b1d20;background-color:#c18f8b}:focus-visible{outline:.125rem solid var(--color-link);outline-offset:.19rem;border-radius:.18rem}