:root{--color-bg: #ffffff;--color-text: #000000;--color-sub: #666666;--color-border: #e5e5e5;--color-accent: #3b82f6}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.7}.blog-post-main{max-width:1400px;margin:0 auto;padding:40px 40px 80px}.blog-post-article{width:100%}.blog-post-header{text-align:center;margin-bottom:60px;padding-bottom:40px;border-bottom:1px solid var(--color-border)}.blog-post-title{font-size:48px;font-weight:700;color:var(--color-text);margin:0 0 24px;line-height:1.3;letter-spacing:-.5px;word-break:keep-all;overflow-wrap:break-word}.blog-post-meta{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:32px;font-size:.95rem;color:var(--color-sub)}.blog-post-author{font-weight:500}.blog-post-date{font-weight:400}.blog-post-content-wrapper{display:flex;gap:60px;align-items:flex-start}.blog-post-content{flex:1;min-width:0}.blog-post-body{max-width:800px;margin:0 auto;word-break:keep-all;overflow-wrap:break-word;font-size:16px;color:#333}.blog-post-body *{box-sizing:border-box}.blog-post-body h2{font-size:1.25rem;font-weight:600;margin:40px 0 16px;padding:0;color:#000;line-height:1.6;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:break-word;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.blog-post-body h3{font-size:1.15rem;font-weight:600;margin:32px 0 14px;padding:0;color:#1a1a1a;line-height:1.6;word-break:keep-all;overflow-wrap:break-word;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.blog-post-body h4{font-size:1.05rem;font-weight:600;margin:28px 0 12px;padding:0;color:#2a2a2a;line-height:1.6;word-break:keep-all;overflow-wrap:break-word;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.blog-post-body{font-size:16px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.blog-post-body p{margin:0 0 20px;font-size:16px;line-height:1.8;color:#333;word-break:keep-all;overflow-wrap:break-word;hyphens:auto;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.blog-post-body ul,.blog-post-body ol{margin:0 0 20px;padding-left:24px}.blog-post-body li{margin-bottom:10px;line-height:1.8;word-break:keep-all;overflow-wrap:break-word;font-size:16px;color:#333;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.blog-post-body ul li::marker{color:#666}.blog-post-body blockquote{margin:32px 0;padding:20px 24px;border-left:4px solid var(--color-text);background:transparent;font-style:italic;position:relative;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.blog-post-body blockquote:before{content:'"';font-size:4rem;position:absolute;left:8px;top:-10px;opacity:.2;font-family:serif}.blog-post-body code{background:#f5f5f5;color:#333;padding:2px 6px;border-radius:4px;font-size:.9em;font-family:Fira Code,Courier New,monospace;border:1px solid #e0e0e0}.blog-post-body pre{background:#fff;color:#333;border-radius:8px;overflow-x:auto;margin:32px 0;border:1px solid #e5e5e5;box-shadow:0 2px 8px #0000000d;line-height:1.6;font-size:.9rem;padding:20px}.blog-post-body pre.astro-code,.blog-post-body pre[class*=astro-code],.blog-post-body pre[class*=github-dark],.blog-post-body pre[class*=github-light]{padding:20px}.blog-post-body pre code{background:transparent;color:inherit;padding:0;border:none;font-size:inherit}.blog-post-body pre .keyword,.blog-post-body pre .operator{color:#06c}.blog-post-body pre .string{color:green}.blog-post-body pre .number{color:#d19a66}.blog-post-body pre .function{color:#06c}.blog-post-body pre .comment{color:#999;font-style:italic}.blog-post-body a{color:var(--color-text);text-decoration:underline;text-underline-offset:2px;transition:opacity .2s ease}.blog-post-body a:hover{opacity:.6}.blog-post-body strong{font-weight:600}.blog-post-body img{max-width:100%;height:auto;display:block;margin:32px auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.blog-post-sidebar{flex:0 0 240px;position:sticky;top:100px;align-self:flex-start}.toc-container{padding:0}.toc-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin:0 0 20px;color:#999;line-height:1.4}.blog-post-sidebar h2,.blog-post-sidebar h2.toc-title,h2.toc-title{font-size:12px;font-weight:600;margin:0 0 20px}.toc-nav{font-size:14px}.toc-list{list-style:none;padding:0;margin:0}.toc-item{margin-bottom:10px}.blog-post-sidebar .toc-nav a,.blog-post-sidebar .toc-nav a.toc-link,.blog-post-sidebar a.toc-link,.blog-post-sidebar .toc-link,a.toc-link{color:#b3b3b3;text-decoration:none;display:block;padding:0;transition:color .2s ease;line-height:1.5;word-break:keep-all;overflow-wrap:break-word;font-size:14px}.blog-post-sidebar .toc-link,.toc-level-3 .toc-link,.toc-level-4 .toc-link{font-size:14px}.blog-post-sidebar a.toc-link:hover,.blog-post-sidebar .toc-link:hover,a.toc-link:hover{color:#999}.blog-post-sidebar a.toc-link-active,.blog-post-sidebar .toc-link-active,a.toc-link-active{color:#999;font-weight:500}.toc-nested{margin-left:12px;margin-top:6px}.toc-empty{color:#999;font-size:14px;margin:0}@media (max-width: 1024px){.blog-post-content-wrapper{flex-direction:column;gap:40px}.blog-post-sidebar{position:static;flex:1 1 100%;width:100%}.toc-container{border-top:1px solid var(--color-border);padding-top:32px}}@media (max-width: 768px){.blog-post-main{padding:24px 20px 60px}.blog-post-title{font-size:36px}.blog-post-header{margin-bottom:40px;padding-bottom:32px}.blog-post-body{max-width:100%}.blog-post-body h2{font-size:1.2rem;margin:36px 0 16px}.blog-post-body h3{font-size:1.1rem;margin:28px 0 14px}.blog-post-body h4{font-size:1.05rem;margin:24px 0 12px}}
