.App{width:100vw;height:100vh;margin:0;padding:0;overflow:hidden;background-color:#000}.beams-background{position:absolute;width:100%;max-width:1400px;height:100vh;top:0;left:50%;transform:translate(-50%)}.content-overlay{position:relative;z-index:10;width:100%;max-width:1400px;height:100vh;display:flex;flex-direction:column}.App-header h1{margin-bottom:.5rem;font-size:3rem}.subtitle{font-size:1.5rem;opacity:.9}.App-main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.hero{padding:3rem 0;margin-bottom:3rem}.hero h2{font-size:2.5rem;margin-bottom:1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{font-size:1.2rem;opacity:.8}.demo-section{margin-bottom:3rem}.demo-section h3{font-size:2rem;margin-bottom:1.5rem}.card{padding:2rem;background-color:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1);max-width:500px;margin:0 auto;transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000004d}.card button{margin-bottom:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.8em 1.6em;font-size:1.1em;border-radius:8px;transition:transform .2s ease}.card button:hover{transform:scale(1.05);box-shadow:0 5px 15px #667eea66}.card p{opacity:.8}.about{padding:2rem;background-color:#ffffff08;border-radius:12px;max-width:800px;margin:0 auto}.about h3{font-size:2rem;margin-bottom:1rem}.about p{font-size:1.1rem;line-height:1.8;opacity:.8}.App-footer{padding:2rem;background-color:#00000080;margin-top:auto}.App-footer p{opacity:.7}@media (max-width: 768px){.App-header h1{font-size:2rem}.subtitle{font-size:1.2rem}.hero h2{font-size:1.8rem}.demo-section h3,.about h3{font-size:1.5rem}}.beams-container{position:relative;width:100%;height:100%}#infinite-grid-menu-canvas{cursor:grab;width:100%;height:100%;overflow:hidden;position:relative;outline:none}#infinite-grid-menu-canvas:active{cursor:grabbing}.action-button{position:absolute;left:50%;z-index:10;width:60px;height:60px;display:grid;place-items:center;background:#5227ff;border:none;border-radius:50%;cursor:pointer;border:5px solid #000}.face-title{-webkit-user-select:none;user-select:none;position:absolute;font-weight:900;font-size:4rem;left:1.6em;top:50%}.action-button-icon{-webkit-user-select:none;user-select:none;position:relative;color:#fff;top:2px;font-size:26px}.face-title{position:absolute;top:50%;transform:translate(20%,-50%)}.face-title.active{opacity:1;transform:translate(20%,-50%);pointer-events:auto;transition:.5s ease}.face-title.inactive{pointer-events:none;opacity:0;transition:.1s ease}.face-description{-webkit-user-select:none;user-select:none;position:absolute;max-width:10ch;top:50%;font-size:1.5rem;right:1%;transform:translateY(-50%)}.face-description.active{opacity:1;transform:translate(-90%,-50%);pointer-events:auto;transition:.5s ease}.face-description.inactive{pointer-events:none;transform:translate(-60%,-50%);opacity:0;transition:.1s ease}.action-button{position:absolute;left:50%}.action-button.active{bottom:3.8em;transform:translate(-50%) scale(1);opacity:1;pointer-events:auto;transition:.5s ease}.action-button.inactive{bottom:-80px;transform:translate(-50%) scale(0);opacity:0;pointer-events:none;transition:.1s ease}@media (max-width: 1500px){.face-title,.face-description{display:none}}.threads-container{position:relative;width:100%;height:100%}.contact-page{min-height:100vh;background-color:#000;color:#fff;padding:2rem;position:relative;overflow:hidden}.contact-container{max-width:800px;margin:0 auto;padding-top:4rem;position:relative;z-index:1}.contact-form-wrapper h1{font-size:3rem;margin-bottom:1rem;font-weight:700;color:#fff}.contact-email{font-size:1.2rem;margin-bottom:3rem;margin-top:1rem;opacity:1;color:#fff;display:block}form{display:flex;flex-direction:column;gap:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.form-group{display:flex;flex-direction:column}.form-group.full-width{width:100%}.form-group label{font-size:.9rem;margin-bottom:.5rem;color:#fffffff2}.form-group input,.form-group textarea{background-color:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.4);color:#fff;padding:.8rem 0;font-size:1rem;font-family:inherit;transition:border-color .3s ease}.form-group textarea{border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:1rem;resize:vertical;background-color:#ffffff0d}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#fff9}.form-group input::placeholder,.form-group textarea::placeholder{color:#ffffff80}.submit-button{background-color:#f44;color:#fff;border:none;padding:1rem 3rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;align-self:flex-start;margin-top:1rem}.submit-button:hover{background-color:#f66;transform:translateY(-2px);box-shadow:0 5px 15px #f446}.submit-button:disabled{opacity:.6;cursor:not-allowed}.status-message{margin-top:1rem;padding:1rem;border-radius:8px;font-size:1rem}.status-message.success{background-color:#00ff001a;color:#0f0;border:1px solid rgba(0,255,0,.3)}.status-message.error{background-color:#ff00001a;color:#f44;border:1px solid rgba(255,0,0,.3)}@media (max-width: 768px){.contact-form-wrapper h1{font-size:2rem}.form-row{grid-template-columns:1fr;gap:1.5rem}.contact-container{padding-top:2rem}.back-button{top:1rem;left:1rem}}.about-page{min-height:100vh;height:100vh;background-color:#000;color:#fff;padding:2rem 2rem 4rem;position:relative;overflow-x:hidden;overflow-y:scroll}.about-container{max-width:1200px;margin:0 auto;padding-top:4rem;padding-bottom:4rem;position:relative;z-index:1;min-height:auto}.about-header{text-align:center;margin-bottom:4rem}.about-header h1{font-size:4rem;font-weight:700;color:#fff}.about-content{display:flex;flex-direction:column;gap:3rem}.main-content-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.profile-section{display:flex;align-items:center;gap:3rem;padding:2rem;background:#ffffff0d;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.profile-image-container{flex-shrink:0}.profile-image{width:200px;height:200px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.2)}.profile-info h2{font-size:2.5rem;margin-bottom:.5rem;color:#fff}.profile-info .title{font-size:1.3rem;color:#ffffffe6;margin-bottom:.5rem}.profile-info .university{font-size:1.1rem;color:#ffffffb3}.bio-section{padding:2rem;background:#ffffff08;border-radius:16px;border:1px solid rgba(255,255,255,.1)}.bio-paragraph{font-size:1.15rem;line-height:1.8;color:#fffffff2;margin-bottom:1.5rem}.bio-paragraph:last-child{margin-bottom:0}.gallery-section{position:relative;z-index:2}.gallery-section h2{font-size:2rem;margin-bottom:1.5rem;text-align:left;color:#fff}.image-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.image-card{background:#ffffff0d;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1);transition:transform .3s ease,box-shadow .3s ease}.image-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #ffffff1a}.gallery-image{width:100%;height:180px;object-fit:cover;display:block;border-bottom:1px solid rgba(255,255,255,.1);background-color:#ffffff1a}.image-caption{padding:1rem;text-align:center;font-size:1rem;color:#ffffffe6;margin:0}@media (max-width: 1024px){.main-content-layout{grid-template-columns:1fr}}@media (max-width: 768px){.about-header h1{font-size:2.5rem}.profile-section{flex-direction:column;text-align:center}.profile-image{width:150px;height:150px}.profile-info h2{font-size:2rem}.bio-paragraph{font-size:1rem}.image-grid{grid-template-columns:1fr}.back-button{top:1rem;left:1rem;padding:.6rem 1.2rem}}.portfolio-page{min-height:100vh;height:100vh;background-color:#000;color:#fff;padding:2rem 2rem 4rem;position:relative;overflow-x:hidden;overflow-y:scroll}.threads-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.4}.back-button{position:fixed;top:2rem;left:2rem;background-color:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);padding:.8rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .3s ease;z-index:100}.back-button:hover{background-color:#fff3;transform:translate(-5px)}.portfolio-container{max-width:1400px;margin:0 auto;padding-top:4rem;padding-bottom:4rem;position:relative;z-index:1}.portfolio-header{text-align:center;margin-bottom:4rem}.portfolio-header h1{font-size:4rem;font-weight:700;color:#fff;margin-bottom:1rem}.portfolio-subtitle{font-size:1.3rem;color:#fffc}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem;margin-bottom:4rem}.project-card{background:#ffffff0d;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;opacity:0;animation:fadeInUp .6s ease forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.project-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px #ffffff26;border-color:#ffffff4d}.project-image-container{width:100%;height:200px;background:#ffffff14;position:relative;overflow:hidden}.project-image{width:100%;height:100%;object-fit:cover;display:block}.project-image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:linear-gradient(135deg,#667eea33,#764ba233)}.project-number{font-size:2rem;font-weight:700;color:#ffffffe6}.add-image-text{font-size:.9rem;color:#ffffff80}.project-content{padding:1.5rem}.project-title{font-size:1.5rem;font-weight:600;color:#fff;margin-bottom:.8rem}.project-description{font-size:1rem;line-height:1.6;color:#ffffffd9;margin-bottom:1.2rem}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tag{background:#667eea33;color:#ffffffe6;padding:.4rem .8rem;border-radius:6px;font-size:.85rem;border:1px solid rgba(102,126,234,.3)}.project-links{display:flex;gap:1rem}.project-link{flex:1;padding:.7rem 1.2rem;border-radius:8px;text-align:center;text-decoration:none;font-weight:500;transition:all .3s ease;cursor:pointer}.project-links:has(.project-link:only-child) .project-link{flex:none;width:100%}.github-link{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.github-link:hover{background:#fff3;transform:translateY(-2px)}.demo-link{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:1px solid transparent}.demo-link:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}@media (max-width: 1024px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width: 768px){.portfolio-header h1{font-size:2.5rem}.portfolio-subtitle{font-size:1.1rem}.projects-grid{grid-template-columns:1fr}.back-button{top:1rem;left:1rem;padding:.6rem 1.2rem}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden}#root{width:100%;margin:0;padding:0}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}
