@import"https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #FAFAFA;--bg-primary-rgb: 250, 250, 250;--bg-secondary: #F5F5F5;--text-primary: #1A1A1A;--text-secondary: #666666;--text-tertiary: #999999;--border-color: #E5E5E5;--border-color-rgb: 229, 229, 229;--accent-color: #333333;--accent-color-rgb: 51, 51, 51;--font-family: "Raleway", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 3rem;--font-size-4xl: 4rem;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--spacing-3xl: 12rem;--transition-fast: .15s ease-out;--transition-base: .25s ease-out;--transition-slow: .4s ease-out}[data-theme=dark]{--bg-primary: #0F0F0F;--bg-primary-rgb: 15, 15, 15;--bg-secondary: #1A1A1A;--text-primary: #F5F5F5;--text-secondary: #CCCCCC;--text-tertiary: #999999;--border-color: #333333;--border-color-rgb: 51, 51, 51;--accent-color: #FFFFFF;--accent-color-rgb: 255, 255, 255}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background-color var(--transition-base),color var(--transition-base);overflow-x:hidden;overflow-y:hidden}.layout{min-height:100vh;position:relative}.layout-frame{height:calc(100vh - 2rem);border:1px solid var(--border-color);margin:var(--spacing-sm);position:relative;background-color:var(--bg-primary);transition:border-color var(--transition-base);overflow:hidden}.header{position:absolute;top:var(--spacing-xl);left:var(--spacing-xl);z-index:20;display:flex;justify-content:space-between;align-items:flex-start;width:calc(100% - 6rem)}.header-content{flex:1}.name{font-size:clamp(var(--font-size-2xl),5vw,var(--font-size-4xl));font-weight:200;color:var(--text-primary);line-height:1.1;margin-bottom:var(--spacing-xs);letter-spacing:-.02em}.role{font-size:var(--font-size-lg);font-weight:300;color:var(--text-secondary);margin:0}.navigation{position:absolute;left:var(--spacing-xl);top:50%;transform:translateY(-50%);z-index:20}.nav-links{display:flex;flex-direction:column;gap:var(--spacing-sm)}.nav-link{color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:400;letter-spacing:.02em;transition:all var(--transition-base);position:relative;padding:var(--spacing-xs) 0}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--accent-color);font-weight:500}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--accent-color);transition:width var(--transition-base)}.nav-link:hover:after,.nav-link.active:after{width:100%}.theme-toggle-container{position:relative}.theme-toggle{background:none;border:1px solid var(--border-color);border-radius:50%;width:2.5em;height:2.5em;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);color:var(--text-secondary);transition:all var(--transition-base)}.theme-toggle:hover{border-color:var(--accent-color);color:var(--accent-color);transform:rotate(180deg)}.main-content{padding:var(--spacing-2xl) 0 var(--spacing-2xl) var(--spacing-xl);height:100%;position:relative;box-sizing:border-box;z-index:10;pointer-events:none;overflow-y:hidden}.layout-frame:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 25% 25%,rgba(0,0,0,.02) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(0,0,0,.01) 0%,transparent 50%);pointer-events:none;z-index:1}[data-theme=dark] .layout-frame:before{background-image:radial-gradient(circle at 25% 25%,rgba(255,255,255,.02) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(255,255,255,.01) 0%,transparent 50%)}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity var(--transition-slow),transform var(--transition-slow)}.page{position:relative;z-index:10;pointer-events:auto}.home-page{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;min-height:calc(100% - 6rem);overflow:hidden;pointer-events:none}.neural-network-container{position:absolute;top:1px;left:1px;width:calc(100% - 2px);height:calc(100% - 2px);z-index:1;pointer-events:none}.home-page .neural-network-container{z-index:15;pointer-events:all}.neural-network-container canvas{width:100%!important;height:100%!important;opacity:.4;transition:opacity var(--transition-base);pointer-events:all!important;z-index:5!important}[data-theme=dark] .neural-network-container canvas{opacity:.9}.home-content{position:relative;z-index:2;pointer-events:none}.biography-container{pointer-events:all}.biography{max-width:400px;margin-bottom:var(--spacing-2xl);margin-right:var(--spacing-xl);background-color:rgba(var(--bg-primary-rgb),.3);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:var(--spacing-lg);border-radius:8px;border:1px solid rgba(var(--border-color-rgb),.3);transition:all var(--transition-base);display:none;opacity:0;transform:translateY(20px)}.info-display{position:fixed;top:50%;right:var(--spacing-xl);transform:translateY(-50%);max-width:400px;background-color:rgba(var(--bg-primary-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--spacing-lg);border-radius:8px;border:1px solid rgba(var(--border-color-rgb),.4);transition:all var(--transition-base);z-index:20;display:none;opacity:0;transform:translateY(-50%) translate(20px)}.info-title{font-size:var(--font-size-lg);font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-sm);line-height:1.3}.info-content{font-size:var(--font-size-sm);line-height:1.7;color:var(--text-secondary);font-weight:300;margin:0}.biography:hover{background-color:rgba(var(--bg-primary-rgb),.5);border-color:rgba(var(--accent-color-rgb),.6)}.biography-text{font-size:var(--font-size-sm);line-height:1.8;color:var(--text-secondary);font-weight:300}.projects-page::-webkit-scrollbar{width:8px}.projects-page::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.projects-page::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;transition:background var(--transition-base)}.projects-page::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.projects-page{scrollbar-width:thin;scrollbar-color:var(--border-color) var(--bg-primary)}.projects-content{overflow-y:scroll;max-height:80vh;max-width:800px;margin-left:auto;margin-right:0;margin-top:var(--spacing-2xl);padding-bottom:var(--spacing-xl)}.projects-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.project-card{border:1px solid transparent;border-radius:4px;transition:all var(--transition-base)}.project-card.expanded{background-color:rgba(var(--bg-primary-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--border-color-rgb),.4);border-radius:8px}.project-card:hover:not(.expanded){border-color:var(--border-color)}.project-card.expanded:hover{background-color:rgba(var(--bg-primary-rgb),.5);border-color:rgba(var(--accent-color-rgb),.6)}.project-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-base)}.project-header:hover{background-color:rgba(var(--bg-primary-rgb),.2)}.project-name{font-size:var(--font-size-base);font-weight:400;color:var(--text-primary);flex:1}.project-dates{font-size:var(--font-size-sm);color:var(--text-tertiary);font-weight:300}.expand-indicator{font-size:var(--font-size-lg);color:var(--text-secondary);transition:transform var(--transition-base);-webkit-user-select:none;user-select:none}.project-card.expanded .expand-indicator{transform:rotate(180deg)}.project-details{max-height:0;overflow:hidden;transition:max-height var(--transition-slow)}.project-card.expanded .project-details{border-top:1px solid var(--border-color)}.project-images{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:0 var(--spacing-md);justify-content:center}.project-image{max-width:100%;max-height:50vh;height:auto;border-radius:4px;border:1px solid rgba(var(--border-color-rgb),.3);transition:transform var(--transition-base)}.project-image:hover{transform:scale(1.02)}.project-description{padding:var(--spacing-md);font-size:var(--font-size-sm);line-height:1.7;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.project-technologies{padding:0 var(--spacing-md);display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.tech-tag{font-size:var(--font-size-xs);color:var(--text-tertiary);background-color:var(--bg-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:12px;font-weight:400}.project-link{display:inline-block;padding:0 var(--spacing-md) var(--spacing-md);font-size:var(--font-size-sm);color:var(--accent-color);text-decoration:none;font-weight:400;transition:color var(--transition-base)}.project-link:hover{color:var(--text-primary)}.contact-page{display:flex;align-items:center;justify-content:flex-end;min-height:calc(100% - 6rem)}.contact-content{max-width:400px;margin-right:var(--spacing-xl)}.contact-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.contact-link{display:inline-block;text-decoration:none;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:300;position:relative;transition:color var(--transition-base);padding:var(--spacing-xs) 0}.contact-link:hover{color:var(--accent-color)}.contact-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--accent-color);transition:width var(--transition-base)}.contact-link:hover:after{width:100%}.contact-label{font-size:var(--font-size-sm);font-weight:300}.loading{color:var(--text-tertiary);font-style:italic}@media (max-width: 768px){.layout-frame{margin:0;border:none}.header{position:static;padding:var(--spacing-lg) var(--spacing-lg) 0;width:auto;flex-direction:column;gap:var(--spacing-md);z-index:30;background-color:rgba(var(--bg-primary-rgb),.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.theme-toggle-container{position:fixed!important;top:20px;right:20px;z-index:40}.navigation{position:static;transform:none;padding:var(--spacing-lg);z-index:30;background-color:rgba(var(--bg-primary-rgb),.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-links{flex-direction:row;gap:var(--spacing-lg);justify-content:space-between}.main-content{padding:var(--spacing-lg)}.name{font-size:var(--font-size-2xl)}.neural-network-container{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;z-index:-1!important;pointer-events:none!important}.home-page .neural-network-container{z-index:15!important;pointer-events:all}.home-page .layout-frame{z-index:5}.home-page .main-content,.home-page .page{pointer-events:none}.layout-frame{position:relative;z-index:10;background-color:transparent}.biography{margin:var(--spacing-lg);max-width:none;background-color:rgba(var(--bg-primary-rgb),.95);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.projects-content,.contact-content{max-width:none;padding-top:0;margin-top:0}.projects-content{padding-bottom:var(--spacing-3xl);margin-right:0}.projects-page .project-content{overflow-y:scroll;max-height:none;margin-right:0}.contact-page{align-items:flex-end;justify-content:center;padding-bottom:calc(var(--spacing-2xl) + var(--spacing-lg));min-height:calc(100vh - 6rem)}.contact-content{max-width:none;margin-right:0;margin-left:0;width:100%;text-align:center;margin-bottom:calc(var(--spacing-3xl) - var(--spacing-lg))}.home-page{align-items:flex-start;justify-content:flex-start;min-height:auto}.neural-network-container canvas{opacity:.8}[data-theme=dark] .neural-network-container canvas{opacity:.7}}
