:root{--font-sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"JetBrains Mono","Fira Code",Consolas,Monaco,"Andale Mono",monospace;--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-code:#101010;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--border-color:#e5e5e5;--accent-color:#06c;--accent-hover:#0052a3;--tag-bg:#f0f0f0;--tag-text:#555}[data-theme=dark]{--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-code:#101010;--text-primary:#e5e5e5;--text-secondary:#a0a0a0;--text-muted:#777;--border-color:#333;--accent-color:#6db3f2;--accent-hover:#8fc5f7;--tag-bg:#2a2a2a;--tag-text:#b0b0b0}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease}a{color:var(--accent-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-hover)}.site-container{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1 1;max-width:720px;width:100%;margin:0 auto;padding:2rem 1.5rem}.site-header{border-bottom:1px solid var(--border-color);background-color:var(--bg-primary);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-wrapper{max-width:720px;margin:0 auto;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.site-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.site-title:hover{color:var(--accent-color)}.site-actions{display:flex;align-items:center;gap:1rem}.site-github-link{color:var(--text-secondary);display:flex;align-items:center}.site-github-link:hover{color:var(--text-primary)}.theme-toggle{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;cursor:pointer;padding:.375rem .625rem;display:flex;align-items:center;transition:background-color .2s ease,border-color .2s ease}.theme-toggle:hover{border-color:var(--text-muted)}.toggle-slider{display:flex;gap:.375rem;font-size:1rem}.toggle-icon{opacity:.3;transition:opacity .2s ease,transform .2s ease}.toggle-icon.active{opacity:1;transform:scale(1.1)}.site-footer{border-top:1px solid var(--border-color);padding:2rem 1.5rem;text-align:center;color:var(--text-muted);font-size:.875rem}.home{padding-top:1rem}.post-list{list-style:none}.post-item{padding:1.5rem 0;border-bottom:1px solid var(--border-color)}.post-item:last-child{border-bottom:none}.post-item .post-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;line-height:1.4}.post-item .post-title a{color:var(--text-primary)}.post-item .post-title a:hover{color:var(--accent-color)}.post-meta{font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.post-category{background-color:var(--tag-bg);padding:.125rem .5rem;border-radius:4px;font-size:.75rem;color:var(--tag-text)}.post-excerpt{margin-top:.75rem;color:var(--text-secondary);font-size:.9375rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-tags{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}.tag{font-size:.8125rem;color:var(--text-muted)}.taxonomy-page{padding-top:1rem}.taxonomy-header{margin-bottom:2rem}.taxonomy-back{font-size:.875rem;color:var(--text-secondary);display:inline-block;margin-bottom:.5rem}.taxonomy-back:hover{color:var(--accent-color)}.taxonomy-title{font-size:2rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.02em}.taxonomy-count-label{color:var(--text-secondary);font-size:.9375rem}.taxonomy-list{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.taxonomy-item{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease}.taxonomy-item:hover{border-color:var(--accent-color);background-color:var(--bg-primary)}.taxonomy-name{color:var(--text-primary);font-weight:500}.taxonomy-count{font-size:.75rem;color:var(--text-muted);background-color:var(--tag-bg);padding:.125rem .5rem;border-radius:10px}.tags-cloud .tag-item{padding:.5rem .875rem}.tags-cloud .taxonomy-name{color:var(--accent-color)}@media (max-width:640px){html{font-size:15px}.site-main{padding:1.5rem 1rem}.header-wrapper{padding:.875rem 1rem}.taxonomy-title{font-size:1.5rem}.taxonomy-list{gap:.5rem}.taxonomy-item{padding:.5rem .75rem}}.hljs{background:var(--bg-code);color:#abb2bf}.hljs-code,.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword,.hljs-meta .hljs-keyword{color:#c50263}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#02c584}.hljs-literal{color:#c50243}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#02c797}.hljs-attr,.hljs-number,.hljs-punctuation,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable,.hljs-variable.language_{color:#02c574}.hljs-bullet,.hljs-char.escape_,.hljs-link,.hljs-meta,.hljs-property,.hljs-selector-id,.hljs-symbol,.hljs-tag,.hljs-title,.hljs-title.function_{color:#c50253}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__{color:#02c563}.hljs-operator,.hljs-params,.hljs-template-tag{color:#c50233}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}[data-theme=dark] .hljs{background:var(--bg-code);color:#abb2bf}[data-theme=dark] .hljs-code,[data-theme=dark] .hljs-comment,[data-theme=dark] .hljs-quote{color:#5c6370;font-style:italic}[data-theme=dark] .hljs-doctag,[data-theme=dark] .hljs-formula,[data-theme=dark] .hljs-keyword,[data-theme=dark] .hljs-meta .hljs-keyword{color:#c50263}[data-theme=dark] .hljs-deletion,[data-theme=dark] .hljs-name,[data-theme=dark] .hljs-section,[data-theme=dark] .hljs-selector-tag,[data-theme=dark] .hljs-subst{color:#02c584}[data-theme=dark] .hljs-literal{color:#c50243}[data-theme=dark] .hljs-addition,[data-theme=dark] .hljs-attribute,[data-theme=dark] .hljs-meta .hljs-string,[data-theme=dark] .hljs-regexp,[data-theme=dark] .hljs-string{color:#02c797}[data-theme=dark] .hljs-attr,[data-theme=dark] .hljs-number,[data-theme=dark] .hljs-punctuation,[data-theme=dark] .hljs-selector-attr,[data-theme=dark] .hljs-selector-class,[data-theme=dark] .hljs-selector-pseudo,[data-theme=dark] .hljs-template-variable,[data-theme=dark] .hljs-type,[data-theme=dark] .hljs-variable,[data-theme=dark] .hljs-variable.language_{color:#02c574}[data-theme=dark] .hljs-bullet,[data-theme=dark] .hljs-char.escape_,[data-theme=dark] .hljs-link,[data-theme=dark] .hljs-meta,[data-theme=dark] .hljs-property,[data-theme=dark] .hljs-selector-id,[data-theme=dark] .hljs-symbol,[data-theme=dark] .hljs-tag,[data-theme=dark] .hljs-title,[data-theme=dark] .hljs-title.function_{color:#c50253}[data-theme=dark] .hljs-built_in,[data-theme=dark] .hljs-class .hljs-title,[data-theme=dark] .hljs-title.class_,[data-theme=dark] .hljs-title.class_.inherited__{color:#02c563}[data-theme=dark] .hljs-operator,[data-theme=dark] .hljs-params,[data-theme=dark] .hljs-template-tag{color:#c50233}