@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;800&display=swap");@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");:root{--bg-color:#0d1117;--text-primary:#e6edf3;--text-secondary:#8b949e;--accent-color:#58a6ff;--accent-hover:#79c0ff;--card-bg:rgba(22,27,34,.7);--card-border:rgba(48,54,61,.5);--glass-bg:rgba(13,17,23,.7);--glass-border:hsla(0,0%,100%,.1);--glass-blur:12px}*{box-sizing:border-box;padding:0;margin:0}body,html{overflow-x:clip;width:100%}html{scroll-padding-top:96px}::selection{background:rgba(88,166,255,.35)}:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px;border-radius:4px}body{background-color:var(--bg-color);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:Outfit,Pretendard Variable,Pretendard,sans-serif;font-weight:600;margin-bottom:1rem;word-break:keep-all;overflow-wrap:break-word}a{color:inherit;text-decoration:none;transition:color .2s ease}.container{max-width:800px;margin:0 auto;padding:0 20px}header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);padding:20px 0;margin-bottom:40px}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{font-family:Outfit,sans-serif;font-weight:800;font-size:1.5rem;color:var(--text-primary)}main{padding-bottom:60px}.profile-section{display:flex;align-items:center;gap:24px;margin-bottom:48px;padding:32px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.1)}.profile-img{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid var(--accent-color);background-color:var(--bg-color)}.profile-info h2{margin-bottom:8px;font-size:1.6rem}.profile-info p{color:var(--text-secondary);line-height:1.6}@media (max-width:600px){.profile-section{flex-direction:column;text-align:center;padding:24px}}.post-list{display:flex;flex-direction:column;gap:20px}.post-card{display:block;padding:24px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative}.post-card:hover{transform:translateY(-2px);border-color:var(--accent-color);box-shadow:0 8px 24px rgba(0,0,0,.12)}.post-card-link{color:inherit;text-decoration:none}.post-card-link:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.post-title{font-size:1.5rem;margin-bottom:8px}.post-date{color:var(--text-secondary);font-size:.9rem;margin-bottom:16px}.post-tags{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:2}.tag{background:rgba(88,166,255,.1);color:var(--accent-color);padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:500;transition:all .2s ease;cursor:pointer}.tag:hover{background:var(--accent-color);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(88,166,255,.3)}.post-content{font-size:1.0625rem;line-height:1.85;letter-spacing:-.01em}.post-content blockquote,.post-content li,.post-content p,.post-content td{word-break:keep-all;overflow-wrap:anywhere}.post-content a{color:var(--accent-color);text-decoration:underline;-webkit-text-decoration-color:rgba(88,166,255,.4);text-decoration-color:rgba(88,166,255,.4);text-underline-offset:3px}.post-content a:hover{color:var(--accent-hover);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.post-content strong{font-weight:700;color:#f0f6fc}.post-content h4{margin-top:1.5rem;font-size:1.05rem}.post-content hr{border:0;border-top:1px solid var(--card-border);margin:2.5rem 0}.post-content p{margin-bottom:1.5rem}.post-content img{max-width:100%;border-radius:8px;margin:20px 0}.post-content pre{background:#161b22;padding:16px;border-radius:8px;overflow-x:auto;margin-bottom:1.5rem;border:1px solid var(--card-border)}.post-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875em}.post-content pre code{line-height:1.65;letter-spacing:0}.post-content li code,.post-content p code{background:hsla(215,8%,47%,.3);padding:2px 6px;border-radius:4px}.post-content ol,.post-content ul{margin-bottom:1.5rem;padding-left:2rem}.post-content li{margin-bottom:.5rem}.post-content ol ol,.post-content ol ul,.post-content ul ol,.post-content ul ul{margin-bottom:0;margin-top:.5rem}.post-content blockquote{border-left:4px solid var(--accent-color);padding-left:16px;color:var(--text-secondary);margin-bottom:1.5rem}.post-header{margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--card-border)}.post-header h1{font-size:2.5rem;margin-bottom:10px}.back-link{display:inline-flex;align-items:center;color:var(--accent-color);font-weight:500;margin-bottom:30px}.back-link:hover{color:var(--accent-hover);text-decoration:underline}.mermaid-container{background:rgba(22,27,34,.8);border:1px solid var(--card-border);border-radius:12px;padding:1.5rem;margin:1.5rem 0;overflow-x:auto;text-align:center}.mermaid-container svg{max-width:100%;height:auto}.post-content h2,.post-content h3{scroll-margin-top:96px}.post-content h2{margin-top:2.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--card-border)}.post-content h3{margin-top:2rem}.post-content table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;font-size:.95rem;display:block;overflow-x:auto}.post-content td,.post-content th{border:1px solid var(--card-border);padding:8px 12px;text-align:left}.post-content th{background:var(--card-bg)}.post-content pre code.hljs{background:transparent;padding:0}.toc{margin-bottom:2rem;padding:16px 20px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px}.toc summary{cursor:pointer;font-weight:600}.toc ol{list-style:none;margin-top:12px}.toc li{margin-bottom:6px}.toc li.toc-sub{padding-left:1rem;font-size:.95rem}.toc a{color:var(--text-secondary)}.toc a:hover{color:var(--accent-color)}.series-nav{margin-bottom:2rem;padding:16px 20px;border:1px solid rgba(88,166,255,.25);background:rgba(88,166,255,.06);border-radius:12px}.series-header{display:flex;align-items:baseline;gap:8px;cursor:pointer;list-style:none}.series-header::-webkit-details-marker{display:none}.series-header:after{content:"▾";color:var(--text-secondary);transition:transform .2s ease}.series-nav details[open] .series-header{margin-bottom:10px}.series-nav details[open] .series-header:after{transform:rotate(180deg)}.series-count,.series-label{color:var(--text-secondary);font-size:.85rem}.series-count{margin-left:auto}.series-nav ol{padding-left:1.4rem;font-size:.95rem}.series-nav li{margin-bottom:4px}.series-nav a{color:var(--text-secondary)}.series-nav a:hover{color:var(--accent-color)}.series-nav [aria-current=page]{color:var(--accent-color);font-weight:600}.post-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--card-border)}.post-nav-item{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;transition:border-color .2s ease}.post-nav-item:hover{border-color:var(--accent-color)}.post-nav-next{text-align:right}.post-nav-label{color:var(--text-secondary);font-size:.85rem}.post-nav-title{font-weight:600;word-break:keep-all}@media (max-width:600px){.post-nav{grid-template-columns:1fr}}.comments{margin-top:3rem}.tag-cloud{display:flex;flex-wrap:wrap;gap:10px}.tag-cloud .tag{font-size:.9rem;padding:6px 12px}.tag-count{opacity:.7;margin-left:2px}.section-title{font-size:1.1rem;color:var(--text-secondary);margin:0 0 16px}.featured-list{margin-bottom:48px}.outdated-notice{margin-bottom:2rem;padding:12px 16px;border:1px solid rgba(210,153,34,.4);background:rgba(210,153,34,.08);border-radius:12px;color:#e3b341;font-size:.95rem}@media (max-width:600px){header{padding:14px 0;margin-bottom:28px}.logo{font-size:1.25rem}.post-header h1{font-size:1.75rem;line-height:1.35}.post-title{font-size:1.25rem}.post-card{padding:20px}.post-content{font-size:1rem}.post-content ol,.post-content ul{padding-left:1.4rem}.post-content pre{padding:14px;margin-left:-4px;margin-right:-4px}.post-content pre code{font-size:.8125rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}html{scroll-behavior:auto}}