:root{--primary-bg: #000000;--secondary-bg: #1a1a1a;--text-color: #f5f5f7;--accent-color: #0077ed;--accent-color-light: #2997ff;--accent-color-rgb: 0, 119, 237;--card-bg: #1d1d1f;--hover-color: #0071e3;--navbar-bg: rgba(0, 0, 0, .8);--section-alt-bg: #111111;--footer-text: #86868b;--heading-color: #f5f5f7;--subheading-color: #a1a1a6;--border-color: #333336;--nav-height: 44px;--card-shadow: 0 4px 8px rgba(0, 0, 0, .15);--btn-shadow: 0 2px 5px rgba(0, 0, 0, .1);--particle-color: rgba(250, 250, 250, .1)}[data-theme=light]{--primary-bg: #ffffff;--secondary-bg: #f5f5f7;--text-color: #1d1d1f;--accent-color: #0071e3;--accent-color-light: #4a96ff;--accent-color-rgb: 0, 113, 227;--card-bg: #ffffff;--hover-color: #2997ff;--navbar-bg: rgba(255, 255, 255, .8);--section-alt-bg: #f5f5f7;--footer-text: #86868b;--heading-color: #1d1d1f;--subheading-color: #6e6e73;--border-color: #d2d2d7;--card-shadow: 0 4px 20px rgba(0, 0, 0, .08);--btn-shadow: 0 2px 5px rgba(0, 0, 0, .05);--particle-color: rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box;transition:background-color .3s,color .3s,transform .3s,opacity .3s}html{scroll-behavior:smooth;font-size:16px;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Arial,sans-serif;background-color:var(--primary-bg);color:var(--text-color);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:var(--text-color)}p{font-weight:400;margin-bottom:1.5em}ul{list-style:none}ul.fancy-list{padding-left:0}ul.fancy-list li{position:relative;padding-left:1.8em;margin-bottom:.75em}ul.fancy-list li:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:0;color:var(--accent-color-light)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.section{padding:120px 0;position:relative}.section-inner{max-width:1400px;margin:0 auto;padding:0 24px}.section-title{font-size:48px;font-weight:600;color:var(--heading-color);text-align:center;margin-bottom:16px;letter-spacing:-.025em;line-height:1.1;position:relative}.section-subtitle{font-size:24px;font-weight:400;color:var(--subheading-color);text-align:center;margin-bottom:48px;max-width:800px;margin-left:auto;margin-right:auto;line-height:1.4}.btn{display:inline-block;padding:12px 24px;background-color:var(--accent-color);color:#fff;border-radius:980px;font-size:17px;font-weight:400;text-align:center;transition:all .3s ease;box-shadow:var(--btn-shadow);border:none;cursor:pointer;position:relative;overflow:hidden}.btn:hover{background-color:var(--hover-color);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn.secondary{background-color:transparent;color:var(--accent-color-light);box-shadow:none}.btn.secondary:hover{text-decoration:underline;transform:none;box-shadow:none}#theme-toggle{position:fixed;right:16px;background:transparent;color:var(--text-color);border:none;border-radius:50%;width:32px;height:32px;font-size:18px;cursor:pointer;z-index:101;display:flex;align-items:center;justify-content:center;transition:transform .3s}#theme-toggle:hover{transform:scale(1.1)}#menu-toggle{display:none;background:transparent;color:var(--text-color);border:none;font-size:20px;cursor:pointer;z-index:101;position:fixed;top:10px;left:16px;transition:transform .3s}#menu-toggle:hover{transform:scale(1.1)}#navbar{display:flex;justify-content:center;align-items:center;position:fixed;top:0;width:100%;height:var(--nav-height);background-color:var(--navbar-bg);z-index:100;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(255,255,255,.1)}#navbar ul{display:flex;justify-content:center;flex-wrap:wrap;height:100%}#navbar ul li{margin:0 16px;height:100%;display:flex;align-items:center}#navbar ul li a,.footer-nav a{font-size:14px;font-weight:400;opacity:.8;padding:0 8px;transition:color .3s;position:relative}#navbar ul li a:hover{color:var(--accent-color-light);opacity:1}.grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 1px);background-size:30px 30px;opacity:1}[data-theme=light] .grid-overlay{background-image:radial-gradient(circle,rgba(0,0,0,.03) 1px,transparent 1px)}.hero-location{font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--subheading-color);margin-bottom:24px;opacity:.8}.hero-profile-image{width:225px;height:225px;border-radius:50%;object-fit:cover;margin-bottom:24px;border:3px solid var(--accent-color);box-shadow:0 0 20px rgba(var(--accent-color-rgb),.3);transition:all .3s ease}.hero-profile-image:hover{transform:scale(1.05);box-shadow:0 0 30px rgba(var(--accent-color-rgb),.5)}.gradient-text{background:linear-gradient(135deg,var(--accent-color),var(--accent-color-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-social-links{display:flex;justify-content:center;gap:20px;margin-bottom:32px}.hero-social-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background-color:#ffffff0d;color:var(--text-color);font-size:18px;transition:all .3s ease;border:1px solid rgba(255,255,255,.1)}.hero-social-link:hover{background-color:var(--accent-color);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--accent-color-rgb),.3)}.hero{height:100vh;min-height:700px;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:.2;z-index:0;filter:blur(30px)}.hero-container{position:relative;z-index:2;max-width:780px;padding:0 24px}#particle-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-100}#special-effects-toggle{position:fixed;right:48px;background:transparent;color:var(--text-color);border:none;border-radius:50%;font-size:18px;cursor:pointer;z-index:101;display:flex;align-items:center;justify-content:center;transition:transform .3s}@media (pointer: coarse){#special-effects-toggle{display:none}}.icon-btn{background:none;border:none;padding:.5rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--fg);transition:color .2s,transform .2s}.icon-btn svg{width:1.5rem;height:1.5rem}.icon-btn:hover,.icon-btn:focus{color:var(--accent)}.icon-btn.active{color:var(--accent);transform:scale(1.1) rotate(10deg)}.icon-btn[aria-pressed=true]{outline:2px solid var(--accent)}.profile-image{width:180px;height:180px;border-radius:50%;object-fit:cover;margin-bottom:32px;border:4px solid rgba(255,255,255,.1);box-shadow:0 10px 30px #0003}.hero-title{font-size:56px;font-weight:600;line-height:1.1;margin-bottom:16px;color:var(--heading-color);letter-spacing:-.025em}.hero-subtitle{font-size:26px;font-weight:400;margin-bottom:32px;color:var(--accent-color-light)}.hero-text{font-size:19px;line-height:1.5;margin-bottom:32px;max-width:500px;margin-left:auto;margin-right:auto;color:var(--subheading-color)}.hero-actions{display:flex;justify-content:center;gap:16px;margin-bottom:48px}.social-links{display:flex;justify-content:center;gap:24px;font-size:24px}.social-links a{color:var(--text-color);opacity:.7;transition:all .3s}.social-links a:hover{color:var(--accent-color-light);opacity:1;transform:translateY(-2px)}.social-links a{display:inline-flex;justify-content:center;align-items:center;position:relative;z-index:1;transition:transform .3s cubic-bezier(.22,1,.36,1),color .3s cubic-bezier(.22,1,.36,1)}.social-links a:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(var(--accent-color-rgb),.1);border-radius:50%;transform:scale(0);transition:transform .3s cubic-bezier(.22,1,.36,1);z-index:-1}.social-links a:hover:before{transform:scale(1.3)}.about-me{background-color:var(--primary-bg);position:relative;overflow:hidden}.about-me-container{max-width:1100px;margin:0 auto;position:relative;z-index:2}.about-me-text{font-size:19px;line-height:1.6;margin-bottom:48px;color:var(--text-color)}.about-me-bg{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.05;background-size:cover;background-position:center;z-index:1;filter:blur(40px)}.about-highlight{margin-top:80px;background-color:var(--card-bg);border-radius:20px;padding:48px;box-shadow:var(--card-shadow);text-align:center}.highlight-title{font-size:32px;font-weight:600;margin-bottom:16px;color:var(--heading-color)}.highlight-text{font-size:21.5px;color:var(--subheading-color);max-width:700px;margin-left:auto;margin-right:auto}.interests-section{margin-top:48px;text-align:center}.interests-title{font-size:24px;font-weight:600;margin-bottom:32px;color:var(--heading-color)}.interests-list{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 32px;max-width:800px;margin:0 auto}.interest-item{font-size:16px;font-weight:400;color:var(--subheading-color);position:relative;padding:8px 0;transition:color .3s ease;cursor:pointer}.interest-item:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--accent-color-light);transform:scaleX(0);transition:transform .3s ease}.interest-item:hover{color:var(--accent-color-light)}.interest-item:hover:after{transform:scaleX(1)}.activities{background-color:var(--primary-bg);position:relative}.activities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-top:48px}.activity-card{background-color:var(--card-bg);border-radius:20px;padding:32px;height:100%;box-shadow:var(--card-shadow);transform:translateY(0);transition:transform .3s,box-shadow .3s;border:1px solid var(--border-color)}.activity-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000026}.activity-title{font-size:20px;font-weight:600;margin-bottom:8px;color:var(--accent-color-light)}.activity-period{font-size:14px;color:var(--subheading-color);margin-bottom:16px;display:block}.activity-description{font-size:15px;line-height:1.6;color:var(--text-color)}.activity-item{margin-bottom:8px;position:relative;padding-left:16px}.activity-item:before{content:"•";color:var(--accent-color-light);font-weight:700;position:absolute;left:0}.honors{background-color:var(--section-alt-bg)}.honors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-top:48px}.honor-card{background-color:var(--card-bg);border-radius:20px;padding:32px;height:100%;box-shadow:var(--card-shadow);transform:translateY(0);transition:transform .3s,box-shadow .3s;border:1px solid var(--border-color)}.honor-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000026}.honor-title{font-size:20px;font-weight:600;margin-bottom:8px;color:var(--accent-color-light)}.honor-date{font-size:14px;color:var(--subheading-color);margin-bottom:16px;display:block}.honor-description{font-size:15px;line-height:1.6;color:var(--text-color)}.projects{background-color:var(--section-alt-bg);position:relative;overflow:hidden}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px;margin-top:48px}.project-card{background-color:var(--card-bg);border-radius:20px;overflow:hidden;height:100%;display:flex;flex-direction:column;box-shadow:var(--card-shadow);transition:transform .3s,box-shadow .3s;border:1px solid var(--border-color)}.project-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000026}.project-image{width:100%;height:325px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-card:hover .project-image img{transform:scale(1.05)}.project-content{padding:24px;flex-grow:1;display:flex;flex-direction:column}.project-title{font-size:20px;font-weight:600;margin-bottom:12px;color:var(--heading-color)}.project-description{font-size:15px;line-height:1.6;margin-bottom:24px;flex-grow:1}.project-actions{margin-top:auto}.project-card{position:relative;cursor:pointer}.featured-project{display:flex;align-items:center;margin:80px 0;gap:48px}.featured-img{flex:1;border-radius:20px;overflow:hidden;box-shadow:var(--card-shadow)}.featured-img img{width:100%;height:auto;display:block}.featured-content{flex:1}.featured-title{font-size:28px;font-weight:600;margin-bottom:16px;color:var(--heading-color)}.featured-description{font-size:17px;line-height:1.6;margin-bottom:24px}.contact{background-color:var(--primary-bg);position:relative}.contact-container{max-width:780px;margin:0 auto}.contact-description{text-align:center;margin-bottom:48px;font-size:19px;color:var(--subheading-color)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px}.contact-item{background-color:var(--card-bg);border-radius:20px;padding:24px;text-align:center;transition:transform .3s,box-shadow .3s;box-shadow:var(--card-shadow);border:1px solid var(--border-color)}.contact-item:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000026}.contact-icon{font-size:28px;color:var(--accent-color-light);margin-bottom:16px}.contact-label{font-size:14px;color:var(--subheading-color)}.footer{background-color:var(--primary-bg);border-top:1px solid var(--border-color);padding:48px 0;text-align:center}.footer-nav{display:flex;justify-content:center;flex-wrap:wrap;margin-bottom:24px}.footer-nav li{margin:0 16px 8px}.footer-nav a{font-size:13px;color:var(--footer-text);transition:color .3s}.footer-nav a:hover{color:var(--accent-color-light)}.copyright{font-size:12px;color:var(--footer-text)}.subtle-banner{display:flex;align-items:flex-start;gap:2.5rem}.subtle-banner .about-me-text{flex:1}.about-banner-subtle{flex:0 0 auto;max-width:450px}.about-banner-subtle img{display:block;width:100%;height:auto;border-radius:.25rem;opacity:.8}.project-card{background-color:var(--card-bg);border-radius:20px;overflow:hidden;height:100%;display:flex;flex-direction:column;box-shadow:var(--card-shadow);transition:transform .3s,box-shadow .3s;border:1px solid var(--border-color);position:relative;cursor:pointer}.project-card-link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;text-indent:-9999px}.project-card:after{content:"↗";font-size:22px;position:absolute;bottom:18px;right:22px;color:var(--accent-color-light);opacity:0;transform:translateY(4px);transition:opacity .35s ease,transform .35s ease}.project-card:hover:after{opacity:1;transform:translateY(0)}.project-card,.activity-card,.honor-card,.contact-item{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1),background-color .4s ease}.project-card:before,.activity-card:before,.honor-card:before{content:"";position:absolute;top:2px;right:-2px;bottom:-2px;left:2px;background:rgba(var(--accent-color-rgb),.05);border-radius:inherit;z-index:-1;opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease}.project-card:hover:before,.activity-card:hover:before,.honor-card:hover:before{opacity:1;transform:translateY(0)}.project-image{position:relative;overflow:hidden}.project-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(var(--accent-color-rgb),.05),transparent);opacity:0;transition:opacity .4s cubic-bezier(.22,1,.36,1)}.project-card:hover .project-image:after{opacity:1}::selection{background:rgba(var(--accent-color-rgb),.2);color:var(--text-color)}[data-theme=dark] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;opacity:.02;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' fill='%23ffffff'/%3E%3C/svg%3E")}.section-title:after{content:"";position:absolute;bottom:-8px;left:50%;width:60px;height:2px;background:var(--accent-color);transform:translate(-50%) scaleX(0);transition:transform .5s cubic-bezier(.22,1,.36,1)}section:hover .section-title:after{transform:translate(-50%) scaleX(1)}img{opacity:0;transition:opacity .5s ease}img.loaded{opacity:1}.text-center{text-align:center}.mb-0{margin-bottom:0}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.mb-48{margin-bottom:48px}.mt-24{margin-top:24px}.mt-48{margin-top:48px}.w-full{width:100%}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a;transform:translate(-100%);transition:transform .6s cubic-bezier(.22,1,.36,1)}.btn:hover:before{transform:translate(0)}.btn.secondary:before{background:rgba(var(--accent-color-rgb),.05)}.hero:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent-color);transition:width 1.5s cubic-bezier(.22,1,.36,1)}.hero.loaded:after{width:100%}.btn:active{transform:translateY(1px)}.project-actions .btn{position:relative;padding-right:36px;transition:padding .3s ease}.project-actions .btn:after{content:"→";position:absolute;right:16px;opacity:0;transform:translate(-8px);transition:opacity .3s ease,transform .3s ease}.project-actions .btn:hover{padding-right:42px}.project-actions .btn:hover:after{opacity:1;transform:translate(0)}@media (max-width: 945px){.subtle-banner{flex-direction:column;gap:0px}.about-banner-subtle{margin:1rem auto 0;max-width:80%}.about-me-text{margin-bottom:0}}@media (max-width: 768px){.section{padding:80px 0}.section-title{font-size:36px}.section-subtitle{font-size:18px;margin-bottom:36px}.hero-title{font-size:40px}.hero-subtitle{font-size:20px}.hero-text{font-size:17px}.projects-grid,.activities-grid,.honors-grid{grid-template-columns:1fr}.about-highlight{padding:32px}.highlight-title{font-size:28px}#navbar ul{display:none}#navbar ul.active{display:flex;flex-direction:column;position:absolute;top:var(--nav-height);left:0;width:100%;background-color:var(--navbar-bg);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border-color);padding:16px 0}#navbar ul.active li{margin:8px 0}}@media (max-width: 576px){.section{padding:64px 0}.section-title{font-size:32px}.hero-title{font-size:36px}.hero-subtitle{font-size:18px}.hero-actions{flex-direction:column;gap:12px}.profile-image{width:140px;height:140px}.contact-grid{grid-template-columns:repeat(2,1fr)}.about-me-text,.hero-text{font-size:16px}}@media (max-width: 1024px){.section{padding:100px 0}.section-title{font-size:40px}.section-subtitle{font-size:20px}.hero-title{font-size:48px}.hero-subtitle{font-size:22px}.featured-project{flex-direction:column;gap:32px}.featured-content{order:-1}}@media (max-width: 768px){#menu-toggle{display:block}}
