:root{--body-bg:#f5f5fa;--card-bg:#ffffff;--card-bg-hover:#fafafc;--text-main:#1a1a1a;--text-sec:#6b6b70;--text-ter:#8a8a90;--border:rgba(0, 0, 0, 0.07);--accent:#34495e;--accent-text:#ffffff;--link:#2c6fbb;--mark:rgba(255, 196, 0, 0.38);--code-bg:rgba(0, 0, 0, 0.05);--radius:10px;--shadow-1:0 4px 8px rgba(0, 0, 0, 0.04), 0 0 2px rgba(0, 0, 0, 0.06), 0 0 1px rgba(0, 0, 0, 0.04);--shadow-2:0 10px 20px rgba(0, 0, 0, 0.05), 0 2px 6px rgba(0, 0, 0, 0.05), 0 0 1px rgba(0, 0, 0, 0.04);--font:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "D2Coding", monospace;color-scheme:light}[data-scheme=dark]{--body-bg:#2b2b2e;--card-bg:#3a3a3e;--card-bg-hover:#404045;--text-main:rgba(255, 255, 255, 0.92);--text-sec:rgba(255, 255, 255, 0.66);--text-ter:rgba(255, 255, 255, 0.5);--border:rgba(255, 255, 255, 0.1);--accent:#ecf0f1;--accent-text:#1a1a1a;--link:#8ab4f8;--mark:rgba(255, 196, 0, 0.3);--code-bg:rgba(255, 255, 255, 0.08);--shadow-1:0 4px 8px rgba(0, 0, 0, 0.12), 0 0 1px rgba(0, 0, 0, 0.2);--shadow-2:0 10px 20px rgba(0, 0, 0, 0.2), 0 0 1px rgba(0, 0, 0, 0.3);color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}body{margin:0;background:var(--body-bg);color:var(--text-main);font-family:var(--font);font-size:16px;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere;transition:background-color .3s ease}a{color:inherit;text-decoration:none}img{max-width:100%}button{font:inherit;color:inherit}.icon{width:20px;height:20px;flex-shrink:0}.container{display:flex;align-items:flex-start;gap:32px;max-width:1440px;margin:0 auto;padding:0 24px}.main{flex:1;min-width:0;padding:40px 0 24px}.sidebar{flex-shrink:0;position:sticky;top:0}.left-sidebar{width:240px;height:100vh;padding:44px 0 32px;display:flex;flex-direction:column;gap:32px}.right-sidebar{width:300px;max-height:100vh;overflow-y:auto;padding:40px 4px 32px;scrollbar-width:thin}.site-info{display:flex;flex-direction:column;gap:18px}.site-avatar{position:relative;width:120px;height:120px;display:block}.site-avatar img,.avatar-fallback{width:120px;height:120px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-2);display:block}.avatar-fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#34495e 0%,#5b7db1 100%);color:#fff;font-size:52px;font-weight:800;letter-spacing:-.02em}.avatar-emoji{position:absolute;right:-4px;bottom:2px;width:40px;height:40px;border-radius:50%;background:var(--card-bg);box-shadow:var(--shadow-1);display:flex;align-items:center;justify-content:center;font-size:20px}.site-name{margin:0;font-size:1.6rem;font-weight:800;letter-spacing:-.02em}.site-description{margin:4px 0 0;color:var(--text-sec);font-size:.95rem;line-height:1.5}.menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;flex:1}.menu a,#dark-mode-toggle{display:flex;align-items:center;gap:14px;padding:9px 0;color:var(--text-sec);font-size:1rem;font-weight:500;transition:color .2s}.menu a:hover,#dark-mode-toggle:hover{color:var(--text-main)}.menu li.current a{color:var(--text-main);font-weight:700}.menu li.current .icon{stroke-width:2.4}.menu-bottom{margin-top:auto}#dark-mode-toggle{background:0 0;border:0;cursor:pointer;width:100%;text-align:left}.switch{width:36px;height:20px;border-radius:999px;background:var(--border);position:relative;flex-shrink:0;transition:background .25s;box-shadow:inset 0 0 0 1.5px var(--text-ter)}.switch span{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--text-sec);transition:transform .25s,background .25s}[data-scheme=dark] .switch{background:var(--accent);box-shadow:none}[data-scheme=dark] .switch span{transform:translateX(16px);background:var(--accent-text)}.menu-toggle{display:none}.article-list{display:flex;flex-direction:column;gap:28px}.article-card,.main-article,.section-card,.widget-card,.compact-list,.search-form,.term-card,.related-card,.post-nav a{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-1)}.article-card{overflow:hidden;transition:box-shadow .3s ease}.article-card:hover{box-shadow:var(--shadow-2)}.article-card .article-image img{width:100%;height:240px;object-fit:cover;display:block}.article-details{padding:26px 30px 28px;display:flex;flex-direction:column;gap:12px}.article-category{display:flex;flex-wrap:wrap;gap:8px}.article-category a{background:var(--cat,var(--accent));color:#fff;font-size:.8rem;font-weight:700;padding:5px 12px;border-radius:6px;letter-spacing:.01em;transition:filter .2s}.article-category a:hover{filter:brightness(1.1)}.article-title{margin:0;font-size:1.55rem;font-weight:800;line-height:1.38;letter-spacing:-.02em}.article-title a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}.article-subtitle{margin:0;color:var(--text-sec);font-size:1rem;line-height:1.65}.article-time{display:flex;flex-wrap:wrap;gap:18px;color:var(--text-ter);font-size:.9rem;margin-top:4px}.article-time>div{display:flex;align-items:center;gap:6px}.article-time .icon{width:18px;height:18px}.pagination{display:inline-flex;margin-top:28px;overflow:hidden;background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-1)}.page-link{min-width:44px;padding:10px 14px;text-align:center;color:var(--text-sec);font-weight:600}.page-link:hover{color:var(--text-main);background:var(--card-bg-hover)}.page-link.current{background:var(--accent);color:var(--accent-text)}.page-link.dots{color:var(--text-ter)}.section-card{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:26px 30px;margin-bottom:28px}.section-label{margin:0;font-size:.85rem;color:var(--text-ter);font-weight:600}.section-title{margin:2px 0 0;font-size:1.75rem;font-weight:800;letter-spacing:-.02em}.section-description{margin:6px 0 0;color:var(--text-sec)}.section-description a{color:var(--link)}.section-count{margin:0;color:var(--text-sec);font-weight:600;white-space:nowrap}.term-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:32px}.term-card{padding:20px 22px;display:flex;flex-direction:column;gap:4px;transition:box-shadow .3s,transform .3s}.term-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.term-name{font-weight:800;font-size:1.15rem}.term-count{color:var(--text-ter);font-size:.88rem}.archive-heading{font-size:1.3rem;font-weight:800;margin:8px 0 14px}.compact-list{overflow:hidden;margin-bottom:32px}.compact-item+.compact-item{border-top:1px solid var(--border)}.compact-item>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;transition:background .2s}.compact-item>a:hover{background:var(--card-bg-hover)}.compact-details{min-width:0;display:flex;flex-direction:column;gap:4px}.compact-title{margin:0;font-size:1.08rem;font-weight:700;line-height:1.45}.compact-item time,.compact-meta{color:var(--text-ter);font-size:.86rem}.compact-excerpt{margin:2px 0 0;color:var(--text-sec);font-size:.93rem;line-height:1.6}.compact-thumb{flex-shrink:0;width:64px;height:64px;border-radius:8px;overflow:hidden}.compact-thumb img{width:100%;height:100%;object-fit:cover;display:block}mark{background:var(--mark);color:inherit;border-radius:3px;padding:0 2px}.search-form{padding:22px 26px;margin-bottom:20px}.search-form label{display:block;font-size:.85rem;font-weight:600;color:var(--text-ter);margin-bottom:6px}.search-row{display:flex;align-items:center;gap:12px}.search-row input{flex:1;min-width:0;border:0;outline:0;background:0 0;font:inherit;font-size:1.45rem;font-weight:700;color:var(--text-main);padding:4px 0}.search-row input::placeholder{color:var(--text-ter);font-weight:500}.search-row button,.widget-search button{border:0;background:0 0;cursor:pointer;color:var(--text-sec);padding:6px;display:flex}.search-row button .icon{width:26px;height:26px}.search-status{margin:4px 4px 16px;font-size:1rem;font-weight:700;color:var(--text-sec);min-height:1.5em}.search-status small{font-weight:500;color:var(--text-ter);margin-left:6px}.widget{margin-bottom:36px}.widget-icon{color:var(--text-main)}.widget-icon .icon{width:30px;height:30px;stroke-width:1.6}.widget-title{margin:6px 0 14px;font-size:1.1rem;font-weight:800}.widget-search{display:flex;align-items:center;background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:4px 8px 4px 18px}.widget-search input{flex:1;min-width:0;border:0;outline:0;background:0 0;font:inherit;color:var(--text-main);padding:10px 0}.widget-search input::placeholder{color:var(--text-ter)}.widget-list{overflow:hidden}.widget-list a{display:flex;justify-content:space-between;padding:13px 20px;font-weight:600;transition:background .2s}.widget-list a+a{border-top:1px solid var(--border)}.widget-list a:hover{background:var(--card-bg-hover)}.widget-list .count{color:var(--text-ter);font-weight:500}.tag-cloud{display:flex;flex-wrap:wrap;gap:9px}.tag-cloud a{background:var(--card-bg);box-shadow:var(--shadow-1);border-radius:8px;padding:7px 14px;font-size:.88rem;color:var(--text-sec);transition:box-shadow .2s,color .2s}.tag-cloud a:hover{box-shadow:var(--shadow-2);color:var(--text-main)}.toc{padding:14px 8px;max-height:calc(100vh - 180px);overflow-y:auto;scrollbar-width:thin}.toc ul,.toc-inline ul{list-style:none;margin:0;padding:0}.toc ul ul,.toc-inline ul ul{padding-left:14px}.toc a{display:block;padding:6px 12px;border-radius:6px;color:var(--text-sec);font-size:.92rem;line-height:1.45;border-left:3px solid transparent;transition:all .2s}.toc a:hover{color:var(--text-main);background:var(--card-bg-hover)}.toc a.active{color:var(--text-main);font-weight:700;border-left-color:var(--accent);background:var(--card-bg-hover)}.toc-inline{display:none;margin:0 30px 8px;padding:12px 18px;border-radius:8px;background:var(--code-bg)}.toc-inline summary{cursor:pointer;font-weight:700;display:flex;align-items:center;gap:8px;list-style:none}.toc-inline summary::-webkit-details-marker{display:none}.toc-inline nav{margin-top:8px}.toc-inline a{display:block;padding:4px 0;color:var(--text-sec);font-size:.95rem}.main-article{overflow:hidden}.main-article .article-image img{width:100%;max-height:420px;object-fit:cover;display:block}.main-article .article-details{padding:32px 36px 20px}.main-article .article-title{font-size:2.05rem;line-height:1.3}.article-content{padding:8px 36px 32px;font-size:1.06rem;line-height:1.9}.article-content>:first-child{margin-top:0}.article-content h2,.article-content h3,.article-content h4{line-height:1.4;letter-spacing:-.015em;margin:2em 0 .7em;scroll-margin-top:24px}.article-content h2{font-size:1.55rem;padding-bottom:.3em;border-bottom:1px solid var(--border)}.article-content h3{font-size:1.28rem}.article-content h4{font-size:1.1rem}.article-content p{margin:0 0 1.3em}.article-content a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.article-content img{display:block;margin:1.6em auto;border-radius:8px;height:auto}.article-content blockquote{margin:1.5em 0;padding:14px 20px;border-left:4px solid var(--accent);background:var(--code-bg);border-radius:0 8px 8px 0;color:var(--text-sec)}.article-content blockquote p:last-child{margin-bottom:0}.article-content ul,.article-content ol{padding-left:1.5em;margin:0 0 1.3em}.article-content li+li{margin-top:.35em}.article-content code{font-family:var(--mono);font-size:.88em;background:var(--code-bg);padding:2px 6px;border-radius:5px}.article-content pre{font-size:.9rem;line-height:1.6;padding:18px 20px;border-radius:8px;overflow-x:auto;margin:1.5em 0;background:#272822;color:#f8f8f2}.article-content pre code{background:0 0;padding:0;font-size:inherit}.article-content .highlight pre{margin:0}.article-content .highlight{margin:1.5em 0}.article-content hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}.article-content table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.95rem;display:block;overflow-x:auto}.article-content th,.article-content td{border:1px solid var(--border);padding:9px 12px;text-align:left}.article-content th{background:var(--code-bg)}.article-footer{padding:0 36px 30px}.article-tags{display:flex;flex-wrap:wrap;gap:8px}.article-tags a{background:var(--code-bg);color:var(--text-sec);padding:5px 12px;border-radius:6px;font-size:.88rem;font-weight:600}.article-tags a:hover{color:var(--text-main)}.lastmod{margin:16px 0 0;color:var(--text-ter);font-size:.88rem}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.post-nav a{padding:18px 22px;display:flex;flex-direction:column;gap:4px;transition:box-shadow .3s}.post-nav a:hover{box-shadow:var(--shadow-2)}.post-nav a span{display:flex;align-items:center;gap:6px;color:var(--text-ter);font-size:.86rem}.post-nav .next{text-align:right;align-items:flex-end}.post-nav .icon{width:16px;height:16px}.related{margin-top:36px}.related-title{font-size:1.3rem;font-weight:800;margin:0 0 14px}.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.related-card{overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s}.related-card:hover{box-shadow:var(--shadow-2)}.related-image img{width:100%;height:120px;object-fit:cover;display:block}.related-details{padding:14px 16px;display:flex;flex-direction:column;gap:4px}.related-details time{color:var(--text-ter);font-size:.84rem}.site-footer{margin-top:48px;padding:24px 4px;color:var(--text-ter);font-size:.88rem}.site-footer p{margin:0 0 4px}.site-footer a{display:inline-flex;align-items:center;gap:4px}.site-footer a:hover{color:var(--text-main)}.site-footer .icon{width:15px;height:15px}.empty{color:var(--text-sec)}@media(max-width:1199px){.right-sidebar{display:none}.toc-inline{display:block}}@media(max-width:767px){.container{flex-direction:column;gap:0;padding:0 16px}.left-sidebar{position:relative;width:100%;height:auto;padding:24px 0 8px;gap:0}.site-info{flex-direction:row;align-items:center;gap:14px;padding-right:48px}.site-avatar,.site-avatar img,.avatar-fallback{width:56px;height:56px}.avatar-fallback{font-size:26px}.avatar-emoji{width:24px;height:24px;font-size:12px;right:-4px;bottom:-2px}.site-name{font-size:1.3rem}.site-description{font-size:.85rem;margin:0}.menu-toggle{display:flex;position:absolute;right:0;top:34px;background:var(--card-bg);border:0;border-radius:8px;box-shadow:var(--shadow-1);padding:8px;cursor:pointer}.menu{display:none;margin-top:18px;padding:8px 18px;background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-1)}body.menu-open .menu{display:flex}.menu-bottom{margin-top:4px;border-top:1px solid var(--border);padding-top:4px}.main{padding-top:16px}.article-card .article-image img{height:180px}.article-details,.main-article .article-details{padding:20px 20px 22px}.article-title{font-size:1.3rem}.main-article .article-title{font-size:1.6rem}.article-content{padding:4px 20px 24px;font-size:1.02rem}.article-footer{padding:0 20px 22px}.toc-inline{margin:0 20px 8px}.section-card{padding:20px;flex-direction:column;align-items:flex-start}.compact-item>a{padding:16px 18px}.post-nav{grid-template-columns:1fr}}.ad-slot{margin-bottom:36px;min-height:250px}.ad-slot .widget-title{margin-top:0;font-size:.75rem;font-weight:600;color:var(--text-ter)}