:root{--bg:#f5f4f0;--text:#0a0a0a;--text-light:#333;--accent:#1a1a1a;--border:#e5e4e2;--font-heading:"Creato Display",-apple-system,BlinkMacSystemFont,sans-serif;--font-body:"Creato Display",-apple-system,BlinkMacSystemFont,sans-serif;--font:var(--font-body);--space-xs:8px;--space-sm:16px;--space-md:32px;--space-lg:64px;--space-xl:128px;--transition:0.2s ease;--transition-expand:0.35s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6;position:relative;scroll-behavior:smooth}.app{display:flex;flex-direction:column;min-height:100vh}.header{align-items:center;display:flex;justify-content:flex-end;padding:var(--space-md) var(--space-lg)}.fixed-logo-container{align-items:flex-start;display:flex;flex-direction:column;left:var(--space-lg);position:fixed;top:var(--space-md);z-index:100}.logo{align-items:center;display:flex;text-decoration:none;transition:opacity var(--transition)}.logo img{height:60px;width:auto}.logo:hover{opacity:.6}.nav-dropdown{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm);opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease}.nav-dropdown.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-dropdown a{color:var(--text);font-family:var(--font-heading);font-size:1rem;font-weight:700;text-decoration:none;text-transform:lowercase;transition:opacity var(--transition)}.nav-dropdown a:hover{opacity:.6}.nav{display:flex;gap:var(--space-md)}.nav a{color:var(--text);font-family:var(--font-heading);font-size:1.25rem;font-weight:700;text-decoration:none;text-transform:lowercase;transition:opacity var(--transition)}.nav a:hover{opacity:.6}.nav-logo-link{align-items:center;display:flex;margin-left:var(--space-md)}.nav-logo{height:22px;width:auto}main{flex:1 1;margin:0 auto;max-width:1400px;padding:var(--space-lg) var(--space-md);transition:padding-left .3s ease;width:100%}main.scrolled{padding-left:calc(var(--space-lg) + 80px)}.footer{color:var(--text-light);font-size:.875rem;padding:var(--space-md) var(--space-lg);text-align:center;text-transform:lowercase}@media (max-width:768px){.fixed-logo-container{align-items:center;background:linear-gradient(to bottom,var(--bg) 50%,#0000);display:flex;justify-content:center;left:0;opacity:0;padding:var(--space-sm) 0 var(--space-lg);pointer-events:none;right:0;top:0;transform:none;transition:opacity .3s ease}.fixed-logo-container.scrolled{opacity:1;pointer-events:auto}.fixed-logo-container .logo img{height:30px}.nav-dropdown{display:none!important}.header{padding:var(--space-sm) var(--space-md);position:relative}.header,.nav{justify-content:center}.nav{flex-wrap:wrap;gap:var(--space-sm)}.nav a{font-size:1rem}.nav-logo-link{justify-content:center;margin-left:0;margin-top:2px;position:static;width:100%}.nav-logo{display:none!important;height:14px}main,main.scrolled{padding:var(--space-md)!important;text-align:center;transition:none}.footer{padding:var(--space-sm) var(--space-md)}}@media (max-width:480px){.nav{gap:var(--space-xs)}.nav a{font-size:1.65rem}.nav-logo-link{right:var(--space-xs);top:var(--space-xs)}.nav-logo{height:20px}main,main.scrolled{padding:var(--space-sm)!important}}.home{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);margin:0 auto;max-width:100%;padding:0;position:relative}.hero{margin-bottom:0;padding:var(--space-lg) 0}.hero,.hero-content{position:relative;z-index:1}.hero-content{max-width:900px}.hero h1{font-family:var(--font-heading);font-size:clamp(5rem,18vw,14rem);font-weight:900;letter-spacing:-.04em;line-height:.85;margin-bottom:var(--space-md);text-transform:none;white-space:nowrap}.letter{cursor:pointer;display:inline-block;font-weight:1000;margin:0 .05em;text-shadow:none;transition:transform .6s cubic-bezier(.34,1.56,.64,1),color 1.2s ease,text-shadow .6s ease}.letter:hover{font-weight:1000;text-shadow:1px 0 0 currentColor,-1px 0 0 currentColor,0 1px 0 currentColor,0 -1px 0 currentColor,1px 1px 0 currentColor,-1px -1px 0 currentColor,1px -1px 0 currentColor,-1px 1px 0 currentColor,2px 0 0 currentColor,-2px 0 0 currentColor,0 2px 0 currentColor,0 -2px 0 currentColor,2px 2px 0 currentColor,-2px -2px 0 currentColor,2px -2px 0 currentColor,-2px 2px 0 currentColor}.hero p{color:var(--text-light);font-size:1.5rem;font-style:normal;font-weight:400;max-width:500px;text-transform:none}.section{isolation:isolate;margin-bottom:0;padding:0;position:relative;z-index:10}.section h2{color:var(--text-light);font-family:var(--font-heading);font-size:.875rem;font-weight:700;letter-spacing:.2em;margin:0 0 var(--space-md) 0;text-transform:uppercase}.section-content{color:var(--text);font-size:1.125rem;line-height:1.6;max-width:700px}.section-content p{margin-bottom:var(--space-sm);text-indent:0;text-transform:none}.section-content p:last-child{margin-bottom:0}.current-item{border:1px solid var(--border);border-radius:12px;margin-bottom:var(--space-sm);padding:var(--space-md)}.current-item:last-child{margin-bottom:0}.current-header{align-items:baseline;display:flex;gap:var(--space-sm);margin-bottom:var(--space-xs)}.current-name{font-family:var(--font-heading);font-size:1.25rem;font-style:normal;font-weight:700;text-transform:none}.external-link{color:var(--text);font-size:1rem;opacity:.6;text-decoration:none;transition:opacity var(--transition)}.external-link:hover{opacity:1}.current-description{color:var(--text);font-size:1.1rem;line-height:1.6;margin:0;text-transform:none}.skills-grid{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md)}.skill-tag{border:1px solid var(--border);border-radius:100px;color:var(--text);font-size:1rem;font-weight:500;padding:.5em 1em;text-transform:none;transition:all var(--transition)}.skill-tag:before{display:none}.skill-tag:hover{background:var(--text);border-color:var(--text);color:var(--bg)}.work-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(2,1fr)}.work-item{color:var(--text);display:block;position:relative;text-decoration:none;transition:opacity var(--transition);z-index:9999}.work-item:hover{opacity:.7}.work-item:hover .work-title{font-style:italic}.work-item img{aspect-ratio:4/5;border:1px solid var(--border);margin-bottom:var(--space-xs);object-fit:cover;position:relative;width:100%;z-index:10000}.work-info{align-items:baseline;display:flex;gap:var(--space-xs);justify-content:space-between}.work-title{flex:1 1;font-size:1rem;font-weight:400;text-transform:none;transition:font-style var(--transition)}.work-year{color:var(--text-light);font-size:.85rem;font-style:italic}.github-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(3,1fr)}.github-card{background:#0000;border:1px solid var(--border);border-radius:12px;color:var(--text);display:flex;flex-direction:column;padding:var(--space-md);text-decoration:none;transition:all .3s ease}.github-card:hover{border-color:var(--text);transform:translateY(-2px)}.github-card-header{align-items:center;display:flex;gap:var(--space-xs);justify-content:space-between;margin-bottom:var(--space-xs)}.github-repo-name{font-size:1.2rem;font-style:italic;font-weight:500}.github-language{background:var(--text);border-radius:2px;color:var(--bg);font-size:.75rem;letter-spacing:.05em;padding:.2em .6em;text-transform:uppercase}.github-language[data-lang=javascript]{background:#f7df1e;color:#000}.github-language[data-lang=typescript]{background:#3178c6;color:#fff}.github-language[data-lang=python]{background:#3776ab;color:#fff}.github-language[data-lang=html]{background:#e34c26;color:#fff}.github-language[data-lang=css]{background:#563d7c;color:#fff}.github-language[data-lang="c++"]{background:#00599c;color:#fff}.github-description{color:var(--text-light);flex-grow:1;font-size:.95rem;line-height:1.5;margin:0 0 var(--space-xs) 0;text-indent:0}.github-description:first-letter{float:none;font-size:inherit;margin:0}.github-stats{display:flex;gap:var(--space-sm)}.github-stat{align-items:center;color:var(--text-light);display:flex;font-size:.85rem;gap:.4em}.github-stat svg{opacity:.7}.loading-text{color:var(--text-light);font-style:italic}.github-container{position:relative}.github-fade,.github-show-more{display:none}.coding-projects-container{max-height:280px;overflow:hidden;position:relative;transition:max-height var(--transition-expand)}.coding-projects-container.expanded{max-height:2000px}.fade-overlay{background:linear-gradient(to bottom,#0000,var(--bg));bottom:0;height:120px;left:0;pointer-events:none;position:absolute;right:0}.show-more-btn{background:none;border:none;color:var(--text-light);cursor:pointer;font-family:var(--font-heading);font-size:.875rem;font-weight:500;letter-spacing:.1em;padding:var(--space-sm) 0;text-transform:lowercase;transition:color var(--transition)}.show-more-btn:hover{color:var(--text)}.coding-project-item{border-bottom:1px solid var(--border);display:flex;gap:var(--space-md);padding:var(--space-sm) 0}.coding-project-item:last-child{border-bottom:none}.project-media-preview{aspect-ratio:16/9;border:1px solid var(--border);border-radius:8px;flex-shrink:0;overflow:hidden;position:relative;width:200px}.project-thumbnail{height:100%;object-fit:cover;width:100%}.theme-toggle-mini{background:var(--bg);border:1px solid var(--border);border-radius:4px;bottom:var(--space-xs);cursor:pointer;font-family:var(--font-body);font-size:.75rem;padding:.25em .5em;position:absolute;right:var(--space-xs);transition:all var(--transition)}.theme-toggle-mini:hover{background:var(--text);color:var(--bg)}.project-info-condensed{display:flex;flex-direction:column;justify-content:center}.project-info-condensed h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;margin:0 0 var(--space-xs) 0}.project-info-condensed p{color:var(--text-light);font-size:1rem;margin:0;text-indent:0}.project-info-condensed p:first-letter{float:none;font-size:inherit;margin:0}.project-link{color:var(--text);text-decoration:none;transition:opacity .2s ease}.project-link:hover{opacity:.7}.external-arrow{font-size:.8em;margin-left:.3em;opacity:.7}@media (max-width:1024px){.github-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.letter{cursor:default;text-shadow:1px 0 0 currentColor,-1px 0 0 currentColor,0 1px 0 currentColor,0 -1px 0 currentColor,1px 1px 0 currentColor,-1px -1px 0 currentColor,1px -1px 0 currentColor,-1px 1px 0 currentColor,2px 0 0 currentColor,-2px 0 0 currentColor,0 2px 0 currentColor,0 -2px 0 currentColor,2px 2px 0 currentColor,-2px -2px 0 currentColor,2px -2px 0 currentColor,-2px 2px 0 currentColor}.home{gap:var(--space-lg);text-align:center}.hero{padding:var(--space-md) 0}.hero,.hero-content{align-items:center;display:flex;flex-direction:column}.hero h1{white-space:normal}.hero h1,.hero p{text-align:center}.hero p{font-size:1.25rem;max-width:100%}.section{align-items:center;display:flex;flex-direction:column}.section-content{font-size:1rem;max-width:100%}.current-item,.section-content{text-align:center}.current-header{justify-content:center}.current-name{font-size:1.1rem}.skills-grid{justify-content:center}.work-grid{gap:var(--space-sm);grid-template-columns:1fr}.github-container{max-height:300px;overflow:hidden;transition:max-height var(--transition-expand)}.github-container.expanded{max-height:2000px}.github-fade{display:block}.github-show-more{display:block;width:100%}.github-grid{gap:var(--space-sm);grid-template-columns:1fr}.github-card{text-align:left}.coding-project-item{flex-direction:column;gap:var(--space-sm);text-align:center}.project-info-condensed{align-items:center}.project-media-preview{max-width:100%;width:100%}.show-more-btn{width:100%}}.portfolio{margin:0 auto;max-width:1000px}.portfolio h1{font-size:3rem;font-weight:900;margin-bottom:var(--space-lg);text-transform:lowercase}.portfolio-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(3,1fr)}.portfolio-item{color:var(--text);display:block;position:relative;text-decoration:none;transition:opacity var(--transition);z-index:9999}.portfolio-item:hover{opacity:.7}.portfolio-item img{aspect-ratio:1;margin-bottom:var(--space-xs);object-fit:cover;position:relative;width:100%;z-index:10000}.portfolio-info{align-items:baseline;display:flex;justify-content:space-between}.portfolio-title{font-size:1rem;font-weight:700;text-transform:lowercase}.portfolio-year{color:var(--text-light);font-size:.875rem}@media (max-width:768px){.portfolio h1{font-size:2.5rem}.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.portfolio-grid{grid-template-columns:1fr}}.project-detail{margin:0 auto;max-width:700px;padding:var(--space-lg) 0}.back-link{color:var(--text-light);display:inline-block;font-size:1rem;font-weight:700;margin-bottom:var(--space-md);text-decoration:none;text-transform:lowercase;transition:opacity var(--transition)}.back-link:hover{opacity:.6}.project-header{margin-bottom:var(--space-lg)}.project-header h1{font-size:3rem;font-weight:900;margin:0 0 var(--space-xs);text-transform:lowercase}.project-meta{color:var(--text-light);font-size:1rem;margin:0}.project-hero{margin-bottom:var(--space-lg)}.project-hero img{display:block;width:100%}.video-wrapper{height:0;overflow:hidden;padding-bottom:56.25%;position:relative}.video-wrapper iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.project-description{margin-bottom:var(--space-lg)}.project-description p{font-size:1.25rem;line-height:1.7;margin:0}.project-tech{margin-bottom:var(--space-lg)}.project-tech h2{font-size:1.5rem;font-weight:900;margin-bottom:var(--space-sm);text-transform:lowercase}.tech-list{color:var(--text-light);font-size:1rem;margin:0}.project-gallery{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:1fr;margin-bottom:var(--space-lg)}.project-gallery img{display:block;width:100%}.project-links{display:flex;gap:var(--space-md);padding-top:var(--space-md)}.project-links a{color:var(--text);font-size:1rem;font-weight:700;text-decoration:none;text-transform:lowercase;transition:opacity var(--transition)}.project-links a:hover{opacity:.6}@media (max-width:768px){.project-header h1{font-size:2.5rem}.project-description p{font-size:1.125rem}}.contact{margin:0 auto;max-width:700px;padding:var(--space-lg) 0}.contact h1{font-size:3rem;font-weight:900;margin-bottom:var(--space-sm);text-transform:lowercase}.contact-text{color:var(--text-light);font-size:1.25rem;margin-bottom:var(--space-lg)}.contact-links{display:flex;flex-direction:column;gap:var(--space-sm)}.contact-link{color:var(--text);font-size:1.5rem;font-weight:700;text-decoration:none;text-transform:lowercase;transition:opacity var(--transition)}.contact-link:hover{opacity:.6}@media (max-width:768px){.contact h1{font-size:2.5rem}.contact-link{font-size:1.25rem}}
/*# sourceMappingURL=main.85fc5435.css.map*/