:root{--color-navbar-bg: rgba(35, 39, 47, .92);--color-navlink-gradient: linear-gradient(90deg, rgba(27, 201, 224, .15) 0%, rgba(27, 201, 224, .15) 100%);--color-bg-main: #1a1a1a;--color-bg-panel: #23272f;--color-accent: #4dd0e1;--color-accent-light: #b0b3b8;--color-panel-border: #333;--color-panel-shadow: #0006;--color-panel-shadow-light: #0003;--color-white: #fff;--color-text-main: #f5f6fa;--color-skill-bg: #181a1b;--color-link: #646cff;--color-link-hover: #535bf2;--color-link-hover-light: #747bff;--color-btn-bg: #1a1a1a;--color-btn-bg-light: #f9f9f9;--color-btn-border-hover: #646cff;--color-body-bg-light: #ffffff;--color-body-text-light: #213547;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:var(--color-bg-main);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--color-link);text-decoration:inherit}a:hover{color:var(--color-link-hover)}body{margin:0;display:block;place-items:center;background-color:var(--color-bg-main);min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-btn-bg);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-btn-border-hover)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:var(--color-body-text-light);background-color:var(--color-body-bg-light)}a:hover{color:var(--color-link-hover-light)}button{background-color:var(--color-btn-bg-light)}}.project-tech,.project-work,.project-integration{text-align:left;width:100%;max-width:480px;margin:18px auto 8px}.project-tech ul,.project-work ul{margin:8px 0 0;display:flex;flex-wrap:wrap;gap:10px;border:2px solid var(--color-bg-panel);border-radius:18px;padding:12px 16px;background:#4dd0e114}.project-tech li,.project-work li{color:var(--color-accent-light);font-weight:500;margin-bottom:0;border-radius:12px;padding:2px;font-size:16px}.project-work li::marker{display:block;width:100%;height:1px;background:var(--color-panel-border);left:2px;margin-left:16px}.project-work ul{padding:16px 12px 26px 36px}.project-tech li{list-style:none;border:1.5px solid var(--color-accent-light);background:var(--color-bg-panel);box-shadow:0 1px 6px var(--color-panel-shadow-light);padding:6px 18px;color:var(--color-accent)}.project-integration p{color:var(--color-accent-light);margin:6px 0 0}.project-tech strong,.project-work strong,.project-integration strong{color:var(--color-accent);font-weight:700}.projects-tabs{width:100%;max-width:600px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.tabs{display:flex;gap:16px;margin-bottom:24px}.tab-btn{background:var(--color-bg-panel);color:var(--color-accent);border:2px solid var(--color-accent-light);border-radius:8px 8px 0 0;padding:10px 24px;font-size:18px;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border .2s}.tab-btn.active{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.tab-btn:hover{background:var(--color-accent-light);color:var(--color-bg-panel)}.tab-content{background:#23272feb;border-radius:0 0 12px 12px;box-shadow:0 4px 24px var(--color-panel-shadow-light);padding:32px 24px 24px;text-align:center;width:100%;min-height:280px;display:flex;flex-direction:column;align-items:center;animation:panel-fade-in .7s cubic-bezier(.4,0,.2,1)}.project-img{width:220px;height:140px;object-fit:cover;border-radius:8px;margin-bottom:18px;box-shadow:0 2px 12px var(--color-panel-shadow-light)}.project-link{display:inline-block;margin-top:12px;color:var(--color-accent);font-weight:600;text-decoration:none;border-bottom:2px solid var(--color-accent);transition:color .2s,border .2s}.project-link:hover{color:var(--color-accent-light);border-bottom:2px solid var(--color-accent-light)}.panel-fade-enter{opacity:0;transform:translateY(32px) scale(.98)}.panel-fade-enter-active{opacity:1;transform:translateY(0) scale(1);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}.panel-fade-exit{opacity:1;transform:translateY(0) scale(1)}.panel-fade-exit-active{opacity:0;transform:translateY(32px) scale(.98);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}.footer-contact{margin-bottom:12px;font-size:16px}.footer-contact a{color:var(--color-accent);text-decoration:none;margin:0 2px}.footer-contact a:hover{text-decoration:underline}.app-bg{min-height:100vh;width:100%;background:var(--color-bg-main);position:relative;margin-bottom:24px;padding-top:70px}.navbar{width:100%;background:var(--color-navbar-bg);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);padding:0;box-shadow:0 8px 32px 0 var(--color-panel-shadow-light),0 1.5px 0 0 var(--color-accent-light);position:fixed;top:0;left:0;z-index:1000;animation:navbar-fade-in .8s cubic-bezier(.4,0,.2,1);transition:box-shadow .3s cubic-bezier(.4,0,.2,1),background .3s cubic-bezier(.4,0,.2,1)}.navbar-hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px 12px;margin-left:12px;z-index:1100}.hamburger-icon{width:28px;height:22px;display:inline-block;position:relative}.hamburger-icon:before,.hamburger-icon:after,.hamburger-icon{content:"";display:block;height:4px;border-radius:2px;position:absolute;left:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.hamburger-icon:before{top:5px;left:5px;width:48px;height:46px}.hamburger-icon{position:absolute;top:3px;left:3px;width:48px;height:48px}.navbar-hamburger{position:absolute;top:5px;left:5px;width:54px;height:54px}.hamburger-icon:after{top:5px;left:5px;width:48px;height:48px}.navbar-hamburger.open .hamburger-icon{background:transparent}.navbar-hamburger.open .hamburger-icon:before{transform:translateY(9px) rotate(45deg)}.navbar-hamburger.open .hamburger-icon:after{transform:translateY(-9px) rotate(-45deg)}@media(max-width:700px){.navbar-inner{padding-left:16px}.navbar-links{display:none;opacity:0;pointer-events:none;position:absolute;top:64px;left:0;width:100%;flex-direction:column;background:var(--color-navbar-bg);box-shadow:0 8px 32px 0 var(--color-panel-shadow-light);padding:16px 0;transition:opacity .3s}.navbar-links.open{display:flex;opacity:1;pointer-events:auto;animation:panel-fade-in .5s cubic-bezier(.4,0,.2,1)}.navbar-hamburger{display:block}}@media(min-width:701px){.navbar-hamburger{display:none!important}.navbar-links{display:flex!important;position:static;flex-direction:row;background:none;box-shadow:none;padding:0}}.navbar-inner{max-width:1100px;margin:0 auto;color:var(--color-white);font-size:24px;font-weight:700;letter-spacing:1px;display:flex;align-items:center;padding-left:128px;height:64px;position:relative;animation:navbar-slide-down .7s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 2px 8px var(--color-panel-shadow));transition:transform .3s cubic-bezier(.4,0,.2,1)}.navbar-logo:hover{transform:scale(1.12) rotate(-6deg)}.navbar-title{text-shadow:0 2px 8px var(--color-panel-shadow-light);transition:color .2s,text-shadow .3s;margin-right:48px;font-size:1.3em;font-weight:800;letter-spacing:2px}.navbar-links{display:flex;gap:16px;font-size:18px}.nav-link{color:var(--color-accent);text-decoration:none;font-weight:600;transition:color .18s,background .18s,box-shadow .18s,transform .18s;padding:6px 18px;border-radius:6px;margin-right:0;position:relative;box-shadow:0 1.5px 0 0 var(--color-accent-light);overflow:hidden;background:var(--color-navlink-gradient);will-change:transform,box-shadow,background}.nav-link:last-child{margin-right:0}.nav-link:hover{transform:translateY(-3px) scale(1.09) skew(-2deg);animation:navlink-pop .25s cubic-bezier(.4,0,.2,1);color:var(--color-white);background:var(--color-accent);box-shadow:0 4px 16px 0 var(--color-panel-shadow-light),0 1.5px 0 0 var(--color-accent-light);filter:brightness(1.08);@keyframes navbar-fade-in{0%{opacity:0}to{opacity:1}}@keyframes navbar-slide-down{0%{transform:translateY(-32px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes navlink-pop{0%{transform:scale(1) skew(0)}60%{transform:scale(1.13) skew(-4deg)}to{transform:scale(1.09) skew(-2deg)}}}.main-content{min-height:calc(100vh - 90px);display:flex;align-items:center;justify-content:center;z-index:1}.resume-panel{max-width:950px;width:100%;background:#23272fd1;border-radius:18px;border:1.5px solid var(--color-panel-border);box-shadow:0 8px 40px 0 var(--color-panel-shadow),0 1.5px 0 0 var(--color-accent-light);padding:48px 48px 40px;color:var(--color-text-main);display:flex;flex-direction:column;align-items:center;text-align:left;margin-top:0;-webkit-backdrop-filter:blur(4px) saturate(1.7);backdrop-filter:blur(4px) saturate(1.7);animation:panel-fade-in 1.1s cubic-bezier(.4,0,.2,1);@keyframes panel-fade-in{0%{opacity:0;transform:translateY(32px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes panel-fade-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(32px) scale(.98)}}transition:box-shadow .3s cubic-bezier(.4,0,.2,1),background .3s cubic-bezier(.4,0,.2,1),border .3s cubic-bezier(.4,0,.2,1);border-left:1px solid var(--color-panel-shadow);box-shadow:0 8px 40px 0 var(--color-panel-shadow),0 .5px 0 0 var(--color-accent-light),-6px 0 8px -8px var(--color-accent);@keyframes panel-fade-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}}.resume-panel .panel-fade{opacity:0;animation:panel-fade-in .9s cubic-bezier(.4,0,.2,1) forwards;transition:opacity .6s cubic-bezier(.4,0,.2,1)}.resume-panel h3{margin-bottom:8px;color:var(--color-accent);position:relative}.resume-panel p{color:var(--color-text-main)}.download-btn{display:inline-block;margin-bottom:24px;color:var(--color-accent);background:none;border:1px solid var(--color-accent);border-radius:4px;padding:6px 18px;font-size:16px;font-weight:500;text-decoration:none;transition:background .2s,color .2s}.download-btn:hover{background:var(--color-accent);color:var(--color-skill-bg)}.resume-header{border-bottom:2px solid var(--color-panel-border);margin-bottom:24px;padding-bottom:16px;width:100%;text-align:center}.resume-header h1{margin:0;font-size:36px;color:var(--color-white)}.resume-header h2{margin:0;font-weight:400;color:var(--color-accent-light);font-size:22px}.resume-contact{margin-bottom:24px;color:var(--color-text-main);width:100%}.resume-contact h3{margin-bottom:8px;color:var(--color-accent)}.contact-list{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:8px;color:var(--color-text-main)}.contact-list a{color:var(--color-accent)}.resume-summary{margin-bottom:24px;width:100%;color:var(--color-accent)}.resume-summary h3{margin-bottom:8px;color:var(--color-accent)}.resume-skills{margin-bottom:24px;width:100%;color:var(--color-accent)}.resume-skills h3{margin-bottom:8px;color:var(--color-accent)}.skills-list{display:flex;flex-wrap:wrap;gap:12px;list-style:none;color:var(--color-accent);margin:0;justify-content:center}.skill-item{background:var(--color-skill-bg);border-radius:4px;padding:4px 12px;font-size:15px;color:var(--color-white);border:1px solid var(--color-panel-border)}.resume-experience{margin-bottom:24px;width:100%}.resume-experience h3{margin-bottom:8px;color:var(--color-accent)}.experience-item{margin-bottom:16px;color:var(--color-accent)}.experience-role{font-weight:600;color:var(--color-white)}.experience-company{color:var(--color-accent-light);font-weight:400}.experience-period{color:var(--color-accent-light);font-size:14px}.experience-details{color:var(--color-text-main)}.resume-education{margin-bottom:24px;width:100%;text-align:left}.resume-education h3,.education-item{margin-bottom:8px;color:var(--color-accent)}.education-degree{font-weight:600;color:var(--color-white)}.education-school{color:var(--color-accent-light);font-size:14px}.resume-references{margin-bottom:24px;width:100%}.resume-references h3{margin-bottom:8px;color:var(--color-accent)}.reference-item{margin-bottom:8px;font-weight:600;color:var(--color-white)}.projects-coming-soon{color:var(--color-accent-light);font-size:18px}.footer{width:100%;max-width:900px;margin:32px auto 0;padding:16px 0;color:var(--color-accent-light);text-align:center}.footer-separator{border:none;border-top:1px solid var(--color-panel-border);margin:16px 0}.footer-copyright{font-size:16px}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}body{display:block}
