App.css *{box-sizing:border-box;margin:0;padding:0}body{margin:0;background:#0a0a0a;color:#e7e7e7;font-family:Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden}html,body{overflow-x:hidden}.main-nav{position:fixed;top:0;left:0;right:0;z-index:2000;background:#0a0a0ad9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.08);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:70px}.nav-brand{display:flex;align-items:center;gap:12px}.brand-name{font-size:1.4rem;font-weight:700;color:#fff}.brand-title{font-size:.9rem;color:#888;font-weight:400}.nav-link{background:transparent;border:none;padding:10px 20px;border-radius:12px;color:#d4d4d4;font-size:.95rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;font-family:inherit}.nav-link:hover{background:#ffffff0d;color:#fff}.nav-link.active{background:#ffffff1a;color:#fff}.nav-icon{font-size:1.1rem}.nav-text{font-weight:500}@media(max-width:768px){.main-nav{padding:0 20px}.nav-text{display:none}.nav-link{padding:10px 14px}}.stage-container{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:1;pointer-events:auto}.stage{position:relative;width:100%;height:100%;overflow:hidden}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.scroll-indicator{position:fixed;right:30px;top:50%;transform:translateY(-50%);z-index:2000;display:flex;flex-direction:column;gap:16px;background:#00000080;padding:20px;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.indicator-dot{width:12px;height:12px;border-radius:50%;background:#fff3;border:2px solid rgba(255,255,255,.1);cursor:pointer;transition:all .3s ease;position:relative;transform:scale(1)}.indicator-dot:hover{transform:scale(1.3);background:#fff6}.indicator-dot.active{background:#fffc;border-color:#fff9;transform:scale(1.5)}.indicator-label{position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:11px;color:#fff9;white-space:nowrap;opacity:0;transition:opacity .3s ease;pointer-events:none}.content-sections{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:100;display:flex;align-items:center;justify-content:center}.modal-overlay{position:absolute;inset:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:101}.portfolio-section{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;padding:0;position:relative;z-index:102}.section-content{max-width:800px;width:95%;max-height:85vh;position:relative;background:#000000fa;padding:40px 50px;border-radius:24px;border:3px solid rgba(0,255,136,.5);box-shadow:0 0 80px #0f86,0 20px 120px #000000e6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:slideIn .5s ease-out;overflow-y:auto;overflow-x:hidden}.section-content::-webkit-scrollbar{width:8px}.section-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.section-content::-webkit-scrollbar-thumb{background:#00ff884d;border-radius:10px}.section-content::-webkit-scrollbar-thumb:hover{background:#00ff8880}@keyframes slideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.section-content.visible{opacity:1;transform:translateY(0)}.close-modal-btn{position:absolute;top:20px;right:20px;width:40px;height:40px;border:none;background:#ffffff1a;border-radius:50%;font-size:24px;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.close-modal-btn:hover{background:#fff3;transform:rotate(90deg)}.section-title{font-size:3rem;font-weight:700;margin-bottom:30px;background:linear-gradient(135deg,#0f8,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center}.about-content{font-size:1.1rem;line-height:1.8}.intro-text{font-size:1.3rem;margin-bottom:20px;color:#fff}.intro-text strong{color:#fff;font-weight:600}.about-content p{margin-bottom:20px;color:#d4d4d4}.contact-info{display:flex;gap:24px;margin-top:30px;flex-wrap:wrap}.contact-link{color:#a0a0a0;text-decoration:none;transition:color .3s ease;font-size:.95rem}.contact-link:hover{color:#fff}.experience-timeline{display:flex;flex-direction:column;gap:40px}.experience-item{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:32px;transition:all .3s ease}.experience-item:hover{background:#ffffff0a;border-color:#ffffff1a;transform:translateY(-4px)}.experience-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;flex-wrap:wrap;gap:12px}.experience-header h3{font-size:1.5rem;color:#fff;font-weight:600}.company{color:#888;font-size:1rem}.period{display:inline-block;font-size:.9rem;color:#666;margin-bottom:12px}.experience-item p{color:#d4d4d4;line-height:1.7;margin-bottom:16px}.tech-tags{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{background:#ffffff14;border:1px solid rgba(255,255,255,.1);padding:6px 14px;border-radius:20px;font-size:.85rem;color:silver}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px}.skill-category{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:28px}.skill-category h3{font-size:1.3rem;color:#fff;margin-bottom:20px;font-weight:600}.skill-items{display:flex;flex-direction:column;gap:12px}.skill-item{background:#ffffff0a;padding:12px 16px;border-radius:8px;font-size:.95rem;color:#d4d4d4;text-align:center;transition:all .3s ease}.skill-item:hover{background:#ffffff14;transform:translate(8px)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}.project-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:32px;transition:all .3s ease}.project-card:hover{background:#ffffff0a;border-color:#ffffff1a;transform:translateY(-8px)}.project-card h3{font-size:1.4rem;color:#fff;margin-bottom:12px;font-weight:600}.project-card p{color:#d4d4d4;line-height:1.7;margin-bottom:20px}.project-tech{margin-bottom:20px}.project-link{color:#888;text-decoration:none;font-size:.95rem;transition:color .3s ease}.project-link:hover{color:#fff}.contact-section{max-width:600px;margin:0 auto}.contact-text{font-size:1.2rem;text-align:center;margin-bottom:40px;color:#d4d4d4}.contact-form{display:flex;flex-direction:column;gap:20px}.form-input,.form-textarea{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;color:#fff;font-size:1rem;font-family:inherit;transition:all .3s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:#ffffff4d;background:#ffffff0d}.form-textarea{resize:vertical}.submit-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:16px 32px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.submit-btn:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.icon-label{color:#e6e6e6;font:11px/1.2 Inter,system-ui,sans-serif;opacity:0;transition:opacity .2s ease}@media(max-width:768px){.section-title{font-size:2rem}.portfolio-section{padding:100px 24px;min-height:calc(100vh - 70px)}.scroll-indicator{right:15px}.contact-info{flex-direction:column;gap:16px}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;scroll-behavior:smooth}html,body{overflow-x:hidden;background:#0a0a0a}body{color:#e7e7e7;font-family:Inter,system-ui,-apple-system,sans-serif}.app{position:relative;width:100%;min-height:100vh}.main-nav{position:fixed;inset:0 0 auto;height:64px;z-index:3000;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#0a0a0ad9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.app.overlay-open .main-nav,.app.overlay-open .stage{filter:blur(2px) brightness(.6)}.nav-brand{display:flex;align-items:center;gap:10px}.brand-name{color:#fff;font-weight:800;letter-spacing:.3px}.brand-title{color:#9aa;font-weight:600;font-size:.95rem}.nav-links{display:flex;gap:8px;list-style:none}.nav-link{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:1px solid transparent;color:#d4d4d4;background:transparent;font:500 .95rem/1 Inter,system-ui,sans-serif;cursor:pointer;transition:.2s ease}.nav-link:hover{background:#ffffff0f;color:#fff;transform:translateY(-1px)}.nav-link.active{background:#00ff881f;border-color:#00ff8859;color:#fff}.nav-icon{font-size:1rem}.humberger{opacity:0}.stage-container{position:fixed;inset:0;z-index:1}.stage{width:100%;height:100%}.stage canvas{position:absolute;inset:0;width:100%;height:100%}.scroll-indicator{position:fixed;z-index:2900;right:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;background:#00000073;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.08)}.loading-overlay{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;background:radial-gradient(120% 120% at 50% 0%,#00ff8812,#000000eb);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity .35s ease}.loading-card{padding:22px 28px;border-radius:16px;border:1px solid rgba(0,255,136,.28);background:#0000008c;color:#e7e7e7;text-align:center;min-width:240px;box-shadow:0 0 40px #00ff882e,0 10px 60px #000c}.loading-bar{height:8px;border-radius:999px;background:#ffffff14;overflow:hidden;margin-top:12px}.loading-bar>span{display:block;height:100%;width:0%;background:linear-gradient(90deg,#0f8,#b7ffd9);transition:width .2s ease}.indicator-dot{width:12px;height:12px;border-radius:50%;background:#ffffff3d;border:2px solid rgba(255,255,255,.14);cursor:pointer;position:relative;transition:.18s ease}.indicator-dot:hover{transform:scale(1.22);background:#ffffff61}.indicator-dot.active{transform:scale(1.5);background:#00ff88e6;border-color:#00ff88a6}.indicator-label{position:absolute;right:18px;top:50%;transform:translateY(-50%);white-space:nowrap;color:#ffffffc7;font-size:11px;opacity:0;transition:.18s ease}.indicator-dot:hover .indicator-label,.indicator-dot.active .indicator-label{opacity:1}.content-overlay{position:fixed;inset:0;z-index:4000;display:grid;place-items:center center;padding-top:24px;pointer-events:none}.content-card{width:min(920px,94vw);max-height:86vh;overflow:auto;position:relative;padding:36px 44px;border-radius:22px;pointer-events:auto;background:radial-gradient(120% 120% at 50% 0%,#00ff8812,#000000e6);border:1px solid rgba(0,255,136,.28);box-shadow:0 0 50px #00ff8838,0 14px 90px #000000d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:cardIn .35s ease-out}@keyframes cardIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.section-title{text-align:center;font-weight:800;letter-spacing:.4px;font-size:clamp(2rem,1rem + 2.4vw,2.8rem);background:linear-gradient(135deg,#0f8,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-text{color:#d6d6d6;line-height:1.75;font-size:1.05rem;margin-top:14px}.tech-tag{display:inline-block;margin:4px;padding:6px 12px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#cfcfcf;font-size:.85rem}.close-btn{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:#ffffff0f;color:#fff;border:1px solid rgba(255,255,255,.15);cursor:pointer;transition:.2s ease}.close-btn:hover{background:#ffffff1f;transform:rotate(90deg)}.form-grid{display:grid;gap:14px;margin-top:12px}.form-input,.form-textarea{width:100%;padding:12px 14px;border-radius:12px;color:#fff;font-size:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.12)}.form-input:focus,.form-textarea:focus{outline:none;border-color:#00ff8880;background:#ffffff14}.submit-btn{padding:12px 16px;border-radius:12px;border:1px solid rgba(0,255,136,.5);background:#00ff8829;color:#fff;font-weight:700;cursor:pointer;transition:.15s ease}.submit-btn:hover{background:#00ff883d;transform:translateY(-1px)}@media(max-width:768px){.nav-text{display:none}.content-card{padding:26px}.scroll-indicator{right:10px}.nav-links{gap:0px}.humberger{opacity:1}.content-overlay{inset:100px 0 0;padding-bottom:25px}.indicator-dot{width:14px;height:14px}}
