.ComponentStyles-module__ixvKmq__contentPage{padding-top:calc(var(--spacing-unit)*6);padding-bottom:calc(var(--spacing-unit)*6);width:100%;max-width:1100px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}.ComponentStyles-module__ixvKmq__pageTitle{margin-bottom:calc(var(--spacing-unit)*4);color:var(--color-text);font-size:2.25rem;font-weight:700}.ComponentStyles-module__ixvKmq__pageTitle:after{content:".";color:var(--color-accent)}.ComponentStyles-module__ixvKmq__header{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-subtle);background:#fdfdfdd9;transition:all .3s;position:sticky;top:0}[data-theme=dark] .ComponentStyles-module__ixvKmq__header{background:#0a0a0ad9}.ComponentStyles-module__ixvKmq__headerContainer{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:1rem 1.5rem;display:flex}.ComponentStyles-module__ixvKmq__logo{color:var(--color-text);letter-spacing:-.03em;z-index:102;font-size:1.25rem;font-weight:700}.ComponentStyles-module__ixvKmq__desktopNav{align-items:center;gap:2rem;display:flex}.ComponentStyles-module__ixvKmq__navLink{color:var(--color-text-secondary);padding:.5rem 0;font-size:.95rem;font-weight:500;transition:color .2s;position:relative}.ComponentStyles-module__ixvKmq__navLink:hover,.ComponentStyles-module__ixvKmq__activeLink{color:var(--color-text)}.ComponentStyles-module__ixvKmq__activeUnderline{background-color:var(--color-accent);border-radius:2px;height:2px;position:absolute;bottom:0;left:0;right:0}.ComponentStyles-module__ixvKmq__menuButton{cursor:pointer;z-index:102;background:0 0;border:none;padding:.5rem;display:none}.ComponentStyles-module__ixvKmq__hamburger{background-color:var(--color-text);width:24px;height:2px;transition:all .3s;position:relative}.ComponentStyles-module__ixvKmq__hamburger:before,.ComponentStyles-module__ixvKmq__hamburger:after{content:"";background-color:var(--color-text);width:24px;height:2px;transition:all .3s;position:absolute}.ComponentStyles-module__ixvKmq__hamburger:before{transform:translateY(-8px)}.ComponentStyles-module__ixvKmq__hamburger:after{transform:translateY(8px)}.ComponentStyles-module__ixvKmq__open{background-color:#0000}.ComponentStyles-module__ixvKmq__open:before{transform:rotate(45deg)}.ComponentStyles-module__ixvKmq__open:after{transform:rotate(-45deg)}.ComponentStyles-module__ixvKmq__mobileMenu{background-color:var(--color-background);border-bottom:1px solid var(--color-border);z-index:99;width:100%;padding:1rem 0 2rem;position:absolute;top:100%;left:0;box-shadow:0 10px 30px #0000000d}.ComponentStyles-module__ixvKmq__mobileNavList{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.ComponentStyles-module__ixvKmq__mobileNavLink{color:var(--color-text);font-size:1.2rem;font-weight:600}.ComponentStyles-module__ixvKmq__footer{border-top:1px solid var(--color-border);background-color:var(--color-surface);margin-top:auto;padding:3rem 0}.ComponentStyles-module__ixvKmq__footerContent{flex-direction:column;gap:1.5rem;max-width:1100px;margin:0 auto;padding:0 1.5rem;display:flex}@media (min-width:768px){.ComponentStyles-module__ixvKmq__footerContent{flex-direction:row;justify-content:space-between;align-items:center}}.ComponentStyles-module__ixvKmq__copyright{color:var(--color-text-secondary);font-size:.9rem;font-weight:500}.ComponentStyles-module__ixvKmq__builtWith{color:var(--color-text-secondary);font-size:.85rem}.ComponentStyles-module__ixvKmq__techHighlight{color:var(--color-text);font-weight:600}.ComponentStyles-module__ixvKmq__mobileHeaderControls{align-items:center;gap:.5rem;display:none}@media (max-width:768px){.ComponentStyles-module__ixvKmq__desktopNav{display:none}.ComponentStyles-module__ixvKmq__mobileHeaderControls{display:flex}}.ComponentStyles-module__ixvKmq__homeContainer{flex-direction:column;justify-content:center;align-items:center;min-height:80vh;display:flex;position:relative;overflow:hidden}.ComponentStyles-module__ixvKmq__glowBackground{z-index:-1;filter:blur(60px);background:radial-gradient(circle,#ffc8001a 0%,#fff0 70%);border-radius:50%;width:600px;height:600px;animation:8s ease-in-out infinite ComponentStyles-module__ixvKmq__pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-theme=dark] .ComponentStyles-module__ixvKmq__glowBackground{background:radial-gradient(circle,#ffa50026 0%,#0000 70%)}@keyframes ComponentStyles-module__ixvKmq__pulse{0%{opacity:.8;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}to{opacity:.8;transform:translate(-50%,-50%)scale(1)}}.ComponentStyles-module__ixvKmq__hero{text-align:center;padding:calc(var(--spacing-unit)*10)0}.ComponentStyles-module__ixvKmq__heroContent{text-align:center;z-index:1;max-width:800px;padding:0 1.5rem}.ComponentStyles-module__ixvKmq__heroTitle{letter-spacing:-.04em;color:var(--color-text);margin-bottom:1.5rem;font-size:4rem;font-weight:800;line-height:1.1}@media (max-width:768px){.ComponentStyles-module__ixvKmq__heroTitle{font-size:2.5rem}}.ComponentStyles-module__ixvKmq__heroSubtitle{color:var(--color-text-secondary);max-width:600px;margin:0 auto 3rem;font-size:1.25rem;line-height:1.6}.ComponentStyles-module__ixvKmq__heroButton{background-color:var(--color-text);color:var(--color-background);border-radius:var(--border-radius);padding:.8rem 1.75rem;font-weight:500;transition:transform .2s}.ComponentStyles-module__ixvKmq__heroButton:hover{transform:scale(1.03)}.ComponentStyles-module__ixvKmq__buttonGroup{justify-content:center;gap:1rem;display:flex}.ComponentStyles-module__ixvKmq__primaryButton,.ComponentStyles-module__ixvKmq__secondaryButton{border-radius:8px;padding:.9rem 2rem;font-size:1rem;font-weight:600;transition:all .2s;display:inline-block}.ComponentStyles-module__ixvKmq__primaryButton{background-color:var(--color-text);color:var(--color-background);border:1px solid var(--color-text)}.ComponentStyles-module__ixvKmq__primaryButton:hover{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-text);transform:translateY(-2px)}.ComponentStyles-module__ixvKmq__secondaryButton{color:var(--color-text);border:1px solid var(--color-border);background-color:#0000}.ComponentStyles-module__ixvKmq__secondaryButton:hover{border-color:var(--color-text);background-color:var(--color-surface)}@media (max-width:768px){.ComponentStyles-module__ixvKmq__heroTitle{font-size:2.75rem}.ComponentStyles-module__ixvKmq__glowBackground{width:300px;height:300px}}.ComponentStyles-module__ixvKmq__aboutGrid{grid-template-columns:1fr;gap:4rem;display:grid}@media (min-width:900px){.ComponentStyles-module__ixvKmq__aboutGrid{grid-template-columns:2fr 1fr;align-items:start}}.ComponentStyles-module__ixvKmq__aboutMain{color:var(--color-text-secondary);font-size:1.1rem;line-height:1.8}.ComponentStyles-module__ixvKmq__aboutHeadline{color:var(--color-text);margin-bottom:2rem;font-size:1.5rem;font-weight:600;line-height:1.3}.ComponentStyles-module__ixvKmq__imageWrapper{border:2px solid var(--color-border);border-radius:50%;width:120px;height:120px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;position:relative;overflow:hidden}.ComponentStyles-module__ixvKmq__profileImage{object-fit:cover;width:100%;height:100%}.ComponentStyles-module__ixvKmq__sidebarSection{margin-bottom:2rem}.ComponentStyles-module__ixvKmq__sidebarSection:last-child{margin-bottom:0}.ComponentStyles-module__ixvKmq__skillTags{flex-wrap:wrap;gap:.5rem;display:flex}.ComponentStyles-module__ixvKmq__skillTag{color:var(--color-text-secondary);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:99px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.ComponentStyles-module__ixvKmq__bioContainer p{margin-bottom:1.5rem}.ComponentStyles-module__ixvKmq__aboutSidebar{position:sticky;top:2rem}.ComponentStyles-module__ixvKmq__profileCard{background-color:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:12px;padding:2rem;box-shadow:0 4px 20px #00000008}.ComponentStyles-module__ixvKmq__avatarPlaceholder{background-color:var(--color-border);object-fit:cover;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:1.5rem;display:flex}.ComponentStyles-module__ixvKmq__sidebarTitle{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary);margin-bottom:1rem;font-size:.9rem;font-weight:600}.ComponentStyles-module__ixvKmq__socialLinksVertical{flex-direction:column;gap:.75rem;display:flex}.ComponentStyles-module__ixvKmq__socialRow{background-color:var(--color-background);border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;text-decoration:none;transition:all .2s;display:flex}.ComponentStyles-module__ixvKmq__socialRow:hover{border-color:var(--color-accent);transform:translate(4px)}.ComponentStyles-module__ixvKmq__socialName{color:var(--color-text);text-transform:capitalize;font-weight:500}.ComponentStyles-module__ixvKmq__socialArrow{color:var(--color-text-secondary);font-size:.9rem}.ComponentStyles-module__ixvKmq__socialRow:hover .ComponentStyles-module__ixvKmq__socialArrow{color:var(--color-accent)}.ComponentStyles-module__ixvKmq__projectGrid{gap:calc(var(--spacing-unit)*3);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.ComponentStyles-module__ixvKmq__projectCard{background-color:var(--color-surface);border:1px solid var(--color-border-subtle,#e5e5e5);padding:calc(var(--spacing-unit)*3);border-radius:12px;flex-direction:column;height:100%;transition:box-shadow .3s,border-color .3s;display:flex;position:relative;box-shadow:0 2px 8px #0000000a}.ComponentStyles-module__ixvKmq__projectCard:hover{border-color:var(--color-accent);box-shadow:0 12px 24px -10px #00000026}.ComponentStyles-module__ixvKmq__cardHeader{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.ComponentStyles-module__ixvKmq__projectTitle{color:var(--color-text);font-size:1.25rem;font-weight:700;line-height:1.2;transition:color .2s}.ComponentStyles-module__ixvKmq__arrow{opacity:0;color:var(--color-accent);font-size:1.2rem;transition:all .2s;transform:translate(-5px)translateY(5px)}.ComponentStyles-module__ixvKmq__projectCard:hover .ComponentStyles-module__ixvKmq__arrow{opacity:1;transform:translate(0)translateY(0)}.ComponentStyles-module__ixvKmq__projectCard:hover .ComponentStyles-module__ixvKmq__projectTitle{color:var(--color-accent)}.ComponentStyles-module__ixvKmq__projectDescription{color:var(--color-text-secondary);flex-grow:1;margin-bottom:2rem;font-size:.95rem;line-height:1.6}.ComponentStyles-module__ixvKmq__cardFooter{margin-top:auto}.ComponentStyles-module__ixvKmq__projectTags{flex-wrap:wrap;gap:.5rem;display:flex}.ComponentStyles-module__ixvKmq__projectTag{border:1px solid var(--color-border);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;background-color:#0000;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:600}.ComponentStyles-module__ixvKmq__blogList{gap:calc(var(--spacing-unit)*2);display:grid}.ComponentStyles-module__ixvKmq__blogCard{padding:calc(var(--spacing-unit)*2)0;border-bottom:1px solid var(--color-border)}.ComponentStyles-module__ixvKmq__blogTitle{margin-bottom:.25rem;font-size:1.2rem;font-weight:600}.ComponentStyles-module__ixvKmq__blogExcerpt{color:var(--color-text-secondary);margin-bottom:var(--spacing-unit)}.ComponentStyles-module__ixvKmq__readMoreLink{color:var(--color-accent);font-size:.9rem;font-weight:500}.ComponentStyles-module__ixvKmq__readMoreLink span{transition:transform .2s;display:inline-block}.ComponentStyles-module__ixvKmq__readMoreLink:hover span{transform:translate(4px)}@media (max-width:900px){.ComponentStyles-module__ixvKmq__projectGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.ComponentStyles-module__ixvKmq__nav{padding:var(--spacing-unit);border-radius:var(--border-radius);border:1px solid var(--color-border);z-index:100;background-color:#fff;flex-direction:column;display:none;position:absolute;top:85px;right:24px;box-shadow:0 4px 12px #0000000d}.ComponentStyles-module__ixvKmq__navOpen{display:flex}.ComponentStyles-module__ixvKmq__menuButton{z-index:101;display:block}.ComponentStyles-module__ixvKmq__projectGrid{grid-template-columns:1fr}.ComponentStyles-module__ixvKmq__heroTitle{font-size:2.5rem}}.ComponentStyles-module__ixvKmq__projectDetailLayout{gap:calc(var(--spacing-unit)*6);grid-template-columns:1fr;display:grid}@media (min-width:900px){.ComponentStyles-module__ixvKmq__projectDetailLayout{grid-template-columns:2.5fr 1fr}}.ComponentStyles-module__ixvKmq__projectIntro{color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit)*4);font-size:1.1rem}.ComponentStyles-module__ixvKmq__mainContent p{color:#333;margin-bottom:1.5rem;line-height:1.8}.ComponentStyles-module__ixvKmq__sidebar{top:calc(var(--spacing-unit)*4);align-self:start;position:sticky}.ComponentStyles-module__ixvKmq__metaCard{background-color:var(--color-surface);padding:calc(var(--spacing-unit)*3);border-radius:var(--border-radius)}.ComponentStyles-module__ixvKmq__metaTitle{margin-bottom:var(--spacing-unit);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-unit);font-size:1rem;font-weight:600}.ComponentStyles-module__ixvKmq__metaLinks{gap:var(--spacing-unit);margin-bottom:calc(var(--spacing-unit)*3);flex-direction:column;display:flex}.ComponentStyles-module__ixvKmq__metaLinks a{color:var(--color-text);font-weight:500}.ComponentStyles-module__ixvKmq__metaLinks a:hover{color:var(--color-accent)}.ComponentStyles-module__ixvKmq__blogPost{max-width:700px;margin:0 auto}.ComponentStyles-module__ixvKmq__blogList{gap:calc(var(--spacing-unit)*4);flex-direction:column;max-width:800px;display:flex}.ComponentStyles-module__ixvKmq__blogCard{padding:calc(var(--spacing-unit)*2);border-left:2px solid var(--color-border);background:0 0;transition:border-color .2s,background-color .2s;display:block}.ComponentStyles-module__ixvKmq__blogCard:hover{border-left-color:var(--color-accent);background:linear-gradient(90deg,var(--color-surface)0%,transparent 100%)}.ComponentStyles-module__ixvKmq__blogTitle{color:var(--color-text);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.ComponentStyles-module__ixvKmq__blogExcerpt{color:var(--color-text-secondary);max-width:90%;margin-bottom:1rem;font-size:1rem;line-height:1.6}.ComponentStyles-module__ixvKmq__readMoreLink{color:var(--color-accent);align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.ComponentStyles-module__ixvKmq__readMoreLink .ComponentStyles-module__ixvKmq__arrow{transition:transform .2s}.ComponentStyles-module__ixvKmq__blogCard:hover .ComponentStyles-module__ixvKmq__readMoreLink .ComponentStyles-module__ixvKmq__arrow{transform:translate(5px)}.ComponentStyles-module__ixvKmq__blogPostLayout{max-width:720px;margin:0 auto}.ComponentStyles-module__ixvKmq__blogNav{margin-bottom:3rem}.ComponentStyles-module__ixvKmq__backLink{color:var(--color-text-secondary);font-size:.9rem;transition:color .2s}.ComponentStyles-module__ixvKmq__backLink:hover{color:var(--color-accent);text-decoration:underline}.ComponentStyles-module__ixvKmq__blogHeader{text-align:left;margin-bottom:3rem}.ComponentStyles-module__ixvKmq__detailTitle{color:var(--color-text);margin-bottom:1rem;font-size:2.5rem;font-weight:800;line-height:1.2}.ComponentStyles-module__ixvKmq__postDate{color:var(--color-text-secondary);font-family:var(--font-mono,monospace);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.ComponentStyles-module__ixvKmq__divider{background:var(--color-border);border:0;height:1px;margin:4rem 0 2rem}.ComponentStyles-module__ixvKmq__blogFooter{text-align:center;padding-bottom:4rem}.ComponentStyles-module__ixvKmq__blogMeta{color:var(--color-text-secondary);font-size:.9rem}.ComponentStyles-module__ixvKmq__blogBody p{margin-bottom:1.5rem;font-size:1.1rem;line-height:1.8}.ComponentStyles-module__ixvKmq__blogBody blockquote{border-left:3px solid var(--color-accent);color:var(--color-text-secondary);margin:2rem 0;padding-left:1.5rem;font-style:italic}.ComponentStyles-module__ixvKmq__codeBlockWrapper{border:1px solid var(--color-border-subtle);background-color:#2d2d2d;border-radius:8px;margin:2rem 0;overflow:hidden;box-shadow:0 4px 10px #0003}.ComponentStyles-module__ixvKmq__codeBlockHeader{background-color:var(--color-background-light);border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.ComponentStyles-module__ixvKmq__codeBlockLanguage{color:var(--color-text-secondary);text-transform:uppercase;font-size:.8rem;font-family:var(--font-mono)}.ComponentStyles-module__ixvKmq__codeBlockCopyButton{background:var(--color-background-light);color:var(--color-text-primary);border:1px solid var(--color-border-subtle);cursor:pointer;font-family:var(--font-sans);border-radius:5px;padding:.25rem .75rem;font-size:.8rem;transition:background-color .2s}.ComponentStyles-module__ixvKmq__codeBlockCopyButton:hover{background-color:var(--color-background)}.ComponentStyles-module__ixvKmq__codeBlockPre{color:var(--color-text-primary);background-color:var(--color-background-light);padding:1.25rem;overflow-x:auto}.ComponentStyles-module__ixvKmq__codeBlockPre code{font-family:var(--font-mono);white-space:pre;font-size:.9rem;line-height:1.7}.ComponentStyles-module__ixvKmq__portableTextContainer{width:100%}.ComponentStyles-module__ixvKmq__portableTextContainer p{color:var(--color-text-secondary);margin-bottom:1.75rem;font-size:1.1rem;line-height:1.75}.ComponentStyles-module__ixvKmq__portableTextContainer a{color:var(--color-brand);text-underline-offset:4px;text-decoration:underline}.ComponentStyles-module__ixvKmq__portableTextContainer a:hover{-webkit-text-decoration-color:var(--color-brand-light);text-decoration-color:var(--color-brand-light)}.ComponentStyles-module__ixvKmq__portableTextH1{margin-top:2.5rem;margin-bottom:1rem;font-size:2.25rem;font-weight:700}.ComponentStyles-module__ixvKmq__portableTextH2{margin-top:2.25rem;margin-bottom:1rem;font-size:1.75rem;font-weight:600}.ComponentStyles-module__ixvKmq__portableTextH3{margin-top:2rem;margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.ComponentStyles-module__ixvKmq__portableTextBlockquote{border-left:4px solid var(--color-brand);color:var(--color-text-secondary);margin:2rem 0;padding-left:1.5rem;font-style:italic}.ComponentStyles-module__ixvKmq__portableTextImageWrapper{width:100%;max-width:700px;margin:2rem auto}.ComponentStyles-module__ixvKmq__portableTextImage{border:1px solid var(--color-border-subtle);border-radius:8px;display:block;width:100%!important;height:auto!important}@media (max-width:768px){.ComponentStyles-module__ixvKmq__portableTextImageWrapper{max-width:100%}}@media (max-width:480px){.ComponentStyles-module__ixvKmq__portableTextImageWrapper{margin:1.5rem 0}}.ComponentStyles-module__ixvKmq__latexInline{margin:0 .2rem;display:inline-block}.ComponentStyles-module__ixvKmq__latexBlock{text-align:center;width:100%;margin:2rem 0;padding:1rem;display:block;overflow-x:auto}.ComponentStyles-module__ixvKmq__latexBlock .ComponentStyles-module__ixvKmq__katex-display{margin:0!important}.ComponentStyles-module__ixvKmq__inlineLaTeX{vertical-align:baseline;margin:0 .15em;display:inline}.ComponentStyles-module__ixvKmq__themeToggle{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text);background:0 0;border-radius:6px;justify-content:center;align-items:center;margin-left:1rem;padding:.5rem;transition:all .2s;display:flex}.ComponentStyles-module__ixvKmq__themeToggle:hover{background-color:var(--color-surface);border-color:var(--color-accent)}.ComponentStyles-module__ixvKmq__themeToggle:active{transform:scale(.95)}.ComponentStyles-module__ixvKmq__themeToggle svg{display:block}
