:root{--bg-color:#090714;--card-bg:#161026bf;--card-border:#a855f733;--text-main:#f8fafc;--text-muted:#a1a1aa;--accent-purple:#a855f7;--accent-purple-light:#c084fc;--accent-purple-glow:#a855f766;--gradient-purple:linear-gradient(135deg, #a855f7 0%, #6366f1 100%);--glow-shadow:0 0 25px #a855f759;--nav-height:65px}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-main);padding-top:calc(var(--nav-height) + 1.5rem);min-height:100vh;padding-bottom:5rem;padding-left:.75rem;padding-right:.75rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;position:relative;overflow-x:hidden}@media (width>=768px){body{padding-left:2rem;padding-right:2rem;padding-top:calc(var(--nav-height) + 2.5rem)}body.has-custom-cursor,body.has-custom-cursor *{cursor:none}}#particle-canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.cursor-dot,.cursor-outline{display:none}@media (width>=768px){.cursor-dot{background-color:var(--accent-purple);pointer-events:none;z-index:9999;width:8px;height:8px;box-shadow:0 0 10px var(--accent-purple);border-radius:50%;transition:width .1s,height .1s,background-color .1s;display:block;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-outline{pointer-events:none;z-index:9998;border:1.5px solid #a855f799;border-radius:50%;width:36px;height:36px;transition:transform .15s ease-out,width .2s,height .2s,border-color .2s;display:block;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}body.cursor-hover .cursor-dot{background-color:var(--accent-purple-light);width:14px;height:14px}body.cursor-hover .cursor-outline{border-color:var(--accent-purple-light);background:#a855f71f;width:55px;height:55px}}.top-navbar{width:100%;min-height:var(--nav-height);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--card-border);z-index:1000;background:#090714f0;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex;position:fixed;top:0;left:0;box-shadow:0 10px 30px #0009}.nav-brand{background:var(--gradient-purple);-webkit-text-fill-color:transparent;letter-spacing:-.02em;white-space:nowrap;-webkit-background-clip:text;font-size:1.1rem;font-weight:800;text-decoration:none}.hamburger-btn{color:var(--text-main);cursor:pointer;z-index:1010;background:#a855f71a;border:1px solid #a855f74d;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.hamburger-btn i,.hamburger-btn svg{width:20px;height:20px;color:var(--accent-purple-light)}.nav-tabs{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--card-border);z-index:999;background:#0d0a1cfa;flex-direction:column;gap:.5rem;width:100%;padding:1.2rem;display:none;position:absolute;top:100%;left:0;box-shadow:0 15px 30px #000c}.nav-tabs.mobile-open{animation:.25s ease-out mobileMenuDown;display:flex}@keyframes mobileMenuDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.nav-tab-btn{color:var(--text-muted);background:#ffffff05;border:1px solid #a855f726;border-radius:10px;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.nav-tab-btn i,.nav-tab-btn svg{width:18px;height:18px}.nav-tab-btn.active{color:#fff;background:var(--gradient-purple);box-shadow:0 4px 15px var(--accent-purple-glow);border:none;font-weight:700}.nav-actions{display:none}@media (width>=768px){.top-navbar{padding:0 2rem}.nav-brand{font-size:1.3rem}.hamburger-btn{display:none}.nav-tabs{box-shadow:none;background:#161026cc;border:1px solid #a855f740;border-radius:12px;flex-direction:row;gap:.5rem;width:auto;padding:.35rem .5rem;display:flex;position:static}.nav-tab-btn{background:0 0;border:1px solid #0000;gap:.4rem;width:auto;padding:.45rem 1rem;font-size:.85rem;transition:all .2s cubic-bezier(.16,1,.3,1)}.nav-tab-btn:hover{color:#fff;background:#a855f733}.nav-tab-btn i,.nav-tab-btn svg{width:16px;height:16px}.nav-actions{align-items:center;gap:.8rem;display:flex}}.container{z-index:1;width:100%;max-width:1050px;margin:0 auto;position:relative;overflow-x:hidden}.tilt-wrapper{width:100%;margin-bottom:2rem}@media (width>=768px){.tilt-wrapper{perspective:1000px;margin-bottom:0}}.glass-card{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:16px;flex-direction:column;justify-content:space-between;width:100%;padding:1.1rem;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 25px -10px #0009}@media (width>=768px){.glass-card{transform-style:preserve-3d;border-radius:20px;padding:2.2rem;transition:border-color .3s,box-shadow .3s,transform .1s ease-out;box-shadow:0 15px 35px -10px #0009}.glass-card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#a855f71f,#0000);width:100%;height:100%;transition:all .5s;position:absolute;top:0;left:-100%}.glass-card:hover:before{left:100%}.glass-card:hover{box-shadow:var(--glow-shadow), 0 20px 40px -15px #000c;border-color:#a855f799}}.no-tilt .glass-card{transform:none!important}.hero-header,.page-header{text-align:left;margin-bottom:2rem}@media (width>=768px){.hero-header,.page-header{margin-bottom:4rem}}.title-gradient{background:var(--gradient-purple);-webkit-text-fill-color:transparent;letter-spacing:-.03em;filter:drop-shadow(0 0 12px #a855f780);-webkit-background-clip:text;margin-bottom:.3rem;font-size:2.1rem;font-weight:800;animation:3s ease-in-out infinite alternate nameGlowPulse;display:inline-block}@keyframes nameGlowPulse{0%{filter:drop-shadow(0 0 8px #a855f766)}to{filter:drop-shadow(0 0 22px #c084fccc)}}.subtitle{color:var(--text-muted);word-break:break-word;margin-bottom:1.2rem;font-size:.95rem}@media (width>=768px){.title-gradient{margin-bottom:.5rem;font-size:3.5rem}.subtitle{margin-bottom:1.8rem;font-size:1.25rem}}.header-links{flex-wrap:wrap;gap:.6rem;display:flex}.about-section{margin-bottom:3.5rem}.about-grid{grid-template-columns:1fr;align-items:center;gap:2rem;display:grid}@media (width>=900px){.about-grid{grid-template-columns:1fr 390px;gap:3rem}}.typewriter-line{color:var(--accent-purple-light);align-items:center;min-height:1.4em;margin-bottom:.9rem;font-size:1rem;font-weight:700;display:flex}@media (width>=768px){.typewriter-line{font-size:1.2rem}}.typewriter-caret{margin-left:2px;animation:1s step-end infinite caretBlink;display:inline-block}@keyframes caretBlink{0%,50%{opacity:1}50.01%,to{opacity:0}}.about-bio{color:var(--text-muted);margin-bottom:.9rem;font-size:.95rem}.about-bio-secondary{color:var(--text-muted);font-size:.91rem}.stats-badge-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1.2rem 0;display:grid}.stat-box{text-align:center;background:#a855f714;border:1px solid #a855f733;border-radius:12px;padding:.85rem}@media (width>=768px){.stat-box{transition:transform .2s,border-color .2s}.stat-box:hover{border-color:var(--accent-purple);transform:translateY(-2px)}}.stat-number{color:var(--accent-purple-light);font-size:1.35rem;font-weight:800;display:block}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.phone-mockup{-webkit-user-select:none;user-select:none;background:#000;border:6px solid #27272a;border-radius:36px;flex-direction:column;width:100%;max-width:300px;height:560px;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 35px #a855f74d,inset 0 0 12px #ffffff1a}@media (width>=768px){.phone-mockup{border-width:8px;border-radius:44px;max-width:360px;height:640px;transition:transform .3s,box-shadow .3s;box-shadow:0 0 45px #a855f759,inset 0 0 12px #ffffff1a}.phone-mockup:hover{transform:scale(1.02);box-shadow:0 0 55px #a855f78c}}.phone-notch{z-index:10;background:#27272a;border-bottom-right-radius:10px;border-bottom-left-radius:10px;width:110px;height:18px;position:absolute;top:0;left:50%;transform:translate(-50%)}.phone-screen{color:#fff;background:linear-gradient(#130a2a 0%,#090714 100%);flex-direction:column;flex:1;justify-content:space-between;padding:1.8rem .5rem .5rem;display:flex;position:relative}.phone-header-text{text-align:center;color:var(--accent-purple-light);letter-spacing:.05em;margin-bottom:.4rem;font-size:.72rem;font-weight:700}.app-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.2rem;display:grid}.app-icon{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.2rem;font-family:inherit;text-decoration:none;display:flex}.app-box{color:#fff;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.15rem;animation:3s ease-in-out infinite alternate mobileIconPulse;display:flex;position:relative;box-shadow:0 4px 12px #0006}@keyframes mobileIconPulse{0%{box-shadow:0 4px 12px #0006}to{box-shadow:0 4px 18px var(--accent-purple-glow)}}.app-name{color:#e2e8f0;text-align:center;font-size:.62rem;font-weight:500}.interactive-screen-content{border:1px solid var(--card-border);text-align:center;background:#161026f2;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;height:270px;padding:.5rem;transition:opacity .15s;display:flex;position:relative;overflow:hidden}.interactive-screen-content.has-video{padding:0}@media (width>=768px){.interactive-screen-content{border-radius:16px;height:350px;padding:.6rem}.interactive-screen-content.has-video{padding:0}}.phone-video-container{border-radius:10px;width:100%;height:100%;position:relative;overflow:hidden}.phone-video-iframe{border:none;width:100%;height:100%;display:block}.phone-video-paused{width:100%;height:100%;position:relative}.phone-video-paused-thumb{object-fit:cover;filter:brightness(.7);width:100%;height:100%;display:block}.phone-video-play-icon{color:#fff;background:#a855f7e6;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 15px #a855f799}.phone-video-toggle-overlay{z-index:4;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:flex-end;width:100%;height:100%;padding:0 0 .6rem;display:flex;position:absolute;inset:0}.video-toggle-hint{color:#fff;opacity:0;border:1px solid var(--card-border);background:#000000b3;border-radius:6px;align-items:center;gap:.3rem;padding:.25rem .5rem;font-size:.65rem;transition:opacity .2s;display:flex}.phone-video-toggle-overlay:hover .video-toggle-hint{opacity:1}.phone-video-close,.phone-video-retry{border:1px solid var(--card-border);color:#fff;cursor:pointer;z-index:6;background:#000000b3;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex;position:absolute;top:6px}.phone-video-close{right:6px}.phone-video-retry{left:6px}@media (width>=768px){.phone-video-close,.phone-video-retry{transition:background .2s,transform .2s}.phone-video-close:hover,.phone-video-retry:hover{background:var(--accent-purple);transform:scale(1.1)}}.phone-home-bar{cursor:pointer;background:#ffffff80;border:none;border-radius:4px;width:90px;height:4px;margin:.3rem auto .1rem;padding:0;display:block}.skills-grid{flex-wrap:wrap;gap:.5rem;margin-top:1.2rem;display:flex}.skill-badge{color:var(--text-main);background:#a855f71a;border:1px solid #a855f740;border-radius:24px;padding:.5rem .95rem;font-size:.86rem;font-weight:600;transition:transform .25s cubic-bezier(.16,1,.3,1),background .25s,border-color .25s,box-shadow .25s}@media (width>=768px){.skill-badge:hover{border-color:var(--accent-purple);color:var(--accent-purple-light);box-shadow:0 8px 20px var(--accent-purple-glow);background:#a855f74d;transform:translateY(-6px)scale(1.08)}}.btn{border:1px solid var(--card-border);color:var(--text-main);background:#ffffff08;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;min-height:40px;padding:.55rem .9rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}@media (width>=768px){.btn{border-radius:12px;gap:.6rem;min-height:auto;padding:.7rem 1.4rem;font-size:.95rem;transition:all .25s cubic-bezier(.4,0,.2,1)}.btn:hover{border-color:var(--accent-purple);color:var(--accent-purple-light);box-shadow:0 8px 20px -6px var(--accent-purple-glow);background:#a855f726;transform:translateY(-3px)scale(1.02)}}.btn-primary{background:var(--gradient-purple);color:#fff;border:none}.btn-outline{color:var(--accent-purple-light);border:1.5px solid var(--accent-purple);background:0 0}@media (width>=768px){.btn-outline:hover{color:#fff;border-color:var(--accent-purple-light);background:#a855f726}}.btn-sm{border-radius:8px;min-height:auto;padding:.35rem .75rem;font-size:.78rem}.section-title{color:var(--text-main);scroll-margin-top:calc(var(--nav-height) + 1rem);align-items:center;gap:.5rem;margin-bottom:1.2rem;font-size:1.3rem;font-weight:700;display:flex;position:relative}@media (width>=768px){.section-title{gap:.8rem;margin-bottom:2rem;font-size:1.9rem}}.section-title i,.section-title svg{color:var(--accent-purple);filter:drop-shadow(0 0 8px var(--accent-purple-glow))}.section-title:before{content:"";background:var(--accent-purple);width:4px;height:16px;box-shadow:0 0 10px var(--accent-purple);border-radius:4px;display:inline-block}@media (width>=768px){.section-title:before{height:24px}}.experience-section{margin-bottom:3.5rem}.timeline-container{border-left:2px solid #a855f74d;flex-direction:column;gap:2.2rem;padding-left:1.2rem;display:flex;position:relative}@media (width>=768px){.timeline-container{gap:3rem;padding-left:2.5rem}}.timeline-item{opacity:0;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .8s cubic-bezier(.16,1,.3,1);position:relative}.timeline-item.slide-left{transform:translate(-50px)}.timeline-item.slide-right{transform:translate(50px)}.timeline-item.active{opacity:1;transform:translate(0)}.timeline-item:before{content:"";background:var(--accent-purple);width:10px;height:10px;box-shadow:0 0 10px var(--accent-purple);border-radius:50%;animation:2s ease-in-out infinite alternate mobilePulsePoint;position:absolute;top:4px;left:calc(-1.2rem - 5px)}@media (width>=768px){.timeline-item:before{left:calc(-2.5rem - 6px)}}@keyframes mobilePulsePoint{0%{box-shadow:0 0 6px var(--accent-purple);transform:scale(1)}to{box-shadow:0 0 12px var(--accent-purple-light);transform:scale(1.3)}}.role-title{color:var(--text-main);font-size:1.1rem;font-weight:700}.role-meta{color:var(--accent-purple-light);margin-bottom:.4rem;font-size:.82rem;font-weight:600}.role-summary{color:var(--text-muted);margin-bottom:.4rem;font-size:.85rem}@media (width>=768px){.role-title{font-size:1.4rem}.role-meta{margin-bottom:.6rem;font-size:.95rem}}.role-bullets{color:var(--text-muted);margin-top:.5rem;font-size:.86rem;list-style:none}@media (width>=768px){.role-bullets{font-size:1rem}}.role-bullets li{margin-bottom:.4rem;padding-left:1rem;position:relative}.role-bullets li:before{content:"•";color:var(--accent-purple);font-weight:700;position:absolute;left:0}#projects-container{grid-template-columns:1fr;gap:2rem;width:100%;margin-bottom:3.5rem;display:grid}@media (width>=768px){#projects-container{grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:4.5rem;display:grid}}@media (width<=767px){#projects-container{min-height:520px;position:relative;overflow:hidden}.tilt-wrapper.project-card{opacity:0;pointer-events:none;width:100%;margin-bottom:0;transition:opacity .5s ease-in-out,transform .5s ease-in-out;position:absolute;top:0;left:0;transform:translate(40px)}.tilt-wrapper.project-card.spinner-active{opacity:1;pointer-events:auto;z-index:5;transform:translate(0)}.tilt-wrapper.project-card.spinner-exit{opacity:0;z-index:1;transform:translate(-40px)}.pause-indicator{color:var(--accent-purple-light);text-align:center;background:#a855f71f;border:1px solid #a855f74d;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.3rem .5rem;font-size:.7rem;display:flex}}@media (width>=768px){.pause-indicator{display:none}}.project-title{color:var(--text-main);margin-bottom:.4rem;font-size:1.15rem;font-weight:700}.project-description{color:var(--text-muted);margin-bottom:.9rem;font-size:.86rem}@media (width>=768px){.project-title{margin-bottom:.5rem;font-size:1.5rem}.project-description{margin-bottom:1.3rem;font-size:.98rem}}.preview-container{border:1px solid var(--card-border);background:#000;border-radius:10px;margin-bottom:.9rem;position:relative;overflow:hidden}@media (width>=768px){.preview-container{border-radius:12px;margin-bottom:1.2rem}}.video-preview-link{cursor:pointer;background:0 0;border:none;width:100%;padding:0;font-family:inherit;text-decoration:none;display:block;position:relative;overflow:hidden}.preview-thumbnail{object-fit:cover;filter:brightness(.9);width:100%;height:150px;display:block}@media (width>=768px){.preview-thumbnail{filter:brightness(.88);height:200px;transition:transform .4s,filter .4s}.video-preview-link:hover .preview-thumbnail{filter:brightness();transform:scale(1.05)}}.play-overlay{color:#fff;background:#a855f7e6;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 15px #a855f799}@media (width>=768px){.play-overlay{width:50px;height:50px;transition:all .3s}.video-preview-link:hover .play-overlay{background:var(--accent-purple-light);box-shadow:0 0 25px var(--accent-purple-glow);transform:translate(-50%,-50%)scale(1.15)}}.video-modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:2000;opacity:0;pointer-events:none;background:#090714e0;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.video-modal-overlay.active{opacity:1;pointer-events:auto}.video-modal-content{aspect-ratio:16/9;border:1px solid var(--card-border);background:#000;border-radius:16px;width:100%;max-width:800px;transition:transform .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;transform:scale(.9);box-shadow:0 0 40px #a855f766}.video-modal-overlay.active .video-modal-content{transform:scale(1)}.video-modal-close{border:1px solid var(--card-border);color:#fff;cursor:pointer;z-index:2010;background:#000000b3;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:absolute;top:12px;right:12px}@media (width>=768px){.video-modal-close{transition:background .2s,transform .2s}.video-modal-close:hover{background:var(--accent-purple);transform:scale(1.1)}}.modal-iframe{border:none;width:100%;height:100%}.tech-tag-list{flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;display:flex}.tech-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-purple-light);background:#a855f71f;border:1px solid #a855f733;border-radius:6px;padding:.2rem .55rem;font-size:.68rem;font-weight:600}@media (width>=768px){.tech-tag-list{gap:.5rem;margin-bottom:1.2rem}.tech-tag{border-radius:8px;padding:.3rem .7rem;font-size:.75rem}}.project-actions{flex-wrap:wrap;gap:.5rem;display:flex}.contact-section{width:100%;margin-top:3rem}@media (width>=768px){.contact-section{margin-top:4rem}}.contact-intro{color:var(--text-muted);margin-bottom:.8rem;font-size:.85rem}.contact-grid{grid-template-columns:1fr;gap:.75rem;margin-top:1rem;display:grid}@media (width>=600px){.contact-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}}.contact-card{color:var(--text-main);background:#a855f70d;border:1px solid #a855f733;border-radius:12px;align-items:center;gap:.75rem;padding:.85rem;text-decoration:none;display:flex}@media (width>=768px){.contact-card{border-radius:14px;gap:1rem;padding:1.2rem;transition:all .25s}.contact-card:hover{border-color:var(--accent-purple);box-shadow:0 8px 20px var(--accent-purple-glow);background:#a855f726;transform:translateY(-3px)}}.contact-card i,.contact-card svg{color:var(--accent-purple-light);font-size:1.2rem}.contact-card-title{font-size:.85rem;font-weight:700}.contact-card-value{color:var(--text-muted);font-size:.75rem}
