*{box-sizing:border-box;padding:0;margin:0}html{background-color:#bceaf7}html:has(.page-blog){background-color:#faf8f5}body,html{max-width:100vw;overflow-x:hidden}body{font-family:Comfortaa,sans-serif;line-height:1.6;color:#22021f;margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column}body>:first-child{flex:1 1}a{color:inherit;text-decoration:none}main{max-width:1200px;margin:0 auto;padding:2rem}#hero{text-align:center;padding:1rem 0;display:flex;flex-direction:column;align-items:center;gap:0}#hero h1{font-size:4rem;margin-bottom:0}.profile-image{border-radius:10px;margin:2rem 0 0;display:block}#projects{margin-top:5rem;padding:0 2rem;margin-bottom:5rem}#projects h2{font-size:2.8rem;margin-bottom:3.5rem;text-align:left;font-weight:500;color:#22021f}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:3rem;gap:3rem;max-width:1100px;margin:0 auto}.project-card{border:none;border-radius:20px;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;height:100%;background-color:#fff;box-shadow:none}.project-card-link{color:inherit;display:block;height:100%}.project-card-link,.project-card-link:hover{text-decoration:none}.project-card-link:hover .project-card{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.1)}.project-card img{width:100%;height:280px;object-fit:contain;background-color:#bceaf7;padding:2rem}.project-card h3{padding:2rem 2rem 2.5rem;margin:0;font-size:1.15rem;font-weight:600;line-height:1.5;color:#22021f;text-align:center}.project-card{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease,box-shadow .4s cubic-bezier(.4,0,.2,1)}.project-card.animate{opacity:1;transform:translateY(0)}footer{background-color:#333;color:#fdfdfd;text-align:center;padding:2rem}html:has(.page-blog) footer{background-color:#d7c1ae;color:#22021f;margin-left:280px;box-shadow:-8px 0 0 0 #d7c1ae}footer ul{list-style-type:none;padding:0}footer ul li{display:inline;margin-right:20px}footer ul li a{color:inherit;text-decoration:none;font-weight:500}footer ul li a:hover{text-decoration:underline}#tableContainer{padding:20px;max-width:800px;margin:0 auto;box-shadow:0 4px 6px rgba(0,0,0,.1)}#tableContainer,table{background-color:#fff;border-radius:8px}table{border-collapse:separate;border-spacing:0;width:100%;margin:20px 0;overflow:hidden;box-shadow:0 0 20px rgba(0,0,0,.1)}td,th{padding:15px;text-align:left;border-bottom:1px solid #e0e0e0}th{background-color:#3498db;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-top:1px solid #3498db}tr:nth-child(2n){background-color:#f8f8f8}tr:hover{background-color:#e8f9ff;transition:background-color .3s ease}td{border-right:1px solid #e0e0e0}td:last-child{border-right:none}.instructions{margin-top:2rem;padding:1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.instructions code{display:block;background-color:#f4f4f4;padding:1rem;border-radius:4px;margin:1rem 0;overflow-x:auto;font-family:Courier New,monospace}.page-blog{min-height:100vh;background-color:#faf8f5}.blog-container{display:flex;min-height:100vh}.blog-sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;background-color:#f5eee2;padding:2rem 1.5rem;overflow-y:auto;border-right:1px solid rgba(34,2,31,.08);transition:width .3s ease}.blog-sidebar.collapsed{width:120px;padding:2rem 1rem}html:has(.blog-sidebar.collapsed) .blog-main{margin-left:120px}html:has(.blog-sidebar.collapsed) footer{margin-left:120px;box-shadow:-8px 0 0 0 #d7c1ae}.blog-sidebar.collapsed .blog-sidebar-content h3{font-size:.9rem;text-align:center}.blog-sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem}.blog-search-toggle,.blog-sidebar-toggle{background:none;border:none;color:#666;cursor:pointer;font-size:1.2rem;padding:.25rem .5rem;transition:color .3s ease}.blog-search-toggle:hover,.blog-sidebar-toggle:hover{color:#22021f}.mobile-only{display:none}.desktop-only{display:block}.blog-date-nav{display:none;align-items:center;gap:.5rem}.blog-date-nav-arrow{background:none;border:none;color:#666;cursor:pointer;font-size:1.2rem;padding:.25rem .5rem;transition:color .3s ease}.blog-date-nav-arrow:hover{color:#22021f}.blog-date-nav-current{background:rgba(34,2,31,.08);border:none;color:#22021f;cursor:pointer;font-size:.95rem;font-weight:500;padding:.5rem 1rem;border-radius:20px;transition:background-color .3s ease;white-space:nowrap}.blog-date-nav-current:hover{background:rgba(34,2,31,.12)}.blog-search-container{padding:1rem 0 .5rem}.blog-search-input{width:100%;padding:.75rem 1rem;border:1px solid rgba(34,2,31,.15);border-radius:8px;font-size:.95rem;font-family:Comfortaa,sans-serif;background-color:#fff;color:#22021f;outline:none;transition:border-color .3s ease}.blog-search-input:focus{border-color:rgba(34,2,31,.3)}.blog-search-input::placeholder{color:#999}.blog-search-no-results{padding:1rem;text-align:center;color:#888;font-size:.95rem}.blog-back-link{color:#666;text-decoration:none;display:flex;align-items:center;transition:color .3s ease}.blog-back-link:hover{color:#22021f}.home-icon{width:24px;height:24px;stroke:currentColor}.blog-sidebar-content h3{font-size:1.1rem;font-weight:500;color:#22021f;margin-bottom:.75rem}.blog-sidebar-divider{width:100%;height:2px;background-color:rgba(34,2,31,.15);margin-bottom:1.5rem}.blog-nav-list{display:flex;flex-direction:column;gap:.5rem}.blog-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem .5rem;background:none;border:none;text-align:left;cursor:pointer;border-radius:8px;transition:background-color .3s ease}.blog-nav-item:hover{background-color:rgba(34,2,31,.04)}.blog-nav-dot{width:8px;height:8px;border:2px solid #666;border-radius:50%;flex-shrink:0;transition:all .3s ease}.blog-nav-item.active .blog-nav-dot{background-color:#22021f;border-color:#22021f}.blog-nav-text{flex:1 1}.blog-nav-title{font-size:.95rem;color:#22021f;line-height:1.4;margin-bottom:.25rem;font-weight:400}.blog-nav-item.active .blog-nav-title{font-weight:500}.blog-nav-date{font-size:.85rem;color:#888}.blog-nav-date-short{font-size:.8rem;color:#666;font-weight:500}.blog-main{flex:1 1;margin-left:280px;padding:3rem 4rem}.blog-posts{display:flex;flex-direction:column;gap:4rem;max-width:900px;margin:0 auto}.blog-post{background-color:#fff;border-radius:16px;padding:3rem;box-shadow:0 2px 8px rgba(0,0,0,.06)}.blog-post h1{font-size:2.5rem;margin-top:0;margin-bottom:.5rem;color:#22021f;font-weight:600}.blog-post-meta{font-size:.95rem;color:#888;margin-bottom:2rem}.blog-post-content{line-height:1.8;color:#333}.blog-post-content h1,.blog-post-content h2,.blog-post-content h3{margin-top:2rem;margin-bottom:1rem;color:#22021f}.blog-post-content h1{font-size:2rem}.blog-post-content h2{font-size:1.6rem}.blog-post-content h3{font-size:1.3rem}.blog-post-content p{margin-bottom:1.2rem}.blog-post-content ol,.blog-post-content ul{margin-bottom:1.2rem;padding-left:2rem}.blog-post-content li{margin-bottom:.5rem}.blog-post-content code{background-color:#f5f3f0;padding:.2rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9em;color:#c7254e}.blog-post-content pre{background-color:#f5f3f0;padding:1.25rem;border-radius:8px;overflow-x:auto;margin-bottom:1.2rem}.blog-post-content pre code{background-color:transparent;padding:0;color:#333}.read-more{display:inline-block;margin-top:1rem;color:#3498db;text-decoration:none}.read-more:hover{text-decoration:underline}.error{color:#e74c3c;padding:1rem;background-color:#fadbd8;border-radius:4px}@media screen and (max-width:768px){#hero h1{font-size:2.5rem}main{padding:1rem}.project-grid{grid-template-columns:1fr;gap:2.5rem}#projects{padding:0 1rem}#projects h2{font-size:2.2rem;margin-bottom:2.5rem}.project-card h3{font-size:1.1rem;padding:1.5rem 1.5rem 2rem}.blog-sidebar{position:fixed;top:0;left:0;right:0;width:100%;max-height:none;height:auto;border-right:none;border-bottom:1px solid rgba(34,2,31,.08);padding:1rem 1.5rem;background-color:#f5eee2;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.1)}.blog-sidebar-header{margin-bottom:0}.blog-sidebar-content{display:none;padding-top:0}.blog-sidebar:has(.blog-search-container) .blog-sidebar-content{display:block;padding-top:.5rem}.blog-sidebar-content .blog-sidebar-divider,.blog-sidebar-content h3{display:none}.blog-sidebar:has(.blog-search-container) .blog-sidebar-content h3{display:block;margin-bottom:.5rem}.blog-sidebar:has(.blog-search-container) .blog-sidebar-content .blog-sidebar-divider{display:block;margin-bottom:1rem}.mobile-only{display:block}.desktop-only{display:none}.blog-date-nav.mobile-only{display:flex}.blog-main{margin-left:0;padding:5rem 1.5rem 2rem}.blog-container{flex-direction:column}.blog-post{padding:2rem 1.5rem}.blog-post h1{font-size:2rem}.blog-posts{gap:2.5rem}html:has(.page-blog) footer{margin-left:0;box-shadow:none}}@media screen and (max-width:600px){table{font-size:14px}td,th{padding:10px}}