:root{--color-bg: #fafafa;--color-surface: #ffffff;--color-text: #1a1a1a;--color-muted: #5c5c5c;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-border: #e5e5e5;--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans KR", sans-serif;--font-mono: "JetBrains Mono", "D2Coding", ui-monospace, monospace;--max-width: 720px;--page-padding: 1.25rem}*,*:before,*:after{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font-sans);font-size:1.0625rem;line-height:1.75;color:var(--color-text);background:var(--color-bg)}img{max-width:100%;height:auto}a{color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--color-accent-hover)}h1,h2,h3,h4{line-height:1.3;font-weight:700;letter-spacing:-.02em}h1{font-size:clamp(1.75rem,5vw,2.25rem)}h2{font-size:clamp(1.375rem,4vw,1.625rem);margin-top:2rem}h3{font-size:1.125rem;margin-top:1.5rem}p{margin:0 0 1rem}ul,ol{margin:0 0 1rem;padding-left:1.5rem}code{font-family:var(--font-mono);font-size:.9em;background:#f0f0f0;padding:.15em .35em;border-radius:4px}pre{overflow-x:auto;padding:1rem;background:#1e1e1e;color:#d4d4d4;border-radius:8px;font-size:.875rem;line-height:1.6}pre code{background:none;padding:0;color:inherit}blockquote{margin:1.5rem 0;padding:.75rem 1rem;border-left:4px solid var(--color-accent);background:var(--color-surface);color:var(--color-muted)}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-surface)}.site-header__inner{max-width:calc(var(--max-width) + var(--page-padding) * 2);margin:0 auto;padding:1rem var(--page-padding);display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-logo{font-weight:800;font-size:1.125rem;color:var(--color-text);text-decoration:none}.site-logo:hover{color:var(--color-accent)}.site-nav{display:flex;gap:1rem;font-size:.9375rem}.site-nav a{color:var(--color-muted);text-decoration:none}.site-nav a:hover{color:var(--color-accent)}main{max-width:calc(var(--max-width) + var(--page-padding) * 2);margin:0 auto;padding:2rem var(--page-padding) 4rem}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface);padding:2rem var(--page-padding);text-align:center;font-size:.875rem;color:var(--color-muted)}.site-footer p{margin:.25rem 0}.hero{margin-bottom:2.5rem}.hero__badge{display:inline-block;font-size:.8125rem;font-weight:600;color:var(--color-accent);background:#eff6ff;padding:.25rem .75rem;border-radius:999px;margin-bottom:.75rem}.hero__lead{font-size:1.125rem;color:var(--color-muted);max-width:36em}.post-list{list-style:none;padding:0;margin:0}.post-list__item{border-bottom:1px solid var(--color-border);padding:1.25rem 0}.post-list__item:first-child{border-top:1px solid var(--color-border)}.post-list__link{display:block;text-decoration:none;color:inherit}.post-list__link:hover .post-list__title{color:var(--color-accent)}.post-list__title{font-size:1.125rem;font-weight:700;margin:0 0 .35rem;transition:color .15s}.post-list__meta{font-size:.8125rem;color:var(--color-muted);margin-bottom:.35rem}.post-list__desc{font-size:.9375rem;color:var(--color-muted);margin:0}.post-header{margin-bottom:2rem}.post-header__meta{font-size:.875rem;color:var(--color-muted);margin-bottom:.5rem}.post-header__lang-switch{font-size:.875rem;margin:0 0 .75rem}.post-header__affiliate{font-size:.875rem;color:var(--color-muted);background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.75rem 1rem;margin:0 0 1rem}.post-header__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;list-style:none;padding:0}.post-header__tag{font-size:.75rem;background:#f0f0f0;padding:.2rem .6rem;border-radius:999px;color:var(--color-muted)}.info-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem 1.5rem;margin:2rem 0}.info-box h2{margin-top:0;font-size:1.125rem}.info-box ul{margin-bottom:0}@media(max-width:480px){.site-header__inner{flex-direction:column;align-items:flex-start}main{padding-top:1.5rem}}
