.navBar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--spaceMd) var(--spaceLg);background:transparent;border-bottom:1px solid transparent;transition:background var(--durationFast) var(--easeStandard),border-color var(--durationFast) var(--easeStandard)}.navBarScrolled{background:#0a0a0acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--colorBorder)}.navLogo{font-family:var(--fontMono);font-size:var(--fontSizeSm);color:var(--colorText)}.navLinkList{display:flex;gap:var(--spaceLg)}.navLink{font-family:var(--fontBody);font-size:var(--fontSizeSm);color:var(--colorTextMuted);transition:color var(--durationFast) var(--easeStandard)}.navLink:hover,.navLink:focus-visible{color:var(--colorAccent)}.navHamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;background:transparent;border:none;z-index:210}.navHamburger span{display:block;width:22px;height:2px;background:var(--colorText);border-radius:2px;transition:transform var(--durationFast) var(--easeStandard),opacity var(--durationFast) var(--easeStandard)}.navHamburger.isOpen span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navHamburger.isOpen span:nth-child(2){opacity:0}.navHamburger.isOpen span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;opacity:0;pointer-events:none;transition:opacity var(--durationFast) var(--easeStandard);z-index:190}.navOverlay.isOpen{opacity:1;pointer-events:auto}.navSidebar{position:fixed;top:0;right:0;bottom:0;width:min(280px,80vw);background:var(--colorBgElevated);border-left:1px solid var(--colorBorder);padding:calc(var(--spaceMd) * 2) var(--spaceLg);transform:translate(100%);transition:transform var(--durationMedium) var(--easeStandard);z-index:200}.navSidebar.isOpen{transform:translate(0)}.navSidebarList{display:flex;flex-direction:column;gap:var(--spaceLg)}.navSidebarLink{font-family:var(--fontBody);font-size:var(--fontSizeMd);color:var(--colorTextMuted);transition:color var(--durationFast) var(--easeStandard)}.navSidebarLink:hover,.navSidebarLink:focus-visible{color:var(--colorAccent)}@media (max-width: 768px){.navLinkList{display:none}.navHamburger{display:flex}}@media (min-width: 769px){.navOverlay,.navSidebar{display:none}}.heroSection{min-height:100vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:var(--spaceLg);max-width:var(--maxWidth);margin:0 auto;position:relative}.heroContent{max-width:720px}.heroEyebrow{font-family:var(--fontMono);font-size:var(--fontSizeSm);color:var(--colorAccent);margin-bottom:var(--spaceMd);letter-spacing:.05em}.heroTitle{font-family:var(--fontDisplay);font-size:var(--fontSize3xl);font-weight:700;line-height:1.15;margin-bottom:var(--spaceMd)}.heroSubtitle{font-size:var(--fontSizeLg);color:var(--colorTextMuted);max-width:520px;margin-bottom:var(--spaceLg)}.heroActions{display:flex;gap:var(--spaceMd)}.heroButtonPrimary,.heroButtonSecondary{font-size:var(--fontSizeSm);padding:.85rem 1.5rem;border-radius:var(--radiusSm);transition:all var(--durationFast) var(--easeStandard)}.heroButtonPrimary{background:var(--colorText);color:var(--colorBg)}.heroButtonPrimary:hover{background:var(--colorAccent)}.heroButtonSecondary{border:1px solid var(--colorBorderStrong);color:var(--colorText)}.heroButtonSecondary:hover{border-color:var(--colorAccent);color:var(--colorAccent)}.heroScrollHint{position:absolute;bottom:var(--spaceXl);left:var(--spaceLg);width:1px;height:48px;overflow:hidden}.heroScrollLine{display:block;width:100%;height:100%;background:var(--colorBorderStrong);position:relative}.heroScrollLine:after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--colorAccent);animation:scrollLineMove 2s var(--easeStandard) infinite}@keyframes scrollLineMove{to{top:100%}}@media (max-width: 640px){.heroTitle{font-size:var(--fontSize2xl)}.heroActions{flex-direction:column;width:100%}.heroButtonPrimary,.heroButtonSecondary{text-align:center}}.profileCard{position:absolute;top:var(--space2xl);right:var(--spaceLg);width:220px;height:220px;overflow:hidden;border-radius:var(--radiusMd);border:1px solid var(--colorBorderStrong);box-shadow:0 24px 48px #00000073;cursor:pointer;outline:none}.profileCard:hover,.profileCard:focus-visible{border-color:var(--colorAccent)}.profileCardImage{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.profileCardGradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.15) 55%,transparent)}.profileCardInfo{position:absolute;left:0;bottom:0;width:100%;padding:var(--spaceSm)}.profileCardRole{font-family:var(--fontMono);font-size:.65rem;letter-spacing:.05em;text-transform:uppercase;color:var(--colorAccent);margin-bottom:.25rem}.profileCardName{font-family:var(--fontDisplay);font-size:var(--fontSizeMd);font-weight:600;color:var(--colorText)}.profileCardModalRoot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--spaceMd)}.profileCardBackdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0a0acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profileCardModal{position:relative;z-index:1;width:100%;max-width:900px;height:min(80vh,640px);display:flex;overflow:hidden;background:var(--colorBgElevated);border:1px solid var(--colorBorderStrong);border-radius:var(--radiusMd);box-shadow:0 32px 64px #0000008c}.profileCardCloseBtn{position:absolute;top:var(--spaceSm);right:var(--spaceSm);z-index:2;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0a0a0a99;border:1px solid var(--colorBorder);border-radius:999px;color:var(--colorText);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background var(--durationFast) var(--easeStandard),border-color var(--durationFast) var(--easeStandard)}.profileCardCloseBtn:hover,.profileCardCloseBtn:focus-visible{border-color:var(--colorAccent);background:#0a0a0ad9}.profileCardModalImageWrap{position:relative;flex-shrink:0;width:45%;height:100%;overflow:hidden}.profileCardModalImage{width:100%;height:100%;object-fit:cover}.profileCardModalContent{display:flex;flex-direction:column;width:55%;height:100%;padding:var(--spaceLg);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.profileCardModalContent::-webkit-scrollbar{display:none}.profileCardModalRole{font-family:var(--fontMono);font-size:var(--fontSizeXs);letter-spacing:.05em;text-transform:uppercase;color:var(--colorAccent);margin-bottom:.4rem}.profileCardModalName{font-family:var(--fontDisplay);font-size:var(--fontSizeXl);font-weight:600;color:var(--colorText);padding-bottom:var(--spaceSm);margin-bottom:var(--spaceMd);border-bottom:1px solid var(--colorBorder)}.profileCardModalBody{display:flex;flex-direction:column;gap:var(--spaceMd);color:var(--colorTextMuted);font-size:var(--fontSizeSm);line-height:1.6;flex:1}.profileCardModalBody h4{font-family:var(--fontMono);font-size:var(--fontSizeXs);letter-spacing:.05em;color:var(--colorText);margin-bottom:.6rem}.profileCardSkillList{display:flex;flex-wrap:wrap;gap:.4rem}.profileCardSkillItem{font-family:var(--fontMono);font-size:var(--fontSizeXs);color:var(--colorText);border:1px solid var(--colorBorder);border-radius:var(--radiusSm);padding:.3rem .6rem}.profileCardContactBtn{align-self:flex-start;margin-top:var(--spaceSm);padding:.65rem 1.4rem;background:var(--colorAccent);color:var(--colorBg);font-weight:600;font-size:var(--fontSizeSm);border-radius:var(--radiusSm);transition:opacity var(--durationFast) var(--easeStandard)}.profileCardContactBtn:hover,.profileCardContactBtn:focus-visible{opacity:.85}@media (max-width: 900px) and (min-width: 641px){.profileCard{position:static;margin:var(--spaceLg) auto 0}}@media (max-width: 768px){.profileCardModal{flex-direction:column;height:min(90vh,720px);overflow-y:auto}.profileCardModalImageWrap{width:100%;height:220px}.profileCardModalContent{width:100%;height:auto;overflow-y:visible}}@media (max-width: 640px){.profileCard{display:none}}.aboutSection{position:relative;border-top:1px solid var(--colorBorder)}.aboutContent{display:flex;flex-direction:column;gap:var(--spaceLg);max-width:640px}.aboutText{font-size:var(--fontSizeLg);color:var(--colorTextMuted)}.aboutSkillList{display:flex;flex-wrap:wrap;gap:var(--spaceXs)}.aboutSkillItem{font-family:var(--fontMono);font-size:var(--fontSizeXs);color:var(--colorText);border:1px solid var(--colorBorder);border-radius:var(--radiusSm);padding:.4rem .75rem}.projectsSection{border-top:1px solid var(--colorBorder)}.projectsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spaceMd)}.projectCard{display:flex;flex-direction:column;gap:var(--spaceSm);padding:var(--spaceLg);border:1px solid var(--colorBorder);border-radius:var(--radiusMd);background:var(--colorBgElevated);transition:border-color var(--durationFast) var(--easeStandard),transform var(--durationFast) var(--easeStandard)}.projectCard:hover,.projectCard:focus-visible{border-color:var(--colorAccent);transform:translateY(-4px)}.projectCardTitle{font-family:var(--fontDisplay);font-size:var(--fontSizeLg);font-weight:600}.projectCardDescription{font-size:var(--fontSizeSm);color:var(--colorTextMuted);flex:1}.projectCardTechList{display:flex;flex-wrap:wrap;gap:var(--spaceXs)}.projectCardTechItem{font-family:var(--fontMono);font-size:var(--fontSizeXs);color:var(--colorTextMuted)}.projectCardTechItem:after{content:""}.projectCardTechItem:not(:last-child):after{content:" · "}.isRun{font-size:8px;color:red}.contactSection{border-top:1px solid var(--colorBorder);display:flex;flex-direction:column;min-height:60vh;justify-content:center}.contactTitle{font-family:var(--fontDisplay);font-size:var(--fontSize2xl);font-weight:600;margin-bottom:var(--spaceLg);max-width:560px}.contactLinkList{display:flex;gap:var(--spaceLg);margin-bottom:var(--space2xl)}.contactLink{font-family:var(--fontMono);font-size:var(--fontSizeSm);color:var(--colorText);border-bottom:1px solid var(--colorBorderStrong);padding-bottom:.25rem;transition:color var(--durationFast) var(--easeStandard),border-color var(--durationFast) var(--easeStandard)}.contactLink:hover,.contactLink:focus-visible{color:var(--colorAccent);border-color:var(--colorAccent)}.contactFooter{font-family:var(--fontMono);font-size:var(--fontSizeXs);color:var(--colorTextFaint)}@media (max-width: 640px){.contactLinkList{flex-direction:column;gap:var(--spaceSm)}}.troubleshootingSection{border-top:1px solid var(--colorBorder)}.troubleshootingList{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spaceLg)}.troubleshootingCard{display:flex;flex-direction:column;gap:var(--spaceSm);background:var(--colorBgElevated);border:1px solid var(--colorBorder);border-radius:var(--radiusMd);padding:var(--spaceLg);transition:border-color var(--durationFast) var(--easeStandard),transform var(--durationFast) var(--easeStandard)}.troubleshootingCard:hover{border-color:var(--colorBorderStrong);transform:translateY(-4px)}.troubleshootingIssue{align-self:flex-start;font-family:var(--fontMono);font-size:var(--fontSizeXs);color:var(--colorAccent);border:1px solid var(--colorBorder);border-radius:var(--radiusSm);padding:.3rem .7rem}.troubleshootingTitle{font-family:var(--fontDisplay);font-size:var(--fontSizeLg);font-weight:600}.troubleshootingDescription{color:var(--colorTextMuted);font-size:var(--fontSizeSm)}.troubleshootingLearnPoint{font-size:var(--fontSizeSm);color:var(--colorText);border-top:1px solid var(--colorBorder);padding-top:var(--spaceSm);margin-top:auto}.troubleshootingLearnPoint strong{display:block;color:var(--colorAccent);font-family:var(--fontMono);font-size:var(--fontSizeXs);margin-bottom:.25rem}@media (max-width: 640px){.troubleshootingList{grid-template-columns:1fr}}.timelineSection{border-top:1px solid var(--colorBorder)}.timelineList{display:flex;flex-direction:column}.timelineItem{display:grid;grid-template-columns:160px 1fr;gap:var(--spaceLg);padding:var(--spaceLg) 0;border-bottom:1px solid var(--colorBorder)}.timelineItem:last-child{border-bottom:none}.timelinePeriod{font-family:var(--fontMono);font-size:var(--fontSizeSm);color:var(--colorTextMuted)}.timelineRole{font-family:var(--fontDisplay);font-size:var(--fontSizeLg);font-weight:600;margin-bottom:var(--spaceXs)}.timelineOrg{color:var(--colorTextMuted);font-weight:400}.timelineDescription{color:var(--colorTextMuted);font-size:var(--fontSizeSm)}@media (max-width: 640px){.timelineItem{grid-template-columns:1fr;gap:var(--spaceXs)}}.floatingContactBtn{position:fixed;right:var(--spaceLg);bottom:var(--spaceLg);z-index:250;display:inline-flex;align-items:center;gap:.4rem;padding:.85rem 1.5rem;background:#f5f5f5;color:var(--colorBg);font-family:var(--fontBody);font-weight:600;font-size:var(--fontSizeSm);border-radius:999px;box-shadow:0 16px 32px #00000073;transition:transform var(--durationFast) var(--easeStandard),box-shadow var(--durationFast) var(--easeStandard)}.floatingContactBtn:hover,.floatingContactBtn:focus-visible{transform:translateY(-3px);box-shadow:0 20px 40px #0000008c}@media (max-width: 640px){.floatingContactBtn{right:var(--spaceMd);bottom:var(--spaceMd);padding:.7rem 1.15rem;font-size:var(--fontSizeXs)}}:root{--colorBg: #0a0a0a;--colorBgElevated: #111111;--colorText: #f2f2f2;--colorTextMuted: #8a8a8a;--colorTextFaint: #545454;--colorAccent: #5eead4;--colorBorder: rgba(255, 255, 255, .08);--colorBorderStrong: rgba(255, 255, 255, .16);--fontDisplay: "Space Grotesk", sans-serif;--fontBody: "Inter", sans-serif;--fontMono: "JetBrains Mono", monospace;--fontSizeXs: .75rem;--fontSizeSm: .875rem;--fontSizeMd: 1rem;--fontSizeLg: 1.25rem;--fontSizeXl: 1.75rem;--fontSize2xl: 2.5rem;--fontSize3xl: 4rem;--spaceXs: .5rem;--spaceSm: 1rem;--spaceMd: 1.5rem;--spaceLg: 2.5rem;--spaceXl: 4rem;--space2xl: 6rem;--space3xl: 9rem;--maxWidth: 1080px;--radiusSm: 6px;--radiusMd: 12px;--easeStandard: cubic-bezier(.22, 1, .36, 1);--durationFast: .2s;--durationMedium: .6s}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{background:var(--colorBg);color:var(--colorText);font-family:var(--fontBody);font-size:var(--fontSizeMd);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}::selection{background:var(--colorAccent);color:var(--colorBg)}.sectionContainer{max-width:var(--maxWidth);margin:0 auto;padding:var(--space2xl) var(--spaceLg)}.sectionLabel{font-family:var(--fontMono);font-size:var(--fontSizeSm);color:var(--colorTextMuted);letter-spacing:.05em;margin-bottom:var(--spaceSm);display:inline-block}.sectionTitle{font-family:var(--fontDisplay);font-size:var(--fontSize2xl);font-weight:600;margin-bottom:var(--spaceLg)}.revealOnScroll{opacity:0;filter:blur(8px);transform:translateY(16px);transition:opacity var(--durationMedium) var(--easeStandard),filter var(--durationMedium) var(--easeStandard),transform var(--durationMedium) var(--easeStandard)}.revealOnScroll.isVisible{opacity:1;filter:blur(0);transform:translateY(0)}@media (prefers-reduced-motion: reduce){.revealOnScroll{opacity:1;filter:none;transform:none;transition:none}}@media (max-width: 640px){.sectionContainer{padding:var(--spaceXl) var(--spaceMd)}}
