:root{--bg-body: #1A1A1A;--bg-container: #242424;--bg-container-alt: #2D2D2D;--bg-hover: rgba(218, 119, 86, 0.12);--bg-code: #0D0D0D;--text-primary: #EBEBEB;--text-secondary: #A0A0A0;--text-muted: #707070;--text-subtle: #505050;--text-inverse: #1A1A1A;--border-primary: #3A3A3A;--border-secondary: #2D2D2D;--code-bg: #0D0D0D;--code-text: #E4E4E4;--brand-primary: #DA7756;--brand-primary-light: #E89879;--brand-primary-dark: #C5604A;--brand-secondary: #B88B79;--brand-accent: #E89879;--link-color: #DA7756;--link-hover: #E89879;--link-visited: #B88B79;--border-accent: #DA7756;--accent-primary: #DA7756;--accent-hover: #E89879;--accent-secondary: #B88B79;--status-active: #5FAD6E;--status-featured: #DA7756;color-scheme:dark light}@media (prefers-color-scheme: light){:root{--bg-body: #FAFAFA;--bg-container: #fff;--bg-container-alt: #F5F5F5;--bg-hover: rgba(218, 119, 86, 0.08);--bg-code: #0D0D0D;--text-primary: #1A1A1A;--text-secondary: #505050;--text-muted: #888;--text-subtle: #AAAAAA;--text-inverse: #FAFAFA;--border-primary: #E0E0E0;--border-secondary: #EBEBEB;--code-bg: #0D0D0D;--code-text: #E4E4E4;--brand-primary: #DA7756;--brand-primary-light: #E89879;--brand-primary-dark: #C5604A;--brand-secondary: #B88B79;--brand-accent: #E89879;--link-color: #DA7756;--link-hover: #E89879;--link-visited: #B88B79;--border-accent: #DA7756;--accent-primary: #DA7756;--accent-hover: #E89879;--accent-secondary: #B88B79;--status-active: #5FAD6E;--status-featured: #DA7756}}:root.light-theme{--bg-body: #FAFAFA;--bg-container: #fff;--bg-container-alt: #F5F5F5;--bg-hover: rgba(218, 119, 86, 0.08);--bg-code: #0D0D0D;--text-primary: #1A1A1A;--text-secondary: #505050;--text-muted: #888;--text-subtle: #AAAAAA;--text-inverse: #FAFAFA;--border-primary: #E0E0E0;--border-secondary: #EBEBEB;--code-bg: #0D0D0D;--code-text: #E4E4E4;--brand-primary: #DA7756;--brand-primary-light: #E89879;--brand-primary-dark: #C5604A;--brand-secondary: #B88B79;--brand-accent: #E89879;--link-color: #DA7756;--link-hover: #E89879;--link-visited: #B88B79;--border-accent: #DA7756;--accent-primary: #DA7756;--accent-hover: #E89879;--accent-secondary: #B88B79;--status-active: #5FAD6E;--status-featured: #DA7756}:root.dark-theme{--bg-body: #1A1A1A;--bg-container: #242424;--bg-container-alt: #2D2D2D;--bg-hover: rgba(218, 119, 86, 0.12);--bg-code: #0D0D0D;--text-primary: #EBEBEB;--text-secondary: #A0A0A0;--text-muted: #707070;--text-subtle: #505050;--text-inverse: #1A1A1A;--border-primary: #3A3A3A;--border-secondary: #2D2D2D;--code-bg: #0D0D0D;--code-text: #E4E4E4;--brand-primary: #DA7756;--brand-primary-light: #E89879;--brand-primary-dark: #C5604A;--brand-secondary: #B88B79;--brand-accent: #E89879;--link-color: #DA7756;--link-hover: #E89879;--link-visited: #B88B79;--border-accent: #DA7756;--accent-primary: #DA7756;--accent-hover: #E89879;--accent-secondary: #B88B79;--status-active: #5FAD6E;--status-featured: #DA7756}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body, Inter,system-ui,-apple-system,sans-serif);font-size:1rem;line-height:1.7;color:var(--text-primary);background-color:var(--bg-body);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color 0.25s ease,color 0.25s ease}main{flex:1}h1,h2,h3,h4,h5,h6{font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text-primary);font-weight:600;line-height:1.3;margin-bottom:1rem}h1{font-size:2rem;color:var(--brand-primary)}h2{font-size:1.5rem;color:var(--text-primary)}h3{font-size:1.25rem}h4,h5,h6{font-size:1.125rem}p{margin-bottom:1rem}a{color:var(--link-color);text-decoration:none;transition:color 0.15s ease}a:hover,a:focus{color:var(--link-hover);text-decoration:underline}a:visited{color:var(--link-visited)}ul,ol{margin-left:1.5rem;margin-bottom:1rem}li{margin-bottom:.25rem}code{font-family:"JetBrains Mono","Fira Code",monospace;background-color:var(--bg-container-alt);color:var(--brand-primary);padding:0.2em 0.4em;border-radius:4px;font-size:0.9em}pre{background-color:var(--code-bg);color:var(--code-text);padding:1rem;border-radius:6px;overflow-x:auto;margin-bottom:1rem;box-shadow:0 4px 6px rgba(0,0,0,0.07);border:1px solid var(--border-primary)}pre code{padding:0;background:none;color:inherit}hr{border:none;height:1px;background-color:var(--border-primary);margin:2rem 0}img{max-width:100%;height:auto;display:block}blockquote{border-left:4px solid var(--brand-primary);background-color:var(--bg-container-alt);padding:1rem 1.5rem;margin:1.5rem 0;color:var(--text-secondary);font-style:italic;border-radius:0 6px 6px 0}table{width:100%;border-collapse:collapse;margin-bottom:1rem}th,td{padding:.5rem;text-align:left;border-bottom:1px solid var(--border-primary)}th{color:var(--text-secondary);font-weight:600}::selection{background-color:var(--brand-primary);color:var(--text-inverse)}:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.container{max-width:800px;margin:0 auto;padding:0 1.5rem;width:100%}section{margin-bottom:3rem}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.flex-center{align-items:center;justify-content:center}.flex-between{justify-content:space-between}.flex-column{flex-direction:column}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2, 1fr)}.grid-3{grid-template-columns:repeat(3, 1fr)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1.5rem}.doc-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:1.5rem}.doc-card{background:var(--bg-container);border:1px solid var(--border-primary);border-radius:12px;padding:2rem;transition:transform 0.25s ease,box-shadow 0.25s ease,border-color 0.25s ease}.doc-card:hover{transform:translateY(-3px);box-shadow:0 10px 15px rgba(0,0,0,0.1);border-color:var(--brand-primary)}.doc-card h3{font-size:1.25rem;margin-bottom:.5rem}.doc-card h3 a{color:var(--brand-primary);text-decoration:none}.doc-card h3 a:hover{color:var(--brand-primary-light)}.doc-description{color:var(--text-secondary);font-size:16px;margin-bottom:1rem;font-style:italic}.doc-abstract{color:var(--text-secondary);font-size:.875rem;line-height:1.7;margin-bottom:1rem;padding:1rem;background-color:var(--bg-container-alt);border-left:3px solid var(--brand-primary);border-radius:0 4px 4px 0}.read-more{display:inline-block;color:var(--brand-primary);font-size:.875rem;font-weight:500;text-decoration:none;padding:.25rem 1rem;border:1px solid var(--brand-primary);border-radius:6px;transition:all 0.25s ease}.read-more:hover{color:var(--text-inverse);border-color:var(--brand-primary);background-color:var(--brand-primary);text-decoration:none}.no-content{color:var(--text-muted);text-align:center;padding:3rem}.doc-list{list-style:none;padding:0;margin:0}.doc-list li{padding:1rem 0;border-bottom:1px solid var(--border-primary);display:flex;flex-direction:column;gap:.25rem}.doc-list li:last-child{border-bottom:none}.doc-list li>a{color:var(--text-primary);text-decoration:none;font-size:16px}.doc-list li>a:hover{color:var(--text-secondary)}.doc-desc{color:var(--text-muted);font-size:.875rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mt-1{margin-top:1rem}.mb-1{margin-bottom:1rem}.mt-2{margin-top:1.5rem}.mb-2{margin-bottom:1.5rem}.view-all{margin-top:1rem}.view-all a{color:var(--text-muted)}.view-all a:hover{color:var(--text-primary)}.site-header{background-color:var(--bg-container);border-bottom:2px solid var(--brand-primary);padding:1rem 0;position:sticky;top:0;z-index:100;box-shadow:0 1px 2px rgba(0,0,0,0.05)}.header-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.site-title{font-size:1.25rem;font-weight:700;color:var(--brand-primary);letter-spacing:-0.02em}.site-title:hover{color:var(--brand-primary-dark);text-decoration:none}.site-nav .nav-list{display:flex;list-style:none;margin:0;padding:0;gap:1.5rem}.site-nav .nav-item{margin:0}.site-nav .nav-item a{color:var(--text-secondary);padding:.25rem 0;border-bottom:2px solid transparent;transition:all 0.15s ease;font-weight:500}.site-nav .nav-item a:hover{color:var(--brand-primary);text-decoration:none}.site-nav .nav-item.active a{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.header-right{display:flex;align-items:center;gap:1rem}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--bg-container-alt);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all 0.15s ease}.theme-toggle:hover{color:var(--brand-primary);border-color:var(--brand-primary);background:var(--bg-hover)}.theme-toggle svg{width:20px;height:20px}.theme-toggle .sun-icon{display:none}.theme-toggle .moon-icon{display:block}:root.dark-theme .theme-toggle .sun-icon{display:block}:root.dark-theme .theme-toggle .moon-icon{display:none}:root.light-theme .theme-toggle .sun-icon{display:none}:root.light-theme .theme-toggle .moon-icon{display:block}.nav-toggle{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:1.125rem}.card,.project-card{background:linear-gradient(135deg, var(--bg-container), var(--bg-container-alt));border:1px solid var(--border-primary);border-radius:6px;padding:1.5rem;transition:transform 0.25s ease,box-shadow 0.25s ease}.card:hover,.project-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,0,0,0.3)}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tech-item{background-color:var(--bg-body);color:var(--text-muted);padding:.25rem .5rem;border-radius:4px;font-size:.875rem;border:1px solid var(--border-primary)}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.875rem;text-transform:uppercase;letter-spacing:0.05em}.status-active{background-color:rgba(95,173,110,0.2);color:var(--status-active)}.status-archived{background-color:var(--bg-container-alt);color:var(--text-muted)}.tag{display:inline-block;background-color:var(--bg-container);color:var(--text-muted);padding:.25rem .5rem;border-radius:4px;font-size:.875rem;margin-right:.25rem;margin-bottom:.25rem}.github-link{display:inline-block;color:var(--text-muted);font-size:.875rem;margin-top:.5rem}.github-link:hover{color:var(--text-primary)}.hero{text-align:center;padding:3rem 0}.hero h1{font-size:1.5rem;margin-bottom:1rem}.hero .tagline{color:var(--text-muted);font-size:1.125rem;max-width:600px;margin:0 auto}.divider{height:1px;background:linear-gradient(to right, transparent, var(--border-primary), transparent);margin:2rem 0}.comments-placeholder{background-color:var(--bg-container);border-radius:6px;padding:1.5rem;text-align:center;color:var(--text-muted)}.post{max-width:800px;margin:0 auto}.post-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-primary)}.post-title{font-size:1.5rem;margin-bottom:.5rem}.post-meta{color:var(--text-muted);font-size:.875rem}.post-meta .post-date{margin-right:1rem}.post-meta .category{color:var(--text-secondary)}.post-content h2,.post-content h3,.post-content h4{margin-top:2rem}.post-content p,.post-content ul,.post-content ol{margin-bottom:1rem}.post-content img{margin:1.5rem 0;border-radius:6px}.post-content a{color:var(--accent-hover);text-decoration:underline;text-decoration-color:rgba(232,152,121,0.3)}.post-content a:hover{text-decoration-color:var(--accent-hover)}.post-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-primary)}.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.post-tags strong{color:var(--text-muted);font-weight:normal}.post-comments{margin-top:3rem}.post-list{list-style:none;margin:0;padding:0}.post-list li{display:flex;align-items:baseline;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border-secondary);margin-bottom:0}.post-list li:last-child{border-bottom:none}.post-list .post-date{color:var(--text-subtle);font-size:.875rem;min-width:100px}.post-list a{color:var(--text-primary)}.post-list a:hover{color:var(--accent-hover)}.project-card h3{margin-bottom:.5rem}.project-card h3 a{color:var(--text-primary)}.project-card h3 a:hover{color:var(--accent-hover)}.project-card p{color:var(--text-muted);font-size:.875rem;margin-bottom:.5rem}.project{max-width:800px;margin:0 auto}.project-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.project-title{margin-bottom:0}.project-meta{margin-bottom:1.5rem}.project-meta .github-link{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background-color:var(--bg-container);border-radius:4px;font-size:.875rem}.project-meta .github-link:hover{background-color:var(--bg-hover)}.project-tech{margin-bottom:1.5rem}.project-tech strong{display:block;color:var(--text-muted);font-size:.875rem;margin-bottom:.5rem;font-weight:normal}.project-content h2,.project-content h3{margin-top:2rem}.featured-projects h2{margin-bottom:1.5rem}.highlight{background-color:var(--code-bg);border-radius:6px;padding:1rem;margin-bottom:1rem;overflow-x:auto}.highlight pre{margin:0;padding:0;background:none;color:var(--code-text)}.highlight code{color:var(--code-text);background:none}.highlight .c,.highlight .c1,.highlight .cm,.highlight .cs{color:#75715e}.highlight .k,.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:#f92672}.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx,.highlight .sr,.highlight .ss{color:#e6db74}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo,.highlight .il{color:#ae81ff}.highlight .n,.highlight .na,.highlight .nb,.highlight .nc,.highlight .nd,.highlight .ne,.highlight .nf,.highlight .ni,.highlight .nl,.highlight .nn,.highlight .no,.highlight .nt,.highlight .nv{color:#f8f8f2}.highlight .na{color:#a6e22e}.highlight .nc{color:#a6e22e}.highlight .nf{color:#a6e22e}.highlight .nt{color:#f92672}.highlight .o,.highlight .ow{color:#f92672}.highlight .p{color:#f8f8f2}.highlight .gd{color:#f92672}.highlight .gi{color:#a6e22e}.highlight .ge{font-style:italic}.highlight .gs{font-weight:bold}.highlight .lineno{color:var(--text-subtle);padding-right:1rem;border-right:1px solid var(--border-primary);margin-right:1rem;user-select:none}:not(pre)>code{background-color:var(--bg-container-alt);color:var(--brand-primary);padding:0.2em 0.5em;border-radius:4px;font-size:0.9em;font-weight:500}@media (max-width: 767px){.container{padding:0 1rem}.header-content{flex-direction:column;align-items:stretch;gap:.5rem}.site-title{text-align:center}.header-right{justify-content:center;flex-wrap:wrap}.site-nav .nav-list{justify-content:center;gap:1rem;flex-wrap:wrap}.hero{padding:2rem 0}.hero h1{font-size:1.25rem}.hero .tagline{font-size:1rem}.project-grid{grid-template-columns:1fr}.post-list li{flex-direction:column;gap:.25rem}.post-list li .post-date{min-width:auto}.doc-layout{flex-direction:column}.doc-sidebar{position:static;width:100%;margin-bottom:1.5rem}h1{font-size:1.25rem}h2{font-size:1.125rem}.grid-2,.grid-3{grid-template-columns:1fr}}@media (min-width: 768px){.project-grid{grid-template-columns:repeat(2, 1fr)}}@media (min-width: 992px){.project-grid{grid-template-columns:repeat(auto-fill, minmax(300px, 1fr))}}.doc-layout{display:flex;gap:2rem}.doc-layout .doc-sidebar{flex-shrink:0;width:250px;position:sticky;top:80px;height:fit-content;max-height:calc(100vh - 100px);overflow-y:auto}.doc-layout .doc-sidebar .doc-nav h3{font-size:.875rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);margin-bottom:1rem}.doc-layout .doc-sidebar .doc-nav .doc-nav-list{list-style:none;margin:0;padding:0}.doc-layout .doc-sidebar .doc-nav .doc-nav-list>li{margin-bottom:.5rem}.doc-layout .doc-sidebar .doc-nav .doc-nav-list>li>a{color:var(--text-muted);font-size:.875rem;display:block;padding:.25rem 0}.doc-layout .doc-sidebar .doc-nav .doc-nav-list>li>a:hover{color:var(--text-primary)}.doc-layout .doc-sidebar .doc-nav .doc-nav-list>li.active>a{color:var(--text-primary);font-weight:bold}.doc-layout .doc-sidebar .doc-nav .doc-nav-list>li.active .toc-list{list-style:none;margin:.5rem 0 1rem 0;padding-left:1rem;border-left:1px solid var(--border-primary)}.doc-layout .doc-sidebar .doc-nav .doc-nav-list>li.active .toc-list .toc-h2{margin-bottom:.25rem}.doc-layout .doc-sidebar .doc-nav .doc-nav-list>li.active .toc-list .toc-h2>a{color:var(--text-secondary);font-size:.875rem;font-weight:normal;display:block;padding:.25rem 0}.doc-layout .doc-sidebar .doc-nav .doc-nav-list>li.active .toc-list .toc-h2>a:hover{color:var(--text-primary)}.doc-layout .doc-sidebar .doc-nav .doc-nav-list>li.active .toc-list .toc-sublist{list-style:none;padding-left:1rem;margin:.25rem 0}.doc-layout .doc-sidebar .doc-nav .doc-nav-list>li.active .toc-list .toc-h3{margin-bottom:.25rem}.doc-layout .doc-sidebar .doc-nav .doc-nav-list>li.active .toc-list .toc-h3 a{color:var(--text-muted);font-size:.75rem;font-weight:normal;display:block;padding:2px 0}.doc-layout .doc-sidebar .doc-nav .doc-nav-list>li.active .toc-list .toc-h3 a:hover{color:var(--text-secondary)}.doc-layout .doc-content{flex:1;min-width:0}.site-footer{background-color:var(--bg-container);border-top:1px solid var(--border-primary);padding:2rem 0;margin-top:auto}.footer-content{text-align:center}.social-links{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.social-links .social-link{color:var(--text-muted)}.social-links .social-link:hover{color:var(--text-primary)}.copyright{color:var(--text-subtle);font-size:.875rem;margin:0}.archive-header{margin-bottom:2rem}.archive-header h1{margin-bottom:.5rem}.archive-header .archive-description{color:var(--text-muted)}
