.engineering-portfolio{max-width:var(--max-width-container);margin:var(--spacing-4xl) auto 0;padding:0 var(--spacing-4xl) var(--spacing-section-padding)}.portfolio-header{text-align:center;margin:0 auto var(--spacing-5xl);padding:var(--spacing-4xl);background:var(--color-glass-bg-strong);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass-strong);border:1px solid var(--color-glass-border);border-left:var(--spacing-bio-border) solid var(--color-primary);transition:all var(--transition-base)}.portfolio-header:hover{box-shadow:var(--shadow-2xl);transform:translateY(-2px)}.portfolio-header h1{color:var(--color-primary);font-size:var(--font-size-portfolio-header);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg);text-shadow:var(--shadow-text)}.portfolio-header p{color:var(--color-secondary);font-size:var(--font-size-portfolio-subtitle);font-weight:var(--font-weight-normal);max-width:var(--max-width-narrow);margin:0 auto;line-height:var(--line-height-relaxed)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--max-width-project-grid),1fr));gap:var(--spacing-3xl);margin-top:var(--spacing-section-padding);padding:0 var(--spacing-xl)}.project-card{background:var(--color-primary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);transition:transform var(--transition-base),box-shadow var(--transition-base);position:relative}.project-card .project-title-static{cursor:default;pointer-events:none}.project-image-container.no-image{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2e604ad9,#3d5a4f99);color:var(--color-text-on-dark)}.project-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;font-size:var(--font-size-project-title);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:1px}.project-card:hover{transform:translateY(var(--transform-offset-lg));box-shadow:var(--shadow-2xl)}.project-card.featured{border:var(--border-width-thick) solid var(--color-accent);box-shadow:var(--shadow-accent)}.project-image-container{position:relative;height:var(--height-project-image);overflow:hidden}.project-image{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.project-card:hover .project-image{transform:scale(1.05)}.featured-badge{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);background:var(--color-accent);color:var(--color-primary);padding:var(--spacing-sm) var(--spacing-base);border-radius:var(--radius-xl);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);box-shadow:var(--shadow-sm)}.project-content{padding:var(--spacing-card-padding);color:var(--color-text-on-dark)}.project-header{margin-bottom:var(--spacing-xl)}.project-title{color:var(--color-accent);text-decoration:none;font-size:var(--font-size-project-title);font-weight:var(--font-weight-bold);line-height:var(--line-height-normal);display:block;margin-bottom:var(--spacing-md);transition:color var(--transition-base);text-decoration:underline;text-underline-offset:var(--spacing-xs)}.project-title:hover{color:var(--color-accent-hover);text-decoration-color:var(--color-accent-hover)}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.institution{color:var(--color-text-on-dark);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-style:italic}.year{color:var(--color-accent);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background:var(--color-accent-alpha-20);padding:var(--spacing-xs) var(--spacing-base);border-radius:var(--radius-md)}.project-description{margin-bottom:var(--spacing-lg)}.project-description p{color:var(--color-text-on-dark);line-height:var(--line-height-normal);font-size:var(--font-size-sm);margin:0}.project-skills h4{color:var(--color-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.skills-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);row-gap:var(--spacing-xs)}.skill-tag{background:var(--color-accent-alpha-20);color:var(--color-accent);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:.68rem;font-weight:var(--font-weight-medium);border:var(--border-width-thin) solid var(--color-accent-alpha-30);transition:all var(--transition-base)}.skill-tag:hover{background:var(--color-accent-alpha-30);transform:translateY(var(--transform-offset-sm))}@media (max-width: 768px){.engineering-portfolio{margin-top:var(--spacing-3xl);padding:0 var(--spacing-3xl) var(--spacing-xl)}.projects-grid{padding:0;gap:var(--spacing-2xl)}.portfolio-header h1{font-size:var(--font-size-5xl)}.portfolio-header p{font-size:var(--font-size-base)}.projects-grid{grid-template-columns:1fr;gap:var(--spacing-xl)}.project-card{margin-bottom:0}.project-content{padding:var(--spacing-xl)}.project-meta{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}}@media (max-width: 480px){.engineering-portfolio{margin-top:var(--spacing-3xl);padding:0 var(--spacing-2xl) var(--spacing-xl)}.projects-grid{gap:var(--spacing-xl)}.portfolio-header h1{font-size:var(--font-size-4xl)}.project-image-container{height:var(--height-project-image-mobile)}.project-content{padding:var(--spacing-lg)}.project-title{font-size:var(--font-size-xl)}}#papers{margin:calc(var(--header-height) + var(--spacing-5xl)) auto var(--spacing-6xl);width:100%;max-width:1400px;padding:0 var(--spacing-5xl);box-sizing:border-box}.papers-container{display:grid;grid-template-columns:360px 1fr;gap:var(--spacing-6xl);align-items:start}.papers-sidebar{position:sticky;top:calc(var(--header-height) + var(--spacing-3xl));align-self:start;display:flex;flex-direction:column;gap:var(--spacing-3xl);max-height:calc(100vh - var(--header-height) - var(--spacing-3xl) - var(--spacing-3xl));overflow-y:auto;z-index:100;scrollbar-width:thin;scrollbar-color:rgba(46,96,74,.3) transparent}.papers-sidebar::-webkit-scrollbar{width:4px}.papers-sidebar::-webkit-scrollbar-track{background:transparent}.papers-sidebar::-webkit-scrollbar-thumb{background:#2e604a4d;border-radius:2px}.papers-sidebar::-webkit-scrollbar-thumb:hover{background:#2e604a80}.papers-intro{background:linear-gradient(135deg,#e1d8c3fa,#e1d8c3eb);backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);border-radius:14px;border:1px solid rgba(46,96,74,.2);box-shadow:0 6px 24px #2e604a1a,0 2px 6px #0000000d;padding:var(--spacing-3xl);transition:all .3s cubic-bezier(.4,0,.2,1)}.papers-intro:hover{box-shadow:0 8px 32px #2e604a26,0 3px 10px #00000014;border-color:#2e604a4d}.papers-intro h1{margin:0 0 var(--spacing-lg);color:var(--color-primary);font-size:2.2rem;font-weight:700;letter-spacing:-.6px;line-height:1.1}.papers-intro p{margin:0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.6;font-weight:400}.papers-toc{background:linear-gradient(135deg,#e1d8c3f2,#e1d8c3e0);backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);border-radius:14px;border:1px solid rgba(46,96,74,.15);box-shadow:0 4px 18px #0000000d;padding:var(--spacing-2xl)}.papers-toc h2{margin:0 0 var(--spacing-lg);color:var(--color-primary);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px}.toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.toc-list li{margin:0;padding:0}.toc-link{display:flex;align-items:flex-start;gap:var(--spacing-sm);width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;border-left:2px solid transparent;text-align:left;cursor:pointer;transition:all .2s ease;color:var(--color-text-secondary);border-radius:4px;font-family:inherit}.toc-link:hover{background:#2e604a1a;border-left-color:var(--color-primary);padding-left:var(--spacing-base)}.toc-link.active{background:#2e604a26;border-left:3px solid var(--color-primary);padding-left:var(--spacing-base);color:var(--color-primary)}.toc-link.active .toc-number{opacity:1;color:var(--color-primary);font-weight:700}.toc-link.active .toc-title{color:var(--color-primary);font-weight:600}.toc-number{flex-shrink:0;font-size:.7rem;font-weight:700;color:var(--color-accent);line-height:1.6;opacity:.7;margin-top:1px}.toc-link:hover .toc-number{opacity:1;color:var(--color-primary)}.toc-title{font-size:.8rem;line-height:1.35;font-weight:500;color:inherit;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.toc-link:hover .toc-title{color:var(--color-primary)}.papers-content{display:flex;flex-direction:column;gap:var(--spacing-3xl)}.paper-card{background:linear-gradient(135deg,#e1d8c3f5,#e1d8c3e6);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border-radius:10px;border:1px solid rgba(46,96,74,.15);box-shadow:0 3px 12px #0000000d,0 1px 3px #00000008;padding:var(--spacing-3xl);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;scroll-margin-top:calc(var(--header-height) + var(--spacing-3xl))}.paper-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-accent) 100%);opacity:0;transition:opacity .3s ease;border-radius:10px 10px 0 0}.paper-card:hover{box-shadow:0 12px 40px #2e604a1f,0 4px 12px #00000014;transform:translate(8px);border-color:#2e604a40}.paper-card:hover:before{opacity:1}.paper-card-number{position:absolute;top:var(--spacing-2xl);right:var(--spacing-2xl);width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:var(--color-primary);background:#2e604a1a;border:2px solid rgba(46,96,74,.2);border-radius:50%;transition:all .3s ease;z-index:1}.paper-card:hover .paper-card-number{background:var(--color-primary);color:var(--color-text-on-dark);border-color:var(--color-primary);transform:scale(1.05)}.paper-card-header{margin-bottom:var(--spacing-xl);padding-right:60px}.paper-card-title{margin:0 0 var(--spacing-sm);color:var(--color-primary);font-size:1.25rem;font-weight:700;line-height:1.4;letter-spacing:-.2px;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.paper-card-subtitle{margin:0;font-size:.9rem;color:var(--color-secondary);font-style:italic;font-weight:500;opacity:.9;line-height:1.5}.paper-card-body{margin-bottom:var(--spacing-xl)}.paper-card-text{margin:0;color:var(--color-text-secondary);font-size:.95rem;line-height:1.75;overflow-wrap:break-word;word-wrap:break-word;transition:all .3s ease}.paper-card-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.btn-expand{padding:8px var(--spacing-lg);font-size:.85rem;font-weight:600;border-radius:100px;border:1px solid var(--color-primary);background:transparent;color:var(--color-primary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:inherit;display:inline-flex;align-items:center;letter-spacing:.2px}.btn-expand:hover{background:var(--color-primary);color:var(--color-text-on-dark);box-shadow:0 3px 10px #2e604a40;transform:translateY(-1px)}.btn-paper-link{padding:8px var(--spacing-lg);font-size:.85rem;font-weight:600;border-radius:100px;border:1px solid var(--color-primary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px;letter-spacing:.2px;background:var(--color-primary);color:var(--color-text-on-dark)}.btn-paper-link:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:0 3px 10px #2e604a40;transform:translateY(-1px)}.btn-paper-link svg{width:13px;height:13px;transition:transform .2s ease}.btn-paper-link:hover svg{transform:translate(2px,-2px)}@media (max-width: 1400px){#papers{max-width:1200px;padding:0 var(--spacing-4xl)}.papers-container{grid-template-columns:320px 1fr;gap:var(--spacing-5xl)}}@media (max-width: 1200px){.papers-container{grid-template-columns:280px 1fr;gap:var(--spacing-4xl)}.papers-intro,.papers-toc{padding:var(--spacing-3xl)}.papers-intro h1{font-size:2rem}}@media (max-width: 1024px){#papers{padding:0 var(--spacing-3xl);margin-top:calc(var(--header-height) + var(--spacing-4xl))}.papers-container{grid-template-columns:1fr;gap:var(--spacing-4xl)}.papers-sidebar{position:sticky;top:calc(var(--header-height) + var(--spacing-2xl));max-height:calc(100vh - var(--header-height) - var(--spacing-2xl) - var(--spacing-2xl))}}@media (max-width: 768px){#papers{padding:0 var(--spacing-2xl);margin-top:calc(var(--header-height) + var(--spacing-3xl))}.papers-container{gap:var(--spacing-3xl)}.papers-sidebar{gap:var(--spacing-2xl);top:calc(var(--header-height) + var(--spacing-xl));max-height:calc(100vh - var(--header-height) - var(--spacing-xl) - var(--spacing-xl))}.papers-intro h1{font-size:1.75rem}.papers-intro p{font-size:.9rem}.papers-intro,.papers-toc{padding:var(--spacing-2xl)}.papers-content{gap:var(--spacing-2xl)}.paper-card{padding:var(--spacing-2xl)}.paper-card-number{width:40px;height:40px;font-size:.9rem;top:var(--spacing-lg);right:var(--spacing-lg)}.paper-card-header{padding-right:50px}.paper-card-title{font-size:1.15rem}.paper-card-subtitle{font-size:.85rem}.paper-card-text{font-size:.9rem;line-height:1.7}}@media (max-width: 600px){#papers{padding:0 var(--spacing-lg)}.papers-sidebar{position:static;max-height:none}.papers-intro,.papers-toc{padding:var(--spacing-2xl);border-radius:12px}.papers-intro h1{font-size:1.5rem;margin-bottom:var(--spacing-lg)}.papers-toc h2{font-size:.95rem}.toc-title{font-size:.8rem}.paper-card{padding:var(--spacing-xl)}.paper-card-number{width:36px;height:36px;font-size:.85rem}.paper-card-header{padding-right:45px;margin-bottom:var(--spacing-lg)}.paper-card-title{font-size:1.05rem}.paper-card-body{margin-bottom:var(--spacing-lg)}.paper-card-text{font-size:.88rem}.paper-card-actions{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.btn-expand,.btn-paper-link{width:100%;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg)}}.project-template{max-width:var(--max-width-content);margin:0 auto;padding:var(--spacing-3xl) var(--spacing-4xl);background:var(--color-glass-bg-strong);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass-strong);border:1px solid var(--color-glass-border);border-left:var(--spacing-bio-border) solid var(--color-primary);margin-top:var(--spacing-4xl);margin-bottom:var(--spacing-section-padding)}.project-hero{display:flex;align-items:flex-start;justify-content:space-between;min-height:auto;padding:0;gap:var(--spacing-4xl)}.hero-content{flex:1;padding:0}.back-link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2xl);display:inline-block;padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-2xl);background:#2e604a1f;border:1px solid var(--color-glass-border);box-shadow:0 4px 12px #2e604a14;transition:all var(--transition-base)}.back-link:hover{color:var(--color-text-on-dark);background:var(--color-primary);transform:translateY(var(--transform-offset-sm))}.project-hero h1{color:var(--color-primary);font-size:var(--font-size-project-hero);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-base);line-height:var(--line-height-tight)}.project-subtitle{color:var(--color-secondary);font-size:var(--font-size-project-subtitle);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xl)}.featured-badge{background:var(--color-accent);color:var(--color-primary);padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);display:inline-block}.hero-image{flex:1;max-width:var(--max-width-hero-image)}.hero-image img{width:100%;height:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.project-overview{background:var(--color-primary);color:var(--color-text-on-dark);padding:var(--spacing-section-padding);margin:var(--spacing-section-padding) 0;border-radius:var(--radius-lg)}.project-overview h2{color:var(--color-accent);font-size:var(--font-size-project-overview-heading);margin-bottom:var(--spacing-xl)}.project-overview p{font-size:var(--font-size-lg);line-height:var(--line-height-loose);margin-bottom:var(--spacing-3xl)}.achievements{margin-bottom:var(--spacing-3xl)}.achievements h3{color:var(--color-accent);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg)}.achievements ul{list-style:none;padding:0}.achievements li{padding:var(--spacing-sm) 0;padding-left:var(--spacing-xl);position:relative}.achievements li:before{content:"";color:var(--color-accent);font-weight:var(--font-weight-bold);position:absolute;left:0}.skills-used h3{color:var(--color-accent);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg)}.skills-list{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.skill-tag{background:var(--color-accent-alpha-20);color:var(--color-accent);padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:var(--border-width-thin) solid var(--color-accent-alpha-30)}.project-story{padding:var(--spacing-section-padding) 0}.section{margin-bottom:var(--spacing-6xl);padding:0 var(--spacing-xl)}.section h2{color:var(--color-primary);font-size:var(--font-size-section-heading);margin-bottom:var(--spacing-xl);border-bottom:var(--border-width-thick) solid var(--color-accent);padding-bottom:var(--spacing-md);display:inline-block}.section p{color:var(--color-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-loose);margin-bottom:var(--spacing-xl)}.section-image{margin-top:var(--spacing-xl)}.section-image img{width:100%;height:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.project-results{background:var(--color-primary);color:var(--color-text-on-dark);padding:var(--spacing-section-padding);margin:var(--spacing-section-padding) 0;border-radius:var(--radius-lg)}.project-results h2{color:var(--color-accent);font-size:var(--font-size-project-overview-heading);margin-bottom:var(--spacing-xl)}.project-results p{font-size:var(--font-size-lg);line-height:var(--line-height-loose)}.project-navigation{text-align:center;padding:var(--spacing-section-padding) 0;border-top:var(--border-width-medium) solid var(--color-accent);margin-top:var(--spacing-section-padding)}.nav-link{color:var(--color-primary);text-decoration:none;font-size:var(--font-size-nav-link);font-weight:var(--font-weight-semibold);padding:var(--spacing-base) var(--spacing-2xl);background:var(--color-accent-alpha-20);border-radius:var(--radius-2xl);transition:all var(--transition-base);display:inline-block}.nav-link:hover{background:var(--color-accent);color:var(--color-primary);transform:translateY(var(--transform-offset-md))}.project-not-found{text-align:center;padding:var(--spacing-6xl) var(--spacing-xl);background:var(--color-bg-primary);border-radius:var(--radius-lg);margin:var(--spacing-section-padding) auto;max-width:var(--max-width-narrow)}.project-not-found h1{color:var(--color-primary);margin-bottom:var(--spacing-xl)}.project-not-found p{color:var(--color-secondary);margin-bottom:var(--spacing-3xl)}@media (max-width: 768px){.project-template{padding:var(--spacing-2xl) var(--spacing-2xl)}.project-hero{flex-direction:column;text-align:center;gap:var(--spacing-3xl)}.project-hero h1{font-size:var(--font-size-5xl)}.section{padding:0 var(--spacing-md)}}@media (max-width: 480px){.project-template{padding:var(--spacing-xl) var(--spacing-lg)}.project-hero h1{font-size:var(--font-size-4xl)}.project-overview,.project-results{padding:var(--spacing-xl)}}body{font-family:var(--font-family-primary);margin:0;padding:0;background:url(/assets/solarpunk-BXiQ_znW.png) no-repeat center center fixed;background-size:cover;display:flex;justify-content:center;align-items:center;min-height:100vh;flex-direction:column}header{width:100%;background:var(--color-glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding:var(--spacing-header-padding) 0;position:fixed;top:0;left:0;text-align:center;z-index:var(--z-header);border-bottom:1px solid var(--color-glass-border);box-shadow:var(--shadow-glass)}nav ul{list-style:none;padding:0;margin:0;display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap}nav ul li{display:inline}nav ul li a{text-decoration:none;color:var(--color-primary);font-weight:var(--font-weight-semibold);padding:var(--spacing-nav-padding-y) var(--spacing-2xl);background:#ffffff4d;border:1px solid var(--color-glass-border);border-radius:var(--radius-xl);transition:all var(--transition-base);display:inline-block;position:relative;font-size:var(--font-size-nav-link);letter-spacing:.3px;box-shadow:0 2px 4px #0000000d}nav ul li a:hover{background:#ffffff80;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--color-primary-light)}nav ul li a.active{background:var(--color-primary);color:var(--color-text-on-dark);border-color:var(--color-primary-dark);box-shadow:0 4px 12px #2e604a4d;font-weight:var(--font-weight-bold)}nav ul li a.active:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px #2e604a66}.page-content{width:100%;display:flex;flex-direction:column;align-items:center;padding-top:calc(var(--header-height) + var(--spacing-2xl));box-sizing:border-box}.App{width:var(--app-width);max-width:var(--max-width-container);padding:var(--spacing-xl);text-align:center}#bio{background:var(--color-glass-bg-strong);backdrop-filter:blur(10px) saturate(150%);-webkit-backdrop-filter:blur(10px) saturate(150%);padding:var(--spacing-4xl) var(--spacing-bio-padding);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass-strong);border:1px solid var(--color-glass-border);border-left:var(--spacing-bio-border) solid var(--color-primary);max-width:900px;text-align:left;margin:var(--spacing-4xl) auto 0;transition:all var(--transition-base)}#bio:hover{box-shadow:var(--shadow-2xl);transform:translateY(-2px)}.welcome-section{background:var(--color-glass-bg-strong);backdrop-filter:blur(10px) saturate(150%);-webkit-backdrop-filter:blur(10px) saturate(150%);padding:var(--spacing-4xl) var(--spacing-bio-padding);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass-strong);border:1px solid var(--color-glass-border);border-left:var(--spacing-bio-border) solid var(--color-primary);max-width:900px;text-align:center;margin:0 auto var(--spacing-4xl);transition:all var(--transition-base)}.welcome-section:hover{box-shadow:var(--shadow-2xl);transform:translateY(-2px)}.welcome-section h1{color:var(--color-primary);margin-bottom:var(--spacing-2xl);text-shadow:0 2px 4px rgba(0,0,0,.1);font-size:var(--font-size-5xl)}.welcome-achievements{margin-bottom:var(--spacing-xl)}.welcome-achievements p{color:var(--color-text-secondary);font-size:var(--font-size-bio);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-lg);text-align:left}.welcome-cta{color:var(--color-text-secondary);font-size:var(--font-size-lg);font-style:italic;margin-top:var(--spacing-xl)}.bio-main{text-align:left}.bio-main h2{color:var(--color-primary);font-size:var(--font-size-3xl);margin-bottom:var(--spacing-2xl);font-weight:var(--font-weight-semibold)}.bio-content{color:var(--color-text-secondary)}.bio-content p{font-size:var(--font-size-bio);line-height:var(--line-height-loose);margin-bottom:var(--spacing-2xl);color:var(--color-text-secondary)}.bio-link{color:var(--color-accent);text-decoration:none;font-weight:var(--font-weight-medium);border-bottom:1px solid transparent;transition:all var(--transition-base)}.bio-link:hover{color:var(--color-primary);border-bottom-color:var(--color-primary)}.bio-link:visited{color:var(--color-accent)}#engineering{background:var(--color-bg-transparent);padding:0;margin:0;max-width:none;width:100%}#art{background:var(--color-glass-bg-strong);backdrop-filter:blur(10px) saturate(150%);-webkit-backdrop-filter:blur(10px) saturate(150%);padding:var(--spacing-4xl) var(--spacing-bio-padding);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass-strong);border:1px solid var(--color-glass-border);border-left:var(--spacing-bio-border) solid var(--color-primary);max-width:900px;text-align:left;margin:var(--spacing-4xl) auto 0;transition:all var(--transition-base)}#art:hover{box-shadow:var(--shadow-2xl);transform:translateY(-2px)}#art h1{color:var(--color-primary);margin-bottom:var(--spacing-xl);text-shadow:0 2px 4px rgba(0,0,0,.1);font-size:var(--font-size-5xl)}#art p{color:var(--color-text-secondary);font-size:var(--font-size-bio);line-height:var(--line-height-relaxed)}@media (max-width: 600px){.page-content{padding-top:calc(var(--header-height-mobile) + var(--spacing-xl))}.App{width:var(--app-width-mobile);padding:var(--spacing-lg)}header{padding:var(--spacing-md) 0}nav ul{flex-direction:row;gap:var(--spacing-sm);padding:0 var(--spacing-sm)}nav ul li a{padding:var(--spacing-sm) var(--spacing-base);font-size:var(--font-size-sm);border-radius:var(--radius-md)}#bio,#art{max-width:90%;padding:var(--spacing-2xl) var(--spacing-xl);margin-top:var(--spacing-3xl)}.welcome-section{max-width:90%;padding:var(--spacing-2xl) var(--spacing-xl);margin-top:var(--spacing-4xl)}.welcome-section h1,#bio h2,#art h1{font-size:var(--font-size-4xl)}.bio-main h2{font-size:var(--font-size-2xl)}.bio-content p,.bio-achievements p{font-size:var(--font-size-base)}}@media (max-width: 480px){nav ul{flex-direction:column;gap:var(--spacing-sm)}nav ul li a{width:100%;max-width:200px}}:root{--color-primary: #2e604a;--color-primary-dark: #1e4635;--color-primary-light: #3a7a5f;--color-secondary: #3d5a4f;--color-secondary-light: #4a6d5f;--color-secondary-dark: #2d4539;--color-accent: #b8926a;--color-accent-light: #e1d8c3;--color-accent-hover: #2e604a;--color-bg-primary: rgba(225, 216, 195, .95);--color-bg-secondary: rgba(225, 216, 195, .9);--color-bg-card: #2e604a;--color-bg-transparent: transparent;--color-glass-bg: rgba(225, 216, 195, .75);--color-glass-bg-strong: rgba(225, 216, 195, .85);--color-glass-border: rgba(46, 96, 74, .2);--color-text-primary: #2e604a;--color-text-secondary: #3d5a4f;--color-text-on-dark: #e1d8c3;--color-text-accent: #b8926a;--color-link: #b8926a;--color-link-hover: #2e604a;--color-border: #2e604a;--color-border-accent: #b8926a;--color-accent-alpha-20: rgba(184, 146, 106, .2);--color-accent-alpha-30: rgba(184, 146, 106, .3);--color-shadow: rgba(0, 0, 0, .1);--color-shadow-medium: rgba(0, 0, 0, .15);--color-shadow-dark: rgba(0, 0, 0, .2);--color-shadow-accent: rgba(184, 146, 106, .3);--color-shadow-glass: rgba(0, 0, 0, .1);--color-shadow-glass-strong: rgba(0, 0, 0, .15);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 10px;--spacing-base: 12px;--spacing-lg: 15px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 30px;--spacing-4xl: 40px;--spacing-5xl: 50px;--spacing-6xl: 60px;--spacing-header-padding: 15px;--spacing-card-padding: 25px;--spacing-section-padding: 40px;--spacing-nav-gap: 20px;--spacing-nav-padding-y: 10px;--spacing-nav-padding-x: 15px;--spacing-bio-padding: 30px;--spacing-bio-border: 6px;--font-family-primary: "Poppins", sans-serif;--font-family-system: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;--font-size-xs: .8rem;--font-size-sm: .9rem;--font-size-base: 1rem;--font-size-lg: 1.1rem;--font-size-xl: 1.2rem;--font-size-2xl: 1.3rem;--font-size-3xl: 1.4rem;--font-size-4xl: 2rem;--font-size-5xl: 2.2rem;--font-size-6xl: 3rem;--font-size-7xl: 3.5rem;--font-size-bio: 18px;--font-size-portfolio-header: 3rem;--font-size-portfolio-subtitle: 1.2rem;--font-size-project-title: 1.4rem;--font-size-project-hero: 3.5rem;--font-size-project-subtitle: 1.3rem;--font-size-project-overview-heading: 2.2rem;--font-size-section-heading: 2rem;--font-size-nav-link: 1.2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.3;--line-height-relaxed: 1.6;--line-height-loose: 1.7;--letter-spacing-tight: 1px;--border-width-thin: 1px;--border-width-medium: 2px;--border-width-thick: 3px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 25px;--radius-full: 9999px;--shadow-sm: 0 2px 8px var(--color-shadow);--shadow-md: 0 4px 8px var(--color-shadow);--shadow-lg: 0 8px 24px var(--color-shadow-medium);--shadow-xl: 0 8px 32px var(--color-shadow);--shadow-2xl: 0 16px 40px var(--color-shadow-dark);--shadow-accent: 0 8px 24px var(--color-shadow-accent);--shadow-text: 2px 2px 4px var(--color-shadow);--shadow-glass: 0 8px 32px var(--color-shadow-glass), 0 2px 8px var(--color-shadow-glass-strong);--shadow-glass-strong: 0 12px 40px var(--color-shadow-glass-strong), 0 4px 12px var(--color-shadow-glass);--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--max-width-container: 1400px;--max-width-content: 1200px;--max-width-narrow: 600px;--max-width-project-grid: 300px;--header-height: 80px;--header-height-mobile: 120px;--app-width: 90%;--app-width-mobile: 95%;--height-project-image: 250px;--height-project-image-mobile: 200px;--transform-offset-sm: -1px;--transform-offset-md: -2px;--transform-offset-lg: -8px;--max-width-hero-image: 500px;--z-header: 1000;--z-modal: 2000;--z-tooltip: 3000;--breakpoint-mobile: 600px;--breakpoint-tablet: 768px;--breakpoint-mobile-small: 480px}body{margin:0;font-family:var(--font-family-system);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:var(--font-family-mono)}
