@import url("https://fonts.googleapis.com/css2?family=Fira+Code:wght@300..700&display=swap");:root{--color-primary: #e57373;--color-primary-hover: #d15858;--color-text: #1f1f1f;--color-text-secondary: #606060;--color-bg: #fff8f7;--color-border: #ecdad9;--color-card: #ffffff;--space-xs: 0.25rem;--space-sm: 0.5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 2.5rem;--space-3xl: 3rem;--font-size-xs: 0.8rem;--font-size-sm: 0.9rem;--font-size-base: 1rem;--font-size-lg: 1.1rem;--font-size-xl: 1.2rem;--max-width-sm: 90vw;--max-width-md: 720px;--max-width-lg: 1000px;--border-radius: 4px;--transition-timing: 0.2s ease;--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1)}@media (prefers-color-scheme: dark){:root{--color-primary: #e57373;--color-primary-hover: #d15858;--color-text: #e0e0e0;--color-text-secondary: #999999;--color-bg: #121212;--color-border: #2a2a2a;--color-card: #1f1f1f;}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:"Fira Code",monospace;font-size:var(--font-size-sm);line-height:1.7;color:var(--color-text);background-color:var(--color-bg);letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{width:100%;max-width:var(--max-width-sm);margin:0 auto;padding:var(--space-xl) var(--space-md)}@media (min-width: 576px){.container{max-width:var(--max-width-md);padding:var(--space-2xl) var(--space-lg)}}@media (max-width: 768px){.container{max-width:95vw;padding:var(--space-lg) var(--space-md)}body{font-size:15px}h1{font-size:var(--font-size-lg)}}h1,h2,h3,h4,h5,h6{margin:var(--space-xl) 0 var(--space-md);font-weight:600;line-height:1.3;color:var(--color-text)}h1{font-size:var(--font-size-xl);margin-bottom:var(--space-sm)}h2{font-size:var(--font-size-base);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xs)}h5{font-size:var(--font-size-xs);margin:var(--space-lg) 0 var(--space-sm);font-weight:700}p{margin-bottom:var(--space-md)}header .title{margin-bottom:var(--space-sm);letter-spacing:-.02em}header p{margin:var(--space-sm) 0;color:var(--color-text-secondary);line-height:1.8}a{color:var(--color-primary);text-decoration:underline;transition:color var(--transition-timing)}a:hover{color:var(--color-primary-hover);text-decoration:none}.links-container{display:flex;gap:var(--space-sm);flex-direction:row}@media (max-width: 640px){.links-container{flex-direction:column;align-items:stretch}}ul{margin:var(--space-md) 0;padding-left:0;list-style:none}ul li{margin-bottom:var(--space-lg)}ul li p{margin-top:var(--space-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.projects{display:flex;flex-direction:column;gap:var(--space-xs)}.project-card{transition:transform var(--transition-timing)}.project-card a{display:block;padding:var(--space-sm);border-bottom:1px solid var(--color-border);text-decoration:none;color:inherit;transition:all .3s ease;border-radius:var(--border-radius)}.project-card a:hover{border-bottom-color:var(--color-primary);background-color:var(--color-card);box-shadow:var(--shadow-sm)}.project-card .project-title{margin:0 0 var(--space-xs);font-weight:700;color:var(--color-primary)}.project-card p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.5}@media (min-width: 1440px){.project-card p{max-width:30vw}}.title{margin-bottom:var(--space-xl)}.breadcrumb{margin-bottom:var(--space-xl)}.breadcrumb a{color:var(--color-text-secondary);font-size:var(--font-size-sm);text-decoration:none}.breadcrumb a:hover{color:var(--color-primary)}.blog-posts{display:flex;flex-direction:column;gap:var(--space-xs)}.blog-post-card{transition:transform var(--transition-timing)}.blog-post-card a{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);text-decoration:none;color:inherit;transition:all .3s ease}.blog-post-card a:hover{border-bottom-color:var(--color-primary);transform:translateY(-1px)}.blog-post-card .post-title{margin:0;font-weight:600;color:var(--color-primary)}.blog-post-card .post-date{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0}.blog-post .post-header{margin-bottom:var(--space-2xl)}.blog-post .post-header .title{margin-bottom:var(--space-sm)}.blog-post .post-header .post-date{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.blog-post .post-content{line-height:1.8}.blog-post .post-content p{margin-bottom:var(--space-xl)}.blog-post .post-content p:last-child{margin-bottom:0}.post-navigation{margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.post-navigation a{color:var(--color-text-secondary);font-size:var(--font-size-sm);text-decoration:none}.post-navigation a:hover{color:var(--color-primary)}.error-page{text-align:center;max-width:500px;margin:0 auto}.error-page .error-header{margin-bottom:var(--space-3xl)}.error-page .error-header .title{font-size:3rem;color:var(--color-primary);font-weight:400;margin-bottom:var(--space-sm);letter-spacing:-.02em}.error-page .error-header p{color:var(--color-text-secondary);font-size:1.1rem;margin:0}.error-page .error-content{margin-bottom:var(--space-3xl);text-align:left}.error-page .error-content p{line-height:1.8;margin-bottom:var(--space-lg);color:var(--color-text)}.error-page .error-navigation{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-3xl)}.error-page .error-navigation .nav-card{flex:1}.error-page .error-navigation .nav-card a{display:block;padding:var(--space-lg);border:1px solid var(--color-border);background-color:var(--color-card);text-decoration:none;color:inherit;transition:all .3s ease;text-align:left;border-radius:var(--border-radius)}.error-page .error-navigation .nav-card a:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.error-page .error-navigation .nav-card a h5{margin:0 0 var(--space-sm);font-weight:700;color:var(--color-primary)}.error-page .error-navigation .nav-card a p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.5}.error-page .error-footer{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.error-page .error-footer small{font-style:italic}@media (min-width: 480px){.error-page .error-navigation{flex-direction:row;gap:var(--space-lg)}}@media (max-width: 768px){.container{padding:var(--space-xl) var(--space-lg)}body{font-size:var(--font-size-xs);line-height:1.8}h1{font-size:var(--font-size-base)}.blog-post-card a{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}}