body{margin:0;font-family:JetBrains Mono,monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}:root{--color-text: #111111;--color-text-muted: #666666;--color-background: #ffffff;--color-accent: #0F766E;--color-accent-light: #14B8A6;--color-border: #e5e5e5;--color-border-light: #f5f5f5;--font-serif: "JetBrains Mono", monospace;--font-sans: "JetBrains Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--text-5xl: 3.5rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.7;--max-width-prose: 65ch;--max-width-wide: 80rem}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--line-height-relaxed);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:var(--line-height-tight);margin-bottom:var(--space-md);color:var(--color-text)}h1{font-size:var(--text-5xl);margin-bottom:var(--space-lg)}h2{font-size:var(--text-3xl);margin-bottom:var(--space-md)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin-bottom:var(--space-lg);max-width:var(--max-width-prose)}a{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:.2em;text-decoration-thickness:1px;transition:all .2s ease}a:hover{color:var(--color-accent);text-decoration-color:var(--color-accent-light)}a:focus{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.container{max-width:var(--max-width-wide);margin:0 auto;padding:0 var(--space-lg)}.prose{max-width:var(--max-width-prose)}.grid{display:grid;gap:var(--space-xl)}.grid-sidebar{grid-template-columns:1fr 300px;gap:var(--space-3xl)}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-background);position:sticky;top:0;z-index:100}.site-nav{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) 0}.site-title{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:700;text-decoration:none;color:var(--color-text)}.site-title:hover{color:var(--color-accent);text-decoration:none}.nav-links{display:flex;gap:var(--space-xl);list-style:none}.nav-links a{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;color:var(--color-text-muted);transition:color .2s ease}.nav-links a:hover,.nav-links a.active{color:var(--color-accent)}.hero{padding:var(--space-3xl) 0;border-bottom:1px solid var(--color-border)}.hero-title{font-size:var(--text-4xl);margin-bottom:var(--space-md)}.hero-tagline{font-size:var(--text-lg);color:var(--color-text-muted);margin-bottom:var(--space-2xl);max-width:60ch}.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-2xl);margin-bottom:var(--space-3xl)}.featured-item{padding:var(--space-xl);border:1px solid var(--color-border);transition:border-color .2s ease}.featured-item:hover{border-color:var(--color-accent)}.featured-item h3{margin-bottom:var(--space-sm)}.featured-item .dek{color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:var(--text-base)}.article-list{list-style:none}.article-item{padding:var(--space-xl) 0;border-bottom:1px solid var(--color-border-light)}.article-item:last-child{border-bottom:none}.article-title{font-size:var(--text-2xl);margin-bottom:var(--space-sm)}.article-title a{text-decoration:none;color:var(--color-text)}.article-title a:hover{color:var(--color-accent)}.article-excerpt{color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:var(--text-base)}.meta{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);display:flex;gap:var(--space-md);align-items:center}.meta-item{display:flex;align-items:center;gap:var(--space-xs)}.tag,.category{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-xs) var(--space-sm);border-radius:12px;text-decoration:none;transition:all .2s ease}.tag{background:var(--color-border-light);color:var(--color-text-muted)}.tag:hover,.category{background:var(--color-accent);color:#fff}.category:hover{background:var(--color-accent-light)}.sidebar{font-family:var(--font-sans)}.sidebar-section{margin-bottom:var(--space-2xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border-light)}.sidebar-section:last-child{border-bottom:none}.sidebar-title{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md);color:var(--color-text)}.sidebar-list{list-style:none}.sidebar-list li{margin-bottom:var(--space-sm)}.sidebar-list a{font-size:var(--text-sm);text-decoration:none;color:var(--color-text-muted)}.sidebar-list a:hover{color:var(--color-accent)}.article-header{text-align:center;margin-bottom:var(--space-xl);padding-bottom:var(--space-2xl);border-bottom:1px solid var(--color-border)}.article-header h1{margin-bottom:var(--space-md)}.article-header .dek{font-size:var(--text-lg);color:var(--color-text-muted);margin-bottom:var(--space-sm);max-width:50ch;margin-left:auto;margin-right:auto}.article-content{max-width:var(--max-width-prose);margin:0 auto}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-xs);color:var(--color-text)}.form-input,.form-textarea{width:100%;padding:var(--space-md);border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-sans);font-size:var(--text-base);transition:border-color .2s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent)}.form-textarea{resize:vertical;min-height:120px}.btn{display:inline-block;padding:var(--space-md) var(--space-xl);background:var(--color-accent);color:#fff;text-decoration:none;border:none;border-radius:4px;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn:hover{background:var(--color-accent-light);color:#fff}.site-footer{border-top:1px solid var(--color-border);margin-top:var(--space-3xl);padding:var(--space-2xl) 0;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);display:flex;justify-content:center;align-items:center}.site-footer .container{text-align:center;max-width:none;padding:0}.site-footer p{margin-bottom:var(--space-sm)}.site-footer p:last-child{margin-bottom:0}@media (max-width: 768px){:root{--text-4xl: 2.5rem;--text-5xl: 3rem}.container{padding:0 var(--space-md)}.site-nav{flex-direction:column;gap:var(--space-lg);padding:var(--space-md) 0}.nav-links{gap:var(--space-lg)}.grid-sidebar{grid-template-columns:1fr;gap:var(--space-2xl)}.featured-grid{grid-template-columns:1fr;gap:var(--space-lg)}.hero{padding:var(--space-2xl) 0}.article-item{padding:var(--space-lg) 0}}.blog-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-xl);margin-top:var(--space-xl)}.blog-card{background:var(--color-border-light);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-xl);transition:all .3s ease;text-decoration:none;color:inherit;display:block}.blog-card:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;text-decoration:none;color:inherit}.blog-card-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.blog-platform-logo{width:24px;height:24px;border-radius:4px;object-fit:contain}.blog-platform{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500}.blog-title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-sm);line-height:var(--line-height-tight)}.blog-excerpt{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--line-height-normal);margin-bottom:var(--space-md)}.blog-meta{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-muted)}.blog-date{font-weight:500}.blog-read-time{display:flex;align-items:center;gap:var(--space-xs)}.external-link-icon{width:12px;height:12px;opacity:.6}@media (max-width: 768px){.blog-gallery{grid-template-columns:1fr;gap:var(--space-lg)}.blog-card{padding:var(--space-lg)}}.timeline{position:relative;max-width:800px;margin:0 auto}.timeline:after{content:"";position:absolute;width:2px;background-color:var(--color-border);top:0;bottom:0;left:50%;margin-left:-1px}.timeline-year-marker{position:absolute;left:50%;transform:translate(-50%);background:var(--color-accent);color:#fff;padding:var(--space-xs) var(--space-sm);border-radius:12px;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;z-index:2;white-space:nowrap}.timeline-year-2025{top:0}.timeline-year-2024{top:15%}.timeline-year-2022{top:40%}.timeline-year-2021{top:65%}.timeline-year-2020{top:85%}.timeline-item{padding:var(--space-lg) var(--space-xl);position:relative;background-color:inherit;width:50%}.timeline-item:after{content:"";position:absolute;width:12px;height:12px;right:-6px;background-color:var(--color-accent);border:2px solid var(--color-background);top:var(--space-xl);border-radius:50%;z-index:1}.timeline-item:nth-child(odd){left:0}.timeline-item:nth-child(2n){left:50%}.timeline-item:nth-child(2n):after{left:-6px}.timeline-content{padding:var(--space-lg);background-color:var(--color-border-light);position:relative;border-radius:6px;border:1px solid var(--color-border)}.timeline-content:after{content:"";position:absolute;top:var(--space-lg);width:0;height:0;border:10px solid transparent}.timeline-item:nth-child(odd) .timeline-content:after{right:-20px;border-left-color:var(--color-border-light)}.timeline-item:nth-child(2n) .timeline-content:after{left:-20px;border-right-color:var(--color-border-light)}.timeline-date{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;color:var(--color-accent);margin-bottom:var(--space-xs)}.timeline-title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-xs)}.timeline-company{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.company-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.company-logo{width:32px;height:32px;border-radius:50%;object-fit:contain;background:#fff;padding:2px;border:1px solid var(--color-border-light)}.company-location{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:400}.timeline-description{font-size:var(--text-sm);line-height:var(--line-height-normal);margin-bottom:var(--space-sm)}.timeline-skills{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.timeline-skill{font-family:var(--font-sans);font-size:var(--text-xs);background:var(--color-accent);color:#fff;padding:var(--space-xs) var(--space-sm);border-radius:12px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);margin-top:var(--space-xl)}.skills-category{background:var(--color-border-light);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-lg)}.skills-category h3{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-md);color:var(--color-accent)}.skills-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:var(--space-sm)}.skill-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-sm);border-radius:6px;transition:all .2s ease}.skill-item:hover{background:var(--color-background);transform:translateY(-2px)}.skill-logo{width:40px;height:40px;object-fit:contain;margin-bottom:var(--space-xs);border-radius:4px}.skill-name{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;color:var(--color-text);line-height:var(--line-height-tight)}@media (max-width: 768px){.skills-grid{grid-template-columns:1fr;gap:var(--space-md)}.skills-category{padding:var(--space-md)}.skills-list{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:var(--space-xs)}.skill-logo{width:32px;height:32px}}.skill-logo{width:40px;height:40px}} .education-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-xl);margin-top:var(--space-xl)}.education-card{background:var(--color-border-light);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-xl);transition:border-color .2s ease}.education-card:hover{border-color:var(--color-accent)}.education-degree{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-xs)}.education-school{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.education-date{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-accent);font-weight:600;margin-bottom:var(--space-md)}.education-description{font-size:var(--text-sm);line-height:var(--line-height-normal)}@media (max-width: 768px){.timeline:after{left:20px}.timeline-year-marker{left:20px;transform:none}.timeline-item{width:100%;padding-left:var(--space-2xl);padding-right:var(--space-lg)}.timeline-item:after{left:14px}.timeline-item:nth-child(2n){left:0%}.timeline-item:nth-child(2n):after{left:14px}.timeline-content:after{display:none}.education-grid{grid-template-columns:1fr}}.certifications-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);margin-top:var(--space-xl)}.certification-card{background:var(--color-border-light);border:1px solid var(--color-border);border-radius:8px;padding:0;display:flex;flex-direction:column;align-items:center;text-align:center;transition:border-color .2s ease}.certification-card:hover{border-color:var(--color-accent)}.certification-logo{width:95%;height:auto;object-fit:contain;margin-bottom:var(--space-md)}.certification-details{display:flex;flex-direction:column;justify-content:flex-end;flex-grow:1;width:100%}.certification-name{font-size:var(--text-base);font-weight:600;line-height:var(--line-height-tight);margin-top:auto}.certification-year{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-sm)}@media (max-width: 768px){.certifications-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.certification-logo{width:95%;height:auto}.certification-name{font-size:var(--text-sm)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.blog-preview{width:100%;height:200px;margin-bottom:var(--space-md);border-radius:8px;overflow:hidden;background:var(--color-border-light)}.blog-preview img{width:100%;height:100%;object-fit:cover}.blog-preview-placeholder{width:100%;height:200px;margin-bottom:var(--space-md);border-radius:8px;background:var(--color-border-light);display:flex;align-items:center;justify-content:center}.loading-shimmer{width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.5s infinite}.blog-preview-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.blog-preview-fallback svg{width:48px;height:48px}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.docs-layout{display:flex;min-height:calc(100vh - 200px);gap:0}.docs-sidebar{width:300px;border-right:1px solid var(--color-border);background:var(--color-background);flex-shrink:0;height:calc(100vh - 200px);overflow-y:auto;position:sticky;top:0}.sidebar-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.sidebar-header h2{margin:0;font-size:var(--text-lg);color:var(--color-text)}.file-tree{padding:var(--space-md)}.tree-node{margin-bottom:2px}.tree-item{display:flex;align-items:center;padding:var(--space-xs) var(--space-sm);cursor:pointer;border-radius:4px;transition:background-color .2s ease;font-size:var(--text-sm)}.tree-item:hover{background:var(--color-border-light)}.tree-item.selected{background:var(--color-accent);color:#fff}.tree-item.folder{font-weight:500}.folder-icon{margin-right:var(--space-xs);transition:transform .2s ease;font-size:10px}.folder-icon.expanded{transform:rotate(90deg)}.file-icon{margin-right:var(--space-xs);font-size:12px}.node-name{flex:1}.tree-children{margin-left:var(--space-sm)}.docs-content{flex:1;padding:var(--space-xl);min-height:100%;width:0}.doc-article{max-width:none;width:100%}.doc-article-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-xl);gap:var(--space-md);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.doc-title-section{display:flex;align-items:flex-start;gap:var(--space-md);flex:1}.doc-article-header h1{font-size:var(--text-3xl);color:var(--color-text);margin:0;flex:1}.doc-category{background:var(--color-accent-light);color:#fff;padding:var(--space-xs) var(--space-sm);border-radius:4px;font-size:var(--text-xs);font-weight:500;white-space:nowrap}.copy-link-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);font-family:var(--font-sans);transition:all .2s ease;white-space:nowrap}.copy-link-btn:hover{background:var(--color-border-light);border-color:var(--color-accent);color:var(--color-text)}.copy-link-btn:active{transform:translateY(1px)}.doc-article-content{color:var(--color-text);line-height:var(--line-height-relaxed);max-width:none;width:100%}.doc-article-content h1,.doc-article-content h2,.doc-article-content h3,.doc-article-content h4,.doc-article-content h5,.doc-article-content h6{margin-top:var(--space-xl);margin-bottom:var(--space-md);color:var(--color-text)}.doc-article-content h1{font-size:var(--text-2xl)}.doc-article-content h2{font-size:var(--text-xl)}.doc-article-content h3{font-size:var(--text-lg)}.doc-article-content p{margin-bottom:var(--space-md)}.doc-article-content code{background:var(--color-border-light);padding:2px 6px;border-radius:3px;font-family:var(--font-serif);font-size:.9em}.doc-article-content pre{background:var(--color-border-light);padding:var(--space-lg);border-radius:6px;overflow-x:auto;margin:var(--space-lg) 0;width:100%}.doc-article-content pre code{background:none;padding:0}.doc-article-content ul,.doc-article-content ol{margin-left:var(--space-lg);margin-bottom:var(--space-md)}.doc-article-content li{margin-bottom:var(--space-xs)}.no-selection{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-text-muted);text-align:center}@media (max-width: 768px){.docs-layout{flex-direction:column}.docs-sidebar{width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid var(--color-border)}.docs-content{padding:var(--space-lg);width:100%}}
