:root{--foreground: #e2e8f0;--background: #0a0e1a;--secondary: #8b92a7;--tertiary: #1a1f2e;--accent: #9ca3af;--accent-highlight: #b0b7c3;--table-border: #1a1f2e;--table-row: #0f1419;--code-bg: #0f1419;--code-fg: #e2e8f0;--code-punctuation: #8b92a7;--code-inline-fg: #e2e8f0;--code-keyword: #a78bfa;--code-string: #34d399;--code-number: #f472b6;--code-function: #60a5fa;--code-comment: #64748b;--code-operator: #8b92a7;--code-class: #fbbf24;--code-variable: #34d399;--shadow: rgba(0, 0, 0, 0.5);--shadow-strong: rgba(0, 0, 0, 0.7);--card-bg: #141925;--header-bg: rgba(10, 14, 26, 0.98);--primary-accent: #9ca3af;--primary-accent-light: #b0b7c3;--secondary-accent: #14b8a6;--secondary-accent-light: #2dd4bf;--gradient-start: #1a1f2e;--gradient-mid: #141925;--gradient-end: #0f1419}body{color:var(--foreground);background-color:var(--background);transition:color .2s ease,background-color .2s ease}.secondary{color:var(--secondary)}a,a:link,a:visited{color:var(--primary-accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-accent-light);text-decoration:underline}blockquote{border-left:3px solid var(--primary-accent);margin-left:0;padding-left:1em;font-style:italic;color:var(--secondary);background:var(--card-bg);padding:1em 1em 1em 1.5em;border-radius:0 .5rem .5rem 0;margin:1.5rem 0}code{background-color:var(--code-bg);color:var(--code-inline-fg) !important;border-radius:4px;padding:.2em .4em;font-size:.9em;font-family:"Fira Code",monospace}pre{background-color:var(--code-bg) !important;border-radius:8px !important;padding:1.25em;overflow:auto;box-shadow:0 4px 12px var(--shadow);border-left:3px solid var(--primary-accent)}pre code{background-color:rgba(0,0,0,0);padding:0;border-radius:0;color:var(--code-fg) !important;font-family:"Fira Code",monospace;tab-size:4}.footnote-definition sup{color:var(--secondary)}.footnotes{border-top:1px solid var(--table-border)}.footnotes-list li{color:var(--secondary)}.footnotes-list li p{color:var(--foreground)}hr{border:none;border-bottom:1px solid var(--table-border);margin:2em 0}table{border-collapse:collapse;width:100%;margin:1.5em 0}table th,table td{border-color:var(--table-border);padding:.5em .8em}table thead,table tr:nth-child(even){background-color:var(--table-row)}table th{text-align:left;font-weight:600}html{font-size:16px}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;font-size:1rem;line-height:1.6;padding:0;display:flex;flex-direction:column;min-height:100vh;background-color:var(--background);color:var(--foreground)}header{background-color:var(--header-bg);padding:1.5rem 2rem;position:relative;top:0;z-index:10;border-bottom:4px solid var(--primary-accent)}header h1{margin:0 0 .5rem 0;font-size:1.8rem;font-weight:700;letter-spacing:-.01em}main{max-width:800px;width:100%;margin:0 auto;padding:0 2rem;flex-grow:1}.header-links a{margin-right:1rem;font-weight:500;color:var(--secondary);transition:color .2s ease}.header-links a:hover{color:var(--primary-accent);text-decoration:none}.header-links a:last-of-type{margin-right:0}.space{margin-bottom:2rem}.doublespace{margin-bottom:4rem}.small{font-size:.875rem}h1,h2,h3,h4,h5,h6{line-height:1.3;margin-top:2rem;margin-bottom:1rem;font-weight:600}h1{font-size:2rem;margin-top:0}h2{font-size:1.5rem;border-bottom:1px solid var(--tertiary);padding-bottom:.5rem;color:var(--foreground)}.portfolio-section h2{border-bottom:4px solid var(--primary-accent);margin-bottom:1.5rem}h3{font-size:1.25rem}h4{font-size:1.1rem}img{max-width:100%;height:auto;display:block;margin:1.5rem 0;border:4px solid var(--primary-accent)}p{margin:1rem 0}ul,ol{padding-left:1.5rem;margin:1rem 0}ul li,ol li{margin-bottom:.5rem}.footnote-definition{margin-top:1rem;font-size:.875rem}.footnote-definition p{display:inline}.footnotes{margin-top:4rem;padding-top:1rem}.footnotes-list{font-size:.875rem}pre{margin:1.5rem 0}pre[data-language]::before{content:attr(data-language);display:block;font-size:.75rem;font-weight:600;color:var(--secondary);text-transform:uppercase;margin-bottom:.5rem}ul.post-list{list-style:none;padding:0}ul.post-list li{margin-bottom:1.5rem;padding:1rem;background-color:var(--card-bg);border-radius:6px;box-shadow:0 4px 8px var(--shadow);transition:all .3s ease;border:1px solid var(--tertiary)}ul.post-list li:hover{transform:translateY(-2px);box-shadow:0 6px 16px var(--shadow-strong);border-color:var(--primary-accent)}ul.post-list li a{display:block;font-weight:600;font-size:1.1rem;margin-bottom:.25rem;color:var(--primary-accent)}ul.post-list li a:hover{color:var(--primary-accent-light);text-decoration:none}ul.post-list li .post-date{font-size:.875rem;color:var(--secondary)}@media all and (max-width: 900px){main{padding:0 1.5rem}h1{font-size:1.8rem}}@media all and (max-width: 600px){header{padding:1rem}main{padding:0 1rem;margin:1.5rem auto}h1{font-size:1.5rem}h2{font-size:1.3rem}}.post .post-header{margin-bottom:2rem}.post .post-header .post-title{margin-bottom:.5rem}.post .post-meta{color:var(--secondary);font-size:.875rem;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.post .post-meta .post-taxonomies{display:flex;flex-wrap:wrap;gap:.75rem}.post .post-meta .post-taxonomies .taxonomy-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.25rem}.post .post-meta .post-taxonomies .taxonomy-group .taxonomy-name{font-weight:500}.post .post-meta .post-taxonomies .taxonomy-group .taxonomy-term{color:var(--primary-accent);transition:color .2s ease}.post .post-meta .post-taxonomies .taxonomy-group .taxonomy-term:hover{color:var(--primary-accent-light)}.post .post-content h1,.post .post-content h2,.post .post-content h3,.post .post-content h4,.post .post-content h5,.post .post-content h6{margin-top:2rem}.post .post-content img{margin:2rem auto;border-radius:8px;box-shadow:0 4px 12px var(--shadow);border:1px solid var(--tertiary)}.post .post-content pre{border-radius:8px;border-left:3px solid var(--primary-accent);box-shadow:0 4px 12px var(--shadow)}.post .post-content pre code{font-family:"Fira Code",monospace;tab-size:4}.post .post-content :not(pre)>code{font-family:"Fira Code",monospace}.post-list li .post-description{margin-top:.5rem;color:var(--secondary);font-size:.9rem}.archive-link{text-align:right;margin-top:1rem;font-weight:500}.archive-link a{display:inline-flex;align-items:center}header h1 a{color:var(--foreground);text-decoration:none}header h1 a:hover{text-decoration:none}header .header-content{display:flex;justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto}header .header-content h1{margin:0}header .home-link{font-weight:500}footer{background-color:var(--card-bg);padding:2rem 0;margin-top:4rem;text-align:center;font-size:.875rem;color:var(--secondary);border-top:4px solid var(--primary-accent)}footer .footer-content{max-width:800px;margin:0 auto;padding:0 2rem}footer .footer-content p{margin:0}.section-header{margin-bottom:2rem}.section-header h1{margin-bottom:.5rem}.section-header .section-description{color:var(--secondary);font-size:1.1rem;margin:0}.section-content{margin-bottom:3rem}.archive .archive-year{margin-bottom:3rem}.archive .archive-year:last-child{margin-bottom:0}.archive .archive-year h2{font-size:1.75rem;margin-bottom:1.5rem;color:var(--primary-accent);border-bottom:1px solid var(--tertiary);padding-bottom:.5rem}.z-code{position:relative;color:var(--code-fg)}.z-code .z-punctuation,.z-code .z-operator,.z-code .z-bracket,.z-code .z-paren{color:var(--code-fg)}.z-code .z-language{position:absolute;top:0;right:0;color:var(--secondary);font-size:.75rem;padding:.3rem .6rem;text-transform:uppercase;font-weight:500;opacity:.7}.z-code .z-comment,.z-code .z-quote{color:#a0aec0}.z-code .z-keyword,.z-code .z-selector-tag,.z-code .z-addition{color:#63b3ed}.z-code .z-number,.z-code .z-string,.z-code .z-meta .z-meta-string,.z-code .z-literal,.z-code .z-doctag,.z-code .z-regexp{color:#68d391}.z-code .z-title,.z-code .z-section,.z-code .z-name,.z-code .z-selector-id,.z-code .z-selector-class{color:#f6ad55}.z-code .z-attribute,.z-code .z-attr,.z-code .z-variable,.z-code .z-template-variable,.z-code .z-class .z-title,.z-code .z-type{color:#fc8181}.z-code .z-symbol,.z-code .z-bullet,.z-code .z-subst,.z-code .z-meta,.z-code .z-meta .z-keyword,.z-code .z-selector-attr,.z-code .z-selector-pseudo,.z-code .z-link{color:#b794f4}.z-code .z-built_in,.z-code .z-deletion{color:#4fd1c5}.z-code .z-punctuation,.z-code .z-operator,.z-code .z-bracket,.z-code .z-paren{color:#cbd5e0}pre[style*="background-color:#2b303b"]{background-color:var(--code-bg) !important}pre[style*="background-color:#2b303b"] code{color:var(--code-fg) !important}pre[style*="background-color:#2b303b"] span:not([style]){color:var(--code-fg) !important}pre[style*="background-color:#2b303b"] span[style*=color][style*="#c0c5ce"]{color:var(--code-fg) !important}.post-content pre{position:relative}.post-content pre code{font-family:"Fira Code",monospace;tab-size:4;color:var(--code-fg)}.post-content :not(pre)>code{font-family:"Fira Code",monospace;color:var(--code-fg)}@media all and (max-width: 600px){.archive .archive-year h2{font-size:1.5rem}.section-header .section-description{font-size:1rem}footer .footer-content{padding:0 1rem}}.taxonomy-header{margin-bottom:2rem}.taxonomy-header h1{margin-bottom:.5rem}.taxonomy-header h1 .term-name{color:var(--primary-accent);font-weight:700}.taxonomy-list{display:grid;gap:2.5rem}.taxonomy-list .taxonomy-item{background-color:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px var(--shadow)}.taxonomy-list .taxonomy-item h2{margin-top:0;margin-bottom:.5rem;font-size:1.4rem;border-bottom:none}.taxonomy-list .taxonomy-item h2 a{color:var(--primary-accent);text-decoration:none;transition:color .2s ease}.taxonomy-list .taxonomy-item h2 a:hover{color:var(--primary-accent-light);text-decoration:underline}.taxonomy-list .taxonomy-item .taxonomy-count{font-size:.875rem;color:var(--secondary);margin-bottom:1.5rem}.post-list.small-list li{margin-bottom:1rem;padding:.75rem}.post-list.small-list li:last-child{margin-bottom:0}.post-list.small-list li a{font-size:1rem}.post-list.small-list li.view-more{background-color:rgba(0,0,0,0);box-shadow:none;text-align:right;padding:.5rem 0 0 0}.post-list.small-list li.view-more a{font-size:.875rem;font-weight:500}@media all and (max-width: 600px){.taxonomy-list .taxonomy-item{padding:1.25rem}.taxonomy-list .taxonomy-item h2{font-size:1.3rem}}.hero-section{background:var(--card-bg);padding:4rem 2rem;margin:2rem 0 4rem 0;border:4px solid var(--primary-accent);position:relative}.hero-section .hero-content{text-align:left;max-width:800px;margin:0 auto}.hero-section .hero-title{font-size:3rem;font-weight:700;margin:0 0 .5rem 0;color:var(--foreground);line-height:1.2;letter-spacing:-.02em}.hero-section .hero-subtitle{font-size:1.25rem;color:var(--secondary);margin:0 0 2rem 0;font-weight:400;letter-spacing:-.01em}.hero-section .hero-description{font-size:1.1rem;color:var(--secondary);margin:0 0 2rem 0;line-height:1.6}.hero-section .hero-links{display:flex;gap:1rem}.hero-section .social-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:rgba(0,0,0,0);color:var(--primary-accent);font-weight:500;text-decoration:none;transition:all .2s ease;border:3px solid var(--primary-accent)}.hero-section .social-link:hover{background:var(--primary-accent);color:var(--background);text-decoration:none}.hero-section .social-link svg{width:18px;height:18px}.portfolio-grid{display:grid;gap:3rem;margin-top:2rem}.portfolio-section{margin-bottom:4rem}.portfolio-section h2{font-size:1.75rem;margin-bottom:2rem;text-align:left;color:var(--foreground);font-weight:600;letter-spacing:-.01em}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:1.5rem;margin-top:2rem}.skill-card{background:var(--card-bg);padding:2rem;border:4px solid var(--primary-accent);transition:all .2s ease}.skill-card:hover{border-color:var(--primary-accent-light)}.skill-card h3{font-size:1.3rem;margin:0 0 1rem 0;color:var(--foreground);font-weight:600}.skill-card p{color:var(--secondary);line-height:1.6;margin:0}.posts-preview{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:2rem}.post-card{background:var(--card-bg);padding:2rem;border:4px solid var(--primary-accent);transition:all .2s ease}.post-card:hover{border-color:var(--primary-accent-light)}.post-card h3{font-size:1.5rem;margin:0 0 1rem 0;font-weight:600}.post-card h3 a{color:var(--foreground);text-decoration:none;transition:color .2s ease}.post-card h3 a:hover{color:var(--primary-accent);text-decoration:none}.post-card p{color:var(--secondary);line-height:1.6;margin:0}.post-card .post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.post-card .post-tags .tag{background:rgba(0,0,0,0);color:var(--secondary);padding:.25rem .75rem;font-size:.8rem;font-weight:500;border:2px solid var(--tertiary);transition:all .2s ease}.post-card .post-tags .tag:hover{border-color:var(--primary-accent);color:var(--primary-accent)}@media all and (max-width: 900px){.hero-section{padding:3rem 1.5rem}.hero-section .hero-title{font-size:2.5rem}.hero-section .hero-subtitle{font-size:1.2rem}.hero-section .hero-description{font-size:1rem}.skills-grid{grid-template-columns:1fr}.posts-preview{grid-template-columns:1fr}}@media all and (max-width: 600px){.hero-section{padding:2rem 1rem}.hero-section .hero-title{font-size:2rem}.hero-section .hero-subtitle{font-size:1.1rem}.hero-section .hero-description{font-size:.95rem}.hero-section .hero-links{flex-direction:column;align-items:stretch}.hero-section .social-link{justify-content:center}.skill-card,.post-card{padding:1.5rem}.portfolio-section h2{font-size:1.5rem}}.portfolio-section .about-content{background:var(--card-bg);padding:2.5rem;border:4px solid var(--primary-accent);max-width:800px;margin:0 auto}.portfolio-section .about-content p{color:var(--secondary);line-height:1.7;margin:0 0 1.5rem 0;font-size:1rem}.portfolio-section .about-content p:last-child{margin-bottom:0}@media all and (max-width: 900px){.portfolio-section .about-content{padding:2rem}}@media all and (max-width: 600px){.portfolio-section .about-content{padding:1.5rem}.portfolio-section .about-content p{font-size:.95rem;line-height:1.6}}