:root{font-family:Source Code Pro,monospace;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#020202;font-synthesis:none;text-rendering:optimizeLegibility}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;border:0;display:block}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}.navbar *{cursor:none!important}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 2rem;background-color:#6464645d;color:#969696;position:fixed;top:0;right:0;left:0;z-index:4;cursor:none!important;font-family:Open Sans;font-style:bolder}.navbar .glass{background:linear-gradient(135deg,#ffffff1a,#fff0);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 28px #0000005e}.navbar-logo a{color:#fff;text-decoration:none;font-size:1.75rem}.navbar-subline{color:#fff;font-size:.875rem;margin-top:.25rem}.navbar-links{list-style:none;display:flex;justify-content:space-between;align-items:center}.navbar-button{color:#e6e6e6;text-decoration:none;font-size:1.2rem;padding:.5rem 1rem;letter-spacing:0;border-radius:5px;transition:background-color .45s,color .45s,font-size .45s;position:relative;overflow:hidden;align-items:center}.navbar-button:after{content:"";position:absolute;width:0;height:1px;background-color:#fff;bottom:0;left:50%;transform:translate(-50%);transition:width .35s ease-in-out}.navbar-button:hover:after{width:100%}.navbar-button:hover{background-color:#70000000;color:#3dcbfec7;text-shadow:0 0 2px #3dcbfec7;font-size:1.35rem;transition:font-size .8s ease-in-out;transition:color .3s ease-in-out}@media (max-width: 768px){.navbar{flex-direction:column;align-items:center;background-color:#00000080}.navbar-logo a{display:none}.navbar-toggle{display:block;font-size:1rem;align-self:right}.navbar-toggle img{align-self:right;width:25px;height:25px}.navbar-links{flex-direction:row;display:none;align-items:center;justify-content:center}.navbar-links.open{display:flex;flex-direction:column}.navbar-links li{text-align:center;justify-content:center}.navbar-button{width:80%;padding:.35rem .5rem;margin-right:2rem;color:#fff}}@media (min-width: 769px){.navbar-toggle{display:none}}#root{display:flex;flex-direction:column;width:100%;height:100%;cursor:none!important}h1{font-size:76px;margin-bottom:1rem}h2,p{margin-bottom:1rem}.video-canvas{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-1}.video-canvas.fixed{position:fixed;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-1}.content{display:flex;flex-direction:column}.section{display:flex;position:relative;flex-direction:column;opacity:0;transform:translateY(-60px);transition:opacity .8s ease-out,transform .8s ease-out}.section.visible{opacity:1;transform:translateY(0)}.section-home{display:flex;width:100%;height:100%;justify-content:center;align-items:center;text-align:center;object-fit:cover;background-color:#00000040;z-index:-1}.section-home .text-content{width:100%;text-align:center;padding-top:18%;padding-bottom:18%;z-index:1}.section-about{display:flex;flex-direction:row;align-items:left;background:#fff;clip-path:polygon(0 0,100% 0,calc(100% - var(--p)) 100%,0 100%)}.section-about-skills{display:flex;flex-direction:row;align-items:left;background:#ffffffe4;clip-path:polygon(0 0,100% 0,calc(100% - var(--p)) 100%,0 100%)}.section-about-skills .text-content{color:#000;width:50%;text-align:center;padding-left:2rem;z-index:1}.section-about-skills .image-content{width:50%;text-align:left;z-index:1}.section-about-skills img{width:480px;height:100%;object-fit:cover;border:none}.section-about .text-content{width:50%;padding-left:5%;z-index:1}.section-about .image-content{display:flex;justify-content:right;align-items:right;padding-left:30%;width:25%}.section-about img{max-width:100%;width:100%;height:100%;object-fit:cover;border:none}.section-about h1{font-size:32px;color:#000;text-align:left;margin-left:15px;text-shadow:#0000003f .1em .1em .2em}.section-about h2{color:#000;text-align:left;margin-left:15px}.section-about p{color:#000;text-align:center;margin-left:15px}.section-education{display:flex;flex-direction:row;align-items:center;background:#000000e7;clip-path:polygon(0 0,100% 0,calc(100% - var(--p)) 100%,0 100%)}.section-education .h2{font-size:32px;color:#00cf18;text-align:center}.section-education .text-content{width:50%;padding-left:5%;z-index:1}.projects{display:flex;flex-direction:column;align-items:center;padding-top:5rem}.projects .text-content{width:50%;justify-content:center;text-align:center}.projects h2{font-size:32px;color:#00cf18;text-align:center}.projects .image-content{display:flex;justify-content:center;width:max-content}.projects .text-content .additional-content{justify-content:center;padding-top:0;z-index:1}.projects img{max-width:100%;width:100%;height:100%;object-fit:cover;border:none}.experience{display:grid;grid-template-columns:2fr 2fr;align-items:flex-start;padding-top:5rem;padding-left:5rem}.experience .three-canvas{width:50%;height:50%;z-index:1;pointer-events:all}.experience .text-content{justify-content:left;text-align:left}.experience h2{font-size:32px;color:#00cf18;text-align:center}.contact{display:flex;flex-direction:column;align-items:center;padding-top:5rem}.contact .text-content{width:50%;padding-left:5%}.section-contact{background-color:#0000ff80}.typewriter-container{display:inline-flex;align-items:center}.typewriter-container-headline{display:inline-flex;align-items:center;color:#ffffffd9;text-shadow:#000000aa .1em .1em .2em}.typewriter-container-subline{color:#3dcbfee2;display:inline-flex;align-items:center;text-shadow:#000000aa .1em .1em .2em}.caret{animation:blink 2s step-end ease-out}.bubble-effect{top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:2}.bubble{width:20px;height:20px;border-radius:50%;background-color:#ff000080;animation:bubble 5s infinite}@keyframes bubble{0%{transform:translateY(0);opacity:0}50%{transform:translateY(-50px);opacity:1}to{transform:translateY(-100vh);opacity:0}}.bubble-effect .bubble:nth-child(1){animation-delay:0s;left:10%}.bubble-effect .bubble:nth-child(2){animation-delay:1s;left:20%}.bubble-effect .bubble:nth-child(3){animation-delay:2s;left:30%}.bubble-effect .bubble:nth-child(4){animation-delay:3s;left:40%}.bubble-effect .bubble:nth-child(5){animation-delay:4s;left:50%}@keyframes typewriter{0%{width:0}to{width:100%}}.download-button *{cursor:none!important}.download-button{color:#3abb3f;padding:10px 20px;border:none;border-radius:5px;border-color:#3abb3f;font-size:25px;box-shadow:0 4px 8px #0000001a;transition:box-shadow .2s ease-in-out;background-color:#fff;transition:background-color .2s ease-in-out;transition:font-size .2s ease-in-out}.download-button:hover{box-shadow:0 6px 10px #0003;background-color:#3e8e4199;color:#fff;font-size:30px}.download-button.loading{background-color:#ccc;color:#666;cursor:wait}.generate-button{cursor:none!important;background-color:#1d1d1d;color:#fff;padding:10px 20px;border:none;border-radius:5px;border-color:#115cff;font-size:25px;box-shadow:0 4px 8px #0000001a;transition:box-shadow .2s ease-in-out;transition:background-color .2s ease-in-out;transition:font-size .2s ease-in-out}.generate-button:hover{box-shadow:0 6px 10px #0003;background-color:#585858;color:#fff;font-size:34px}.generate-button.loading{background-color:#ccc;color:#666;cursor:wait}.generate-button:disabled{background-color:#555;color:#999;cursor:not-allowed}.loading-spinner{display:flex;justify-content:center;align-items:center}.spinner{width:20px;height:20px;border:2px solid #ccc;border-top-color:#4caf50;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contact-me-link,.contact-me-link *{cursor:none!important;text-decoration:none;transition:font-size .35s ease-in-out;border-radius:12px;padding:10px 20px;border:none;border-color:#3abb3f;font-size:25px;box-shadow:0 4px 8px #5383eb1a;transition:box-shadow .2s ease-in-out;background-color:#fff;transition:background-color .2s ease-in-out;transition:font-size .2s ease-in-out}.contact-me-link:hover{text-decoration:none;font-size:32px}.blink-slow{animation:blink 2s infinite}.blink-fast{animation:blink .5s infinite}@keyframes blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}.chat-widget *{cursor:none!important}.chat-widget{position:fixed;bottom:20px;right:20px;z-index:1000;flex-direction:column;-webkit-user-select:auto;user-select:auto;resize:none}.chat-widget button{background-color:#221e38;color:#fff;padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-size:16px;box-shadow:0 4px 8px #0000001a;transition:box-shadow .2s ease-in-out}.chat-widget:hover{box-shadow:0 6px 10px #2294ffc9}.chat-widget button.close{position:absolute;top:12px;right:12px;background-color:#221e38;color:#fff;padding:6px 12px;border:none;border-radius:5px;cursor:pointer;font-size:16px;z-index:2}.chat-widget button.close:hover{box-shadow:0 6px 10px #2294ffc9}.chat-widget button:hover{box-shadow:0 6px 10px #0003}.chat-widget .chat-box{position:relative;background:#00000094;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:5px solid rgba(117,93,253,.21);border-radius:10px;box-shadow:0 4px 12px #0000004d;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-width:260px;min-height:260px;max-width:800px;max-height:600px;resize:"none"}.chat-widget .input-box{display:flex;align-items:flex-end;bottom:0;width:100%;padding:10px;background-color:#0000000a;border-top:1px solid #ccc}.chat-widget .input-box .msg-input{width:60%;padding:8px;border:1px solid #ffffff;border-radius:4px;flex:1;margin-right:8;resize:"none";min-height:"32px";max-height:"120px";font-size:"1rem";border-radius:"6px";padding:"6px";transition:"max-height 0.2s";overflow:"auto"}.chat-widget .send-button{background-color:#221e38;color:#fff;border:none;border-radius:4px;cursor:pointer;margin:5px 25px 0;padding:8px 16px;font-size:16px;box-shadow:0 4px 8px #0000001a;transition:box-shadow .2s ease-in-out}.chat-widget .send-button:hover{box-shadow:0 6px 10px #2294ffc9}.chat-widget .resize-handle{position:absolute;display:"flex";align-items:"flex-start";justify-content:"flex-start";top:0;left:0;z-index:10;background-color:transparent;cursor:se-resize}@media (pointer: coarse),(max-width: 768px){#root{overflow-x:hidden}.target-cursor *{cursor:none!important}.chat-widget{position:fixed;left:0!important;right:0!important;bottom:0!important;width:98vw!important;min-width:0!important;max-width:100vw!important;z-index:1000;display:flex;justify-content:center;align-items:flex-end;padding:0!important}.chat-widget .chat-box{width:90vw!important;min-width:0!important;max-width:100vw!important;height:50vh!important;min-height:200px!important;max-height:80vh!important;left:0!important;right:0!important;bottom:0!important;border-radius:16px 16px 0 0!important;margin:0!important}.text-content h1{font-size:38px}.content{width:100%}.section{flex-direction:column;align-items:center;width:100%}.video-canvas{width:100%}.section-home{max-width:100%;padding-top:30%;padding-bottom:30%}.section-about{width:100%}.section-about h1{font-size:20px}.section-about-skills{width:100%}.section-about .content{flex-direction:column;align-items:center}.section-about .text-content{width:90%}.section-about .image-content{display:none}.section-about-skills{flex-direction:column}.section-about-skills .text-content{width:80%}.section-about-skills .image-content{display:none}.projects .text-content{width:80%;justify-content:center}.projects .image-content{flex-direction:column;width:max-content;justify-content:center}.section-education{flex-direction:column}.section-education .text-content{width:80%;justify-content:center}.experience .three-canvas{display:none}.experience{display:flex;flex-direction:column;align-items:flex-start;padding-top:5rem;padding-left:1rem}.contact{flex-direction:column;align-items:center;padding-top:2rem;width:100vw;min-height:60vh;box-sizing:border-box}.contact .text-content{width:90vw;padding-left:0;padding-right:0;text-align:center;font-size:1.1rem}.contact h1,.contact h2,.contact h3,.contact p{font-size:1rem;text-align:center;margin-left:0;margin-right:0}.section-contact{background-color:#0000ff1f;padding:1rem 0;width:100vw;box-sizing:border-box}}.target-cursor-wrapper{position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;z-index:9999;mix-blend-mode:difference;transform:translate(-50%,-50%)}.target-cursor-dot{position:absolute;left:50%;top:50%;width:4px;height:4px;background:#fff;border-radius:50%;transform:translate(-50%,-50%);will-change:transform}.target-cursor-corner{position:absolute;left:50%;top:50%;width:12px;height:12px;border:3px solid #fff;will-change:transform}.corner-tl{transform:translate(-150%,-150%);border-right:none;border-bottom:none}.corner-tr{transform:translate(50%,-150%);border-left:none;border-bottom:none}.corner-br{transform:translate(50%,50%);border-left:none;border-top:none}.corner-bl{transform:translate(-150%,50%);border-right:none;border-top:none}
