:root{--ink: #1a1a1a;--ink-soft: #5b5b5b;--line: #e5e5e5;--bg: #ffffff;--bg-soft: #fafafa;--link: #1155cc;--measure: 42rem;--radius: 8px}@media(prefers-color-scheme:dark){:root{--ink: #e8e8e8;--ink-soft: #a5a5a5;--line: #333;--bg: #131313;--bg-soft: #1c1c1c;--link: #7aa7f0}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;font-size:17px;line-height:1.8;word-break:keep-all;overflow-wrap:break-word}.wrap{max-width:var(--measure);margin:0 auto;padding:0 1.15rem}a{color:var(--link)}a:hover{text-decoration:none}header.site{border-bottom:1px solid var(--line);padding:.9rem 0;margin-bottom:2rem}header.site .row{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}header.site .brand{font-weight:700;font-size:1.15rem;color:var(--ink);text-decoration:none}header.site nav{margin-left:auto;display:flex;gap:1rem;font-size:.9rem}header.site nav a{color:var(--ink-soft);text-decoration:none}@media(max-width:360px){header.site nav{gap:.75rem}}h1{font-size:1.72rem;line-height:1.42;letter-spacing:-.02em;margin:0 0 .6rem}h2{font-size:1.28rem;line-height:1.5;margin:2.4rem 0 .8rem;letter-spacing:-.01em}h3{font-size:1.08rem;margin:1.8rem 0 .6rem}p{margin:0 0 1.15rem}article img{max-width:100%;height:auto;border-radius:var(--radius)}article img[src^="/img/"]{display:block;width:100%;margin:1.4rem 0 .4rem}article table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.94rem}article th,article td{border:1px solid var(--line);padding:.55rem .7rem;text-align:left}article th{background:var(--bg-soft);font-weight:600}.scroll-x{overflow-x:auto}article .scroll-x{margin:1.4rem 0}article .scroll-x>table{margin:0}article .scroll-x:focus-visible{outline:2px solid var(--ink-soft);outline-offset:2px}@media(max-width:480px){article th,article td{padding:.45rem .5rem}}article blockquote{margin:1.4rem 0;padding:.2rem 0 .2rem 1rem;border-left:3px solid var(--line);color:var(--ink-soft)}article ul,article ol{padding-left:1.3rem;margin:0 0 1.15rem}article li{margin-bottom:.4rem}article hr{border:0;border-top:1px solid var(--line);margin:2.4rem 0}.meta{color:var(--ink-soft);font-size:.88rem;margin-bottom:2rem}.meta .pill{display:inline-block;margin-left:.4rem;padding:0 .6rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);text-decoration:none;font-size:.82rem;line-height:1.7}.meta .pill:hover{color:var(--ink);border-color:var(--ink-soft)}.toc{margin:0 0 2rem;font-size:.94rem}.toc h2{font-size:.95rem;margin:0 0 .4rem;color:var(--ink-soft);letter-spacing:0}.toc ol{margin:0;padding-left:1.3rem}.toc li{margin-bottom:.25rem;line-height:1.6}.toc a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.toc a:hover,.toc a:focus-visible{color:var(--link);border-color:var(--link)}article h2[id]{scroll-margin-top:1rem}.next-read{margin:-.6rem 0 2rem;padding:.7rem 0 0;border-top:1px dashed var(--line);font-size:.94rem}.next-read span{display:block;color:var(--ink-soft);font-size:.84rem}.next-read a{font-weight:600}.sources{margin:2.6rem 0 0;padding:1rem 1.15rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);font-size:.9rem}.sources h2{font-size:.95rem;margin:0 0 .6rem}.sources ol{margin:0;padding-left:1.2rem}.sources li{margin-bottom:.3rem;word-break:break-all}img.card{width:100%;height:auto;display:block;margin:0 0 2rem;border-radius:var(--radius);border:1px solid var(--line)}.related{margin:2.8rem 0 0;padding-top:.4rem;border-top:1px solid var(--line)}.related h2{font-size:1.05rem;margin:1.2rem 0 .2rem}.related .post-list li:last-child{border-bottom:0}.related .blurb{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.disclaimer{color:var(--ink-soft);font-size:.85rem;margin-top:1.6rem}.home-tools h2,.home-cats h2,.home-latest h2{font-size:1rem;margin:2rem 0 .7rem;letter-spacing:0}.home-tools ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.6rem}.home-tools li a{display:block;height:100%;padding:.7rem .8rem;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none;transition:border-color .15s ease-out,transform .15s ease-out}.home-tools li a:hover,.home-tools li a:focus-visible{border-color:var(--link);transform:translateY(-1px)}.home-tools strong{display:block;font-size:.94rem;line-height:1.45}.home-tools span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;margin-top:.25rem;color:var(--ink-soft);font-size:.82rem;line-height:1.5}.home-tools .more{margin:.6rem 0 0;font-size:.88rem}.home-cats .categories{margin-bottom:0}.home-latest .blurb{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}@media(prefers-reduced-motion:reduce){.home-tools li a{transition:none}.home-tools li a:hover{transform:none}}.categories{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2rem;padding:0}.categories a{padding:.35rem .75rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);text-decoration:none;font-size:.88rem}.categories a[aria-current=page]{background:var(--bg-soft);color:var(--ink);font-weight:600}.post-list{list-style:none;padding:0;margin:0}.post-list li{padding:1.15rem 0;border-bottom:1px solid var(--line)}.post-list a{font-weight:600;color:var(--ink);text-decoration:none;font-size:1.05rem;line-height:1.5;display:block}.post-list .blurb{color:var(--ink-soft);font-size:.94rem;line-height:1.65;margin:.4rem 0 0}.post-list .when{color:var(--ink-soft);font-size:.84rem;margin-top:.35rem}.post-list li.has-thumb{display:grid;grid-template-columns:minmax(0,1fr) var(--thumb-w);gap:1rem;align-items:start;--thumb-w: clamp(6.5rem, 26vw, 10rem)}.post-list .thumb{display:block}.post-list .thumb img{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:calc(var(--radius) - 2px);border:1px solid var(--line);background:var(--bg-soft);transition:transform .15s ease-out,opacity .15s ease-out}.post-list li.has-thumb:hover .thumb img{transform:scale(1.02);opacity:.94}.post-list li:hover .entry>a{color:var(--link)}@media(prefers-reduced-motion:reduce){.post-list .thumb img{transition:none}.post-list li.has-thumb:hover .thumb img{transform:none}}footer.site{margin-top:4rem;padding:1.6rem 0 2.4rem;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.86rem}footer.site nav{display:flex;gap:1rem;margin-bottom:.6rem;flex-wrap:wrap}footer.site nav a{color:var(--ink-soft)}.empty{color:var(--ink-soft);padding:2rem 0}.summary{margin:0 0 2rem;padding:1rem 1.15rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius)}.summary h2{font-size:.95rem;margin:0 0 .6rem;color:var(--ink-soft);letter-spacing:0}.summary ul{margin:0;padding-left:1.2rem}.summary li{margin-bottom:.4rem;font-size:.97rem}.summary li:last-child{margin-bottom:0}.basis{color:var(--ink-soft);font-size:.85rem;margin:-.8rem 0 1.6rem}.basis strong{color:var(--ink);font-weight:600}
