@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@300;400;500;600&family=Syne:wght@400;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600&family=Montserrat:wght@400;600;700;800;900&display=swap";.typo-switcher{position:fixed;top:1.25rem;right:1.5rem;z-index:100;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.typo-trigger{display:flex;align-items:center;gap:.5rem;padding:.45rem .9rem;background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:#ffffffbf;font-size:.85rem;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap}.typo-trigger:hover{background:#3b82f633;border-color:#3b82f680;color:#fff}.typo-switcher.open .typo-trigger{background:#3b82f640;border-color:#3b82f699;color:#fff}.typo-trigger-label{font-family:var(--font-display);font-weight:700;font-size:1rem;line-height:1}.typo-trigger-name{font-family:var(--font-body);font-size:.8rem;opacity:.8}.typo-panel{background:#0f0f14d9;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:.75rem;display:flex;flex-direction:column;gap:.4rem;min-width:220px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 16px 40px #00000080;animation:typo-drop .18s ease}@keyframes typo-drop{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.typo-panel-heading{font-family:var(--font-body);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#ffffff59;margin:0 0 .3rem .4rem}.typo-option{display:flex;flex-direction:column;gap:.1rem;padding:.65rem .85rem;background:transparent;border:1px solid transparent;border-radius:10px;color:#ffffffb3;cursor:pointer;text-align:left;transition:all .2s ease}.typo-option:hover{background:#ffffff0f;border-color:#ffffff1a;color:#fff}.typo-option.active{background:#3b82f626;border-color:#3b82f673;color:#fff}.typo-option-display{font-size:1rem;font-weight:700;line-height:1.2}.typo-option-body{font-size:.75rem;opacity:.55;line-height:1}.typo-trigger[data-tooltip]{position:relative}.typo-trigger[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 10px);right:0;width:max-content;max-width:240px;padding:.5rem .85rem;background:#0f0f14eb;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#ffffffbf;font-family:var(--font-body);font-size:.78rem;line-height:1.4;font-style:italic;white-space:normal;pointer-events:none;opacity:0;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px #0006;z-index:200}.typo-trigger[data-tooltip]:hover:after{opacity:1;transform:translateY(0)}.typo-switcher.open .typo-trigger[data-tooltip]:after{display:none}@media (max-width: 768px){.typo-switcher{top:.75rem;right:.85rem}.typo-trigger{padding:.4rem .75rem;font-size:.8rem}.typo-trigger-name{display:none}.typo-panel{min-width:190px}}.home-body{display:grid;margin-top:3.25%;text-align:center;color:#f5f5f5;background-color:#16151500}.home-body h1{font-size:8rem;line-height:1.2;font-family:var(--font-display)}.home-nav{display:flex;align-items:center;justify-content:center;font-size:2rem}.home-nav ul{padding-inline-start:0px;z-index:3}.home-nav li{list-style:none;text-decoration:none;color:inherit;transition:all .75s ease}.home-nav li:hover{animation:glowing-text-shadow-animation .5s ease-in-out,glow .5s ease-in-out;text-shadow:0 0 10px #2480f2,0 0 20px #2480f2,0 0 30px #2480f2,0 0 40px #2480f2,0 0 70px #2480f2}.home-nav a{text-decoration:none;color:#f5f5f5}@media only screen and (max-width: 768px){.home-body{margin-top:23%}.home-body h1{font-size:3.95rem}.home-nav{display:flex;align-items:center;justify-content:center;line-height:1.65;font-size:1.45rem}}.about-wrap{display:flex;flex-direction:column;position:relative;width:100%;align-items:center;justify-content:center}.circle{display:flex;justify-content:center;align-items:flex-end;position:relative;background-position:center;background-repeat:no-repeat;background-image:url(/pics/profile-pic-grey.png);background-size:220%;border-radius:50%;height:420px;width:420px;float:left;shape-outside:circle();padding:.25rem;margin:1.25rem}.about-wrap h1{display:block;flex-direction:row;margin-top:0;font-size:6rem;line-height:1.2;font-family:var(--font-display)}.about-me-text-wrapper{position:relative;width:990px;font-size:large;text-align:left}@media only screen and (max-width: 768px){.about-wrap{position:relative;margin-top:20%;width:100 vw}.about-wrap section{margin-left:5%;position:relative}.about-wrap h1{display:flex;position:relative;margin-top:0;font-size:3.86rem;line-height:1.2;text-align:left}.circle{height:140px;width:140px;margin:.2rem;background-size:210%}.about-me-text-wrapper{position:relative;width:95%;font-size:12px;text-align:left}.square-maker{position:relative;display:flex;flex-direction:column;justify-content:right}}@media only screen and (max-height: 820px){.about-wrap{height:75vh;overflow-y:auto}.about-wrap div h1{z-index:4;margin-top:90%}}.skills-container{width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;position:relative}.skills-title{font-size:4rem;font-family:var(--font-display);text-align:center;margin-bottom:3rem;background:linear-gradient(135deg,#3b82f6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.skill-tree-layout{display:flex;flex-direction:row;align-items:flex-start;gap:2rem;width:100%;max-width:1200px;justify-content:center}.skill-tree-wrapper{position:relative;flex:1;max-width:750px;min-height:800px}.connection-lines{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.skill-tree{position:relative;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(10,80px);width:100%;gap:0;z-index:1}.skill-node{width:110px;height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:#141428e6;border:2px solid rgba(59,130,246,.3);border-radius:12px;padding:.75rem;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:auto;position:relative}.skill-node.unlocked{border-color:#3b82f6cc;box-shadow:0 0 20px #3b82f666,inset 0 0 20px #3b82f61a}.skill-node.locked{opacity:.3;filter:grayscale(1)}.skill-node.unlocked:hover{transform:scale(1.15);border-color:#a855f7e6;box-shadow:0 0 30px #a855f799,inset 0 0 30px #a855f733;z-index:10}.skill-icon{font-size:2.5rem;filter:drop-shadow(0 0 10px rgba(59,130,246,.8))}.skill-name{font-size:.85rem;font-weight:600;text-align:center;color:#fff;line-height:1.2}.skill-tooltip{position:absolute;bottom:110%;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#3b82f6f2,#a855f7f2);padding:.6rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 20px #00000080;white-space:nowrap;z-index:100;pointer-events:none;font-size:.8rem;font-weight:500}.skill-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(168,85,247,.95)}.other-tech-card{background:#141428e6;border:2px solid rgba(59,130,246,.5);border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 20px #3b82f64d;width:200px;flex-shrink:0;align-self:center}.other-tech-card h3{font-size:1.3rem;font-weight:700;color:#fff;margin:0 0 1rem;text-align:center;border-bottom:2px solid rgba(59,130,246,.5);padding-bottom:.75rem}.other-tech-card ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.other-tech-card li{font-size:.85rem;color:#ffffffe6;padding:.25rem 0}@media (max-width: 1024px){.skill-tree-layout{flex-direction:column;align-items:center}.other-tech-card{width:100%;max-width:500px}.other-tech-card ul{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.skills-container{padding:3rem 1rem}.skills-title{font-size:3rem;margin-bottom:2rem}.skill-tree-wrapper{min-height:auto;width:100%}.skill-tree{grid-template-rows:repeat(10,65px)}.skill-node{width:75px;height:75px;padding:.5rem}.skill-icon{font-size:1.75rem}.skill-name{font-size:.65rem}.skill-tooltip{font-size:.7rem;padding:.4rem .6rem}.other-tech-card{padding:1rem}.other-tech-card h3{font-size:1.1rem}.other-tech-card ul{grid-template-columns:repeat(2,1fr)}.other-tech-card li{font-size:.75rem}}@media (max-width: 480px){.skills-title{font-size:2.5rem}.skill-tree{grid-template-rows:repeat(10,55px)}.skill-node{width:60px;height:60px}.skill-icon{font-size:1.4rem}.skill-name{font-size:.6rem}.other-tech-card ul{grid-template-columns:1fr}}.projects-container{min-height:100vh;width:100%;display:flex;flex-direction:column;background-color:#0a0a0a00;color:#fff;position:relative;padding-bottom:2rem}.project-nav{display:flex;gap:1rem;padding:2rem;justify-content:center;align-items:center;flex-wrap:wrap}.project-nav-btn{padding:.75rem 1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:220px;white-space:nowrap}.project-nav-btn:hover{background:#3b82f633;border-color:#3b82f680;transform:translateY(-2px)}.project-nav-btn.active{background:#3b82f64d;border-color:#3b82f6b3;box-shadow:0 0 20px #3b82f64d}.project-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:2rem 4rem 4rem;width:100%;max-width:100%;box-sizing:border-box}.project-video-section{display:flex;flex-direction:column;gap:1.5rem}.project-video-container{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0006;border:1px solid rgba(255,255,255,.1)}.project-video{width:100%;height:100%;object-fit:cover}.video-loading-spinner{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#0a0a0acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10}.spinner{width:50px;height:50px;border:4px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tech-badges{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.project-description-section{display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.project-title{font-size:3rem;font-weight:700;margin:0;background:linear-gradient(135deg,#3b82f6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.project-description{font-size:1.1rem;line-height:1.8;color:#fffc;margin:0}.sharbee-toggle-container{display:flex;gap:.5rem;padding:.5rem;background:#ffffff0d;border-radius:12px;width:fit-content;border:1px solid rgba(255,255,255,.1)}.toggle-btn{padding:.6rem 1.2rem;background:transparent;border:none;border-radius:8px;color:#fff9;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.toggle-btn:hover{color:#ffffffe6;background:#ffffff0d}.toggle-btn.active{background:linear-gradient(135deg,#3b82f6,#a855f7);color:#fff;box-shadow:0 4px 12px #3b82f64d}.dev-note{font-size:1rem;line-height:1.7;color:#ffffffb3;background:#3b82f61a;border-left:4px solid #3b82f6;padding:1rem 1.5rem;border-radius:8px;margin:0;font-style:italic}.project-link{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:#3b82f633;border:1px solid rgba(59,130,246,.5);border-radius:8px;color:#3b82f6;text-decoration:none;font-weight:600;transition:all .3s ease;width:fit-content}.project-link:hover{background:#3b82f64d;transform:translate(4px)}@media (max-width: 1024px){.project-content{grid-template-columns:1fr;gap:2rem;padding:2rem;align-items:flex-start}.project-title{font-size:2.5rem}.project-description{font-size:1rem}}@media (max-width: 768px){.projects-container{min-height:auto}.project-nav{padding:1rem;gap:.5rem}.project-nav-btn{padding:.5rem 1rem;font-size:.9rem;min-width:150px}.project-content{padding:1rem;gap:1.5rem}.project-title{font-size:2rem}.project-description-section{padding:1rem}.project-description{font-size:.95rem;line-height:1.6}.sharbee-toggle-container{width:100%;justify-content:center}.toggle-btn{flex:1;padding:.5rem 1rem;font-size:.9rem}.dev-note{font-size:.9rem;padding:.8rem 1rem}.tech-badges{flex-wrap:wrap;gap:.4rem}.project-video-container{max-height:300px}}@media (max-width: 480px){.project-nav{flex-direction:column;gap:.75rem;padding:1rem .5rem}.project-nav-btn{width:100%;max-width:300px}.project-title{font-size:1.75rem}.project-description{font-size:.9rem}.project-content{padding:.75rem}.sharbee-toggle-container{padding:.4rem}.toggle-btn{font-size:.85rem;padding:.5rem .8rem}.dev-note{font-size:.85rem;padding:.75rem .9rem}}.badge{display:inline-flex;align-items:center;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s;white-space:nowrap}.badge-default{background-color:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.badge-secondary{background-color:#a855f71a;color:#a855f7;border:1px solid rgba(168,85,247,.3)}.badge-success{background-color:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.badge-warning{background-color:#fbbf241a;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.badge:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.contact-wrap{display:flex;flex-direction:column;justify-content:center;align-items:center;justify-self:center;margin-top:8%;text-align:center}.contact-wrap h1{display:block;flex-direction:row;margin-top:0;font-size:6rem;line-height:1.2;font-family:var(--font-display)}.contact-methods{font-size:22px;justify-items:center;align-items:center;justify-content:center;list-style:none;padding:0;margin:0}.contact-method{display:flex;align-items:center;justify-content:center;margin-bottom:10px}.contact-method img{margin-right:10px}.correct-link{color:#0077b5;text-decoration:none}.correct-link:hover{text-decoration:underline}.resume-download-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:2rem;padding:.9rem 2rem;background:#3b82f626;border:1px solid rgba(59,130,246,.5);border-radius:10px;color:#3b82f6;font-size:1.1rem;font-weight:600;text-decoration:none;letter-spacing:.03em;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.resume-download-btn:hover{background:#3b82f64d;border-color:#3b82f6cc;box-shadow:0 0 20px #3b82f640;transform:translateY(-2px);color:#fff}.resume-download-btn:active{transform:translateY(0)}.mediaq-section{display:flex;flex-direction:column;align-items:center;margin-top:4rem;padding:2rem}.mediaq-section h2{font-size:4rem;font-family:var(--font-display);margin-bottom:2rem}.qr-code-container{background:#fff;padding:1rem;border-radius:10px;box-shadow:0 4px 8px #0000001a;margin-bottom:1rem}.mediaq-link{font-size:1.5rem;color:inherit;text-decoration:none;margin-top:1rem}@media only screen and (max-width: 768px){.contact-wrap{justify-items:center;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-size:1.5rem;line-height:1.75;vertical-align:middle;margin-top:33%}.contact-methods{display:flex;flex-direction:column;justify-items:center;justify-content:center;align-items:center;font-size:16px}.contact-wrap h1{display:flex;flex-direction:row;margin-top:0;font-size:3.85rem;line-height:1.2;font-family:var(--font-display)}.contact-method{display:flex;flex-direction:row;justify-content:center;align-items:left}.contact-methods img{display:flex;height:30px;width:30px;margin-right:.75rem;justify-content:center;align-items:center}.titlebox{width:100vw;display:flex;justify-content:left;text-align:left}.mediaq-section{margin-top:2rem;padding:1rem}.mediaq-section h2{font-size:2.5rem;margin-bottom:1.5rem}.qr-code-container{transform:scale(.8)}.mediaq-link{font-size:1.2rem}}.mediaq-page{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:2.8%;text-align:center}.mediaq-page h1{font-size:6rem;line-height:1.2;font-family:var(--font-display);margin-bottom:1.6rem}.mediaq-content{display:flex;flex-direction:column;align-items:center;max-width:800px;gap:1.2rem}.mediaq-hero{padding:0 2rem}.mediaq-hero h2{font-size:2.5rem;margin-bottom:1rem;color:#0077b5}.hero-text{font-size:1.2rem;line-height:1.4;margin-bottom:1.6rem}.qr-section{display:flex;flex-direction:column;align-items:center;gap:1rem}.qr-code-container{background:#fff;padding:1rem;border-radius:10px;box-shadow:0 4px 8px #0000001a}.mediaq-link{font-size:1.5rem;color:inherit;text-decoration:none}.mediaq-link:hover{text-decoration:underline}@media only screen and (max-width: 768px){.mediaq-page{margin-top:15%;height:100vh;justify-content:flex-start}.mediaq-page h1{font-size:3.2rem;margin-bottom:.8rem}.mediaq-content{gap:.8rem}.mediaq-hero{padding:0 1rem}.mediaq-hero h2{font-size:1.6rem;margin-bottom:.5rem}.hero-text{font-size:.9rem;line-height:1.3;margin-bottom:.8rem}.qr-section{gap:.5rem}.qr-code-container{padding:.5rem;transform:scale(.7);margin:-2rem}.mediaq-link{font-size:1rem}}@media only screen and (max-width: 380px){.mediaq-page{margin-top:10%}.mediaq-page h1{font-size:2.8rem}.mediaq-hero h2{font-size:1.4rem}.hero-text{font-size:.85rem}.qr-code-container{transform:scale(.6);margin:-3rem}}.nav-list{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;position:relative;align-items:center;justify-content:center;text-align:center;z-index:2;grid-gap:1.8rem;margin-bottom:4.5rem;margin-left:auto;margin-right:auto;max-width:fit-content}.nav-div a{position:relative;z-index:2}li a{text-decoration:none;color:inherit}ul.nav-list{list-style:none;font-size:2rem}.yo-nav{transform:scale(.1);opacity:0;animation:glowing-text-shadow-animation-out .25s ease-out}.yo-nav:hover{animation:glowing-text-shadow-animation .25s ease-in-out;text-shadow:0 0 10px #2480f2,0 0 20px #2480f2,0 0 30px #2480f2,0 0 40px #2480f2,0 0 70px #2480f2}.hamburger-button{display:none;width:30px;height:30px;padding:5px;position:relative;cursor:pointer;background:transparent;border:none}.bar{position:absolute;display:block;width:100%;height:2px;background-color:#f5f5f5;transition:transform .3s ease-in-out}.bar-top{top:0}.bar-middle{top:50%;transition:transform .3s ease-in-out}.bar-bottom{bottom:0}@media only screen and (max-width: 768px){.nav-div{overflow-y:visible}.nav-list{display:none}.hamburger-button{display:block}nav{display:flex;flex-direction:column}.nav-burger{clip-path:polygon(0% 0%,0% 100%,100% 100%,100% 0%)}.nav-burger.open{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#33333380;display:flex;transition:all 1s ease;clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);animation:closeMenu .65s ease-in-out forwards;animation-fill-mode:forwards}.nav-list.open{display:flex;flex-direction:column;align-items:center;padding:0;height:auto;overflow:auto;transition:transform .53s ease-in-out;font-size:1.2rem}.yo-nav{transform:scale(1);opacity:1}.hamburger-button.open .bar-top{transform:rotate(135deg);top:50%}.hamburger-button.open .bar-middle{opacity:0;display:none;top:0}.hamburger-button.open .bar-bottom{transform:rotate(-135deg);bottom:50%}}@keyframes glowing-text-shadow-animation{0%{text-shadow:none}to{text-shadow:0 0 10px #2480f2,0 0 20px #2480f2,0 0 30px #2480f2,0 0 40px #2480f2,0 0 70px #2480f2}}@keyframes glowing-text-shadow-animation-out{0%{text-shadow:0 0 10px #2480f2,0 0 20px #2480f2,0 0 30px #2480f2,0 0 40px #2480f2,0 0 70px #2480f2}to{text-shadow:none}}@keyframes closeMenu{0%{clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%)}to{clip-path:polygon(0% 0%,0% 100%,100% 100%,100% 0%)}}body{background-color:#161515;z-index:-1;color:#f5f5f5;font-family:var(--font-body)}@font-face{font-family:SpecialElite;src:url(/fonts/SpecialElite-Regular.ttf) format("truetype")}@font-face{font-family:Glitch;src:url(/fonts/glitch.ttf) format("truetype")}:root{--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;overflow-x:hidden;overflow-y:auto;line-height:1.5;box-sizing:border-box}:root.font-geometric{--font-display: "Syne", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif}:root.font-minimal{--font-display: "Montserrat", sans-serif;--font-body: "Inter", sans-serif}:root.font-glitch{--font-display: "SpecialElite", sans-serif;--font-body: "Inter", sans-serif}:root.font-glitch2{--font-display: "Glitch", sans-serif;--font-body: "Inter", sans-serif}html,body{height:auto;min-height:100vh}
