body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg-0:#05090f;--bg-1:#070d16;--accent:#0f9;--accent-strong:#33ffad;--accent-ink:#03130c;--accent-glow:#00ff9959;--accent-soft:#00ff991a;--text:#eaf1f4;--text-dim:#9fb0bd;--text-faint:#6c7b88;--surface:#ffffff08;--surface-2:#ffffff0f;--border:#ffffff17;--border-strong:#ffffff29;--maxw:1320px;--gutter:clamp(1.25rem,4vw,3rem);--radius:16px;--radius-sm:10px;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Space Grotesk","Inter",sans-serif;--font-mono:"JetBrains Mono","SFMono-Regular",Consolas,monospace}*{box-sizing:border-box}body,html{height:100%;margin:0;padding:0;scroll-behavior:smooth;width:100%}html{font-size:18px;scroll-padding-top:104px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(1100px 620px at 50% -12%,#00ff991a,#0000 60%),radial-gradient(900px 640px at 108% 108%,#0078ff1a,#0000 55%),linear-gradient(165deg,#05090f,#070d16 48%,#05090f);background:radial-gradient(1100px 620px at 50% -12%,#00ff991a,#0000 60%),radial-gradient(900px 640px at 108% 108%,#0078ff1a,#0000 55%),linear-gradient(165deg,var(--bg-0) 0,var(--bg-1) 48%,var(--bg-0) 100%);background-attachment:fixed;color:#eaf1f4;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);line-height:1.6}a{color:#0f9;color:var(--accent)}::selection{background:#0f9;background:var(--accent);color:#03130c;color:var(--accent-ink)}.App{min-height:100%}.NavBar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#070b12b8;border-bottom:1px solid #ffffff17;border-bottom:1px solid var(--border);display:flex;gap:.35rem;height:72px;left:0;padding:0 clamp(1.25rem,4vw,3rem);padding:0 var(--gutter);position:fixed;top:0;width:100%;z-index:99999}.NavBar,.NavBar>a{align-items:center}.NavBar>a{border-radius:8px;color:#9fb0bd;color:var(--text-dim);display:inline-flex;font-size:.95rem;font-weight:500;gap:.45rem;padding:.5rem .65rem;text-decoration:none;transition:color .2s ease,background .2s ease}.NavBar>a:hover{background:#00ff991a;background:var(--accent-soft);color:#0f9;color:var(--accent);text-decoration:none}.NavBar>a:first-child{color:#eaf1f4;color:var(--text);font-family:Space Grotesk,Inter,sans-serif;font-family:var(--font-display);font-size:1.1rem;font-weight:700;letter-spacing:-.01em;margin-right:auto;padding-left:0}.NavBar>a:first-child:hover{background:#0000;color:#0f9;color:var(--accent)}.NavBar>a>svg{font-size:1.05em}.NavBar>a>img{border-radius:2px;vertical-align:middle;width:18px}.NavBar a.Button{display:none}@media screen and (max-width:1050px){.NavBar>a{font-size:1rem}.NavBar>a:not(:first-child){display:none}.NavBar>a.Button{display:inline-flex;font-size:1.4rem;padding:.4rem .5rem}.NavBar.responsive{align-items:stretch;flex-direction:column;gap:.15rem;height:auto;padding:.75rem clamp(1.25rem,4vw,3rem) 1rem;padding:.75rem var(--gutter) 1rem}.NavBar.responsive>a{display:flex;justify-content:center;text-align:center;width:100%}.NavBar.responsive>a:first-child{justify-content:flex-start;margin-right:0;padding-bottom:.5rem}.NavBar.responsive>a.Button{position:absolute;right:clamp(1.25rem,4vw,3rem);right:var(--gutter);top:.6rem;width:auto}}.intro{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:112px clamp(1.25rem,4vw,3rem) 32px;padding:112px var(--gutter) 32px;position:relative;text-align:center}.intro>div{animation:rise .7s ease both;max-width:820px}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.intro h1{color:#eaf1f4;color:var(--text);font-family:Space Grotesk,Inter,sans-serif;font-family:var(--font-display);font-size:clamp(2.25rem,6.2vw,4rem);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0 0 1.25rem}.intro p{color:#9fb0bd;color:var(--text-dim);font-size:clamp(1.1rem,2.4vw,1.4rem);line-height:1.6;margin:0 auto 2.25rem;max-width:620px;padding:0}.view-work-btn{align-items:center;background:#0f9;background:var(--accent);border:1px solid #0f9;border:1px solid var(--accent);border-radius:10px;border-radius:var(--radius-sm);box-shadow:0 10px 34px -12px #00ff9959;box-shadow:0 10px 34px -12px var(--accent-glow);color:#03130c;color:var(--accent-ink);display:inline-flex;font-size:1.05rem;font-weight:600;gap:.5rem;padding:.9rem 1.75rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.view-work-btn:hover{background:#0000;box-shadow:0 16px 40px -14px #00ff9959;box-shadow:0 16px 40px -14px var(--accent-glow);color:#0f9;color:var(--accent);transform:translateY(-2px)}.profile-image{border-radius:16px;border-radius:var(--radius);float:right;margin:25px 50px 10px;width:400px}.main-title{color:#eaf1f4;color:var(--text);font-family:Space Grotesk,Inter,sans-serif;font-family:var(--font-display);font-size:clamp(2rem,4.6vw,3rem);font-weight:700;letter-spacing:-.02em;margin:0 0 2.5rem;padding-top:5rem;text-align:center}#about>.main-title{padding-top:0}.section-title{color:#eaf1f4;color:var(--text);font-family:Space Grotesk,Inter,sans-serif;font-family:var(--font-display);font-size:clamp(1.5rem,3.2vw,2.1rem);font-weight:600;letter-spacing:-.01em;margin:3.5rem 0 2rem;text-align:center}hr{background:linear-gradient(90deg,#0000,#ffffff29,#0000);background:linear-gradient(90deg,#0000,var(--border-strong),#0000);border:0;height:1px;margin:4rem auto 0;width:min(680px,82vw)}.section-title hr{margin:0 auto 1.75rem}.content-container{background:#ffffff08;background:var(--surface);border:1px solid #ffffff17;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);color:#9fb0bd;color:var(--text-dim);font-size:1.15rem;line-height:1.8;margin:0 auto;max-width:1160px;padding:2.4rem 2.75rem;transition:border-color .3s ease,background .3s ease}.content-container:hover{background:#ffffff0f;background:var(--surface-2);border-color:#ffffff29;border-color:var(--border-strong);text-shadow:none}.content-container p{margin:0}.content-container a{color:#0f9;color:var(--accent);font-weight:600}.content-container svg{vertical-align:middle}.quote{border-left:3px solid #0f9;border-left:3px solid var(--accent);border-right:3px solid #0f9;border-right:3px solid var(--accent);color:#eaf1f4;color:var(--text);font-family:Space Grotesk,Inter,sans-serif;font-family:var(--font-display);font-size:clamp(1.15rem,2.4vw,1.5rem);font-weight:500;line-height:1.5;margin:3.5rem auto 0;max-width:820px;padding:0 1.5rem;text-align:center}.quote,.quote p{font-style:italic}.quote p{margin:0}.quote cite{color:#0f9;color:var(--accent);display:block;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-family:var(--font-mono);font-size:.85rem;font-style:normal;font-weight:500;letter-spacing:.02em;margin-top:.9rem}.skill-list{display:flex;flex-wrap:wrap;gap:1.1rem;justify-content:center;margin:0 auto;max-width:970px;padding:0 clamp(1.25rem,4vw,3rem);padding:0 var(--gutter);width:auto}.skill-list>div{align-items:center;background:#ffffff08;background:var(--surface);border:1px solid #ffffff17;border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:1rem;justify-content:flex-start;margin:0;padding:1.7rem 1.15rem;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;width:190px}.skill-list>div:hover{background:#ffffff0f;background:var(--surface-2);border-color:#0f9;border-color:var(--accent);box-shadow:0 14px 32px -16px #00ff9959;box-shadow:0 14px 32px -16px var(--accent-glow);transform:translateY(-5px)}.skill-list svg{border:0;border-radius:0;color:#0f9;color:var(--accent);height:68px;padding:0;transition:none;width:68px}.skill-list svg:hover{box-shadow:none}.skill-list p{color:#9fb0bd;color:var(--text-dim);font-size:1rem;font-weight:500;margin:0;text-align:center}.skill-list a{color:inherit;text-decoration:none}.skill-list a:hover{color:#0f9;color:var(--accent);text-shadow:none}.project-grid{grid-gap:1.75rem;box-sizing:border-box;display:grid;gap:1.75rem;grid-template-columns:repeat(3,1fr);margin:0 auto 6rem;max-width:1320px;max-width:var(--maxw);padding:0 clamp(1.25rem,4vw,3rem);padding:0 var(--gutter);width:100%}.project-card{background:#ffffff08;background:var(--surface);border:1px solid #ffffff17;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.project-card:hover{border-color:#0f9;border-color:var(--accent);box-shadow:0 22px 48px -22px #00ff9959;box-shadow:0 22px 48px -22px var(--accent-glow);transform:translateY(-6px)}.project-img{background-position:50%;background-size:cover;padding-top:56.25%;transition:transform .4s ease;width:100%}.project-card:hover .project-img{transform:scale(1.05)}.project-img.placeholder{align-items:center;aspect-ratio:16/9;background:radial-gradient(circle at 50% 42%,#00ff9929,#0000 62%),linear-gradient(135deg,#071219,#0a1a20);display:flex;justify-content:center;padding-top:0}.project-img.placeholder svg{color:#0f9;color:var(--accent);filter:drop-shadow(0 0 18px rgba(0,255,153,.35));filter:drop-shadow(0 0 18px var(--accent-glow));font-size:4.75rem}.project-text{flex:1 1 auto;padding:1.35rem 1.35rem .75rem}.project-text h3{color:#0f9;color:var(--accent);font-family:Space Grotesk,Inter,sans-serif;font-family:var(--font-display);font-size:1.35rem;font-weight:600;margin:0 0 .6rem}.project-text p{color:#9fb0bd;color:var(--text-dim);font-size:.98rem;line-height:1.6;margin:0}.project-buttons{padding:0 1.35rem 1.35rem}.project-buttons a{align-items:center;border:1px solid #ffffff29;border:1px solid var(--border-strong);border-radius:10px;border-radius:var(--radius-sm);color:#0f9;color:var(--accent);display:inline-flex;font-size:.95rem;font-weight:600;gap:.4rem;padding:.55rem 1.05rem;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease}.project-buttons a:after{content:"\2192";transition:transform .2s ease}.project-buttons a:hover{background:#00ff991a;background:var(--accent-soft);border-color:#0f9;border-color:var(--accent)}.project-buttons a:hover:after{transform:translateX(3px)}.contact-container{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-bottom:1rem;padding:0 clamp(1.25rem,4vw,3rem);padding:0 var(--gutter);text-align:center}.contact-container>div{align-items:center;background:#ffffff08;background:var(--surface);border:1px solid #ffffff17;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);display:flex;flex-direction:column;gap:.5rem;margin:0;min-width:300px;padding:2rem 2.25rem;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.contact-container>div:hover{border-color:#0f9;border-color:var(--accent);box-shadow:0 18px 40px -20px #00ff9959;box-shadow:0 18px 40px -20px var(--accent-glow);transform:translateY(-5px)}.contact-container .logo{color:#0f9;color:var(--accent);font-size:2.75rem;margin-top:0}.contact-container p{align-items:center;color:#eaf1f4;color:var(--text);display:inline-flex;font-size:1rem;gap:.5rem;margin:.25rem 0 0;padding:0;text-align:center}.contact-container p a{color:#eaf1f4;color:var(--text);text-decoration:none;transition:color .2s ease}.contact-container p a:hover{color:#0f9;color:var(--accent)}.contact-container .copyLogo{color:#6c7b88;color:var(--text-faint);cursor:pointer;transition:color .2s ease}.contact-container .copyLogo:hover{color:#0f9;color:var(--accent)}.footer{background:#0000;border-top:1px solid #ffffff17;border-top:1px solid var(--border);color:#6c7b88;color:var(--text-faint);font-size:.85rem;margin-top:5rem;padding:2.25rem clamp(1.25rem,4vw,3rem);padding:2.25rem var(--gutter);text-align:center}.footer p{margin:.3rem 0}.footer a{color:#0f9;color:var(--accent);text-decoration:none;transition:opacity .2s ease}.footer a:hover{opacity:.75}@media (max-width:1000px){.project-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:850px){.profile-image{display:block;float:none;margin:1.5rem auto;width:min(70vw,400px)}}@media (max-width:650px){.project-grid{grid-template-columns:1fr}.quote{font-size:1.15rem;margin-left:clamp(1.25rem,4vw,3rem);margin-left:var(--gutter);margin-right:clamp(1.25rem,4vw,3rem);margin-right:var(--gutter)}.skill-list>div{padding:1.15rem .75rem;width:132px}.skill-list svg{height:40px;width:40px}.contact-container>div{min-width:0;width:100%}}@media (max-width:420px){.skill-list>div{width:120px}}
/*# sourceMappingURL=main.d309628a.css.map*/