:root{--text-color: #2d2d2d;--link-color: #8b7355;--link-hover-color: #6b5940;--border-color: #e8e2d8;--bg-color: #faf9f7;--secondary-text-color: #7a7269;--tertiary-text-color: #8b8379;--card-bg-color: #f7f5f2;--max-width: 650px}@media (prefers-color-scheme: dark){:root{--text-color: #d4cfc4;--link-color: #b8a082;--link-hover-color: #c9b896;--border-color: #3a3530;--bg-color: #1f1d1a;--secondary-text-color: #9a9086;--tertiary-text-color: #8a7f73;--card-bg-color: #252218}}*{box-sizing:border-box}body{font-family:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;font-size:14px;line-height:1.7;color:var(--text-color);background-color:var(--bg-color);margin:0;padding:0;letter-spacing:.01em}.container{max-width:var(--max-width);margin:0 auto;padding:3rem 1.5rem}h1,h2,h3,h4,h5,h6{margin:2rem 0 1rem 0;font-weight:600;line-height:1.3}h1{font-size:1.5rem;margin-bottom:.5rem}h2{font-size:1.25rem;border-bottom:1px solid var(--border-color);padding-bottom:.25rem}h5{font-size:1rem;margin:1.5rem 0 .5rem 0;font-weight:700}p{margin:0 0 1rem 0}header{margin-bottom:2rem}header .title{margin-bottom:.5rem;letter-spacing:-.02em}header p{margin:.5rem 0;color:var(--secondary-text-color);line-height:1.8}a{color:var(--link-color);text-decoration:none}a:hover{color:var(--link-hover-color);text-decoration:underline}ul{margin:1rem 0;padding-left:0;list-style:none}ul li{margin-bottom:1.5rem}ul li p{margin-top:.25rem;color:var(--tertiary-text-color);font-size:.95em}.projects{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}@media (min-width: 768px){.projects{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:1.5rem}}.projects .project-card{margin-bottom:0;transition:all .2s ease}.projects .project-card a{display:block;padding:1.5rem;border:1px solid var(--border-color);background-color:var(--card-bg-color);text-decoration:none;color:inherit;transition:all .3s ease}.projects .project-card a:hover{border-color:var(--link-color);transform:translateY(-1px);box-shadow:0 2px 8px rgba(139,115,85,.08);text-decoration:none}.projects .project-card a .project-title{margin:0 0 .5rem 0;font-weight:700;color:var(--link-color)}.projects .project-card a p{margin:0;color:var(--tertiary-text-color);font-size:.95em;line-height:1.5}.thoughts-card{margin:1.5rem 0;transition:all .2s ease}.thoughts-card a{display:block;padding:1.5rem;border:1px solid var(--border-color);background-color:var(--card-bg-color);text-decoration:none;color:inherit;transition:all .3s ease}.thoughts-card a:hover{border-color:var(--link-color);transform:translateY(-1px);box-shadow:0 2px 8px rgba(139,115,85,.08);text-decoration:none}.thoughts-card a .thoughts-title{margin:0 0 .5rem 0;font-weight:700;color:var(--link-color)}.thoughts-card a p{margin:0;color:var(--tertiary-text-color);font-size:.95em;line-height:1.5}@media (prefers-color-scheme: dark){.projects .project-card a:hover,.blog-post-card a:hover,.thoughts-card a:hover{box-shadow:0 2px 8px rgba(184,160,130,.12)}}a{margin-left:.5rem;display:inline-block;border-bottom:1px solid rgba(0,0,0,0);transition:border-color .3s ease}a:hover{text-decoration:none;border-bottom-color:var(--link-color)}a:after{content:" "}.title{margin-bottom:2rem}.breadcrumb{margin-bottom:2rem}.breadcrumb a{color:var(--tertiary-text-color);font-size:.9em;text-decoration:none}.breadcrumb a:hover{color:var(--link-color)}.blog-header{margin-bottom:3rem}.blog-header .title{margin-bottom:.5rem}.blog-posts{display:flex;flex-direction:column;gap:2.5rem}.blog-post-card{transition:all .2s ease}.blog-post-card a{display:block;padding:1.5rem;border:1px solid var(--border-color);background-color:var(--card-bg-color);text-decoration:none;color:inherit;transition:all .3s ease}.blog-post-card a:hover{border-color:var(--link-color);transform:translateY(-1px);box-shadow:0 2px 8px rgba(139,115,85,.08);text-decoration:none}.blog-post-card a .post-title{margin:0 0 .5rem 0;font-size:1.25rem;font-weight:600;color:var(--link-color)}.blog-post-card a .post-date{display:block;font-size:.85em;color:var(--tertiary-text-color);margin-bottom:.75rem}.blog-post-card a .post-summary{color:var(--tertiary-text-color);font-size:.95em;line-height:1.5;margin:0}.blog-post .post-header{margin-bottom:2.5rem}.blog-post .post-header .title{margin-bottom:.5rem}.blog-post .post-header .post-date{display:block;font-size:.9em;color:var(--tertiary-text-color)}.blog-post .post-content{line-height:1.8}.blog-post .post-content p{margin-bottom:2rem}.blog-post .post-content p:last-child{margin-bottom:0}.post-navigation{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-color)}.post-navigation a{color:var(--tertiary-text-color);font-size:.9em;text-decoration:none}.post-navigation a:hover{color:var(--link-color)}.error-page{text-align:center;max-width:500px;margin:0 auto}.error-page .error-header{margin-bottom:3rem}.error-page .error-header .title{font-size:3rem;color:var(--link-color);font-weight:400;margin-bottom:.5rem;letter-spacing:-.02em}.error-page .error-header p{color:var(--secondary-text-color);font-size:1.1rem;margin:0}.error-page .error-content{margin-bottom:3rem;text-align:left}.error-page .error-content p{line-height:1.8;margin-bottom:1.5rem;color:var(--text-color)}.error-page .error-navigation{display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem}@media (min-width: 480px){.error-page .error-navigation{flex-direction:row;gap:1.5rem}}.error-page .error-navigation .nav-card{flex:1}.error-page .error-navigation .nav-card a{display:block;padding:1.5rem;border:1px solid var(--border-color);background-color:var(--card-bg-color);text-decoration:none;color:inherit;transition:all .3s ease;text-align:left}.error-page .error-navigation .nav-card a:hover{border-color:var(--link-color);transform:translateY(-1px);box-shadow:0 2px 8px rgba(139,115,85,.08);text-decoration:none}.error-page .error-navigation .nav-card a h5{margin:0 0 .5rem 0;font-weight:700;color:var(--link-color)}.error-page .error-navigation .nav-card a p{margin:0;color:var(--tertiary-text-color);font-size:.95em;line-height:1.5}.error-page .error-footer{color:var(--tertiary-text-color);font-size:.9em}.error-page .error-footer small{font-style:italic}@media (prefers-color-scheme: dark){.error-navigation .nav-card a:hover{box-shadow:0 2px 8px rgba(184,160,130,.12)}}@media (max-width: 768px){.container{padding:2rem 1.25rem}body{font-size:13px;line-height:1.8}h1{font-size:1.75rem}h2{font-size:1.1rem}}a:focus,button:focus{outline:2px solid var(--link-color);outline-offset:2px}