.footer[data-astro-cid-gcn2mc3v]{margin-top:var(--space-16);padding:var(--space-6) var(--space-4);border-top:1px solid var(--color-border-light)}.footer-inner[data-astro-cid-gcn2mc3v]{display:flex;justify-content:space-between;align-items:center;max-width:var(--max-width-wide);margin:0 auto}.copyright[data-astro-cid-gcn2mc3v]{font-size:var(--text-sm);color:var(--color-text-muted)}.footer-nav[data-astro-cid-gcn2mc3v]{display:flex;gap:var(--space-4)}.footer-link[data-astro-cid-gcn2mc3v]{font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--transition)}.footer-link[data-astro-cid-gcn2mc3v]:hover{color:var(--color-primary)}@media(max-width:640px){.footer-inner[data-astro-cid-gcn2mc3v]{flex-direction:column;gap:var(--space-3)}.footer-nav[data-astro-cid-gcn2mc3v]{gap:var(--space-3)}}.inline{display:inline}.block{display:block}.inline-block{display:inline-block}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.left{float:left}.right{float:right}.fit{max-width:100%}.max-width-1{max-width:24rem}.max-width-2{max-width:32rem}.max-width-3{max-width:48rem}.max-width-4{max-width:64rem}.border-box{box-sizing:border-box}.m0{margin:0}.mt0{margin-top:0}.mr0{margin-right:0}.mb0{margin-bottom:0}.ml0{margin-left:0}.mx0{margin-right:0;margin-left:0}.my0{margin-top:0;margin-bottom:0}.m1{margin:.5rem}.mt1{margin-top:.5rem}.mr1{margin-right:.5rem}.mb1{margin-bottom:.5rem}.ml1{margin-left:.5rem}.mx1{margin-right:.5rem;margin-left:.5rem}.my1{margin-top:.5rem;margin-bottom:.5rem}.m2{margin:1rem}.mt2{margin-top:1rem}.mr2{margin-right:1rem}.mb2{margin-bottom:1rem}.ml2{margin-left:1rem}.mx2{margin-right:1rem;margin-left:1rem}.my2{margin-top:1rem;margin-bottom:1rem}.m3{margin:2rem}.mt3{margin-top:2rem}.mr3{margin-right:2rem}.mb3{margin-bottom:2rem}.ml3{margin-left:2rem}.mx3{margin-right:2rem;margin-left:2rem}.my3{margin-top:2rem;margin-bottom:2rem}.m4{margin:4rem}.mt4{margin-top:4rem}.mr4{margin-right:4rem}.mb4{margin-bottom:4rem}.ml4{margin-left:4rem}.mx4{margin-right:4rem;margin-left:4rem}.my4{margin-top:4rem;margin-bottom:4rem}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mx-auto{margin-right:auto;margin-left:auto}.p0{padding:0}.pt0{padding-top:0}.pr0{padding-right:0}.pb0{padding-bottom:0}.pl0{padding-left:0}.px0{padding-right:0;padding-left:0}.py0{padding-top:0;padding-bottom:0}.p1{padding:.5rem}.pt1{padding-top:.5rem}.pr1{padding-right:.5rem}.pb1{padding-bottom:.5rem}.pl1{padding-left:.5rem}.py1{padding-top:.5rem;padding-bottom:.5rem}.px1{padding-right:.5rem;padding-left:.5rem}.p2{padding:1rem}.pt2{padding-top:1rem}.pr2{padding-right:1rem}.pb2{padding-bottom:1rem}.pl2{padding-left:1rem}.py2{padding-top:1rem;padding-bottom:1rem}.px2{padding-right:1rem;padding-left:1rem}.p3{padding:2rem}.pt3{padding-top:2rem}.pr3{padding-right:2rem}.pb3{padding-bottom:2rem}.pl3{padding-left:2rem}.py3{padding-top:2rem;padding-bottom:2rem}.px3{padding-right:2rem;padding-left:2rem}.p4{padding:4rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);border-radius:var(--radius-base);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:all var(--transition-fast)}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-background);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-background-hover);border-color:var(--color-border-dark)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover{color:var(--color-primary)}.btn-icon{padding:var(--spacing-2);border-radius:var(--radius-md)}.btn-icon svg{width:1.25rem;height:1.25rem}.card{background:var(--color-background);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}.card:hover{border-color:var(--color-border);box-shadow:var(--shadow-base)}.card-header{padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--color-border-light)}.card-body{padding:var(--spacing-5)}.card-footer{padding:var(--spacing-4) var(--spacing-5);border-top:1px solid var(--color-border-light);background:var(--color-background-secondary)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.link{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}.link:hover{color:var(--color-link-hover)}.link-underline{color:var(--color-text);text-decoration:none;background-image:linear-gradient(transparent,transparent 5px,var(--color-link-underline) 5px,var(--color-link-underline));background-position:bottom;background-size:100% 6px;background-repeat:repeat-x;transition:background-image var(--transition-fast)}.link-underline:hover{background-image:linear-gradient(transparent,transparent 4px,var(--color-link-underline-hover) 4px,var(--color-link-underline-hover))}.link-nav{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium)}.link-nav:hover{text-decoration:underline}.tag{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);border-radius:var(--radius-base);text-decoration:none;transition:all var(--transition-fast)}.tag-default{background:var(--color-background-tertiary);color:var(--color-text-secondary)}.tag-default:hover,.tag-primary{background:var(--color-primary-soft);color:var(--color-primary)}.tag-primary:hover{background:var(--color-primary);color:var(--color-text-inverse)}.tag-count{margin-left:var(--spacing-2);padding:.125rem var(--spacing-2);background:#0000001a;border-radius:var(--radius-full);font-size:var(--font-size-xs)}.dark .tag-count{background:#ffffff26}.input{display:block;width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:all var(--transition-fast)}.input::placeholder{color:var(--color-text-light)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.badge{display:inline-flex;align-items:center;padding:.125rem var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full)}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-error{background:var(--color-error-soft);color:var(--color-error)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-info{background:var(--color-info-soft);color:var(--color-info)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-background-secondary)}.border-primary{border-color:var(--color-primary)}.focus-ring:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.transition-fast{transition:all var(--transition-fast)}.transition-base{transition:all var(--transition-base)}.transition-slow{transition:all var(--transition-slow)}.content h1,.content .h1{display:block;margin-top:var(--space-8);margin-bottom:var(--space-4);color:var(--color-text);letter-spacing:-.02em;font-weight:var(--font-bold);font-size:var(--text-2xl);line-height:var(--leading-tight)}.content h2,.content .h2{position:relative;display:block;margin-top:var(--space-8);margin-bottom:var(--space-3);color:var(--color-text);letter-spacing:-.01em;font-weight:var(--font-semibold);font-size:1.5rem;line-height:1.3}.content h3{margin-top:var(--space-6);margin-bottom:var(--space-3);color:var(--color-text);font-weight:var(--font-semibold);font-size:1.25rem;line-height:1.4}.content h4{margin-top:var(--space-5);margin-bottom:var(--space-2);color:var(--color-text);font-weight:var(--font-semibold);font-size:1.125rem;line-height:1.4}.content h5,.content h6{margin-top:var(--space-4);margin-bottom:var(--space-2);color:var(--color-text-secondary);font-weight:var(--font-semibold);font-size:var(--text-base);line-height:var(--leading-normal)}.content p{margin-top:0;margin-bottom:var(--space-4);line-height:var(--leading-relaxed)}.content a{color:var(--color-text);text-decoration:none;background-image:linear-gradient(transparent,transparent 5px,var(--color-link-underline) 5px,var(--color-link-underline));background-position:bottom;background-size:100% 6px;background-repeat:repeat-x;transition:background-image var(--transition)}.content a:hover{background-image:linear-gradient(transparent,transparent 4px,var(--color-link-underline-hover) 4px,var(--color-link-underline-hover))}.content .article-list a,.content .article-link,.content .tag-card,.content .tag-list a,.content .breadcrumb a,.content .view-all-link,.content .post-title-link,.content .article-nav__card,.content .article-navigation a,.content .article-nav a,.content .share-btn,.content .author-link,.content .related-link,.content .related-card,.content .related-compact-link,.content a.icon{background-image:none}.content a.icon:hover{color:var(--color-primary);background-image:none}.content h1 a,.content h2 a,.content h3 a,.content h4 a,.content h5 a,.content h6 a{background:none;color:inherit}.content ul,.content ol,.content dl{margin-top:0;margin-bottom:var(--space-4);padding-left:var(--space-6);line-height:var(--leading-relaxed)}.content ul ul,.content ol ul,.content ul ol,.content ol ol{margin-top:var(--space-2);margin-bottom:var(--space-2)}.content li{margin-bottom:var(--space-2)}.content ol{list-style:decimal}.content dt{font-weight:var(--font-semibold)}.content dd{margin-left:var(--space-4);margin-bottom:var(--space-2)}.content blockquote{margin:var(--space-6) 0;padding:var(--space-4) var(--space-5);border-left:3px solid var(--color-primary);background:var(--color-background-secondary);border-radius:0 var(--radius-md) var(--radius-md) 0}.content blockquote p{margin:0;color:var(--color-text-secondary);font-style:italic}.content blockquote cite{display:block;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);font-style:normal}.content code{padding:.2em .4em;font-family:var(--font-mono);font-size:.875em;background:var(--color-background-tertiary);border-radius:var(--radius-sm)}.content pre{margin:var(--space-6) 0;padding:var(--space-4);overflow-x:auto;background:var(--color-background-tertiary);border-radius:var(--radius-md)}.content pre code{padding:0;background:none;font-size:var(--text-sm);line-height:var(--leading-relaxed)}.content table{width:100%;margin:var(--space-6) 0;border-collapse:collapse;font-size:var(--text-sm)}.content th{padding:var(--space-3);border-bottom:2px solid var(--color-border);color:var(--color-text);font-weight:var(--font-semibold);text-align:left}.content td{padding:var(--space-3);border-bottom:1px solid var(--color-border-light)}.content tr:last-child td{border-bottom:none}.content hr{margin:var(--space-8) 0;border:none;border-top:1px solid var(--color-border-light)}.content img{max-width:100%;height:auto;border-radius:var(--radius-md)}.content figure{margin:var(--space-6) 0}.content figcaption{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.content strong{font-weight:var(--font-semibold)}.content em,.content cite{font-style:italic}.content small{font-size:.875em}.content sup,.content sub{position:relative;vertical-align:baseline;font-size:.75em;line-height:0}.content sup{top:-.5em}.content sub{bottom:-.2em}.content abbr,.content acronym{border-bottom:1px dotted var(--color-text-muted);cursor:help}.content mark{padding:.1em .2em;background:var(--color-warning-soft);border-radius:var(--radius-sm)}.post-content{margin-top:var(--space-6)}.post-content>*:first-child{margin-top:0}.post-content>*:last-child{margin-bottom:0}.reading-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));z-index:var(--z-fixed);transition:width .1s linear}.reading-time{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-muted);font-size:var(--font-size-sm)}.reading-time svg{width:14px;height:14px;opacity:.7}.toc-container{position:sticky;top:var(--spacing-xl);max-height:calc(100vh - 4rem);overflow-y:auto;padding:var(--spacing-lg);background:var(--color-background-secondary);border-radius:var(--border-radius-lg);border:1px solid var(--color-border-light)}.toc-container h4{margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.toc-list{margin:0;padding:0;list-style:none}.toc-list li{margin-bottom:var(--spacing-xs)}.toc-list a{display:block;padding:var(--spacing-xs) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-decoration:none;background:none!important;background-image:none!important;transition:color var(--transition-fast);line-height:var(--line-height-tight)}.toc-list a:hover{color:var(--color-primary);background:none!important;background-image:none!important}.toc-list a.active{color:var(--color-primary);font-weight:500}.toc-list .toc-h3{padding-left:var(--spacing-md);font-size:var(--font-size-xs)}.toc-list .toc-h4{padding-left:var(--spacing-xl);font-size:var(--font-size-xs);color:var(--color-text-muted)}.toc-toggle{display:none;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;text-align:left}.toc-toggle:hover{background:var(--color-background-tertiary)}@media(max-width:1024px){.toc-container{position:relative;top:0;max-height:none;margin-bottom:var(--spacing-lg)}.toc-toggle{display:flex;align-items:center;justify-content:space-between}.toc-list{display:none;margin-top:var(--spacing-md)}.toc-list.expanded{display:block}}.dark{background-color:var(--color-background);color:var(--color-text)}.dark html{border-top-color:var(--color-primary)}.dark .content a{color:var(--color-text);background-image:linear-gradient(transparent,transparent 5px,var(--color-text-secondary) 5px,var(--color-text-secondary))}.dark .content a:hover{background-image:linear-gradient(transparent,transparent 4px,var(--color-accent) 4px,var(--color-accent))}.dark .highlight,.dark pre{background:var(--color-code-bg);border-color:var(--color-code-border)}.dark code{background:var(--color-background-tertiary);color:var(--color-code-text)}.dark .topic-card{background:var(--color-background-secondary);border-color:var(--color-border)}.dark .topic-card:hover{background:var(--color-background-tertiary);border-color:var(--color-primary)}.dark .related-articles{background:var(--color-background-secondary)}.dark .article-navigation .nav-title{color:var(--color-text)}.dark .toc-container{background:var(--color-background-secondary);border-color:var(--color-border)}.dark .search-input{background-color:var(--color-background-secondary);border-color:var(--color-border);color:var(--color-text)}.dark .search-input:focus{border-color:var(--color-primary)}.back-to-top{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-background);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-secondary);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:all var(--transition-base);z-index:var(--z-sticky);box-shadow:var(--shadow-sm)}.back-to-top:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top svg{width:20px;height:20px}@media(max-width:640px){.back-to-top{bottom:var(--spacing-lg);right:var(--spacing-lg);width:36px;height:36px}.back-to-top svg{width:18px;height:18px}}.post-item{display:flex;align-items:baseline;gap:1.5rem;padding:.75rem 0;border-bottom:1px solid var(--color-border-light);transition:background-color var(--transition-fast)}.post-item:hover{background-color:var(--color-background-hover);border-radius:var(--border-radius-base);padding-left:.5rem;padding-right:.5rem;margin-left:-.5rem;margin-right:-.5rem}.post-meta-date{flex-shrink:0;min-width:7rem;width:7rem;font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-meta);white-space:nowrap}.post-title-link{color:var(--color-text);text-decoration:none;background-image:none;font-weight:var(--font-weight-medium);line-height:1.5;transition:color var(--transition-fast);word-break:break-word}.post-title-link:hover,.post-item:hover .post-title-link{color:var(--color-primary)}.post-meta-detail{font-size:var(--font-size-sm);color:var(--color-text-meta)}.view-all-link{display:inline-block;color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none;transition:color var(--transition-fast)}.view-all-link:hover{color:var(--color-primary-hover);text-decoration:underline}.table{display:table}.table-cell{display:table-cell}.overflow-scroll{overflow:scroll}.truncate{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@font-face{font-style:normal;font-family:Meslo LG;src:local("Meslo LG S"),url(../lib/meslo-LG/MesloLGS-Regular.ttf) format("truetype")}html{border-top:2px solid var(--color-text)}body{display:flex;flex-direction:column}.content{flex:1}.icon,svg.icon{display:inline-block;vertical-align:middle;color:inherit;fill:currentColor}a.icon{color:var(--color-text);text-decoration:none}a.icon:hover{color:var(--color-accent)}.content a.icon{background:none!important;background-image:none!important;color:var(--color-text)}.content a.icon:hover{color:var(--color-accent);background:none!important;background-image:none!important}.content .post-title-link,.content .post-title-link:hover,.content .post-item:hover .post-title-link,.content .view-all-link,.content .view-all-link:hover,.content .tag-card,.content .tag-card:hover,.content .tag-list a,.content .tag-list a:hover,.content .breadcrumb a,.content .breadcrumb a:hover,.content .back-link a,.content .back-link a:hover,.content .article-list a,.content .article-list a:hover,.content .article-link,.content .article-link:hover,.content .post-list a,.content .post-list a:hover{background-image:none}.content h1 a,.content .h1 a,.content h2 a,.content h3 a,.content h4 a,.content h5 a,.content h6 a{background:none!important;background-image:none!important;color:inherit;text-decoration:none}.content h1 a:hover,.content .h1 a:hover,.content h2 a:hover,.content h3 a:hover,.content h4 a:hover,.content h5 a:hover,.content h6 a:hover{background-image:linear-gradient(transparent,transparent 6px,var(--color-link-underline-hover) 6px,var(--color-link-underline-hover));background-position:bottom;background-size:100% 6px;background-repeat:repeat-x}.content h6 a{background:none;color:inherit;text-decoration:none}.content h6 a:hover{background-image:linear-gradient(transparent,transparent 6px,var(--color-link-underline-hover) 6px,var(--color-link-underline-hover));background-position:bottom;background-size:100% 6px;background-repeat:repeat-x}@media(min-width:540px){.image-wrap{flex-direction:row;margin-bottom:2rem}.image-wrap .image-block{flex:1 0 35%;margin-right:2rem}.image-wrap p{flex:1 0 65%}}.max-width{max-width:48rem}@media(max-width:480px){.px3{padding-right:1rem;padding-left:1rem}.my4{margin-top:2rem;margin-bottom:2rem}}@media(min-width:480px){p{text-align:left}}#header{margin:0 auto 3rem;width:100%}#header h1,#header .h1{margin-top:0;margin-bottom:0;color:var(--color-text);letter-spacing:.01em;font-weight:700;font-style:normal;font-size:1.5rem;line-height:2rem;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}#header a{background:none;background-image:none;color:inherit;text-decoration:none}#header #logo{display:inline-block;float:left;margin-right:20px;width:50px;height:50px;border-radius:5px;filter:grayscale(100%);background-size:50px 50px;background-repeat:no-repeat;-webkit-filter:grayscale(100%)}#header #nav{color:var(--color-primary);letter-spacing:.01em;font-weight:200;font-style:normal;font-size:.875rem}#header #nav ul{margin:0;padding:0;list-style-type:none;line-height:1.5}#header #nav ul a{margin-right:15px;color:var(--color-primary)}#header #nav ul a:hover{background-image:linear-gradient(transparent,transparent 5px,var(--color-primary) 5px,var(--color-primary));background-position:bottom;background-size:100% 6px;background-repeat:repeat-x}#header #nav ul li{display:inline-block;margin-right:15px;border-right:1px dotted var(--color-primary);vertical-align:middle}#header #nav ul .icon{display:none}#header #nav ul li:last-child{margin-right:0;border-right:0}#header #nav ul li:last-child a{margin-right:0}#header:hover #logo{filter:none;-webkit-filter:none}@media screen and (max-width:480px){#header #title{padding-top:9px;padding-bottom:9px}#header #nav ul a:hover{background:none}#header #nav ul li{display:none;border-right:0}#header #nav ul li.icon{position:absolute;top:55px;right:1rem;display:inline-block}#header #nav ul.responsive li{display:block}#header #nav li:not(:first-child){padding-top:1rem;padding-left:70px;font-size:1rem}}#header-post{position:fixed;top:2rem;right:0;display:inline-block;float:right}#header-post a{background:none;color:inherit;text-decoration:none}#header-post a.icon{background:none}#header-post a.icon:hover{color:var(--color-accent)}#header-post ol{list-style-type:none}#header-post ul{display:inline-block;margin:0;padding:0;list-style-type:none}#header-post ul li{display:inline-block;margin-right:15px;vertical-align:middle}#header-post ul li:last-child{margin-right:0}#header-post #menu-icon{float:right;margin-right:2rem;margin-left:15px}#header-post #menu-icon:hover{color:var(--color-primary)}#header-post #menu-icon-tablet{float:right;margin-right:2rem;margin-left:15px}#header-post #menu-icon-tablet:hover{color:var(--color-primary)}#header-post #top-icon-tablet{position:fixed;right:2rem;bottom:2rem;margin-right:2rem;margin-left:15px}#header-post #top-icon-tablet:hover,#header-post .active{color:var(--color-primary)}#header-post #menu{visibility:hidden;margin-right:2rem}#header-post #nav{color:var(--color-primary);letter-spacing:.01em;font-weight:200;font-style:normal;font-size:.875rem}#header-post #nav ul{line-height:1.5}#header-post #nav ul a{margin-right:15px;color:var(--color-primary)}#header-post #nav ul a:hover{background-image:linear-gradient(transparent,transparent 5px,var(--color-primary) 5px,var(--color-primary));background-position:bottom;background-size:100% 6px;background-repeat:repeat-x}#header-post #nav ul li{border-right:1px dotted var(--color-primary)}#header-post #nav ul li:last-child{margin-right:0;border-right:0}#header-post #nav ul li:last-child a{margin-right:0}#header-post #actions{float:right;margin-top:2rem;margin-right:2rem;width:100%;text-align:right}#header-post #actions ul{display:block}#header-post #actions .info{display:block;font-style:italic}#header-post #share{clear:both;padding-top:1rem;padding-right:2rem;text-align:right}#header-post #share li{display:block;margin:0}#header-post #toc{float:right;clear:both;overflow:auto;margin-top:1rem;padding-right:2rem;max-width:20em;max-height:calc(95vh - 7rem);text-align:right}#header-post #toc a:hover{color:var(--color-accent)}#header-post #toc .toc-level-1>.toc-link{display:none}#header-post #toc .toc-level-2{color:var(--color-text);font-size:.875rem}#header-post #toc .toc-level-3{color:var(--color-text-muted);font-size:.8125rem}#header-post #toc .toc-level-4{color:var(--color-text-secondary);font-size:.75rem}#header-post #toc .toc-level-5,#header-post #toc .toc-level-6,#header-post #toc .toc-number{display:none}@media screen and (max-width:500px){#header-post{display:none}}@media screen and (max-width:900px){#header-post #menu-icon,#header-post #actions{display:none}}@media screen and (max-width:1199px){#header-post #toc{display:none}}@media screen and (min-width:900px){#header-post #menu-icon-tablet,#header-post #top-icon-tablet{display:none!important}}@media screen and (min-width:1199px){#header-post #actions{width:auto}#header-post #actions ul{display:inline-block;float:right}#header-post #actions .info{display:inline;float:left;margin-right:2rem;font-style:italic}}#footer-post{position:fixed;right:0;bottom:0;left:0;z-index:5000000;width:100%;border-top:1px solid var(--color-text-muted);background:var(--color-background-secondary);transition:opacity .2s}#footer-post a{background:none;color:inherit;text-decoration:none}#footer-post a.icon{background:none}#footer-post a.icon:hover{color:var(--color-accent)}#footer-post #nav-footer{padding-right:1rem;padding-left:1rem;background:var(--color-border);text-align:center}#footer-post #nav-footer a{color:var(--color-primary);font-size:1em}#footer-post #nav-footer a:hover{background-image:linear-gradient(transparent,transparent 5px,var(--color-primary) 5px,var(--color-primary));background-position:bottom;background-size:100% 6px;background-repeat:repeat-x}#footer-post #nav-footer ul{display:table;margin:0;padding:0;width:100%;list-style-type:none}#footer-post #nav-footer ul li{display:inline-table;padding:10px;width:20%;vertical-align:middle}#footer-post #actions-footer{overflow:auto;margin-top:1rem;margin-bottom:1rem;padding-right:1rem;padding-left:1rem;width:100%;text-align:center;white-space:nowrap}#footer-post #actions-footer a{display:inline-block;padding-left:1rem;color:var(--color-primary)}#footer-post #share-footer{padding-right:1rem;padding-left:1rem;background:var(--color-border);text-align:center}#footer-post #share-footer ul{display:table;margin:0;padding:0;width:100%;list-style-type:none}#footer-post #share-footer ul li{display:inline-table;padding:10px;width:20%;vertical-align:middle}#footer-post #toc-footer{clear:both;padding-top:1rem;padding-bottom:1rem;background:var(--color-border);text-align:left}#footer-post #toc-footer ol{margin:0;padding-left:20px;list-style-type:none}#footer-post #toc-footer ol li{line-height:30px}#footer-post #toc-footer a:hover{color:var(--color-accent)}#footer-post #toc-footer .toc-level-1>.toc-link{display:none}#footer-post #toc-footer .toc-level-2{color:var(--color-text);font-size:.875rem}#footer-post #toc-footer .toc-level-3{color:var(--color-text-muted);font-size:.8125rem;line-height:1.5}#footer-post #toc-footer .toc-level-4,#footer-post #toc-footer .toc-level-5,#footer-post #toc-footer .toc-level-6,#footer-post #toc-footer .toc-number{display:none}@media screen and (min-width:500px){#footer-post-container{display:none}}.post-list{list-style:none;padding:0;margin:0}.post-item{display:flex;align-items:baseline;gap:1.5rem;padding:.75rem 0;transition:background-color var(--transition-fast, .15s ease)}.post-item:hover{background-color:var(--color-background-hover, #f5f5f5);border-radius:var(--border-radius-base, 6px);padding-left:.5rem;padding-right:.5rem;margin-left:-.5rem;margin-right:-.5rem}.post-meta-date{flex-shrink:0;min-width:7rem;width:7rem;font-family:var(--font-family-mono, "Menlo", monospace);font-size:var(--font-size-sm, .85rem);color:var(--color-text-meta, #6b7280);white-space:nowrap}.post-item>.post-title-link{flex:1;min-width:0}.post-meta-content{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.post-title-link{color:var(--color-text, #383838);text-decoration:none;background-image:none;font-weight:var(--font-weight-medium, 500);line-height:1.5;transition:color var(--transition-fast, .15s ease);word-break:break-word}.post-title-link:hover,.post-item:hover .post-title-link{color:var(--color-primary, #2bbc8a)}.post-meta-detail{font-size:var(--font-size-sm, .85rem);color:var(--color-text-meta, #6b7280)}@media(max-width:640px){.post-item{flex-direction:column;align-items:flex-start;gap:.25rem}.post-meta-date{min-width:0;width:auto}.post-item:hover{padding-left:.35rem;padding-right:.35rem;margin-left:-.35rem;margin-right:-.35rem}}.project-list{padding:0;list-style:none}.project-list .project-item{margin-bottom:5px}article header .posttitle{margin-top:0;margin-bottom:0;text-transform:none;font-size:1.5em;line-height:1.25}article header .meta{margin-top:0;margin-bottom:1rem}article header .meta *{color:var(--color-text-muted);font-size:.85rem}article header .author{text-transform:uppercase;letter-spacing:.01em;font-weight:700}article header .postdate{display:inline}article .content img,article .content video{display:block;margin:auto;max-width:100%;height:auto}article .content .video-container{position:relative;overflow:hidden;padding-top:56.25%;height:0}article .content .video-container iframe,article .content .video-container object,article .content .video-container embed{position:absolute;top:0;left:0;margin-top:0;width:100%;height:100%}article .content blockquote{margin:1rem 10px;padding:.5em 10px;background:inherit;color:var(--color-primary);quotes:"“" "”" "‘" "’";font-weight:700}article .content blockquote p{margin:0}article .content blockquote:before{margin-right:.25em;color:var(--color-primary);content:"“";vertical-align:-.4em;font-size:2em;line-height:.1em}article .content blockquote footer{margin:1rem 0;color:var(--color-text-muted);font-size:.8125rem}article .content blockquote footer a{background-image:linear-gradient(transparent,transparent 5px,#666 5px,#666);color:var(--color-text-muted)}article .content blockquote footer a:hover{background-image:linear-gradient(transparent,transparent 4px,#858585 4px,#858585);color:var(--color-text-light)}article .content blockquote footer cite:before{padding:0 .5em;content:"—"}article .content .pullquote{margin:0;width:45%;text-align:left}article .content .pullquote.left{margin-right:1em;margin-left:.5em}article .content .pullquote.right{margin-right:.5em;margin-left:1em}article .content .caption{position:relative;display:block;margin-top:.5em;color:var(--color-text-muted);text-align:center;font-size:.9em}.posttitle{text-transform:none;font-size:1.5em;line-height:1.25}.article-tag .tag-link{background-image:linear-gradient(transparent,transparent 10px,#d480aa 10px,#d480aa);background-position:bottom;background-size:100% 6px;background-repeat:repeat-x}@media(min-width:480px){.article-tag{display:inline}.article-tag:before{content:"|"}}#archive .post-list{padding:0}#archive .post-list .post-item{margin-bottom:1rem;margin-left:0;list-style-type:none}#archive .post-list .post-item .meta{display:block;margin-right:16px;min-width:100px;color:var(--color-text-muted);font-size:.875rem}@media(min-width:480px){#archive .post-list .post-item{display:flex;margin-bottom:5px;margin-left:1rem}#archive .post-list .post-item .meta{text-align:left}}.blog-post-comments{margin-top:4rem}#footer{margin-bottom:10px;color:var(--color-text-muted);vertical-align:top;text-align:center;font-size:.8125rem}#footer ul{margin:0;padding:0;list-style:none}#footer li{display:inline-block;margin-right:15px;border-right:1px solid var(--color-text-muted);vertical-align:middle}#footer li a{margin-right:15px}#footer li:last-child{margin-right:0;border-right:0}#footer li:last-child a{margin-right:0}#footer a{color:var(--color-text-muted)}#footer a:hover{color:var(--color-text-light)}#footer .footer-left{height:20px;vertical-align:middle;line-height:20px}@media(min-width:39rem){#footer{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:center;align-content:center;margin-bottom:20px}#footer .footer-left{align-self:flex-start;margin-right:20px}#footer .footer-right{align-self:flex-end}}.pagination-container{margin-top:var(--spacing-lg, 1.5rem);padding-top:var(--spacing-base, 1rem);border-top:1px solid var(--color-border-light, #e5e7eb)}.pagination-info{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.articles-count{color:var(--color-text-meta, #6b7280);font-size:var(--font-size-sm, .85rem);font-weight:400;display:block}.view-all-link{color:var(--color-primary, #2bbc8a);text-decoration:none;font-size:var(--font-size-sm, .85rem);font-weight:var(--font-weight-medium, 500);background:none;transition:color var(--transition-fast, .15s ease)}.view-all-link:hover{color:var(--color-primary-hover, #1a9870);text-decoration:underline}@media(max-width:640px){.pagination-info{flex-direction:column;align-items:flex-start}}#search-result ul.search-result-list{padding:0;list-style-type:none}#search-result li{margin:2em auto}#search-result a.search-result-title{background-image:none;color:var(--color-text);text-transform:capitalize;font-weight:700;line-height:1.2}#search-result p.search-result{overflow:hidden;margin:.4em auto;max-height:13em;text-align:left;font-size:.8em}#search-result em.search-keyword{border-bottom:1px dashed #d480aa;color:var(--color-accent);font-weight:700}.search-no-result{display:none;padding-bottom:.5em;color:var(--color-text)}.highlight{background:#474949;color:#d1d9e1}.highlight .code .comment,.highlight .code .quote{color:#969896;font-style:italic}.highlight .code .keyword,.highlight .code .selector-tag,.highlight .code .literal,.highlight .code .type,.highlight .code .addition{color:#c9c}.highlight .code .number,.highlight .code .selector-attr,.highlight .code .selector-pseudo{color:#f99157}.highlight .code .string,.highlight .code .doctag,.highlight .code .regexp{color:#8abeb7}.highlight .code .title,.highlight .code .name,.highlight .code .section,.highlight .code .built_in{color:#b5bd68}.highlight .code .variable,.highlight .code .template-variable,.highlight .code .selector-id,.highlight .code .class .title{color:#fc6}.highlight .code .section,.highlight .code .name,.highlight .code .strong{font-weight:700}.highlight .code .symbol,.highlight .code .bullet,.highlight .code .subst,.highlight .code .meta,.highlight .code .link{color:#f99157}.highlight .code .deletion{color:#dc322f}.highlight .code .formula{background:#eee8d5}.highlight .code .attr,.highlight .code .attribute{color:#81a2be}.highlight .code .emphasis{font-style:italic}pre{overflow-x:auto;padding:1rem;border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;font-family:var(--font-mono, "SF Mono", Consolas, monospace);line-height:1.6}pre code{display:block;padding:0;border:none;font-size:inherit}code{padding:.125rem .375rem;border:1px solid var(--color-border);border-radius:4px;font-size:.875em;font-family:var(--font-mono, "SF Mono", Consolas, monospace)}.highlight{overflow-x:auto;margin:1rem 0;padding:10px 15px;border-radius:4px;background:var(--color-background-secondary);font-family:Menlo,Meslo LG,monospace;-webkit-border-radius:4px}.highlight figcaption{margin:-5px 0 5px;color:var(--color-text-muted);font-size:.9em;zoom:1}.highlight figcaption a{float:right;color:var(--color-text-muted);font-style:italic;font-size:.8em;background-image:linear-gradient(transparent,transparent 10px,#d480aa 10px,#d480aa);background-position:bottom;background-size:100% 6px;background-repeat:repeat-x}.highlight figcaption a:hover{color:var(--color-text-light)}.highlight figcaption:before,.highlight figcaption:after{content:"";display:table}.highlight figcaption:after{clear:both}.highlight pre{padding:0;border:none;background:none}.highlight table{width:auto}.highlight td.gutter{text-align:right}.highlight .line{height:22px}.featured-topics{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border-light)}.featured-topics h3{margin-bottom:1.5rem;color:var(--color-text);font-size:1.1rem;font-weight:700;text-decoration:none}.topic-grid{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1rem}@supports (display: grid){.topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.topic-grid>*{flex:1 1 280px;min-width:280px}@supports (display: grid){.topic-grid>*{flex:none;min-width:auto}}.topic-card{display:block;padding:1.5rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-background-secondary);text-decoration:none;transition:all .3s ease;background-image:none}.topic-card:hover{border-color:var(--color-primary);background:#f5f9f7;transform:translateY(-2px);box-shadow:0 4px 12px #2bbc8a1a;background-image:none}.topic-card h4{margin:0 0 .5rem;color:var(--color-primary);font-size:1rem;font-weight:700;border:none;text-decoration:none;display:block}.topic-card p{margin:0 0 1rem;color:var(--color-text-muted);font-size:.85rem;line-height:1.4}.topic-card .article-count{display:inline-block;padding:.25rem .5rem;background:var(--color-primary);color:#fff;font-size:.75rem;font-weight:500;border-radius:12px}@media(max-width:640px){.topic-grid{grid-template-columns:1fr;gap:1rem}.topic-card{padding:1.25rem}}.related-articles{margin-top:2rem;padding:1.5rem;background:#f9f9f9;border-radius:8px}.related-articles h4{margin:0 0 1rem;color:var(--color-text);font-size:.9rem;font-weight:700;border:none;display:block}.related-articles ul{margin:0;padding:0;list-style:none}.related-articles li{margin-bottom:.5rem}.related-articles a{color:var(--color-primary);font-size:.8rem;text-decoration:none;background-image:none}.related-articles a:hover{text-decoration:underline;background-image:none}.article-navigation{margin:2rem 0;padding-top:1.5rem;border-top:1px dashed var(--color-border)}.article-navigation .nav-links{display:flex;justify-content:space-between;gap:2rem}.article-navigation .nav-prev,.article-navigation .nav-next{display:flex;align-items:flex-start;gap:.5rem;padding:0;background:none;background-image:none;border:none;text-decoration:none;max-width:48%}.article-navigation .nav-prev:hover,.article-navigation .nav-next:hover{background:none;background-image:none}.article-navigation .nav-prev{text-align:left;flex-direction:row}.article-navigation .nav-next{text-align:right;margin-left:auto;flex-direction:row}.article-navigation .nav-next .nav-content{align-items:flex-end}.article-navigation .nav-arrow{display:flex;align-items:center;color:var(--color-primary);flex-shrink:0;margin-top:.15rem}.article-navigation .nav-arrow svg{width:16px;height:16px}.article-navigation .nav-content{display:flex;flex-direction:column;gap:.25rem;min-width:0}.article-navigation .nav-label{display:block;font-size:.75rem;color:var(--color-text-muted);font-weight:400}.article-navigation .nav-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--color-text);font-size:.85rem;font-weight:400;line-height:1.5}.article-navigation .nav-prev:hover .nav-title,.article-navigation .nav-next:hover .nav-title,.article-navigation .nav-prev:hover .nav-arrow,.article-navigation .nav-next:hover .nav-arrow{color:var(--color-primary)}@media(max-width:640px){.article-navigation{padding-top:1rem;margin:1.5rem 0}.article-navigation .nav-links{flex-direction:column;gap:1rem}.article-navigation .nav-prev,.article-navigation .nav-next{max-width:100%}.article-navigation .nav-title{font-size:.8rem}}.dark body,html.dark body{background-color:var(--color-text-inverse);color:var(--color-text)}.dark .content a{color:var(--color-text);background-image:none;text-decoration:none}.dark .content a:hover{color:var(--color-primary);background-image:none}.dark .content a.icon:hover{color:var(--color-primary)}.dark .content h1 a,.dark .content h2 a,.dark .content h3 a,.dark .content h4 a,.dark .content h5 a,.dark .content h6 a{color:var(--color-text)}.dark #header #logo{background-color:var(--color-background-secondary)}.dark #header #title h1,.dark #header #title .site-name{color:var(--color-text)}.dark #nav ul li a{color:var(--color-text-muted)}.dark #nav ul li a:hover{color:var(--color-primary)}.dark #footer,.dark #footer a{color:var(--color-text-muted)}.dark #footer a:hover{color:var(--color-primary)}.dark .post-title a{color:var(--color-text)}.dark .post-title a:hover{color:var(--color-primary)}.dark .post-date,.dark .meta,.dark time{color:var(--color-text-muted)}.dark pre,.dark code{background-color:var(--color-background-secondary);color:var(--color-text)}.dark blockquote{border-left-color:var(--color-primary);background-color:var(--color-background-tertiary);color:var(--color-text-muted)}.dark hr{border-color:var(--color-border)}.dark .page-title,.dark .page h1,.dark .page h2,.dark .page h3,.dark .page h4{color:var(--color-text)}.dark .tag-chip{background:var(--color-background-secondary);border-color:var(--color-border);color:var(--color-text-muted)}.dark .tag-chip:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.dark .post-item a{color:var(--color-text)}.dark .post-item a:hover{color:var(--color-primary)}.dark .breadcrumb a{color:var(--color-text-meta)}.dark .tag-card{background:var(--color-background-tertiary);border-color:var(--color-border)}.dark .tag-card:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.dark .tag-card:hover .tag-name{color:var(--color-primary)}.dark .tag-card .tag-count{color:var(--color-text-muted)}.dark .letter-heading{color:var(--color-primary)}.dark .tag-list a{background:var(--color-background-tertiary);border-color:var(--color-border);color:var(--color-text)}.dark .tag-list a:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.dark .tag-list .count{color:var(--color-text-muted)}.dark .article-navigation{border-top-color:var(--color-border)}.dark .article-navigation a{color:var(--color-text);border-color:var(--color-border);background:var(--color-background-tertiary)}.dark .article-navigation a:hover{border-color:var(--color-primary);color:var(--color-primary)}.dark input,.dark textarea{background-color:var(--color-background-tertiary);border-color:var(--color-border);color:var(--color-text)}.dark input:focus,.dark textarea:focus{border-color:var(--color-primary)}.dark .search-container input{background-color:var(--color-background-tertiary);border-color:var(--color-border);color:var(--color-text)}.dark .search-results{background-color:var(--color-text-inverse);border-color:var(--color-border)}.dark .search-result-item{border-bottom-color:var(--color-border)}.dark .search-result-item:hover{background-color:var(--color-background-tertiary)}.dark .toc-sidebar{background:var(--color-background-tertiary);border-color:var(--color-border)}.dark .toc-sidebar a{color:var(--color-text-muted)}.dark .toc-sidebar a:hover,.dark .toc-sidebar a.active{color:var(--color-primary)}.dark .content a.icon{color:var(--color-text)}.dark .icon,.dark svg.icon{color:inherit;fill:currentColor}.dark .reading-progress-bar{background:var(--color-primary)}.dark .back-to-top{background:var(--color-background-secondary);color:var(--color-text);border-color:var(--color-border)}.dark .back-to-top:hover{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.dark article h1,.dark article h2,.dark article h3,.dark article h4,.dark article h5,.dark article h6,.dark .post-content h1,.dark .post-content h2,.dark .post-content h3,.dark .post-content h4,.dark .post-content h5,.dark .post-content h6{color:var(--color-text)}.dark article p,.dark article li,.dark .post-content p,.dark .post-content li{color:var(--color-text-secondary)}.dark strong,.dark b,.dark em,.dark i{color:var(--color-text)}.dark table{border-color:var(--color-border)}.dark th{background-color:var(--color-background-secondary);color:var(--color-text);border-color:var(--color-border)}.dark td{border-color:var(--color-border);color:var(--color-text-secondary)}.dark tr:nth-child(2n){background-color:var(--color-background-tertiary)}.dark code:not(pre code){background-color:var(--color-background-secondary);color:var(--color-primary)}.dark .post-content a,.dark article a{color:var(--color-primary)}.dark .post-content a:hover,.dark article a:hover{color:var(--color-primary-hover)}.dark ::selection{background-color:var(--color-primary-soft);color:#fff}.dark::-webkit-scrollbar{width:8px;height:8px}.dark::-webkit-scrollbar-track{background:var(--color-background)}.dark::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.dark::-webkit-scrollbar-thumb:hover{background:var(--color-border-dark)}.dark .content{color:var(--color-text)}.dark .content p{color:var(--color-text-secondary)}.dark .h1,.dark h1,.dark h2,.dark h3,.dark h4,.dark .h1 a,.dark h1 a,.dark h2 a{color:var(--color-text)}.dark .h1 a:hover,.dark h1 a:hover,.dark h2 a:hover{color:var(--color-primary)}.dark a.icon{color:var(--color-text)}.dark a.icon:hover{color:var(--color-primary)}.dark a.icon svg{fill:currentColor}.dark .post-list .post-item a{color:var(--color-text)}.dark .post-list .post-item a:hover{color:var(--color-primary)}.dark .post-item .meta,.dark .post-item .meta time{color:var(--color-text-meta)}.dark .month-title,.dark .month-section .post-item a{color:var(--color-text)}.dark .month-section .post-item a:hover{color:var(--color-primary)}.dark .month-section .post-title a{color:var(--color-text)}.dark .month-section .post-title a:hover{color:var(--color-primary)}.dark .post-item{border-bottom-color:var(--color-border-light)}.dark .articles-count{color:var(--color-text-meta)}.dark .page-title{color:var(--color-text)}.dark .page-subtitle{color:var(--color-text-muted)}.dark .tags-section h2{color:var(--color-text);border-bottom-color:var(--color-border)}.dark .tag-card{background:#2a2a2a;border-color:var(--color-border);color:var(--color-text)}.dark .tag-card .tag-name{color:var(--color-text)}.dark .tag-card .tag-count{color:var(--color-text-light)}.dark .tag-card:hover{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.dark .tag-card:hover .tag-name,.dark .tag-card:hover .tag-count{color:var(--color-text-inverse)}.dark .letter-heading,.dark .tag-list a{color:var(--color-text)}.dark .tag-list a:hover{color:var(--color-primary)}.dark .tag-list .count{color:var(--color-text-light)}.dark .tag-group{border-bottom-color:var(--color-border)}.dark .year-heading{color:var(--color-text);border-bottom-color:var(--color-border)}.dark .year-section .post-item a{color:var(--color-text)}.dark .year-section .post-item a:hover{color:var(--color-primary)}.dark .back-link a{color:var(--color-text-light)}.dark .back-link a:hover{color:var(--color-primary)}.dark .back-link{border-top-color:var(--color-border)}.dark .breadcrumb{color:var(--color-text-light)}.dark .breadcrumb a{color:var(--color-text-muted)}.dark .breadcrumb a:hover{color:var(--color-primary)}.dark .article-navigation{border-color:var(--color-border)}.dark .nav-prev,.dark .nav-next{color:var(--color-text);background:var(--color-background-tertiary);border-color:var(--color-border)}.dark .nav-prev:hover,.dark .nav-next:hover{background:var(--color-background-secondary);border-color:var(--color-primary)}.dark .nav-label{color:var(--color-text-light)}.dark .nav-title{color:var(--color-text)}.dark .nav-prev:hover .nav-title,.dark .nav-next:hover .nav-title{color:var(--color-primary)}.dark .nav-arrow{color:var(--color-text-light)}.dark .nav-prev:hover .nav-arrow,.dark .nav-next:hover .nav-arrow{color:var(--color-primary)}.dark .post-title,.dark .article-title,.dark .post-header h1,.dark .article-header h1{color:var(--color-text)}.dark .post-meta,.dark .article-meta{color:var(--color-text-light)}.dark #footer{border-top-color:var(--color-border);color:var(--color-text-light)}.dark .footer-left{color:var(--color-text-light)}.dark .footer-right a{color:var(--color-text-muted)}.dark .footer-right a:hover{color:var(--color-primary)}.dark .pagination-info{color:var(--color-text-meta)}.dark .view-all-link{color:var(--color-primary)}.dark .view-all-link:hover{color:var(--color-primary-hover)}.dark .about-content p,.dark .projects-content p{color:var(--color-text-secondary)}.dark .project-item{background:var(--color-background-tertiary);border-color:var(--color-border)}.dark .project-item:hover{border-color:var(--color-primary)}.dark .project-title{color:var(--color-text)}.dark .project-description{color:var(--color-text-muted)}.dark .search-box input{background:var(--color-background-tertiary);border-color:var(--color-border);color:var(--color-text)}.dark .search-box input::placeholder{color:var(--color-text-muted)}.dark .search-box input:focus{border-color:var(--color-primary)}
