:root{--bg-color: #FFFCF0;--bg-2: #F2F0E5;--text-color: #100F0F;--text-2: #6F6E69;--text-3: #B7B5AC;--accent-color: #205EA6;--hover-bg: rgba(32, 94, 166, 0.08);--border-color: #E6E4D9;--code-bg: rgba(32, 94, 166, 0.05);--nav-bg: rgba(255, 252, 240, 0.95);--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-family-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace;--red: #AF3029;--orange: #BC5215;--yellow: #AD8301;--green: #66800B;--cyan: #24837B;--blue: #205EA6;--purple: #5E409D;--magenta: #A02F6F}[data-theme="dark"]{--bg-color: #1C1B1A;--bg-2: #282726;--text-color: #CECDC3;--text-2: #878580;--text-3: #6F6E69;--accent-color: #4385BE;--hover-bg: rgba(67, 133, 190, 0.12);--border-color: #343331;--code-bg: rgba(67, 133, 190, 0.08);--nav-bg: rgba(28, 27, 26, 0.95);--red: #D14D41;--orange: #DA702C;--yellow: #D0A215;--green: #879A39;--cyan: #3AA99F;--blue: #4385BE;--purple: #8B7EC8;--magenta: #CE5D97}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-family);line-height:1.6;font-size:16px;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;position:relative}.nav{position:absolute;top:2rem;right:2rem;z-index:10}.nav__links{display:flex;gap:2rem}.nav__link{color:var(--text-color);text-decoration:none;font-size:16px;transition:opacity 0.2s ease;position:relative}.nav__link:hover{opacity:0.7}.nav__link--active{opacity:1}.nav__link--active::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background-color:var(--accent-color);animation:slideIn 0.3s ease}.theme-toggle{display:inline-flex;align-items:center;gap:3px;cursor:pointer;padding:3px 5px;background-color:transparent;border:1px solid var(--border-color);border-radius:12px;transition:all 0.2s ease;margin-left:1rem;position:relative;height:22px;align-self:center}.theme-toggle:hover{background-color:var(--hover-bg);border-color:var(--accent-color)}.theme-toggle__checkbox{position:absolute;opacity:0;pointer-events:none}.theme-toggle__sun,.theme-toggle__moon{width:12px;height:12px;color:var(--text-color);transition:opacity 0.3s ease, color 0.3s ease;flex-shrink:0}.theme-toggle__sun{opacity:1;color:var(--accent-color)}.theme-toggle__moon{opacity:0.4}[data-theme="dark"] .theme-toggle__sun{opacity:0.4;color:var(--text-color)}[data-theme="dark"] .theme-toggle__moon{opacity:1;color:var(--accent-color)}.theme-toggle:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}@keyframes slideIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}#resume-view{display:none}.js-loaded #resume-view{display:flex}.main{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;min-height:100vh;position:absolute;top:0;left:0;right:0;opacity:1;transform:translateX(0);transition:opacity 0.3s ease, transform 0.3s ease}.main--hidden{opacity:0;transform:translateX(-20px);pointer-events:none}.main--hidden-right{opacity:0;transform:translateX(20px);pointer-events:none}.profile{text-align:center;max-width:600px;margin:0 auto;width:100%}.profile__avatar{width:140px;height:140px;border-radius:50%;object-fit:cover;margin-bottom:2rem}.profile__greeting{font-size:24px;font-weight:400;margin-bottom:1rem;color:var(--text-color)}.profile__bio{font-size:16px;color:var(--text-color);margin-bottom:2rem;line-height:1.7;text-align:left;max-width:550px;margin-left:auto;margin-right:auto}.profile__bio p{margin-bottom:1rem}.profile__bio p:last-child{margin-bottom:0}.profile__bio ul{list-style:none;padding-left:0;margin-bottom:1rem}.profile__bio li{margin-bottom:0.5rem;padding-left:1.5rem;position:relative}.profile__bio li:before{content:"•";position:absolute;left:0}.profile__bio a{color:var(--accent-color);text-decoration:underline;text-underline-offset:2px;transition:opacity 0.2s ease}.profile__bio a:hover{opacity:0.7}.profile__bio strong{font-weight:600}.profile__bio em{font-style:italic}.social{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.social__link{color:var(--text-color);opacity:0.7;transition:opacity 0.2s ease}.social__link:hover{opacity:1}.social__link svg{width:20px;height:20px}.resume{max-width:600px;margin:0 auto;text-align:left;width:100%}.resume__header{text-align:center;margin-bottom:3rem}.resume__name{font-size:24px;font-weight:600;margin-bottom:0.5rem;color:var(--text-color)}.resume__location{font-size:16px;color:var(--text-2)}.resume__section{margin-bottom:3rem}.resume__section:last-child{margin-bottom:0}.resume__section-title{font-size:18px;font-weight:600;margin-bottom:2rem;color:var(--text-color)}.resume__item{display:grid;grid-template-columns:150px 1fr;gap:2rem;margin-bottom:2rem;align-items:start}.resume__item:last-child{margin-bottom:0}.resume__item-period{font-size:14px;color:var(--text-2);font-weight:400}.resume__item-content{min-width:0}.resume__item-title{font-size:16px;font-weight:400;margin-bottom:0.25rem;color:var(--text-color);line-height:1.4}.resume__item-company{color:var(--accent-color);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:opacity 0.2s ease}.resume__item-company:hover{opacity:0.7;text-decoration:underline}.resume__item-location{font-size:14px;color:var(--text-2);margin-bottom:0.5rem}.resume__item-project{font-size:14px;color:var(--text-2);font-style:italic;line-height:1.4}.resume__item-details{margin-top:1rem;font-size:14px;line-height:1.6}.resume__item-details h3{font-size:14px;font-weight:600;margin-top:1rem;margin-bottom:0.5rem;color:var(--text-color)}.resume__item-details ul{list-style:none;padding-left:0;margin-bottom:1rem}.resume__item-details li{margin-bottom:0.5rem;padding-left:1.25rem;position:relative;color:var(--text-2)}.resume__item-details li:before{content:"•";position:absolute;left:0;color:var(--text-2)}.resume__item-details p{margin-bottom:0.75rem;color:var(--text-2)}.resume__item-details code{background-color:var(--code-bg);padding:2px 6px;border-radius:3px;font-size:12px;font-family:var(--font-family-mono);color:var(--accent-color);font-weight:500}.resume__item-details strong{font-weight:600;color:var(--text-color)}.resume__item-details a{color:var(--accent-color);text-decoration:underline;text-underline-offset:2px;transition:opacity 0.2s ease}.resume__item-details a:hover{opacity:0.7}@media (max-width: 320px){.nav{top:0.25rem;left:0.25rem;right:0.25rem}.nav__link{font-size:15px;padding:0.4rem 0.6rem}.main{padding:0.5rem;padding-top:3.5rem}.profile__avatar{width:98px;height:98px}.profile__greeting{font-size:18px}.profile__bio{font-size:14px}.social{gap:1.5rem}.resume__name{font-size:18px}.resume__item-details code{font-size:9px;padding:2px 4px}}@media (hover: none) and (pointer: coarse){.social__link{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color 0.2s ease}.social__link:hover{background-color:var(--hover-bg);opacity:1}}@media (min-width: 1440px){.main{padding:3rem}.profile{max-width:700px}.profile__greeting{font-size:28px}.profile__bio{font-size:18px;line-height:1.8;max-width:650px}.resume{max-width:700px}.resume__name{font-size:28px}.resume__section-title{font-size:20px}.resume__item{grid-template-columns:180px 1fr;gap:2.5rem}}@media (min-width: 2560px){.main{padding:4rem;max-width:1200px;margin:0 auto}.profile{max-width:800px}.profile__greeting{font-size:32px}.profile__bio{font-size:20px;line-height:1.9;max-width:750px}.profile__avatar{width:168px;height:168px}.social{gap:2.5rem;margin-top:3rem}.social__link svg{width:24px;height:24px}.resume{max-width:800px}.resume__name{font-size:32px}.resume__section-title{font-size:22px}.resume__item{grid-template-columns:200px 1fr;gap:3rem;margin-bottom:3rem}.resume__item-title{font-size:18px}.resume__item-details{font-size:16px}.nav{top:3rem;right:3rem}.nav__link{font-size:18px;padding:0.75rem 1.5rem}.theme-toggle{margin-left:1.5rem}.footer{bottom:3rem;right:3rem}.footer__credit{font-size:14px}}@media (min-width: 3840px){.main{max-width:1400px;padding:5rem}.profile{max-width:900px}.resume{max-width:900px}}.footer{position:fixed;bottom:2rem;right:2rem;z-index:10}.footer__credit{font-size:12px;color:var(--text-2);opacity:0.5;display:flex;align-items:center;gap:0.25rem}.claude-logo{color:var(--accent-color);font-weight:500;opacity:0.8;transition:opacity 0.2s ease}.footer__credit:hover .claude-logo{opacity:1}@media (max-width: 768px){.nav{top:1rem;right:1rem;left:1rem;display:flex;justify-content:center}.nav__links{gap:1.5rem;justify-content:center;flex-wrap:wrap}.nav__link{font-size:18px;padding:0.5rem 1rem;border-radius:4px;transition:background-color 0.2s ease, opacity 0.2s ease}.nav__link:hover{background-color:var(--hover-bg);opacity:1}.theme-toggle{margin-left:1.5rem}.main{padding:1rem;padding-top:5rem}.profile{max-width:100%}.profile__greeting{font-size:22px;margin-bottom:1.5rem}.profile__bio{font-size:16px;line-height:1.8;max-width:100%}.profile__bio p{margin-bottom:1.5rem}.profile__bio li{margin-bottom:0.75rem;line-height:1.7}.social{gap:2rem;margin-top:2.5rem;flex-wrap:wrap}.social__link svg{width:24px;height:24px}.resume{max-width:100%}.resume__item{grid-template-columns:1fr;gap:1rem;margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(0,0,0,0.1)}.resume__item:last-child{border-bottom:none}.resume__item-period{margin-bottom:1rem;font-size:16px;font-weight:500;color:var(--text-color)}.resume__item-details{margin-top:1.5rem}.resume__item-details p{margin-bottom:1rem;line-height:1.7}.resume__item-details li{margin-bottom:0.75rem;line-height:1.7}.resume__item-details code{display:inline-block;margin:2px;padding:4px 8px;font-size:11px;line-height:1.2;background-color:rgba(0,0,0,0.08);border-radius:4px}.footer{bottom:1rem;right:1rem}}@media (max-width: 480px){.nav{top:0.5rem;left:0.5rem;right:0.5rem}.nav__links{gap:1rem}.nav__link{font-size:16px;padding:0.5rem 0.75rem}.theme-toggle{margin-left:1rem}.main{padding:0.75rem;padding-top:4rem}.profile__avatar{width:112px;height:112px;margin-bottom:1.5rem}.profile__greeting{font-size:20px;margin-bottom:1rem}.profile__bio{font-size:15px;line-height:1.8}.social{gap:1.8rem;margin-top:2rem}.social__link svg{width:22px;height:22px}.resume__name{font-size:20px}.resume__section{margin-bottom:2.5rem}.resume__section-title{font-size:17px;margin-bottom:1.5rem}.resume__item{margin-bottom:2rem;padding-bottom:1.5rem}.resume__item-title{font-size:15px;line-height:1.5}.resume__item-details code{font-size:10px;padding:3px 6px;margin:1px}.footer{bottom:0.5rem;right:0.5rem}}
