:root{--bg:#fff;--fg:#1b1d22;--muted:#6b7079;--line:#e7e8eb;--soft:#f5f6f8;--accent:#2f6fed;--code-bg:#f6f7f9;--maxw:44rem;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121316;--fg:#e6e7ea;--muted:#9a9fa8;--line:#2a2c31;--soft:#1a1c20;--accent:#7aa5ff;--code-bg:#191b1f;color-scheme:dark}}:root[data-theme=dark]{--bg:#121316;--fg:#e6e7ea;--muted:#9a9fa8;--line:#2a2c31;--soft:#1a1c20;--accent:#7aa5ff;--code-bg:#191b1f;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);word-break:keep-all;overflow-wrap:break-word;flex-direction:column;min-height:100vh;margin:0;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;font-size:17px;line-height:1.75;display:flex}main{flex:1;padding-block:2.5rem 4rem}a{color:inherit}img{max-width:100%;height:auto}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:1.25rem}.muted{color:var(--muted)}.site-header{border-bottom:1px solid var(--line)}.header-row{justify-content:space-between;align-items:center;gap:1rem;height:3.75rem;display:flex}.brand{letter-spacing:-.02em;font-size:1.1rem;font-weight:800;text-decoration:none}.site-header nav{align-items:center;gap:1.1rem;font-size:.95rem;display:flex}.site-header nav a{color:var(--muted);text-decoration:none}.site-header nav a:hover,.site-header nav a.active{color:var(--fg)}.theme-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.25rem;display:inline-flex}.theme-toggle:hover{color:var(--fg);background:var(--soft)}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}.footer-row{flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:1.5rem;display:flex}.footer-links{gap:1rem;display:flex}.footer-links a{text-decoration:none}.footer-links a:hover{color:var(--fg)}.intro{margin-bottom:2.5rem}.intro h1{letter-spacing:-.03em;margin:0 0 .25rem;font-size:1.75rem;line-height:1.3}.intro p{margin:0}.intro a{text-decoration:none}.year-group{margin-bottom:2.5rem}.year{color:var(--muted);margin:0 0 .5rem;font-size:.9rem;font-weight:600}.post-list{margin:0;padding:0;list-style:none}.post-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding:.9rem 0;display:flex}.post-link{flex-direction:column;min-width:0;text-decoration:none;display:flex}.post-title{letter-spacing:-.01em;font-weight:650;line-height:1.45}.post-link:hover .post-title{color:var(--accent)}.post-desc{color:var(--muted);margin-top:.15rem;font-size:.92rem;line-height:1.55}.post-list .post-meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.85rem}.tag-cloud{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tag-cloud a,.tags a{background:var(--soft);border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .7rem;font-size:.875rem;text-decoration:none;display:inline-flex}.tag-cloud a:hover,.tags a:hover{color:var(--accent);border-color:var(--accent)}.count{opacity:.8;font-size:.75rem}.post-header{margin-bottom:2.25rem}.post-header h1{letter-spacing:-.035em;margin:.4rem 0 .6rem;font-size:2rem;line-height:1.3}.post-header .post-meta{color:var(--muted);flex-wrap:wrap;gap:.4rem;margin:0;font-size:.9rem;display:flex}.lede{color:var(--muted);margin:0 0 1rem;font-size:1.05rem}.tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.post-footer{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:1.5rem}.post-footer a{color:var(--muted);text-decoration:none}.post-footer a:hover{color:var(--fg)}.prose h2{letter-spacing:-.02em;margin:2.6rem 0 .8rem;font-size:1.4rem;line-height:1.4}.prose h3{margin:2rem 0 .6rem;font-size:1.15rem;line-height:1.45}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table{margin:0 0 1.15rem}.prose ul,.prose ol{padding-left:1.3rem}.prose li{margin:.25rem 0}.prose a{color:var(--accent);text-underline-offset:3px}.prose blockquote{border-left:3px solid var(--line);color:var(--muted);padding:.1rem 0 .1rem 1rem}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}.prose code{background:var(--code-bg);border:1px solid var(--line);border-radius:5px;padding:.1em .35em;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-size:.86em}.prose pre{border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;font-size:.85rem;line-height:1.6;overflow-x:auto;background:var(--code-bg)!important}.prose pre code{font-size:inherit;background:0 0;border:0;padding:0}.prose table{border-collapse:collapse;width:100%;font-size:.92rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:.45rem .7rem}.prose th{background:var(--soft)}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important}}@media (width<=560px){body{font-size:16px}.post-header h1{font-size:1.6rem}.post-list li{flex-direction:column-reverse;gap:.2rem}}
