.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}}.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}.aboutImageWrap{position:absolute;top:var(--space2xl);right:var(--spaceLg);animation:aboutImageFloat 5s var(--easeStandard) infinite}.aboutImage{width:220px;height:220px;object-fit:cover;border-radius:var(--radiusMd);border:1px solid var(--colorBorderStrong);box-shadow:0 24px 48px #00000073}@keyframes aboutImageFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@media (max-width: 900px){.aboutImageWrap{position:static;display:flex;justify-content:center;margin-top:var(--spaceLg)}}@media (max-width: 640px){.aboutImage{width:160px;height:160px}}.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)}}: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)}}
