@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap";*{box-sizing:border-box;margin:0;padding:0;font-family:Poppins,sans-serif}:root{--page-background:#101010;--card-background:#1f1f1f;--glow-rgb:246, 201, 68;--page-gutter:clamp(1rem, 6vw, 7rem);--header-height:80px;--hover-glow:0 0 16px rgba(var(--glow-rgb), .85), 0 0 36px rgba(var(--glow-rgb), .45)}body{background-color:var(--page-background);color:#fff;line-height:1.6}img{max-width:100%}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,.portrait-interactive:focus-visible{outline:2px solid rgb(var(--glow-rgb));outline-offset:5px}section{scroll-margin-top:calc(var(--header-height) + 16px)}#root{isolation:isolate}.circuit-background{z-index:-1;pointer-events:none;width:100%;height:100%;display:block;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.circuit-background{display:none}}section.about,section.education,section.projects,section.skills-grid,section.contact{background:0 0}.reveal-section{opacity:0;transition:opacity .65s ease-out,transform .65s ease-out;transform:translateY(24px)}section.show{opacity:1;transform:translateY(0)}a{color:#fff;text-decoration:none}.navbar{width:100%;min-height:var(--header-height);padding:12px var(--page-gutter);z-index:100;background:#101010f7;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:24px;animation:.4s ease-out both show-content;display:flex;position:fixed;top:0;left:0}@keyframes show-content{0%{visibility:visible;opacity:0;transform:translateY(8px)}to{visibility:visible;opacity:1;transform:translateY(0)}}.navbar .logo{font-size:30px;font-weight:700}.navbar ul{align-items:center;gap:clamp(18px,2.5vw,35px);display:flex}.navbar ul li{margin-left:0;list-style:none}.navbar ul li a{align-items:center;min-height:44px;font-size:clamp(16px,1.6vw,20px);font-weight:500;transition:all .5s;display:inline-flex}.navbar ul li:hover a,.navbar ul li.active a{color:#7cf03d}.nav-toggle{background:var(--card-background);color:#7cf03d;cursor:pointer;border:1px solid #383838;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:10px;display:none}.nav-toggle span{background:currentColor;width:22px;height:2px;transition:transform .25s,opacity .25s;display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.home{min-height:100svh;padding:calc(var(--header-height) + 48px) var(--page-gutter) 64px;color:#fff;visibility:hidden;opacity:0;align-items:center;gap:clamp(24px,4vw,60px);animation:.7s ease-out both show-content;display:flex}.home-info{flex:1;min-width:0}.home-img{flex:none;min-width:0}.home-info h1{overflow-wrap:anywhere;font-size:clamp(2rem,4.2vw,55px);line-height:1.2}.home-info h2{flex-wrap:wrap;align-items:baseline;column-gap:.3em;margin-top:8px;font-size:clamp(1.125rem,2.2vw,32px);line-height:1.5;display:flex}.hero-roles{min-width:0;max-width:100%;display:inline-grid}.home-info h2 .hero-role{white-space:nowrap;opacity:0;color:#0000;-webkit-text-stroke:.7px #7cf03d;animation:16s ease-in-out infinite display-text;animation-delay:calc(-4s * var(--i));grid-area:1/1;display:inline-block;position:relative}@keyframes display-text{0%,1%{opacity:0;transform:translateY(8px)}3%,22%{opacity:1;transform:translateY(0)}25%,to{opacity:0;transform:translateY(-8px)}}.home-info h2 .hero-role:before{content:attr(data-text);color:#7cf03d;white-space:nowrap;border-right:2px solid #7cf03d;width:0;animation:4s linear infinite fill-text;position:absolute;overflow:hidden}@keyframes fill-text{10%,to{width:0}70%,90%{width:100%}}.home-info p{max-width:60ch;margin:10px 0 25px;font-size:16px}.home-info .btn-sci{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.btn{box-shadow:0 0 10px rgba(var(--glow-rgb), .7);color:#1f242d;text-align:center;background:#7cf03d;border:2px solid #7cf03d;border-radius:40px;min-height:44px;padding:10px 30px;font-size:16px;font-weight:600;transition:all .5s;display:inline-block}.btn:hover{color:#7cf03d;box-shadow:var(--hover-glow);background:0 0}.home-info .btn-sci .sci{flex-wrap:wrap;gap:12px;margin-left:0;display:flex}.home-info .btn-sci .sci a{color:#7cf03d;border:2px solid #7cf03d;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin:0;padding:8px;font-size:20px;transition:all .5s;display:inline-flex}.home-info .btn-sci .sci a:hover{color:#1f242d;box-shadow:var(--hover-glow);background:#7cf03d}.home-img .img-box{aspect-ratio:1;border-radius:50%;justify-content:center;align-items:center;width:clamp(260px,32vw,480px);height:auto;padding:5px;display:flex;position:relative;overflow:hidden}.home-img .img-box .img-item{aspect-ratio:1;z-index:1;background:0 0;border-radius:50%;justify-content:center;width:100%;height:auto;display:flex;position:relative;overflow:hidden}.home-img .img-box .img-item img,.home-img .img-box .img-item .portrait-pixels{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block;position:absolute;top:0;left:0;-webkit-mask-image:radial-gradient(circle closest-side,#000 68%,#000000f2 78%,#00000073 90%,#0000 96%);mask-image:radial-gradient(circle closest-side,#000 68%,#000000f2 78%,#00000073 90%,#0000 96%)}.home-img .portrait-pixels{pointer-events:none}.portrait-interactive{touch-action:pan-y;cursor:pointer}.portrait-interactive:focus-visible{outline-offset:-10px}.portrait-interactive[aria-disabled=true]{cursor:default}.home-img .img-box .img-item .portrait-pixels[hidden]{display:none}.home-img .portrait-broken>img{opacity:0}@media (prefers-reduced-motion:reduce){.home-img .portrait-broken>img{opacity:1}.home-img .img-box .img-item .portrait-pixels{display:none}}.bars-animation{z-index:-2;pointer-events:none;width:100%;height:100%;display:flex;position:fixed;inset:0}.bars-animation .bar{background:var(--page-background);width:100%;height:100%;animation:.5s ease-in-out forwards show-bars;animation-delay:calc(.1s * var(--i));transform:translateY(-100%)}@keyframes show-bars{to{transform:translateY(0%)}}.about{padding:clamp(64px, 8vw, 100px) var(--page-gutter);background:var(--page-background);color:#fff;text-align:center;justify-content:center;align-items:center;min-height:70svh;display:flex}.about-info{max-width:800px}.about-info .heading{margin-bottom:20px;font-size:40px}.about-info .heading span{color:#7cf03d}.about-info h3{color:#7cf03d;margin-bottom:15px;font-size:24px}.about-info p{margin-bottom:25px;font-size:16px;line-height:1.6}.about-info .highlight{color:#7cf03d;font-weight:600}html{scroll-behavior:smooth}.projects{background:var(--page-background);color:#fff;padding:clamp(64px, 8vw, 100px) var(--page-gutter);text-align:center;min-height:70svh}.projects-header .heading{margin-bottom:10px;font-size:40px}.projects-header .heading span{color:#7cf03d}.projects-header p{color:#aaa;margin-bottom:50px;font-size:16px}.projects-container{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(20px,3vw,30px);max-width:1280px;margin-inline:auto;display:grid}.project-card{background:var(--card-background);box-shadow:0 0 10px rgba(var(--glow-rgb), .2);border-radius:15px;flex-direction:column;min-width:0;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--hover-glow);transform:translateY(-10px)}.project-img img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.project-info{flex-direction:column;flex:1;align-items:center;padding:20px;display:flex}.project-info h3{color:#7cf03d;margin-bottom:10px;font-size:22px}.project-info p{color:#ccc;margin-bottom:15px;font-size:14px}.project-info .btn{color:#1f242d;background:#7cf03d;border:2px solid #7cf03d;border-radius:30px;margin-top:auto;padding:8px 20px;font-weight:600;transition:all .3s;display:inline-block}.project-info .btn:hover{color:#7cf03d;background:0 0}.skills-grid{background:var(--page-background);color:#fff;padding:clamp(64px, 8vw, 100px) var(--page-gutter);text-align:center;font-family:Poppins,sans-serif}.skills-grid .heading{margin-bottom:50px;font-size:40px}.skills-grid .heading span{color:#7cf03d}.skills-icons{grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:clamp(14px,2.5vw,30px);max-width:1000px;margin:0 auto;display:grid}.skill-card{background:var(--card-background);box-shadow:0 0 10px rgba(var(--glow-rgb), .15);border-radius:15px;min-width:0;padding:25px 15px;transition:transform .3s,box-shadow .3s}.skill-card:hover{box-shadow:var(--hover-glow);transform:translateY(-8px)}.skill-card img{width:48px;height:48px;margin-bottom:10px}.skill-card p{color:#7cf03d;overflow-wrap:anywhere;font-size:clamp(.8rem,1.5vw,1rem);font-weight:500}.contact{background:var(--page-background);padding:clamp(64px, 8vw, 100px) var(--page-gutter);text-align:center}.contact h2{color:#fff;margin-bottom:2rem;font-size:clamp(2rem,5vw,3rem)}.contact .heading span{color:#7cf03d}.contact form{text-align:center;max-width:800px;margin:0 auto}.contact .input-box{flex-wrap:wrap;justify-content:space-between;display:flex}.contact .input-box input,.contact textarea{background:var(--card-background);color:#fff;border:none;border-radius:.8rem;width:100%;margin:.7rem 0;padding:1rem;font-family:Poppins,sans-serif;font-size:1rem}.contact .input-box input{width:48%}.contact textarea{resize:vertical;min-height:180px}.contact .btn{box-shadow:0 0 1rem rgba(var(--glow-rgb), .7);color:#1f242d;letter-spacing:.05rem;cursor:pointer;background:#7cf03d;border:none;border-radius:4rem;margin-top:1rem;padding:.9rem 2rem;font-size:1rem;font-weight:600;transition:all .3s;display:inline-block}.contact .btn:hover{box-shadow:var(--hover-glow)}.contact .btn:disabled{opacity:.65;cursor:wait;box-shadow:none}.contact-honeypot{display:none}.contact-status{color:#ccc;min-height:1.6em;margin-top:1rem;font-size:.9rem}.contact-status.success{color:#7cf03d}.contact-status.error{color:#ffb3b3}.contact-status a{overflow-wrap:anywhere;text-decoration:underline}.popup{background:var(--page-background);color:#7cf03d;box-shadow:0 0 15px rgba(var(--glow-rgb), .3);opacity:0;z-index:9999;border-radius:12px;padding:15px 25px;font-family:Poppins,sans-serif;font-weight:500;transition:all .5s;position:fixed;top:20px;right:20px;transform:translateY(-20px)}.popup.show{opacity:1;transform:translateY(0)}.about-info .heading,.education-header .heading,.projects-header .heading,.skills-grid .heading{font-size:clamp(2rem,4vw,40px);line-height:1.25}.project-info h3,.project-info p{overflow-wrap:anywhere}.project-card:focus-within,.btn:focus-visible{box-shadow:var(--hover-glow)}.show .project-card,.show .skill-card,.show .education-card{animation:.55s ease-out backwards card-enter;animation-delay:var(--card-delay,0s)}@keyframes card-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=960px){:root{--header-height:72px}.navbar .logo{font-size:26px}.nav-toggle{flex-shrink:0;display:inline-flex}.navbar .nav-links{top:calc(100% + 8px);left:var(--page-gutter);right:var(--page-gutter);max-height:min(420px, calc(100svh - var(--header-height) - 24px));opacity:0;visibility:hidden;pointer-events:none;background:#171717;border:1px solid #333;border-radius:16px;flex-direction:column;align-items:stretch;gap:4px;padding:12px;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;overflow-y:auto;transform:translateY(-8px);box-shadow:0 12px 30px #0000008c}.navbar .nav-links.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.navbar .nav-links a{border-radius:10px;width:100%;padding:10px 16px;font-size:17px}.navbar .nav-links li.active a{background:#7cf03d14}.home{text-align:center;padding-top:calc(var(--header-height) + 24px);flex-direction:column-reverse;justify-content:center;gap:20px;padding-bottom:56px}.home-info{flex:0 auto;width:100%;max-width:680px}.home-info h1{font-size:clamp(2rem,6vw,3.25rem)}.home-info h2{justify-content:center;font-size:clamp(1.125rem,3.2vw,1.75rem)}.home-info p{margin-inline:auto}.home-info .btn-sci{justify-content:center}.home-img .img-box{width:clamp(220px,52vw,340px)}.about{min-height:auto}}@media (width<=600px){:root{--page-gutter:20px}.navbar .logo{font-size:24px}.home-info .btn-sci{flex-direction:column;gap:20px}.home-info h2{font-size:clamp(1.05rem,4.8vw,1.4rem)}.home-img .img-box{width:min(76vw,290px)}.projects-container{grid-template-columns:minmax(0,1fr);gap:24px}.project-info{padding:22px 18px}.project-info h3{font-size:21px}.skills-icons{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.skill-card{padding:22px 12px}.skill-card p{font-size:.875rem}.contact .input-box input{width:100%}.contact .btn{width:100%;max-width:320px}.contact-status{overflow-wrap:anywhere}.projects-header p,.skills-grid .heading{margin-bottom:32px}}@media (width<=360px){:root{--page-gutter:16px}.home-info h1{font-size:1.875rem}.home-info h2{font-size:1.05rem}.home-img .img-box{width:min(78vw,250px)}}@media (height<=500px) and (width<=960px) and (orientation:landscape){.home-img .img-box{width:min(42vw,230px)}.home{min-height:auto}}@media (hover:none){.project-card:hover,.skill-card:hover{transform:none}.project-card:active,.skill-card:active{box-shadow:var(--hover-glow);transform:translateY(-3px)}.btn:active,.nav-toggle:active{box-shadow:var(--hover-glow)}}@media (pointer:coarse) and (prefers-reduced-motion:no-preference){.home-img:after{content:"Tap photo to scatter pixels; tap again to restore.";text-align:center;color:#aaa;max-width:290px;margin:4px auto 0;font-size:.75rem;line-height:1.5;display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.navbar,.home,.reveal-section,section.show{opacity:1;visibility:visible;transform:none}.home-info h2 .hero-role{display:none}.home-info h2 .hero-role:first-child{opacity:1;color:#7cf03d;-webkit-text-stroke:0;display:block;transform:none}.home-info h2 .hero-role:before{display:none}.project-card:hover,.skill-card:hover,.project-card:active,.skill-card:active{transform:none}}.education{padding:clamp(64px, 8vw, 100px) var(--page-gutter)}.education-header{text-align:center;margin-bottom:48px}.education-header .heading{margin-bottom:12px}.education-header .heading span{color:#7cf03d}.education-header p{color:#aaa;max-width:640px;margin-inline:auto}.education-groups{gap:44px;max-width:1000px;margin-inline:auto;display:grid}.education-group{min-width:0}.education-group-title{border-bottom:1px solid #303030;margin-bottom:24px;padding-bottom:12px;font-size:clamp(1.15rem,2.5vw,1.4rem)}.education-timeline-wrap{--education-rail-width:56px;position:relative}.education-timeline{padding-left:var(--education-rail-width);gap:28px;list-style:none;display:grid;position:relative}.education-electricity{width:var(--education-rail-width);pointer-events:none;fill:none;stroke-linejoin:miter;stroke-linecap:round;color:#7cf03d;height:100%;position:absolute;inset:0 auto 0 0;overflow:visible}.education-electric-wire{stroke:currentColor;stroke-width:1px;opacity:.16;transition:opacity .2s}.education-electric-flow{stroke:#d8ffbd;stroke-width:1.8px;stroke-dasharray:12 88;stroke-dashoffset:100px;opacity:0;filter:drop-shadow(0 0 3px #7cf03d);transition:opacity .2s}.education-electric-echo{stroke:#7cf03d;stroke-width:1px;stroke-dasharray:4 96}.education-electric-branch-wire{stroke:currentColor;stroke-width:.8px;opacity:.15}.education-electric-branch{stroke:#baff96;stroke-width:1.2px;opacity:0;stroke-dasharray:100;stroke-dashoffset:100px}.education-electric-pad{stroke:#7cf03d;stroke-width:.8px;fill:var(--page-background);opacity:.2}.education-electricity[data-active=true] .education-electric-wire{opacity:.5}.education-electricity[data-active=true] .education-electric-flow{opacity:1}.education-timeline-wrap:focus-visible{outline:2px solid rgb(var(--glow-rgb));outline-offset:6px;border-radius:12px}.education-timeline-entry{min-width:0;position:relative}.education-card{background:var(--card-background);border:1px solid rgba(var(--glow-rgb), .14);min-width:0;box-shadow:0 0 10px rgba(var(--glow-rgb), .12);border-radius:15px;padding:clamp(20px,3vw,32px);transition:transform .3s,box-shadow .3s}.education-card-topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.education-level{color:#aaa;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.education-status{color:#7cf03d;background:#7cf03d12;border:1px solid #7cf03d40;border-radius:999px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.education-card h4{overflow-wrap:anywhere;font-size:clamp(1.1rem,2.4vw,1.45rem);line-height:1.4}.education-meta{background:#171717;border-radius:10px;flex-wrap:wrap;gap:14px 28px;margin-top:18px;padding:14px 16px;display:flex}.education-meta>div{min-width:0}.education-meta dt{color:#999;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.education-meta dd{color:#ddd;overflow-wrap:anywhere;margin:3px 0 0;font-size:.875rem}.education-summary{color:#bbb;margin-top:18px;font-size:.95rem;line-height:1.8}.education-highlights{flex-wrap:wrap;gap:8px;margin-top:20px;list-style:none;display:flex}.education-highlights li{color:#ddd;background:#171717;border:1px solid #363636;border-radius:999px;padding:5px 11px;font-size:.75rem}.education-details,.education-semesters{border-top:1px solid #383838;margin-top:22px;padding-top:16px}.education-details>summary,.education-semesters>summary{cursor:pointer;color:#7cf03d;min-height:44px;padding:10px 0;font-size:.9rem;font-weight:500}.education-details>summary::marker{color:rgb(var(--glow-rgb))}.education-semesters>summary::marker{color:rgb(var(--glow-rgb))}.education-course-list{color:#ccc;margin:12px 0;padding-left:20px;font-size:.875rem}.education-course-list li{overflow-wrap:anywhere;margin-bottom:8px}.education-course-list h5{color:#eee;margin:18px 0 8px;font-size:.875rem}.education-course-list ul{padding-left:20px}.education-semester-select{color:#ccc;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:12px 0 18px;font-size:.875rem;display:flex}.education-semester-select select{color:#fff;background:#171717;border:1px solid #444;border-radius:8px;max-width:100%;min-height:44px;padding:10px 14px;font-size:1rem}.education-semester-content{background:#171717;border-radius:10px;padding:16px}.education-semester-content h5{font-size:1rem}.education-semester-content ul{padding:0;list-style:none}.education-semester-content li{color:#ccc;overflow-wrap:anywhere;border-bottom:1px solid #303030;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:10px 0;font-size:.85rem;display:flex}.education-semester-content li:last-child{border-bottom:none}.education-module-code{color:rgb(var(--glow-rgb));margin-right:.5em;font-size:.75rem;display:inline-block}.education-module-type{color:#999;font-size:.75rem}.education-module-credits{color:#999;margin-left:auto;font-size:.75rem}.education-credential{color:#7cf03d;text-underline-offset:4px;overflow-wrap:anywhere;align-items:center;gap:8px;min-height:44px;margin-top:16px;font-size:.875rem;text-decoration:underline;display:inline-flex}.education-credential:hover{color:rgb(var(--glow-rgb))}.education-certification-wrap>.education-electricity{width:100%}.education-certification-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;padding:0;list-style:none;display:grid;position:relative}.education-certification-grid .education-card{height:100%}.education-empty{text-align:center;color:#aaa;border:1px dashed #424242;border-radius:15px;padding:28px;font-size:.9rem}.education select:focus-visible,.education summary:focus-visible{outline:2px solid rgb(var(--glow-rgb));outline-offset:4px}@media (hover:hover){.education-card:hover{box-shadow:var(--hover-glow);transform:translateY(-4px)}}@media (width<=600px){.education-header{margin-bottom:32px}.education-timeline-wrap{--education-rail-width:36px}.education-timeline{gap:22px}.education-meta{flex-direction:column;gap:12px;padding:12px}.education-card{padding:20px 16px}.education-semester-select{flex-direction:column;align-items:stretch}.education-semester-select select{width:100%}.education-certification-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.education-card:hover{transform:none}.education-electric-flow,.education-electric-branch{display:none}}
