.aurora-container{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.aurora-container canvas{width:100%!important;height:100%!important;display:block}.pill-nav-container{position:absolute;top:50%;transform:translateY(-50%);right:1.5rem;z-index:99}@media(max-width:768px){.pill-nav-container{position:static;transform:none;width:auto}}.pill-nav{--nav-h: 42px;--pill-pad-x: 18px;--pill-gap: 3px;width:max-content;display:flex;align-items:center;box-sizing:border-box}@media(max-width:768px){.pill-nav{--nav-h: 38px;width:auto;justify-content:flex-end;padding:0;background:transparent}}.pill-nav-items{position:relative;display:flex;align-items:center;height:var(--nav-h);background:var(--base, #000);border-radius:9999px;border:1px solid rgba(255,255,255,.08)}.pill-logo{width:var(--nav-h);height:var(--nav-h);border-radius:50%;background:var(--base, #000);padding:8px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.pill-logo img{width:100%;height:100%;object-fit:contain;display:block;filter:brightness(0) invert(1);opacity:.9}.pill-list{list-style:none;display:flex;align-items:stretch;gap:var(--pill-gap);margin:0;padding:3px;height:100%}.pill-list>li{display:flex;height:100%}.pill{display:inline-flex;align-items:center;justify-content:center;height:100%;padding:0 var(--pill-pad-x);background:var(--pill-bg, #fff);color:var(--pill-text, var(--base, #000));text-decoration:none;border-radius:9999px;box-sizing:border-box;font-weight:600;font-size:13px;line-height:0;letter-spacing:.2px;white-space:nowrap;cursor:pointer;position:relative;overflow:hidden}.pill .hover-circle{position:absolute;left:50%;bottom:0;border-radius:50%;background:var(--base, #000);z-index:1;display:block;pointer-events:none;will-change:transform}.pill .label-stack{position:relative;display:inline-block;line-height:1;z-index:2}.pill .pill-label{position:relative;z-index:2;display:inline-block;line-height:1;will-change:transform}.pill .pill-label-hover{position:absolute;left:0;top:0;color:var(--hover-text, #fff);z-index:3;display:inline-block;will-change:transform,opacity}.pill.is-active:after{content:none}.desktop-only{display:block}.mobile-only{display:none}@media(max-width:768px){.desktop-only{display:none}.mobile-only{display:block}}.mobile-menu-button{width:var(--nav-h);height:var(--nav-h);border-radius:50%;background:var(--base, #000);border:none;display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:0;position:relative}@media(max-width:768px){.mobile-menu-button{display:flex}}.hamburger-line{width:16px;height:2px;background:var(--pill-bg, #fff);border-radius:1px;transition:all .01s ease;transform-origin:center}.mobile-menu-popover{position:absolute;top:3em;left:1rem;right:1rem;background:var(--base, #f0f0f0);border-radius:27px;box-shadow:0 8px 32px #0000001f;z-index:998;opacity:0;transform-origin:top center;visibility:hidden}@media(max-width:768px){.mobile-menu-popover{top:calc(100% + .5rem);right:0;left:auto;width:min(280px,calc(100vw - 2rem))}}.mobile-menu-list{list-style:none;margin:0;padding:3px;display:flex;flex-direction:column;gap:3px}.mobile-menu-popover .mobile-menu-link{display:block;padding:12px 16px;color:var(--pill-text, #fff);background-color:var(--pill-bg, #fff);text-decoration:none;font-size:16px;font-weight:500;border-radius:50px;transition:all .2s ease}.mobile-menu-popover .mobile-menu-link:hover{cursor:pointer;background-color:var(--base);color:var(--hover-text, #fff)}.glare-hover{width:var(--gh-width);height:var(--gh-height);background:var(--gh-bg);border-radius:var(--gh-br);border:1px solid var(--gh-border);position:relative;overflow:hidden;isolation:isolate}.glare-hover:before{content:"";position:absolute;top:-120%;left:-150%;width:var(--gh-size);height:300%;background:linear-gradient(var(--gh-angle),transparent 38%,var(--gh-rgba) 50%,transparent 62%);opacity:0;transition:transform var(--gh-duration) ease,opacity var(--gh-duration) ease;pointer-events:none;z-index:2}.glare-hover:hover:before{opacity:1;transform:translate(105%)}.glare-hover--play-once:hover:before{animation:gh-play-once var(--gh-duration) ease forwards}@keyframes gh-play-once{0%{opacity:0;transform:translate(0)}20%{opacity:1}to{opacity:0;transform:translate(105%)}}.text-type{display:inline-flex;align-items:baseline}.text-type__content{display:inline-block}.text-type__cursor{display:inline-block;margin-left:.08em;color:#9ed8ff;font-weight:700}.text-type__cursor--hidden{opacity:0}:root{--bg: #060b14;--bg-2: #0b1324;--panel: rgba(16, 27, 46, .88);--panel-solid: #111d33;--line: rgba(102, 158, 255, .22);--line-strong: rgba(88, 202, 255, .45);--text: #e8f0ff;--muted: #9eb2d3;--accent: #46d9ff;--accent-2: #5e7dff;--glow: 0 16px 44px rgba(8, 19, 38, .65)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:radial-gradient(circle at 12% -5%,rgba(70,217,255,.16),transparent 34%),radial-gradient(circle at 92% 0%,rgba(94,125,255,.18),transparent 36%),linear-gradient(180deg,var(--bg-2),var(--bg));color:var(--text);line-height:1.6;margin:0}.site-header{background:#060b14d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(134,178,255,.14);position:sticky;top:0;z-index:1000}.top-nav{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;min-height:42px;padding:1rem 1.4rem;position:relative}.logo{font-size:1.28rem;font-weight:700;letter-spacing:-.02em;color:#f7fbff;text-shadow:0 0 18px rgba(70,217,255,.2)}.landing{position:relative;overflow:hidden;text-align:center;padding:7.3rem 2rem 6.9rem;border-bottom:1px solid rgba(105,169,255,.12)}.landing:after{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(146,186,255,.11) 1px,transparent 1px),linear-gradient(to bottom,rgba(146,186,255,.11) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(circle at center,black 34%,transparent 76%);mask-image:radial-gradient(circle at center,black 34%,transparent 76%);pointer-events:none}.landing:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#060b1457,#060b1475);pointer-events:none;z-index:1}.landing>*:not(.aurora-container){position:relative;z-index:3}.landing-content{max-width:1200px;margin:0 auto}.landing h2{color:#f3f8ff;font-size:clamp(2rem,5vw,4rem);font-weight:800;letter-spacing:-.045em;margin:0 0 1.1rem}.landing .text-type{white-space:nowrap}.landing p{color:var(--muted);font-size:1.2rem;max-width:680px;margin:0 auto}.aurora-container{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;mix-blend-mode:normal;opacity:.8;will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}.aurora-container canvas{width:100%!important;height:100%!important;display:block;filter:saturate(1.18) blur(1px)}.about,.projects,.section{max-width:1200px;margin:0 auto;padding-left:1.4rem;padding-right:1.4rem}.about{padding-top:4.6rem;padding-bottom:1.8rem}.section{padding-top:1.8rem;padding-bottom:2rem}.projects{padding-top:2rem;padding-bottom:5rem}.about-section,.skills-card,.project-card,.modal-content{background:var(--panel);border:1px solid var(--line);box-shadow:var(--glow)}.about-section{border-radius:22px}.about-container{display:flex;align-items:center;gap:3rem;padding:2.6rem}.about-img{max-width:310px;width:100%;border-radius:16px;border:1px solid rgba(143,186,255,.26);box-shadow:0 12px 30px #00000059}.about-text h2,.skills-card h2,.projects h2{color:#f2f8ff;margin:0 0 1rem;letter-spacing:-.025em}.about-text h2{font-size:2.2rem}.about-text p{color:var(--muted);font-size:1.06rem;line-height:1.8;margin:0 0 .9rem}.skills-card{border-radius:22px;padding:2.2rem}.skills-card h2{text-align:center;font-size:2rem;margin-bottom:1.8rem}.skills-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.95rem;list-style:none;margin:0;padding:0}.skills-list li{background:#6fa8ff12;border:1px solid rgba(131,185,255,.22);border-radius:12px;text-align:center;font-weight:600;color:#d7e8ff;padding:.78rem 1rem;transition:transform .2s ease,border-color .2s ease,background .2s ease}.skills-list li:hover{transform:translateY(-2px);border-color:var(--line-strong);background:#46d9ff1f}.projects h2{font-size:1.42rem;margin-bottom:1.15rem}.project-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem}.project-card{border-radius:16px;overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.project-card:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:0 18px 30px #050c1a80}.project-image{height:230px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.project-card:hover .project-image img{transform:scale(1.08)}.project-info{padding:1.2rem}.project-info h3{margin:0 0 .45rem;font-size:1.6rem;letter-spacing:-.03em;color:#f5f9ff}.project-info p{margin:0;color:var(--muted);font-size:1.1rem}.project-link{border-top:1px solid rgba(130,184,255,.16);background:#46d9ff0f;padding:.95rem 1.2rem}.project-link a{color:var(--accent);text-decoration:none;font-weight:700;display:inline-flex;align-items:center;gap:.5rem}.project-link a:after{content:"->"}.social-icons{margin-top:2.2rem;display:flex;justify-content:center;gap:1rem}.social-icons img{width:28px;height:28px;filter:brightness(0) invert(1);opacity:.72;transition:transform .2s ease,opacity .2s ease}.social-icons img:hover{opacity:1;transform:translateY(-3px)}.modal{position:fixed;inset:0;z-index:9999;background:#04080ed6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:auto}.modal-content{color:var(--text);width:92%;max-width:1060px;margin:4% auto;border-radius:20px;padding:2rem;display:flex;flex-wrap:wrap;gap:1.6rem}.modal-images{flex:1 1 45%;display:flex;flex-direction:column;gap:.85rem}.modal-images img{width:100%;border-radius:12px;border:1px solid rgba(134,190,255,.2)}.modal-text{flex:1 1 50%}.modal-text h2{margin:0 0 .75rem;font-size:2.2rem}.modal-text p{margin:0 0 .95rem;color:#d6e5ff;font-size:1.03rem}.modal-text em{color:#a8bee4}.modal-text strong{color:#f0f7ff}.modal-text hr{border:0;border-top:1px solid rgba(125,181,255,.3);margin:1.1rem 0}.modal-text h4{margin:0 0 .75rem;font-size:1.05rem}.modal-text ul{margin:0;padding-left:1.3rem}.modal-text li{margin-bottom:.35rem}.modal-links{margin-top:1rem}.modal-btn{display:inline-block;text-decoration:none;background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#05101d;padding:.68rem 1.2rem;margin-right:.6rem;border-radius:10px;font-weight:700;transition:transform .2s ease,filter .2s ease}.modal-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.close{position:absolute;top:14px;right:20px;font-size:2rem;color:#8ea4cc;cursor:pointer}.close:hover{color:#d8e8ff}.footer{padding:2.8rem 1rem 3rem;border-top:1px solid rgba(130,177,255,.16);text-align:center;color:var(--muted)}.footer-links{display:flex;justify-content:center;gap:1.1rem;margin-bottom:.8rem}.footer-links a{color:#b8cdf2;text-decoration:none}.footer-links a:hover{color:var(--accent)}@media(max-width:900px){.about-container{flex-direction:column;padding:1.8rem;gap:1.6rem}.modal-content{flex-direction:column;padding:1.25rem}.project-info h3{font-size:1.3rem}}@media(max-width:768px){.site-header{padding:.75rem .85rem}.top-nav{padding:.2rem 0;min-height:40px;gap:.6rem}.logo{font-size:1.05rem}.landing{padding:6.3rem 1.1rem 5.6rem}.landing p{font-size:1.05rem}.landing .text-type{white-space:normal}.skills-card{padding:1.4rem}.skills-list{grid-template-columns:1fr 1fr}}
