@font-face{font-family:Geist;src:url(./GeistVF-Z3vNfPbA.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(./GeistMonoVF-CgF0sbjX.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--bg: #0a0a0a;--bg1: #0f0f0f;--bg2: #131313;--bg3: #1a1a1a;--panel: rgba(19,19,19,.8);--border: rgba(255,255,255,.1);--border-hov: rgba(255,255,255,.22);--text: #f0f0f0;--muted: #8a8a8a;--subtle: #4a4a4a;--mono: "Geist Mono", "SF Mono", ui-monospace, monospace;--sans: "Geist", "SF Pro Display", ui-sans-serif, system-ui, sans-serif;--radius: 16px;--radius-sm: 10px;--sb-closed: 58px;--sb-open: 210px;--sb-ease: .3s cubic-bezier(.4,0,.2,1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{min-height:100%;font-family:var(--sans);font-size:15px;color:var(--text);background:var(--bg);overflow-x:hidden;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px 256px}#particle-canvas{position:fixed;inset:0;z-index:0;pointer-events:none}.app{position:relative;z-index:1;display:flex;min-height:100vh}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sb-closed);z-index:100;display:flex;flex-direction:column;background:#090909e6;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border-right:1px solid var(--border);overflow:hidden;transition:width var(--sb-ease);will-change:width}.sidebar:hover,.sidebar.forceOpen{width:var(--sb-open)}.sbBrand{height:64px;display:flex;align-items:center;border-bottom:1px solid var(--border);flex-shrink:0;overflow:hidden}.sbBrandMark{flex-shrink:0;width:var(--sb-closed);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--text)}.sbBrandFull{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--muted);white-space:nowrap;opacity:0;transform:translate(-8px);transition:opacity var(--sb-ease),transform var(--sb-ease)}.sidebar:hover .sbBrandFull,.sidebar.forceOpen .sbBrandFull{opacity:1;transform:translate(0)}.sbNav{flex:1;display:flex;flex-direction:column;gap:2px;padding:12px 8px;overflow:hidden}.sbLink{display:flex;align-items:center;gap:0;padding:0;height:40px;border-radius:var(--radius-sm);color:var(--muted);white-space:nowrap;overflow:hidden;transition:color .15s ease,background .15s ease}.sbLink:hover{color:var(--text);background:#ffffff0a}.sbLink.active{color:var(--text)}.sbIcon{flex-shrink:0;width:var(--sb-closed);display:flex;align-items:center;justify-content:center}.sbLabel{font-size:13px;font-weight:500;opacity:0;transform:translate(-6px);transition:opacity var(--sb-ease),transform var(--sb-ease);white-space:nowrap}.sidebar:hover .sbLabel,.sidebar.forceOpen .sbLabel{opacity:1;transform:translate(0)}.sbBottom{padding:10px 8px 20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px;overflow:hidden}.mobileBar{display:none;position:fixed;top:0;left:0;right:0;height:52px;z-index:100;align-items:center;justify-content:space-between;padding:0 16px;background:#090909f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.mobileBarBrand{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.08em}.mobileMenuOverlay{position:fixed;inset:0;z-index:99;background:#070707f7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;opacity:0;pointer-events:none;transition:opacity .22s ease}.mobileMenuOverlay.open{opacity:1;pointer-events:all}.mobileMenuLink{font-size:30px;font-weight:800;letter-spacing:-.03em;color:var(--muted);padding:12px 40px;border-radius:14px;transition:color .15s ease,background .15s ease}.mobileMenuLink:hover{color:var(--text);background:#ffffff0a}@media(max-width:768px){.sidebar{display:none}.mobileBar{display:flex}}.main{flex:1;margin-left:var(--sb-closed);padding-left:clamp(16px,2.5vw,32px);padding-right:clamp(16px,2.5vw,32px);padding-bottom:80px;min-width:0}@media(max-width:768px){.main{margin-left:0;padding-top:52px;padding-left:14px;padding-right:14px}}.container{width:100%;margin:0 auto}.hero{min-height:100vh;display:flex;align-items:center;padding:0 0 40px}.heroInner{width:100%;margin:0 auto}.heroEyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:24px;display:flex;align-items:center;gap:12px;opacity:0}.heroEyebrow:before{content:"";width:24px;height:1px;background:var(--subtle)}.heroName{font-size:clamp(4rem,10.5vw,9.5rem);font-weight:900;letter-spacing:-.045em;line-height:.92;color:var(--text);margin-bottom:28px;opacity:0;transform:translateY(28px)}.heroTypewriter{font-family:var(--mono);font-size:clamp(1.1rem,2.4vw,1.6rem);font-weight:400;color:var(--muted);margin-bottom:44px;display:flex;align-items:center;gap:0;min-height:2.2em;opacity:0}.twPrefix{color:var(--subtle);margin-right:.5em}.twWord{color:#c8c8c8a6}.twCursor{display:inline-block;width:2px;height:1.1em;background:var(--muted);margin-left:3px;vertical-align:middle;animation:cursorBlink 1.05s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.heroActions{display:flex;gap:10px;flex-wrap:wrap;opacity:0;transform:translateY(12px)}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;color:var(--muted);font-size:13px;font-weight:500;transition:all .16s ease;white-space:nowrap}.btn:hover{color:var(--text);border-color:var(--border-hov);background:#ffffff12;transform:translateY(-1px)}.btn.primary{background:#ededed12;border-color:#ededed24;color:var(--text)}.btn.primary:hover{background:#ededed1f;border-color:#ededed3d}.sectionWrap{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,80px) 0}.sectionLabel{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:28px;display:flex;align-items:center;gap:12px}.sectionLabel:after{content:"";flex:1;height:1px;background:var(--border)}.bentoGrid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}.b8{grid-column:span 8}.b4{grid-column:span 4}.b6{grid-column:span 6}.b5{grid-column:span 5}.b7{grid-column:span 7}.b12{grid-column:span 12}@media(max-width:1024px){.b8,.b7,.b5{grid-column:span 12}.b4,.b6{grid-column:span 6}}@media(max-width:580px){.bentoGrid{grid-template-columns:1fr}.b8,.b4,.b6,.b5,.b7,.b12{grid-column:span 1}}.projectCard{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 26px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg2);overflow:hidden;color:var(--text);min-height:220px;transform-style:preserve-3d;transform:perspective(900px) rotateX(0) rotateY(0) scale(1);transition:border-color .25s ease,box-shadow .25s ease,transform .08s ease;will-change:transform;opacity:0;filter:blur(6px)}.projectCard.in-view{transition:opacity .6s cubic-bezier(.22,1,.36,1),filter .6s cubic-bezier(.22,1,.36,1),border-color .25s ease,box-shadow .25s ease,transform .08s ease;opacity:1;filter:blur(0px)}.projectCard:hover{border-color:#ffffff26;box-shadow:0 0 0 1px #ffffff14,0 20px 60px #000000b3,0 0 80px #ffffff08}.projectCard:before{content:"";position:absolute;inset:0;background:radial-gradient(500px circle at var(--cx,50%) var(--cy,40%),rgba(255,255,255,.05) 0%,transparent 60%);opacity:0;transition:opacity .3s ease;pointer-events:none}.projectCard:hover:before{opacity:1}.cardNum{position:absolute;top:20px;right:22px;font-family:var(--mono);font-size:11px;font-weight:500;color:var(--subtle);letter-spacing:.06em}.cardArrow{position:absolute;top:20px;right:22px;color:var(--subtle);transition:color .15s ease,transform .18s ease}.projectCard:hover .cardArrow{color:var(--muted);transform:translate(3px,-3px)}.cardTags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.cardTag{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.05em;padding:3px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:#ffffff05}.cardTitle{font-size:clamp(18px,2vw,22px);font-weight:700;letter-spacing:-.02em;margin-bottom:6px;line-height:1.2}.cardDesc{font-size:13px;color:var(--muted);line-height:1.55;max-width:52ch}.projectCard.featured .cardTitle{font-size:clamp(22px,2.6vw,28px)}.aboutGrid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}.aboutPanel{padding:24px 26px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg2);opacity:0;filter:blur(6px)}.aboutPanel.in-view{transition:opacity .6s cubic-bezier(.22,1,.36,1),filter .6s cubic-bezier(.22,1,.36,1);opacity:1;filter:blur(0px)}.aboutPanel.aw8{grid-column:span 8}.aboutPanel.aw4{grid-column:span 4}.aboutPanel.aw12{grid-column:span 12}@media(max-width:900px){.aboutPanel.aw8,.aboutPanel.aw4{grid-column:span 12}}.panelLabel{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--subtle);margin-bottom:18px}.timeline{display:flex;flex-direction:column}.tlItem{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.tlItem:last-child{border-bottom:none}.tlDot{flex-shrink:0;margin-top:6px;width:6px;height:6px;border-radius:50%;background:var(--subtle)}.tlRole{font-size:14px;font-weight:600;margin-bottom:2px}.tlMeta{font-family:var(--mono);font-size:11px;color:var(--subtle);margin-bottom:4px}.tlDesc{font-size:13px;color:var(--muted);line-height:1.5}.cvPanel{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;min-height:120px}.cvPanelTitle{font-size:18px;font-weight:700;letter-spacing:-.02em}.cvPanelSub{font-size:13px;color:var(--muted);line-height:1.5}.contactCard{padding:36px 40px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg2);opacity:0;filter:blur(6px)}.contactCard.in-view{transition:opacity .6s cubic-bezier(.22,1,.36,1),filter .6s cubic-bezier(.22,1,.36,1);opacity:1;filter:blur(0px)}.contactHeading{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;letter-spacing:-.035em;margin-bottom:6px}.contactSub{font-size:14px;color:var(--muted);margin-bottom:28px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:580px){.formGrid{grid-template-columns:1fr}}.formField{display:flex;flex-direction:column;gap:6px}.formField.full{grid-column:1/-1}.formLabel{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--subtle)}.formInput{padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff08;color:var(--text);font-size:14px;font-family:var(--sans);outline:none;transition:border-color .15s ease,background .15s ease}.formInput::placeholder{color:var(--subtle)}.formInput:focus{border-color:#ffffff2e;background:#ffffff0d}.formTextarea{resize:vertical;min-height:110px}.formActions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.footer{border-top:1px solid var(--border);padding:22px 0}.footerInner{width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.footerBrand{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--subtle)}.footerLinks{display:flex;gap:20px}.footerLink{font-size:12px;color:var(--subtle);transition:color .15s ease}.footerLink:hover{color:var(--muted)}.footerCopy{font-family:var(--mono);font-size:11px;color:var(--subtle)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}.sbSocialDivider{height:1px;background:var(--border);margin:4px 12px;flex-shrink:0}.sbSocials{display:flex;flex-direction:column;gap:2px;padding:6px 8px;overflow:hidden;flex-shrink:0}.sbSocialLink{color:var(--subtle)}.sbSocialLink:hover{color:var(--muted)}.marqueeWrap{margin-top:48px;display:flex;flex-direction:column;gap:10px;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%)}.marqueeTrack{overflow:hidden}.marqueeRow{display:flex;gap:6px;width:max-content}.marqueeLeft{animation:scrollLeft 38s linear infinite}.marqueeRight{animation:scrollRight 38s linear infinite}@keyframes scrollLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scrollRight{0%{transform:translate(-50%)}to{transform:translate(0)}}.marqueeWrap:hover .marqueeLeft,.marqueeWrap:hover .marqueeRight{animation-play-state:paused}.marqueeItem{display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:1px solid var(--border);background:#ffffff05;white-space:nowrap;transition:border-color .2s ease,background .2s ease;cursor:default}.marqueeItem:hover{border-color:#ffffff24;background:#ffffff0d}.marqueeIcon{width:16px;height:16px;flex-shrink:0;color:var(--subtle);transition:color .2s ease}.marqueeItem:hover .marqueeIcon{color:var(--brand,var(--muted))}.marqueeLabel{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--muted)}.projCategoryLabel{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;display:flex;align-items:center;gap:10px}.projCategoryLabel:after{content:"";flex:1;height:1px;background:var(--border)}.projCategoryGrid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-left:20px;border-left:2px solid var(--border);margin-bottom:8px}@media(max-width:860px){.projCategoryGrid{grid-template-columns:1fr}}.projSectionHead{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.projSectionTitle{font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.projSectionSub{font-size:12px;color:var(--muted);margin-top:3px}.projOtherWrap{padding-left:20px;border-left:2px solid var(--border)}.projList,.projExtraList{display:flex;flex-direction:column;gap:8px}.projCardLink{display:block;color:inherit;text-decoration:none}.projCard{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);overflow:hidden;transition:border-color .2s ease,background .2s ease;min-height:180px}.projCardLink:hover .projCard,.projCard:not(.projCardNoLink):hover{border-color:#ffffff2e;background:var(--bg3)}.projCardImg{flex-shrink:0;width:260px;min-width:260px;position:relative;background:var(--bg3);border-right:1px solid var(--border);overflow:hidden;align-self:stretch}.projCardImg img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;padding:20px}.projCardImgPlaceholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:22px;font-weight:700;color:var(--subtle);letter-spacing:.08em}@media(max-width:700px){.projCardImg{width:120px;min-width:120px}}@media(max-width:480px){.projCardImg{display:none}}.projCardInfo{flex:1;padding:22px 24px;display:flex;flex-direction:column;gap:8px;min-width:0}.projCardTop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.projCardTitle{font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.2}.projCardContext{font-size:11px;color:var(--muted);margin-top:2px;font-family:var(--mono)}.projCardMeta{display:flex;align-items:center;gap:8px;flex-shrink:0}.projCardYear{font-family:var(--mono);font-size:11px;color:var(--muted)}.projCardArrow{color:var(--muted);transition:color .15s ease,transform .15s ease}.projCardLink:hover .projCardArrow{color:var(--text);transform:translate(2px,-2px)}.projCardDesc{font-size:14px;color:var(--muted);line-height:1.65;flex:1}.projCardTags{display:flex;flex-wrap:wrap;gap:5px}.projTag{font-family:var(--mono);font-size:10px;font-weight:500;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:#ffffff08}.projGithub{font-family:var(--mono);font-size:11px;color:var(--subtle);transition:color .15s ease;align-self:flex-start}.projGithub:hover{color:var(--muted)}.projMoreBtn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--subtle);padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:transparent;transition:color .15s ease,border-color .15s ease,background .15s ease}.projMoreBtn:hover{color:var(--muted);border-color:#ffffff24;background:#ffffff08}.invList{display:flex;flex-direction:column;gap:6px}.invItem{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg2);overflow:hidden;transition:border-color .2s ease}.invItem.invItemOpen{border-color:#ffffff1f}.invItemHeader{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;gap:12px;background:none;color:var(--text);text-align:left;transition:background .15s ease}.invItemHeader:hover{background:#ffffff08}.invItemLeft{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.invType{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--subtle);white-space:nowrap;flex-shrink:0}.invTitle{font-size:13px;font-weight:600;color:var(--text)}.invOrg{font-size:12px;color:var(--muted)}.invItemRight{display:flex;align-items:center;gap:10px;flex-shrink:0}.invDate{font-family:var(--mono);font-size:11px;color:var(--subtle)}.invChevron{color:var(--subtle)}.invBodyInner{padding:0 18px 16px}.invRole{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px;font-family:var(--mono);letter-spacing:.04em}.invDesc{font-size:13px;color:var(--muted);line-height:1.6}.invLink{font-family:var(--mono);font-size:11px;color:var(--subtle);display:inline-block;margin-top:8px;transition:color .15s ease}.invLink:hover{color:var(--muted)}.expTimeline{position:relative;display:flex;flex-direction:column;gap:0;padding-left:0}.expItem{display:flex;align-items:flex-start;gap:0;padding:0 0 32px;position:relative}.expLeft{flex-shrink:0;width:130px;padding-top:3px;text-align:right;padding-right:20px}.expLogoBox{width:64px;height:64px;margin-left:auto;margin-bottom:10px;border-radius:10px;border:1px solid var(--border);background:var(--bg3);overflow:hidden;position:relative}.expLogoBox img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;padding:8px;display:block}.expPeriodBadge{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--muted);background:var(--bg2);border:1px solid var(--border);padding:2px 10px;border-radius:999px;display:inline-block;margin-bottom:4px}.expLocation{font-family:var(--mono);font-size:10px;color:var(--subtle)}.expDot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--subtle);border:2px solid var(--bg);margin-top:5px;position:relative;z-index:1}.expItem:after{content:"";position:absolute;left:130px;top:14px;bottom:0;width:1px;background:var(--border);transform:translate(-50%)}.expItem:last-child:after{display:none}.expRight{flex:1;padding-left:20px}.expCompany{font-size:16px;font-weight:800;letter-spacing:-.02em;margin-bottom:2px}.expRole{font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:500}.expTypeBadge{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);display:inline-block;margin-bottom:10px}.expDesc{font-size:13px;color:var(--muted);line-height:1.65}@media(max-width:600px){.expLeft{width:90px;font-size:10px}.expItem:after{left:90px}}.eduTimeline{display:flex;flex-direction:column;gap:0}.eduItem{display:flex;gap:0;padding-bottom:28px;position:relative}.eduItem:after{content:"";position:absolute;left:8px;top:18px;bottom:0;width:1px;background:var(--border)}.eduItem:last-child:after{display:none}.eduLine{flex-shrink:0;width:20px;padding-top:4px}.eduDot{width:10px;height:10px;border-radius:50%;background:var(--subtle);border:2px solid var(--bg);position:relative;z-index:1;margin:auto}.eduItemCurrent .eduDot{background:var(--muted)}.eduContent{flex:1;padding-left:16px}.eduPeriod{font-family:var(--mono);font-size:11px;color:var(--muted);margin-bottom:4px}.eduNow{color:var(--text);font-weight:700}.eduInstitution{font-size:16px;font-weight:800;letter-spacing:-.02em;margin-bottom:2px}.eduLocation{font-size:12px;color:var(--muted);margin-bottom:4px;font-family:var(--mono)}.eduDegree{font-size:14px;font-weight:700;color:var(--text);margin-bottom:2px}.eduField{font-size:12px;color:var(--muted);margin-bottom:8px}.eduDesc{font-size:13px;color:var(--muted);line-height:1.65;margin-bottom:8px}.eduDiploma{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted);display:inline-block}.certList{display:flex;flex-direction:column;gap:0}.certItem{display:flex;align-items:flex-start;gap:0;padding-bottom:22px;position:relative}.certItem:after{content:"";position:absolute;left:40px;top:18px;bottom:0;width:1px;background:var(--border)}.certItem:last-child:after{display:none}.certLeft{flex-shrink:0;width:48px;padding-top:3px;text-align:right;padding-right:12px}.certDate{font-family:var(--mono);font-size:11px;color:var(--muted)}.certDot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--muted);border:2px solid var(--bg);margin-top:5px;position:relative;z-index:1}.certRight{flex:1;padding-left:16px}.certName{font-size:15px;font-weight:800;letter-spacing:-.02em;margin-bottom:2px}.certIssuer{font-size:12px;color:var(--muted);margin-bottom:4px;font-family:var(--mono)}.certDesc{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:6px}.certLink{font-family:var(--mono);font-size:11px;color:var(--subtle);display:inline-flex;align-items:center;gap:4px;transition:color .15s ease}.certLink:hover{color:var(--muted)}.heroAvailable{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;color:var(--muted)}.heroAvailDot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e2e;flex-shrink:0;animation:pulse 2.4s ease infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #22c55e2e}50%{box-shadow:0 0 0 6px #22c55e0f}}.expTimelineWrap{display:flex;flex-direction:column;gap:0}.expTimelineItem{display:flex;align-items:flex-start;gap:0;position:relative;padding-bottom:32px}.expTimelineItem:last-child{padding-bottom:0}.expTimelineDot{flex-shrink:0;width:12px;height:12px;border-radius:50%;background:var(--bg3);border:2px solid var(--muted);margin-top:22px;position:relative;z-index:2}.expTimelineLine{position:absolute;left:5px;top:34px;bottom:0;width:2px;background:var(--border);z-index:1}.expCompanyCard{flex:1;margin-left:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);overflow:hidden}.expCompanyHeader{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border);background:#ffffff05}.expCompanyLogo{flex-shrink:0;width:44px;height:44px;border-radius:10px;border:1px solid var(--border);background:var(--bg3);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.expCompanyLogo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6px}.expCompanyLogo span{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--subtle)}.expCompanyMeta{flex:1;min-width:0}.expCompanyName{font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.2}.expCompanyRange{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:2px}.expExpandBtn{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--muted);padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;transition:color .15s ease,border-color .15s ease,background .15s ease}.expExpandBtn:hover{color:var(--text);border-color:#ffffff2e;background:#ffffff0a}.expStints,.expExtraStints{display:flex;flex-direction:column}.expStintRow{display:flex;gap:0;padding:16px 20px;border-bottom:1px solid var(--border)}.expStintRow:last-child{border-bottom:none}.expStintLeft{flex-shrink:0;width:170px;padding-right:20px}.expStintPeriod{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--muted);line-height:1.4;margin-bottom:4px}.expStintType{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--subtle);display:inline-block;text-transform:capitalize}.expStintRight{flex:1;min-width:0}.expStintRole{font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--text);margin-bottom:4px}.expStintLocation{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:10px;color:var(--subtle);margin-bottom:8px}.expStintDesc{font-size:13px;color:var(--muted);line-height:1.65}@media(max-width:600px){.expStintRow{flex-direction:column;gap:8px}.expStintLeft{width:100%;padding-right:0}}.aboutLayoutGrid{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}@media(max-width:900px){.aboutLayoutGrid{grid-template-columns:1fr}}.aboutLeftCol,.aboutRightCol{display:flex;flex-direction:column;gap:16px}.aboutPhotoPanel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);overflow:hidden;aspect-ratio:1/1;position:relative}.aboutPhoto{width:100%;height:100%;position:relative}.aboutPhoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.aboutPhotoFallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:48px;font-weight:800;color:var(--subtle)}.aboutCvPanel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);padding:20px}.aboutCvSub{font-size:12px;color:var(--muted);line-height:1.6;margin-top:6px}.aboutBioPanel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);padding:24px}.aboutBio{font-size:14px;color:var(--muted);line-height:1.75;margin-top:10px}.aboutLangPanel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);padding:20px 24px}.aboutLangList{display:flex;flex-direction:column;gap:0;margin-top:10px}.aboutLangRow{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.aboutLangRow:last-child{border-bottom:none}.aboutLangName{font-size:13px;font-weight:600;color:var(--text)}.aboutLangMeta{display:flex;align-items:center;gap:8px}.aboutLangLevel{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--text);background:#ffffff0f;border:1px solid var(--border);padding:2px 8px;border-radius:6px}.aboutLangLabel{font-family:var(--mono);font-size:10px;color:var(--subtle)}.aboutHobbiesPanel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);padding:20px 24px}.aboutHobbies{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.aboutHobbyTag{font-size:12px;font-weight:500;padding:5px 12px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:#ffffff08;transition:color .15s ease,border-color .15s ease,background .15s ease}.aboutHobbyTag:hover{color:var(--text);border-color:#ffffff2e;background:#ffffff0d}.certSectionTop{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.certCredlyLink{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);padding:5px 14px;border-radius:999px;border:1px solid var(--border);background:transparent;transition:color .15s ease,border-color .15s ease,background .15s ease;white-space:nowrap}.certCredlyLink:hover{color:var(--text);border-color:#ffffff2e;background:#ffffff0a}.certList{display:flex;flex-direction:column;gap:8px}.certCard{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);overflow:hidden;min-height:120px;transition:border-color .2s ease,background .2s ease}.certCard:hover{border-color:#ffffff24;background:var(--bg3)}.certCardInProgress{border-color:#eab30833;background:#eab30805}.certCardInProgress:hover{border-color:#eab3084d}.certCardLogo{flex-shrink:0;width:140px;background:var(--bg3);border-right:1px solid var(--border);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;align-self:stretch}.certCardLogo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;padding:16px;display:block}.certCardLogoFallback{color:var(--subtle);display:flex;align-items:center;justify-content:center;width:100%;height:100%}@media(max-width:540px){.certCardLogo{width:72px}}.certCardInfo{flex:1;padding:18px 22px;display:flex;flex-direction:column;gap:8px;min-width:0}.certCardTop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.certCardTitleWrap{flex:1;min-width:0}.certCardName{font-size:15px;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.2}.certCardIssuer{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:3px}.certCardRight{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.certCardDate{font-family:var(--mono);font-size:11px;color:var(--muted)}.certBadgeEarned{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:999px;border:1px solid rgba(34,197,94,.3);color:#4ade80;background:#22c55e0f}.certBadgeProgress{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:999px;border:1px solid rgba(234,179,8,.3);color:#facc15;background:#eab3080f;display:inline-flex;align-items:center;gap:5px}.certProgressDot{width:6px;height:6px;border-radius:50%;background:#facc15;flex-shrink:0;animation:pulse 2s ease infinite}.certCardDesc{font-size:13px;color:var(--muted);line-height:1.65}.certCardActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.certActionBtn{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--muted);padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;transition:color .15s ease,border-color .15s ease,background .15s ease}.certActionBtn:hover,.certActionLink:hover{color:var(--text);border-color:#ffffff2e;background:#ffffff0a}.certModalOverlay{position:fixed;inset:0;z-index:9999;background:#000000d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.certModalBox{position:relative;max-width:900px;width:100%;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;animation:scaleIn .25s cubic-bezier(.22,1,.36,1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.certModalClose{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:#0009;border:1px solid var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center;z-index:1;transition:color .15s ease,background .15s ease}.certModalClose:hover{color:var(--text);background:#ffffff1a}.certModalImg{width:100%;display:block;max-height:80vh;object-fit:contain}.certModalName{padding:12px 16px;font-family:var(--mono);font-size:11px;color:var(--muted);border-top:1px solid var(--border);text-align:center}
