:root{--base-font-size: 16px;--scale-featured: 1.15;--scale-default: 1.0;--font-size-body: 1em;--font-size-body-small: 0.875em;--font-size-body-large: 1.125em;--font-size-h1: 1.75em;--font-size-h2: 1.5em;--font-size-h3: 1.25em;--font-size-h4: 1.125em;--font-size-h5: 1em;--font-size-display: 3em;--font-size-label: 0.9375em;--font-size-caption: 0.875em;--font-size-meta: 0.75em;--font-size-tag: 0.6875em;--font-size-code: 0.875em;--font-size-card-title: 1.125em;--font-size-card-description: 0.875em;--font-size-post-body: 1.1em;--font-size-post-title: 1.7em;--font-size-post-lead: 1.125em}html{font-size:var(--base-font-size)}body{font-family:var(--font-sans);font-size:var(--font-size-body);line-height:1.6}h1{font-size:var(--font-size-h1);line-height:1.2}h2{font-size:var(--font-size-h2);line-height:1.3}h3{font-size:var(--font-size-h3);line-height:1.3}h4{font-size:var(--font-size-h4);line-height:1.4}h5{font-size:var(--font-size-h5);line-height:1.4}h6{font-size:var(--font-size-h5);line-height:1.4}@media (max-width: 768px){:root{--base-font-size: 15px}}@media (max-width: 480px){:root{--base-font-size: 14px;--font-size-display: 2.5em}}main{margin:0 auto;width:100%;max-width:1600px;min-height:100vh;padding:50px 150px;display:flex;flex-direction:column;gap:100px;overflow:visible;flex:1;align-items:center}main.narrow{gap:25px}.main-padding{width:100%;display:flex;flex-direction:column;flex:1;align-items:center}section{width:100%;max-width:var(--width-normal);padding:0}@media (min-width: 1081px){.wide-content{width:var(--width-wide);max-width:var(--width-wide);margin-left:calc((var(--width-normal) - var(--width-wide)) / 2);margin-right:calc((var(--width-normal) - var(--width-wide)) / 2)}}@media (max-width: 1080px){main{padding:50px 100px}}@media (max-width: 768px){main{padding:50px 50px;gap:80px}}@media (max-width: 480px){main{padding:50px 15px;gap:60px}}.about-main{padding:40px 150px 40px;display:flex;flex-direction:row;align-items:flex-start;gap:60px}.about-sidebar{flex-shrink:0;width:fit-content;max-width:250px;position:sticky;top:80px;align-self:flex-start}.about-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:60px}@media (max-width: 1080px){.about-main{padding:40px 100px;flex-direction:column}.about-sidebar{position:static;width:100%;min-width:0;max-width:initial}}@media (max-width: 768px){.about-main{padding:40px 50px}.about-content{gap:50px}}@media (max-width: 480px){.about-main{padding:40px 15px}.about-content{gap:40px}}.blog-main{padding:40px 150px 0;display:flex;flex-direction:column;gap:60px}.blog-tags-section,.blog-posts-section{width:100%;max-width:var(--width-normal)}@media (max-width: 1080px){.blog-main{padding:40px 100px 0}}@media (max-width: 768px){.blog-main{padding:40px 50px 0}}@media (max-width: 480px){.blog-main{padding:40px 15px 0}}.post-main{padding:25px 150px;display:flex;flex-direction:column;gap:0;align-items:center}.post-main article.post{width:100%;max-width:var(--width-normal)}@media (max-width: 1080px){.post-main{padding:25px 100px}.main-padding{padding:0 25px}}@media (max-width: 768px){.post-main{padding:25px 50px}}@media (max-width: 480px){.post-main{padding:25px 15px}}.post-navigation .blog-post{margin:0;padding:0}:root{--shadow: rgba(8, 6, 18, 0.7);--background-dark: #0c0a12;--background-darker: #120f1c;--background-overlay: rgba(24, 20, 34, 0.88);--background: #181422;--background-gradient-fade: rgba(24, 20, 34, 0.87);--background-light: #211c33;--background-lighter: #2f2950;--text-tertiary: #5f587c;--text-secondary: #8e86b3;--text-secondary-light: #b4acd9;--text-primary: #d9d3f2;--text-white: #ffffff;--primary: #9b84f7;--primary-glow-strong: rgba(155, 132, 247, 0.2);--primary-glow-medium: rgba(155, 132, 247, 0.11);--primary-glow-weak: rgba(155, 132, 247, 0.045);--tag-background: rgba(142, 134, 179, 0.06);--font-sans: 'Albert Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-label: 'Space Grotesk', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-mono: 'Space Mono', 'Inconsolata', 'Consolas', 'Roboto Mono', 'Ubuntu Mono', 'Liberation Mono', 'Courier New', monospace;--width-normal: 700px;--width-wide: 1000px;--border-radius: 4px;--transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1)}*,*:before,*:after{box-sizing:border-box}.desktop-hidden{display:none}@media (max-width: 768px){.desktop-hidden{display:block}}html{width:100%;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--text-tertiary) var(--background)}body{margin:0;width:100%;min-height:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased;background-color:var(--background);color:var(--text-secondary);line-height:1.3;display:flex;flex-direction:column;min-height:100vh}.site-header{padding:24px 150px;position:sticky;top:0;z-index:100;background-color:transparent;transition:background-color 0.3s ease}.site-header.scrolled{background-color:var(--background-overlay);backdrop-filter:blur(10px)}.site-nav{display:flex;justify-content:flex-end;gap:32px;margin:0 auto;max-width:var(--width-normal)}.site-nav a{color:var(--text-secondary);font-family:var(--font-label);font-size:var(--font-size-label);font-weight:500;text-transform:uppercase;letter-spacing:0.05em;text-decoration:none;transition:var(--transition);position:relative}.site-nav a.active{color:var(--primary)}.site-nav a::after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background-color:var(--primary);transition:var(--transition)}.site-nav a:hover{color:var(--primary)}.site-nav a:hover::after{width:100%}@media (max-width: 1080px){.site-header{padding:24px 100px}}@media (max-width: 768px){.site-header{padding:20px 50px}.site-nav{gap:24px}}@media (max-width: 480px){.site-header{padding:16px 25px}.site-nav{gap:20px}}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-thumb{background-color:var(--text-tertiary);border:3px solid var(--background);border-radius:10px}::-webkit-scrollbar-track{background:var(--background)}.hero-section{padding:20px 0 0 0;width:100%;max-width:var(--width-normal);position:relative;overflow:visible}.hero-section::before{content:"";position:absolute;top:50%;left:-200px;transform:translateY(-50%);width:800px;height:800px;background:radial-gradient(circle at center, rgba(124,215,255,0.2) 0%, rgba(150,128,240,0.11) 30%, rgba(99,70,216,0.05) 50%, transparent 70%);z-index:-1;pointer-events:none}.hero-greeting{margin:0 0 8px 0;color:var(--primary);font-family:var(--font-label);font-size:var(--font-size-body);font-weight:500;text-transform:uppercase;letter-spacing:0.1em}.hero-name{margin:0 0 24px 0;font-size:var(--font-size-display);font-weight:700;color:var(--text-white);line-height:1.1;position:relative}.hero-description{margin:0 0 40px 0;font-size:var(--font-size-body-large);color:var(--text-secondary);line-height:1.6;max-width:600px}.hero-socials{display:flex;align-items:center;gap:8px;margin-top:34px}.hero-socials{margin-top:24px}@media (min-width: 768px){.hero-socials{margin-left:-12px}}@media (max-width: 768px){.hero-socials::before,.hero-socials::after{content:"";flex:1;height:1px;background-color:var(--text-tertiary)}}.hero-socials-icons{display:flex;align-items:center}.hero-socials a{display:flex;padding:12px;align-items:center;justify-content:center;color:var(--text-secondary);transition:var(--transition)}.hero-socials a:hover{color:var(--primary);transform:translateY(-3px)}.hero-socials svg{width:24px;height:24px;fill:currentColor}@media (max-width: 768px){.hero-section{padding:0}.hero-section::before{left:-150px;width:600px;height:600px}}@media (max-width: 480px){.hero-section{padding:0}.hero-greeting{margin:0 0 6px 0}.hero-name{margin:0 0 20px 0}.hero-description{margin:0 0 32px 0}.hero-section::before{left:-100px;width:400px;height:400px}.hero-socials{gap:16px;margin-top:32px}.hero-socials-icons{gap:20px}.hero-socials svg{width:24px;height:24px}}@media (max-width: 768px){section section{padding:60px 0}}@media (max-width: 480px){section section{padding:40px 0}}section a{display:inline-block;text-decoration:none;color:inherit;position:relative;transition:var(--transition)}section a:hover{color:var(--primary)}section .blog-section{width:100%;max-width:var(--width-normal);padding:0}section .section-header{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:8px;margin-bottom:24px}@media (max-width: 480px){section .section-header{margin-bottom:30px}}section .section-header span.title{font-size:var(--font-size-h3);color:var(--primary);font-weight:400;text-transform:uppercase;letter-spacing:0.05em}section .section-header.separate{border-bottom:1px solid var(--background-lighter)}section .section-header a{color:var(--text-secondary);font-size:var(--font-size-body);font-family:var(--font-label)}@media (max-width: 480px){section .section-header a{font-size:var(--font-size-body-small)}}section .blog-list{list-style:none;padding:0;margin:0}section .blog-post{position:relative;display:flex;gap:16px;margin-bottom:32px;padding-bottom:32px}section .blog-list.separate .blog-post:not(:last-of-type){border-bottom:1px solid var(--background-lighter)}@media (max-width: 480px){section .blog-post{gap:12px;margin-bottom:24px;padding-bottom:24px}}section .blog-post:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}section .blog-post-image{flex-shrink:0;width:90px;height:90px;border-radius:var(--border-radius);overflow:hidden;background-color:var(--background-light);box-shadow:0 10px 30px -15px var(--shadow)}@media (max-width: 480px){section .blog-post-image{width:70px;height:70px}}.blog-post-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.blog-post.image-right{flex-direction:row-reverse}.blog-post.image-right .blog-post-content{text-align:right}.blog-post.image-right .blog-post-meta{justify-content:flex-end}.blog-post.image-right .tags-list{justify-content:flex-end}.blog-post-content{flex:1;min-width:0}.blog-post-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-family:var(--font-label);font-size:var(--font-size-meta);font-weight:500;letter-spacing:0.05em;color:var(--text-secondary)}@media (max-width: 480px){.blog-post-meta{gap:6px}}.blog-post-meta span:not(:last-child)::after{content:"•";margin-left:8px;opacity:0.5}.blog-post-title{font-size:var(--font-size-card-title);font-weight:600;color:var(--text-primary);margin:0 0 8px;line-height:1.3}@media (max-width: 480px){.blog-post-title{margin:0 0 6px}}.blog-post-title a{display:inline}.blog-post-title a:hover{color:var(--primary)}.blog-post-description{font-size:var(--font-size-card-description);color:var(--text-secondary);line-height:1.6;margin:0 0 12px}@media (max-width: 480px){.blog-post-description{margin:0 0 10px}}.tags-list{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-block;padding:3px 8px;border-radius:3px;border:1px solid var(--text-secondary);background-color:var(--tag-background);color:var(--text-secondary);font-size:var(--font-size-tag);font-weight:bold;font-family:var(--font-label);text-transform:uppercase;letter-spacing:0.08em;white-space:nowrap;text-decoration:none;transition:var(--transition)}.tag:hover{background-color:var(--primary-glow-medium);color:var(--primary);border-color:var(--primary)}@media (max-width: 480px){.tags-list{gap:6px}}@media (min-width: 640px){.blog-post-image{width:110px;height:110px}}.site-footer{background-color:var(--background-dark);padding:32px 150px;text-align:center;margin-top:auto}.site-footer p{margin:0;color:var(--text-secondary);font-size:var(--font-size-body-small);font-family:var(--font-label);letter-spacing:0.05em}@media (max-width: 1080px){.site-footer{padding:32px 100px}}@media (max-width: 768px){.site-footer{padding:28px 50px}}@media (max-width: 480px){.site-footer{padding:24px 25px}}.vertical-separator{flex:1 1 auto}figure video{border-radius:var(--border-radius)}a{overflow-wrap:anywhere}.projects-grid{list-style:none;padding:0;display:flex;flex-direction:column;gap:100px}.project{position:relative;display:grid;gap:10px;grid-template-columns:repeat(12, 1fr);align-items:center;font-size:calc(var(--scale-featured) * 1rem)}.project .project-content{position:relative;grid-area:1 / 1 / -1 / 7}.project.align-right .project-content{grid-column:7 / -1;text-align:right}.project .project-content .tags-list{margin-top:16px}.project.align-right .project-content .tags-list{justify-content:end}.project .project-image{transition:var(--transition);grid-area:1 / 6 / -1 / -1;position:relative;z-index:1}.project.align-right .project-image{grid-column:1 / 8}.project .project-image:hover,.project .project-image:focus-within{box-shadow:0 20px 30px -15px var(--shadow)}.project-image a{width:100%;display:block;border-radius:var(--border-radius)}.project-image img{width:100%;height:100%;display:block;border-radius:var(--border-radius);mix-blend-mode:multiply;transition:var(--transition)}.project-image a:hover img,.project-image a:focus img{filter:none}@media (max-width: 1080px){.projects-grid{gap:90px}.project .project-content{grid-area:1 / 1 / -1 / 8}.project.align-right .project-content{grid-column:6 / -1}.project .project-image{grid-area:1 / 7 / -1 / -1}.project.align-right .project-image{grid-column:1 / 7}}@media (max-width: 768px){.projects-grid{gap:80px}.project{display:flex;flex-direction:column-reverse;gap:0}.project .project-content{position:relative;grid-area:auto;z-index:2;margin-top:-80px;padding:0}.project.align-right .project-content{grid-column:auto;text-align:left}.project .project-image{grid-area:auto;width:100%;z-index:1}.project.align-right .project-image{grid-column:auto}.project .project-image::after{content:"";position:absolute;bottom:0;left:0;right:0;height:150px;background:linear-gradient(to bottom, transparent 0%, var(--background-gradient-fade) 55%, var(--background) 95%);pointer-events:none;z-index:2}.project.align-right .project-tech{justify-content:flex-start}}@media (max-width: 480px){.projects-grid{gap:60px}.project .project-content{margin-top:-70px;padding:0}.project .project-image::after{height:120px}}.project-label{margin:10px 0;color:var(--primary);font-family:var(--font-label);font-size:var(--font-size-label);font-weight:400;text-transform:uppercase;letter-spacing:0.05em}@media (max-width: 768px){.project-label{margin:0 0 8px 0}}@media (max-width: 480px){.project-label{margin:0 0 6px 0}}.project-title{margin:0 0 20px;font-weight:600;color:var(--text-primary);line-height:1.1;font-size:var(--font-size-h2)}@media (max-width: 768px){.project-title{margin:0 0 12px}}@media (max-width: 480px){.project-title{margin:0 0 10px}}.project-description{box-shadow:0 10px 30px -15px var(--shadow);transition:var(--transition);position:relative;z-index:2;padding:25px;border-radius:var(--border-radius);background-color:var(--background-light);color:var(--text-secondary-light);font-size:var(--font-size-body)}.project-description:hover,.project-description:focus-within{box-shadow:0 20px 30px -15px var(--shadow)}.project-description p{margin:0 0 15px}.project-description p:last-of-type{margin:0}.project-description a{color:var(--primary);position:relative}@media (max-width: 768px){.project-description{background-color:transparent;box-shadow:none;padding:0;margin-bottom:15px}.project-description:hover,.project-description:focus-within{box-shadow:none}}@media (max-width: 480px){.project-description{margin-bottom:12px}}.project-tech{display:flex;flex-wrap:wrap;position:relative;z-index:2;margin:25px 0 10px;padding:0;list-style:none;gap:8px}.project.align-right .project-tech{justify-content:flex-end}@media (min-width: 1080px){.post-header.wide-content{width:var(--width-wide);max-width:var(--width-wide);margin-left:calc((var(--width-normal) - var(--width-wide)) / 2);margin-right:calc((var(--width-normal) - var(--width-wide)) / 2)}}.post-header{margin-bottom:48px;font-size:1.05rem}@media (min-width: 1080px){.post-header.has-image{position:relative;display:grid;gap:40px;grid-template-columns:repeat(12, 1fr);align-items:center}.post-header.has-image .post-header-image{grid-area:1 / 1 / -1 / 6;position:relative;z-index:1;margin-bottom:0}.post-header.has-image .post-header-info{grid-area:1 / 6 / -1 / -1;position:relative;z-index:2}}@media (max-width: 1080px){.post-header.has-image{display:flex;flex-direction:column;gap:0}.post-header.has-image .post-header-info{position:relative;z-index:2;margin-top:-130px;padding:0}.post-header.has-image .post-header-image{position:relative;width:100%;z-index:1;margin-bottom:0}.post-header.has-image .post-header-image::after{content:"";position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(to bottom, transparent 0%, var(--background-gradient-fade) 55%, var(--background) 95%);pointer-events:none;z-index:2}}@media (max-width: 480px){.post-header.has-image{font-size:1rem}.post-header.has-image .post-header-info{margin-top:-70px;gap:10px}.post-header.has-image .post-header-image::after{height:120px}}.post-header-image{width:100%;border-radius:var(--border-radius);overflow:hidden}.post-header-image img{width:100%;height:auto;display:block}.post-header-info{display:flex;flex-direction:column;gap:8px}.post-breadcrumb{font-size:var(--font-size-label);color:var(--text-secondary);font-family:var(--font-label)}.post-breadcrumb a{color:var(--text-secondary);text-decoration:none;transition:var(--transition)}.post-breadcrumb a:hover{color:var(--primary)}.post-breadcrumb .breadcrumb-separator{margin:0 8px;opacity:0.5}.post-meta-line{display:flex;align-items:center;gap:12px;font-size:var(--font-size-body-small);color:var(--text-secondary);font-family:var(--font-label);margin-top:8px}.post-meta-line .spacer{flex-grow:1}.post-meta-line .separator{opacity:0.5}.post-meta-line .post-tags-container{display:flex;align-items:center}@media (max-width: 768px){.post-meta-line{flex-wrap:wrap}}.post-title{font-size:var(--font-size-post-title);letter-spacing:-1px;line-height:1.25;margin:16px 0 0 0;color:var(--text-white);font-weight:600}.post-subtitle{font-size:var(--font-size-post-lead);line-height:1.6;color:var(--text-secondary-light);margin:0}.post-author{display:flex;align-items:center;gap:12px;margin-top:24px}.post-author-link{display:block;line-height:0}.post-author-link:hover .post-author-avatar{transform:scale(1.05);box-shadow:0 0 0 3px var(--primary-glow-medium)}.post-author-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;transition:var(--transition)}@media (max-width: 480px){.post-author-avatar{width:32px;height:32px}}.post-author-info{display:flex;flex-direction:column;gap:2px}.post-author-name{font-size:var(--font-size-body);color:var(--text-primary);font-weight:500;text-decoration:none;transition:var(--transition)}.post-author-name:hover{color:var(--primary)}.post-author-role{font-size:var(--font-size-body-small);color:var(--text-secondary);line-height:1.2}.document{width:100%;max-width:var(--width-normal)}.document-header{margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid var(--background-lighter)}.document-title{margin:0 0 12px 0;font-size:var(--font-size-h1);font-weight:600;color:var(--text-white);line-height:1.2}.document-date{margin:0;color:var(--text-secondary);font-family:var(--font-label);font-size:var(--font-size-body);font-weight:500;letter-spacing:0.05em}.document-content{color:var(--text-secondary);font-size:var(--font-size-body);line-height:1.8}.document-content h1,.document-content h2,.document-content h3,.document-content h4,.document-content h5,.document-content h6{color:var(--text-primary);margin-top:2em;margin-bottom:0.8em;font-weight:600}.document-content h1{font-size:var(--font-size-h1)}.document-content h2{font-size:var(--font-size-h2)}.document-content h3{font-size:var(--font-size-h3)}.document-content p{margin:0 0 1.2em}.document-content ul,.document-content ol{margin:0 0 1.2em;padding-left:2em}.document-content li{margin-bottom:0.5em}.document-content a{color:var(--primary);text-decoration:none;transition:var(--transition)}.document-content a:hover{text-decoration:underline}.document-content code{background-color:var(--background-light);padding:2px 6px;border-radius:3px;font-family:var(--font-mono);font-size:0.9em;color:var(--text-primary)}.document-content pre{background-color:var(--background-light);padding:16px;border-radius:var(--border-radius);overflow-x:auto;margin:0 0 1.2em}.document-content pre code{padding:0;background-color:transparent}.document-content table{width:100%;border-collapse:collapse;margin:0 0 1.2em}.document-content th,.document-content td{padding:8px 12px;border:1px solid var(--background-lighter);text-align:left}.document-content th{background-color:var(--background-light);color:var(--text-primary);font-weight:600}.document-content blockquote{border-left:3px solid var(--primary);padding-left:16px;margin:0 0 1.2em;color:var(--text-secondary-light);font-style:italic}.document-content strong{color:var(--text-primary);font-weight:600}@media (max-width: 768px){.document-header{margin-bottom:32px;padding-bottom:20px}}@media (max-width: 480px){.document-header{margin-bottom:24px;padding-bottom:16px}}.about-sidebar .about-profile{width:auto;max-width:none;padding:0}.about-sidebar .profile-header{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}.about-sidebar .profile-info h1{white-space:nowrap}.about-sidebar .profile-role{white-space:pre-wrap}.about-sidebar .profile-location{white-space:nowrap}@media (max-width: 1080px){.about-sidebar .profile-header{flex-direction:row;align-items:center;gap:20px}.about-sidebar .profile-info h1,.about-sidebar .profile-role,.about-sidebar .profile-location{white-space:normal}}@media (max-width: 480px){.profile-avatar{width:100% !important;height:250px !important}.about-sidebar .profile-header{flex-direction:column;align-items:flex-start;gap:16px}}.about-profile{width:100%;max-width:var(--width-normal);padding:40px 0 0 0}.profile-header{display:flex;align-items:center;gap:20px;margin-bottom:24px}.profile-avatar{flex-shrink:0;width:96px;height:96px;border-radius:var(--border-radius);overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-info h1{font-size:var(--font-size-h1);font-weight:700;color:var(--text-white);margin:0 0 4px 0;line-height:1.2}.profile-role{color:var(--primary);font-size:var(--font-size-body);font-family:var(--font-label);text-transform:uppercase;font-weight:500;margin:18px 0 4px 0}.profile-location{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:var(--font-size-body);margin:0}.profile-location svg{fill:currentColor}.profile-socials{margin-top:24px;padding-top:24px;border-top:1px solid var(--background-lighter)}.profile-socials::before,.profile-socials::after{display:none}.profile-socials .hero-socials-icons{gap:16px}.about-bio{width:100%;max-width:var(--width-normal);padding:0}.about-bio p{font-size:var(--font-size-body-large);color:var(--text-secondary-light);line-height:1.6}.about-bio p:first-child{margin-top:0}.section-title{padding-bottom:8px;margin-bottom:24px;font-size:var(--font-size-h3);color:var(--primary);font-weight:400;text-transform:uppercase;letter-spacing:0.05em}.section-title.separate{border-bottom:1px solid var(--background-lighter)}.about-experience{width:100%;max-width:var(--width-normal)}.experience-grid{display:grid;grid-template-columns:32px 1fr;gap:0 16px}.timeline-marker-col{display:flex;flex-direction:column;align-items:center;padding-top:4px}.timeline-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--text-tertiary);background-color:var(--background);flex-shrink:0}.timeline-dot.active{background-color:var(--primary);border-color:var(--primary);box-shadow:0 0 8px var(--primary-glow-medium)}.timeline-line{width:1px;flex-grow:1;background-color:var(--background-lighter);margin-top:4px}.timeline-line.fade{background:linear-gradient(to bottom, var(--background-lighter), transparent)}.timeline-content{padding-bottom:40px}.timeline-date{display:block;font-size:var(--font-size-label);font-weight:600;font-family:var(--font-label);text-transform:uppercase;letter-spacing:0.05em;color:var(--text-tertiary);margin-bottom:4px}.timeline-date.active{color:var(--primary)}.timeline-content h4{font-size:var(--font-size-h4);font-weight:600;color:var(--text-white);margin:0 0 4px 0;line-height:1.3}.timeline-company{font-size:var(--font-size-body);color:var(--text-secondary);margin:0 0 12px 0}.timeline-description{font-size:var(--font-size-body);color:var(--text-secondary-light);line-height:1.6;margin:0}.timeline-achievements{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.timeline-achievements li{font-size:var(--font-size-body);color:var(--text-secondary-light);line-height:1.6;padding-left:12px;border-left:2px solid var(--background-lighter)}.about-posters{width:100%;max-width:var(--width-normal)}.about-posters .blog-post-description{font-size:var(--font-size-body)}.about-posters .blog-post-meta{font-size:var(--font-size-label)}.about-posters .blog-post-title{font-size:var(--font-size-h4)}.poster-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.poster-link{font-size:var(--font-size-body);color:var(--primary);text-decoration:none;padding:6px 14px;border:1px solid var(--primary);border-radius:var(--border-radius);transition:var(--transition)}.poster-link:hover{background-color:var(--primary-glow-medium)}.poster-authors{font-size:var(--font-size-body);color:var(--text-secondary);font-style:italic;margin:2px 0 10px}.about-tech{width:100%;max-width:var(--width-normal)}.tech-grid{display:flex;flex-wrap:wrap;gap:12px}.tag.tag-large{font-size:var(--font-size-body);padding:8px 16px;font-weight:500}@media (min-width: 1080px){.profile-avatar{width:100%;height:150px}}.blog-title{font-size:var(--font-size-h1);font-weight:700;color:var(--text-white);margin:0 0 24px 0;line-height:1.2}.blog-tags-filter{display:flex;flex-wrap:wrap;gap:12px}.blog-tags-filter .tag{cursor:pointer;transition:var(--transition)}.blog-tags-filter .tag:hover{background-color:var(--primary-glow-weak);border-color:var(--primary);color:var(--primary)}.blog-tags-filter .tag.active{background-color:var(--primary-glow-medium);border-color:var(--primary);color:var(--primary)}.blog-posts-section .blog-list{gap:40px}@media (max-width: 768px){.blog-posts-section .blog-list{gap:32px}}@media (max-width: 480px){.blog-tags-filter{gap:8px}.blog-posts-section .blog-list{gap:24px}}.post p{line-height:1.8}.post li{margin-bottom:8px}.post.h-entry{max-width:var(--width-normal);margin:0 auto}.post-meta-line .tag{font-size:var(--font-size-body-small)}.post-subtitle{color:var(--text-secondary-light)}.post-content{margin-bottom:48px;color:var(--text-secondary-light);font-size:var(--font-size-post-body);line-height:1.8}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin-top:48px;margin-bottom:16px;font-weight:600;color:var(--text-primary)}.post-content h2{font-size:var(--font-size-h2)}.post-content h3{font-size:var(--font-size-h3)}.post-content h4{font-size:var(--font-size-h4)}.post-content h5{font-size:var(--font-size-h5)}.post-content h6{font-size:var(--font-size-h6)}.post-content p{margin-bottom:16px}.post-content a{color:var(--primary);text-decoration:underline;text-underline-position:under;transition:var(--transition)}.post-content a:hover{color:var(--text-primary)}.post-content a:visited{color:var(--primary)}.post-content figcaption{color:var(--text-secondary)}.post-content ul,.post-content ol{margin-bottom:16px}.post-content li{margin-bottom:8px}.post-content blockquote{color:var(--text-secondary);border-left:4px solid var(--primary);padding-left:16px;font-size:var(--font-size-body-large);font-style:italic;margin:24px 0}.post-content blockquote>:last-child{margin-bottom:0}.post-content blockquote i,.post-content blockquote em{font-style:normal}.post-content aside{display:none}@media (min-width: 1024px){.post-content aside{display:initial;border-right:1px solid var(--text-tertiary);padding-right:16px;margin-right:32px;width:200px;position:absolute;transform:translateX(calc(-100% - 32px))}}pre,code{font-family:var(--font-mono);font-size:var(--font-size-code);border-radius:4px}code{padding:4px 8px}pre{padding:8px 12px;overflow-x:auto}pre>code{border:0;padding-right:0;padding-left:0}.highlight{border-radius:4px;margin-bottom:16px}.highlight pre{margin:0;background-color:transparent}:not(pre)>code{padding:4px 8px;color:white}figure{margin:32px 0 24px 0;display:flex;flex-direction:column;justify-content:center;align-items:center}figure:last-child{margin-bottom:0}figure img{max-width:100%;vertical-align:middle;display:block;border-radius:4px}figure figcaption{text-align:center;padding:8px 12.5%;font-size:var(--font-size-caption);color:var(--text-secondary)}@media (min-width: 1024px){figure.wide{margin-left:-90px;margin-right:-90px}}img[data-enlargable]{cursor:zoom-in}table{margin-bottom:32px;width:100%;text-align:left;color:var(--text-secondary);border-collapse:collapse;border:1px solid var(--text-tertiary);border-radius:4px}table tr:nth-child(even){background-color:var(--background-light)}table tr:nth-child(odd){background-color:var(--background)}table th,table td{padding:10px 16px;border-color:var(--text-tertiary) !important}table th{background-color:var(--background-light);border:1px solid var(--text-tertiary);font-weight:600;color:var(--text-primary)}table td{border:1px solid var(--text-tertiary)}@media (max-width: 800px){table{display:table !important;overflow-x:auto;-webkit-overflow-scrolling:touch}}.post-separator{height:1px;width:100%;margin:32px auto;background-color:var(--text-tertiary)}.post-outro{margin-bottom:32px;text-align:center;color:var(--text-secondary);font-size:var(--font-size-body)}.post-navigation{margin-top:48px}.post-footer{background-color:var(--background-darker)}.post-navigation .blog-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:32px}@media (max-width: 768px){.post-navigation .blog-list{grid-template-columns:1fr;gap:24px}}.post-nav-next{text-align:right}.unsighted{border:0;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal !important}.highlight{color:#f8f8f2;background-color:#1b1d1e;border-radius:var(--border-radius);overflow-x:auto;margin-bottom:24px}@media (min-width: 1080px){.highlight{padding:8px}}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlighter-rouge{background:#232136 !important;color:#e0def4 !important;border-radius:var(--border-radius)}.highlight,.highlight pre,.highlight table{background:#232136 !important;color:#e0def4 !important}.highlight .hll{background-color:#817c9c26 !important}.highlight .lineno{background-color:#2a273f !important;color:#908caa !important;padding:3px 6px !important}.highlight .c,.highlight .cm,.highlight .c1,.highlight .cs{color:#6e6a86 !important;font-style:italic !important}.highlight .err,.highlight .gr{color:#eb6f92 !important}.highlight .k,.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr{color:#3e8fb0 !important}.highlight .kt{color:#9ccfd8 !important}.highlight .n,.highlight .na,.highlight .nb,.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nl,.highlight .nn,.highlight .nx,.highlight .py{color:#e0def4 !important}.highlight .no{color:#ea9a97 !important}.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:#ea9a97 !important;font-style:italic !important}.highlight .bp{color:#c4a7e7 !important}.highlight .o,.highlight .ow{color:#3e8fb0 !important}.highlight .p{color:#908caa !important}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo,.highlight .il{color:#ea9a97 !important}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s1,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx,.highlight .sr,.highlight .ss{color:#f6c177 !important}.highlight .nt{color:#9ccfd8 !important}.highlight .na{color:#c4a7e7 !important;font-style:italic !important}.highlight .ni{color:#9ccfd8 !important}.highlight .go{color:#908caa !important}.highlight .ge{font-style:italic !important}.highlight .gs{font-weight:bold !important}.highlight .gi{color:#9ccfd8 !important;background-color:#9ccfd826 !important}.highlight .gd{color:#eb6f92 !important;background-color:#eb6f9226 !important}.highlight .gh,.highlight .gu{color:#c4a7e7 !important;font-weight:bold !important}.highlight .gt{color:#eb6f92 !important;font-weight:bold !important}.highlight .w{color:#6e6a86 !important}figure.image-gallery-container img{width:100%}figcaption{line-height:1.4;font-family:var(--font-label);font-style:italic}post ul{list-style:square}pre.highlight{font-size:var(--font-size-body);line-height:1.4}.post-header .post-read-time,.post-header .dt-published{flex:0 0 auto}.link-block-wrapper{margin:16px 0}.link-block{display:grid;grid-template-columns:80px 1fr;gap:10px;padding:10px;background-color:var(--background-light);border-radius:var(--border-radius);border:1px solid var(--background-lighter);text-decoration:none !important;color:inherit;transition:var(--transition)}.link-block:hover{background-color:var(--background-lighter);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.link-block-image{width:80px;height:100%;min-height:80px;border-radius:var(--border-radius);overflow:hidden;flex-shrink:0;background-color:var(--background);align-self:stretch}.link-block-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.link-block-placeholder{width:100%;height:100%;background:linear-gradient(135deg, var(--background-lighter) 0%, var(--background) 100%);display:flex;align-items:center;justify-content:center}.link-block-placeholder::after{content:"🔗";font-size:32px;opacity:0.3}.link-block:hover .link-block-image img{transform:scale(1.05)}.link-block-content{display:flex;flex-direction:column;gap:3px;min-width:0;justify-content:center}.link-block-author{font-size:var(--font-size-meta);color:var(--text-secondary);font-family:var(--font-label);text-transform:uppercase;letter-spacing:0.05em;line-height:1.2}.link-block-title{font-size:var(--font-size-body);font-weight:700;color:var(--text-primary);line-height:1.3}.link-block:hover .link-block-title{color:var(--primary)}.link-block-text{font-size:var(--font-size-body-small);color:var(--text-secondary);line-height:1.4}.link-block-link{display:flex;align-items:center;gap:4px;font-size:var(--font-size-meta);color:var(--text-secondary);font-family:var(--font-mono);margin-top:2px}.link-block-link svg{width:10px;height:10px;flex-shrink:0}.link-block-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.link-block{grid-template-columns:70px 1fr;gap:8px;padding:8px}.link-block-image{width:70px;min-height:70px}}@media (max-width: 480px){.link-block{grid-template-columns:60px 1fr;gap:8px;padding:8px}.link-block-image{width:60px;min-height:60px}}.scientific-reference{margin:0 0 16px 0;padding:12px 16px;background-color:var(--background-light);border-left:3px solid var(--primary);border-radius:var(--border-radius);font-size:var(--font-size-body-small);line-height:1.6;color:var(--text-secondary);scroll-margin-top:100px}.scientific-reference:target{background-color:var(--background-lighter)}.ref-shortcut{color:var(--primary);font-weight:700;font-family:var(--font-mono);margin-right:8px}.ref-authors{font-style:italic;color:var(--text-secondary-light)}.ref-year{color:var(--text-secondary-light);margin:0 8px 0 4px}.ref-title{font-weight:600;color:var(--text-primary)}.ref-note{color:var(--text-secondary)}.scientific-reference a{color:var(--primary);text-decoration:none}.scientific-reference a:hover{text-decoration:underline}
