*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#333;line-height:1.7;background:#fff}.container{display:grid;grid-template-columns:120px minmax(0, 1fr) 220px;gap:40px;max-width:1400px;margin:0 auto;padding:40px 20px;min-height:100vh}.left-nav{position:sticky;top:40px;height:fit-content;align-self:start}.mobile-header{display:none}.left-navigation ul{list-style:none}.left-navigation li{margin-bottom:12px}.left-navigation a{text-decoration:none;color:#666;text-transform:lowercase;font-size:16px;transition:color 0.2s}.left-navigation a:hover{color:#333}.main-content{min-width:0;max-width:672px;width:100%;margin:0 auto}.site-footer{text-align:center;font-size:13px;color:#666;padding-top:60px;padding-bottom:40px}.site-footer p{margin:0}.post-comments{margin-top:48px}.share-actions{margin-top:0px}.share-link{text-decoration:none;color:#666;font-size:14px;text-transform:lowercase;transition:color 0.2s, text-decoration-color 0.2s;cursor:pointer}.share-link:hover{color:#333;text-decoration-color:#333}.tag-filter{margin-bottom:32px;padding-bottom:16px}.tag-filter .tag-filter-link{text-decoration:none;display:inline-block;transition:color 0.2s}.tag-filter .tag-filter-link:hover .tag-filter-label{color:#333}.tag-filter .tag-filter-label{font-size:20px;color:#666;font-weight:500;transition:color 0.2s}.post-list.is-filtered{border-bottom:1px solid #eee;padding-bottom:32px;margin-bottom:32px}.pagination{margin-top:24px;padding-top:24px;border-top:1px solid #eee;display:flex;align-items:center;justify-content:center}.pagination .pagination-numbers{display:flex;gap:8px;align-items:center;justify-content:center}.pagination .pagination-numbers .pagination-number{text-decoration:none;color:#666;font-size:14px;padding:4px 8px;transition:color 0.2s}.pagination .pagination-numbers .pagination-number:hover{color:#333}.pagination .pagination-numbers .pagination-number.pagination-current{color:#333;font-weight:500}.post-list{list-style:none}.post-list .post-item{margin-bottom:32px}.post-list .post-item .post-meta{font-size:14px;color:#666;margin-bottom:4px}.post-list .post-item .post-meta time{display:block}.post-list .post-item .post-title{font-size:28px;font-weight:500;margin:0;line-height:1.3}.post-list .post-item .post-title a{text-decoration:none;color:#333;transition:color 0.2s}.post-list .post-item .post-title a:hover{color:#666}.empty-state{min-height:320px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:48px 24px 0;color:#666}.empty-state .empty-state-label{font-size:20px;font-weight:500;color:#333}.empty-state .empty-state-hint{font-size:15px}.empty-state .empty-state-hint code{background:#f5f5f5;padding:2px 6px;border-radius:4px;font-size:0.9em}.post .post-header{margin-bottom:48px}.post .post-header .post-meta{font-size:14px;color:#666;margin-bottom:4px}.post .post-header .post-meta time{display:block}.post .post-header .post-title{font-size:28px;font-weight:500;margin:0;line-height:1.3}.post .post-tags{display:flex;align-items:center;gap:8px;margin-top:12px}.post .post-tags .post-tags-list{display:flex;flex-wrap:wrap;gap:8px}.post .post-tags .tag{text-decoration:none;color:#666;font-size:13px;text-transform:lowercase;transition:color 0.2s}.post .post-tags .tag:hover{color:#333}.post .post-content{font-size:16px;line-height:1.7;max-width:672px}.post .post-content h2{font-size:24px;font-weight:500;margin-top:48px;margin-bottom:16px;line-height:1.3}.post .post-content h3{font-size:20px;font-weight:500;margin-top:32px;margin-bottom:12px;line-height:1.3}.post .post-content p{margin-bottom:16px}.post .post-content ul,.post .post-content ol{margin-left:24px;margin-bottom:16px}.post .post-content ul li,.post .post-content ol li{margin-bottom:8px}.post .post-content code{background:#f5f5f5;padding:2px 6px;border-radius:3px;font-size:0.9em;font-family:'Monaco', 'Menlo', monospace}.post .post-content pre{background:#f5f5f5;padding:16px;border-radius:4px;overflow-x:auto;margin-bottom:16px}.post .post-content pre code{background:none;padding:0}.post .post-content blockquote{border-left:3px solid #ddd;padding-left:16px;margin-left:0;margin-bottom:16px;color:#666}.post .post-content img{max-width:100%;height:auto;margin:24px 0}.post .post-content a{color:#333;text-decoration:underline;text-decoration-color:#999;transition:text-decoration-color 0.2s}.post .post-content a:hover{text-decoration-color:#333}.post .related-posts{margin-top:96px}.post .related-posts .related-posts-title{font-size:16px;font-weight:500;color:#333;margin:0 0 16px 0;text-align:center}.post .related-posts .related-posts-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ddd transparent}.post .related-posts .related-posts-scroll::-webkit-scrollbar{height:6px}.post .related-posts .related-posts-scroll::-webkit-scrollbar-track{background:transparent}.post .related-posts .related-posts-scroll::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:3px}.post .related-posts .related-posts-scroll::-webkit-scrollbar-thumb:hover{background-color:#bbb}.post .related-posts .related-posts-list{display:flex;flex-direction:row;gap:16px;padding-bottom:8px}.post .related-posts .related-posts-empty{width:100%;text-align:center;padding:24px 16px;color:#666;font-size:14px}.post .related-posts .related-post-card{display:flex;flex-direction:column;width:calc((672px - 32px) / 3);min-width:calc((672px - 32px) / 3);max-width:calc((672px - 32px) / 3);padding:16px;border:1px solid #eee;border-radius:12px;text-decoration:none;flex-shrink:0;transition:all 0.2s}.post .related-posts .related-post-card:hover{border-color:#ddd}.post .related-posts .related-post-card:hover .related-post-title{color:#333}.post .related-posts .related-post-card .related-post-date{font-size:12px;color:#666;margin-bottom:8px}.post .related-posts .related-post-card .related-post-title{font-size:14px;color:#666;font-weight:400;line-height:1.4;transition:color 0.2s}.post .post-navigation{margin-top:24px;padding-top:24px;border-top:1px solid #eee;display:flex;justify-content:space-between;gap:24px}.post .post-navigation .post-nav-link{text-decoration:none;color:#333;transition:color 0.2s}.post .post-navigation .post-nav-link:hover{color:#666}.post .post-navigation .post-nav-link .post-nav-label{display:block;font-size:12px;color:#666;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px}.post .post-navigation .post-nav-link .post-nav-title{display:block;font-size:14px;line-height:1.4}.post .post-navigation .post-nav-link.post-nav-prev{flex:0 0 auto}.post .post-navigation .post-nav-link.post-nav-next{text-align:right;margin-left:auto}.post .post-tags-bottom{margin-top:96px}.post .post-tags-bottom .share-actions{margin-top:0;margin-left:auto}.right-sidebar{position:sticky;top:40px;height:fit-content;align-self:start}.tags-sidebar .tag-list{list-style:none}.tags-sidebar .tag-list li{margin-bottom:8px}.tags-sidebar .tag-list .tag-link{text-decoration:none;color:#666;font-size:13px;text-transform:lowercase;transition:color 0.2s;display:block}.tags-sidebar .tag-list .tag-link:hover{color:#333}.tags-sidebar .tag-list .tag-link .tag-count{color:#999}.tags-sidebar .tags-more-link{display:block;margin-top:16px;text-decoration:none;color:#666;font-size:13px;transition:color 0.2s}.tags-sidebar .tags-more-link:hover{color:#333}#toc-container .toc{list-style:none}#toc-container .toc .toc-item{margin-bottom:8px}#toc-container .toc .toc-item a{text-decoration:none;color:#666;font-size:13px;line-height:1.5;display:block;transition:color 0.2s;position:relative;padding-left:16px}#toc-container .toc .toc-item a:hover{color:#333}#toc-container .toc .toc-item a.active{color:#333;font-weight:500}#toc-container .toc .toc-item.toc-level-3{padding-left:16px}.about-page h1{font-size:32px;font-weight:500;margin-bottom:24px;line-height:1.3}.about-page p{font-size:16px;line-height:1.7;margin-bottom:16px;color:#333}.about-page .about-links{margin-top:32px;display:flex;gap:16px}.about-page .about-links .about-link{display:inline-block;text-decoration:none;color:#666;transition:color 0.2s}.about-page .about-links .about-link svg{vertical-align:middle}.about-page .about-links .about-link:hover{color:#333}.tags-page{display:flex;flex-wrap:wrap;gap:12px}.tags-page .tag-item{text-decoration:none;color:#666;font-size:14px;text-transform:lowercase;transition:color 0.2s;display:inline-block}.tags-page .tag-item:hover{color:#333}.tags-page .tag-item .tag-count{color:#999}@media (max-width: 768px){.container{grid-template-columns:1fr;gap:24px;padding:32px 16px 32px}.left-nav,.right-sidebar{display:none}.main-content{max-width:100%;margin-top:0}.mobile-header{display:block;position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #eee;box-shadow:0 4px 10px rgba(0,0,0,0.04);transform:translateY(0);transition:transform 0.25s ease, box-shadow 0.25s ease}.mobile-header.mobile-header--hidden{transform:translateY(-100%);box-shadow:none}.mobile-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px}.mobile-header-inner .mobile-header-title{text-decoration:none;color:#333;font-size:18px;font-weight:600}.mobile-header-nav{display:flex;gap:16px;flex-shrink:0}.mobile-header-nav a{text-decoration:none;text-transform:lowercase;font-size:14px;color:#666;padding:4px 0;transition:color 0.2s}.mobile-header-nav a:hover{color:#333}.post .post-header .post-title{font-size:28px}.post .post-content h2{font-size:24px}.post .post-content h3{font-size:20px}.post .post-navigation{flex-direction:row;gap:16px}.post .post-navigation .post-nav-link{flex:1 1 0%;min-width:0;display:flex;flex-direction:column;text-align:left}.post .post-navigation .post-nav-link .post-nav-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post .post-navigation .post-nav-link.post-nav-prev{align-items:flex-start}.post .post-navigation .post-nav-link.post-nav-next{text-align:right;align-items:flex-end}}
