*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#06060a;--bg-surface:#0b0b12;--bg-card:#ffffff06;--bg-elevated:#ffffff0b;--primary:#ff2d55;--primary-dim:#ff2d5526;--primary-glow:#ff2d554d;--secondary:#ff6b6b;--text:#f0f0f5;--text-secondary:#9090a8;--text-muted:#55556a;--border:#ffffff0f;--border-hover:#ffffff1f;--max-width:1700px;--radius:14px;--radius-sm:8px;--transition:.4s cubic-bezier(.16,1,.3,1)}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}::selection{background:var(--primary-dim);color:var(--text)}.app{position:relative}.app__bg{z-index:0;pointer-events:none;opacity:.6;transition:opacity .8s;position:fixed;inset:0}.app__bg--dim{opacity:.2}.app__bg canvas{filter:brightness(.7)saturate(1.4)}.reveal{opacity:0;transform:translateY(40px)}.reveal--visible{opacity:1;transform:translateY(0)}.reveal-mask{clip-path:inset(0 100% 0 0)}.reveal-mask--visible{clip-path:inset(0 0% 0 0)}.opening-overlay{z-index:9999;pointer-events:none;position:fixed;inset:0}.opening-overlay__top,.opening-overlay__bottom{background:var(--bg);height:50%;position:absolute;left:0;right:0}.opening-overlay__top{top:0}.opening-overlay__bottom{bottom:0}.opening-overlay__glow{background:var(--primary);filter:blur(40px);opacity:.6;width:60%;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.navbar{z-index:1000;transition:var(--transition);padding:24px 0;position:fixed;top:0;left:0;right:0}.navbar--scrolled{-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border);background:#06060acc;padding:14px 0}.navbar__inner{max-width:var(--max-width);justify-content:space-between;align-items:center;margin:0 auto;padding:0 40px;display:flex}.navbar__logo{align-items:center;gap:3px;text-decoration:none;display:flex}.navbar__logo-bracket{color:var(--primary);font-family:Fira Code,monospace;font-size:21px;font-weight:700}.navbar__logo-text{color:var(--text);letter-spacing:-.5px;font-size:20px;font-weight:600}.navbar__links{gap:36px;display:flex}.navbar__link{color:var(--text-secondary);transition:var(--transition);font-size:14px;font-weight:500;text-decoration:none;position:relative}.navbar__link:after{content:"";background:var(--primary);width:0;height:2px;transition:var(--transition);position:absolute;bottom:-4px;left:0}.navbar__link:hover{color:var(--text)}.navbar__link:hover:after{width:100%}.navbar__link--active{color:var(--primary)}.navbar__link--active:after{width:100%}.navbar__cta{border:1px solid var(--primary);color:var(--text);transition:var(--transition);background:0 0;border-radius:100px;align-items:center;gap:8px;padding:10px 28px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.navbar__cta:before{content:"";background:var(--primary);transform-origin:bottom;z-index:-1;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleY(0)}.navbar__cta:hover{color:var(--bg);border-color:var(--primary)}.navbar__cta:hover:before{transform:scaleY(1)}.hero{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero__bg{z-index:0;opacity:.5;position:absolute;inset:0}.hero__overlay{z-index:1;background:radial-gradient(ellipse at center,#06060a33 0%,#06060ab3 60%,var(--bg) 100%);position:absolute;inset:0}.hero__content{z-index:2;text-align:center;max-width:900px;padding:0 40px;position:relative}.hero__badge{border:1px solid var(--border);color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border-radius:100px;margin-bottom:36px;padding:8px 22px;font-size:13px;display:inline-flex}.hero__title-wrapper{margin-bottom:20px;overflow:hidden}.hero__title{letter-spacing:-3.5px;white-space:pre-line;font-size:clamp(52px,8vw,100px);font-weight:800;line-height:1.08}.hero__title-line{background:linear-gradient(135deg,var(--text) 0%,var(--primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:block}.hero__desc{color:var(--text-secondary);max-width:520px;margin:0 auto 52px;font-size:18px;line-height:1.7}.hero__actions{visibility:hidden;justify-content:center;align-items:center;gap:16px;display:flex}.hero__scroll-indicator{z-index:2;color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;flex-direction:column;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.hero__scroll-line{background:linear-gradient(to bottom,var(--primary),transparent);width:1px;height:40px;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}.btn{cursor:pointer;transition:var(--transition);z-index:1;border:none;border-radius:100px;align-items:center;gap:10px;padding:15px 34px;font-family:inherit;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn--primary{background:var(--primary);color:var(--bg);transition:all .4s cubic-bezier(.16,1,.3,1)}.btn--primary:hover{color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary),0 0 40px var(--primary-glow);background:0 0;transform:translateY(-2px)}.btn--ghost{border:1px solid var(--border);color:var(--text);background:0 0;transition:all .4s cubic-bezier(.16,1,.3,1)}.btn--ghost:hover{background:var(--primary);border-color:var(--primary);color:var(--bg);box-shadow:0 0 30px var(--primary-glow);transform:translateY(-2px)}section{z-index:1;position:relative}.section-header{text-align:center;z-index:2;margin-bottom:80px;position:relative}.section-en-title{letter-spacing:-5px;opacity:.03;white-space:nowrap;pointer-events:none;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px var(--primary);font-size:clamp(100px,14vw,200px);font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}.section-tag{border:1px solid var(--primary-dim);color:var(--primary);letter-spacing:1px;text-transform:uppercase;background:var(--primary-dim);border-radius:100px;margin-bottom:20px;padding:6px 16px;font-size:13px;display:inline-block}.section-title{letter-spacing:-1.5px;background:linear-gradient(135deg,var(--text),var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:clamp(32px,4vw,48px);font-weight:700;position:relative}.section-desc{color:var(--text-secondary);max-width:480px;margin:0 auto;font-size:17px}.about{max-width:var(--max-width);margin:0 auto;padding:160px 40px 140px;position:relative}.about:before{content:"";background:linear-gradient(90deg,transparent,var(--primary-dim),transparent);width:60%;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.about__grid{grid-template-columns:300px 1fr;align-items:start;gap:80px;display:grid}.about__left{position:sticky;top:120px}.section__en-bg{letter-spacing:-5px;color:#0000;-webkit-text-stroke:1px var(--primary);opacity:.03;white-space:nowrap;pointer-events:none;font-size:clamp(100px,14vw,200px);font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.about__avatar-wrapper{border:2px solid var(--border-hover);border-radius:50%;width:180px;height:180px;margin:0 auto 28px;position:relative;overflow:hidden}.about__avatar{object-fit:cover;background:var(--bg-card);width:100%;height:100%}.about__avatar-glow{background:conic-gradient(from 0deg,transparent,var(--primary-dim),transparent,var(--secondary),transparent);opacity:.5;z-index:-1;border-radius:50%;animation:8s linear infinite spin;position:absolute;inset:-4px}@keyframes spin{to{transform:rotate(360deg)}}.about__contact{flex-direction:column;gap:12px;display:flex}.about__contact-item{color:var(--text-secondary);align-items:center;gap:10px;font-size:14px;display:flex}.about__contact-item svg{color:var(--primary);flex-shrink:0}.about__contact-item a{color:var(--primary);text-decoration:none}.about__contact-item a:hover{text-decoration:underline}.about__right{flex-direction:column;gap:48px;display:flex}.about__bio p{color:var(--text-secondary);margin-bottom:16px;font-size:16px;line-height:1.8}.about__bio p:last-child{margin-bottom:0}.about__stats{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition);flex-direction:column;align-items:center;gap:6px;padding:28px 12px;display:flex}.stat-card:hover{border-color:var(--primary-dim);background:var(--bg-elevated);transform:translateY(-4px);box-shadow:0 8px 30px #0000004d}.stat-card__value{color:var(--primary);letter-spacing:-1px;font-size:30px;font-weight:800}.stat-card__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:12px}.about__section-title{color:var(--text);margin-bottom:24px;font-size:20px;font-weight:600}.edu-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:16px;padding:24px;display:flex}.edu-card__icon{background:var(--primary-dim);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.edu-card h4{margin-bottom:4px;font-size:16px;font-weight:600}.edu-card p{color:var(--text-secondary);font-size:14px}.edu-card__gpa{margin-top:4px;font-weight:600;color:var(--primary)!important}.edu-card__courses{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.edu-card__course-tag{background:var(--primary-dim);color:var(--primary);border-radius:4px;padding:4px 10px;font-size:12px}.about__projects{margin-top:16px}.projects__grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition);padding:24px}.project-card:hover{border-color:var(--primary-dim);background:var(--bg-elevated);transform:translateY(-4px);box-shadow:0 8px 30px #0000004d}.project-card__title{margin-bottom:6px;font-size:16px;font-weight:600}.project-card__desc{color:var(--text-secondary);margin-bottom:12px;font-size:13px;line-height:1.6}.project-card__tech{flex-wrap:wrap;gap:6px;display:flex}.project-card__tech-tag{background:var(--border);color:var(--text-muted);letter-spacing:.3px;border-radius:4px;padding:3px 8px;font-size:11px}.project-card__period{color:var(--text-muted);margin-bottom:6px;font-size:12px}.skills{max-width:var(--max-width);margin:0 auto;padding:160px 40px 140px;position:relative}.skills:before{content:"";background:linear-gradient(90deg,transparent,var(--primary-dim),transparent);width:60%;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.skills__grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.skill-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition);padding:32px}.skill-card:hover{border-color:var(--primary-dim);background:var(--bg-elevated);transform:translateY(-4px);box-shadow:0 8px 30px #0000004d}.skill-card__header{align-items:center;gap:14px;margin-bottom:24px;display:flex}.skill-card__icon{background:var(--primary-dim);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.skill-card__title{font-size:18px;font-weight:600}.skill-card__bars{flex-direction:column;gap:18px;display:flex}.skill-bar__header{justify-content:space-between;margin-bottom:6px;display:flex}.skill-bar__name{color:var(--text-secondary);font-size:14px;font-weight:500}.skill-bar__level{color:var(--text-muted);font-size:13px;font-weight:600}.skill-bar__track{background:#ffffff0f;border-radius:4px;height:3px;overflow:hidden}.skill-bar__fill{background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:4px;width:0;height:100%}.contact{justify-content:center;align-items:center;min-height:100vh;padding:140px 40px 0;display:flex;position:relative;overflow:hidden}.contact__bg{z-index:0;background:radial-gradient(ellipse at 20% 50%,var(--primary-dim) 0%,transparent 50%), radial-gradient(ellipse at 80% 50%,#ff6b6b0d 0%,transparent 50%), linear-gradient(180deg,var(--bg) 0%,#0a0a18 100%);position:absolute;inset:0}.contact__content{z-index:1;max-width:var(--max-width);flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.contact__header{text-align:center;margin-bottom:80px}.contact__body{grid-template-columns:1fr 1fr;align-items:center;gap:100px;width:100%;display:grid}.contact__name{letter-spacing:-2px;background:linear-gradient(135deg,var(--text),var(--primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:42px;font-weight:800}.contact__title{color:var(--text-secondary);margin-bottom:32px;font-size:16px}.contact__links{flex-direction:column;gap:16px;display:flex}.contact__link{color:var(--text-secondary);transition:var(--transition);align-items:center;gap:12px;font-size:15px;text-decoration:none;display:flex}.contact__link:hover{color:var(--text)}.contact__link svg{color:var(--primary);flex-shrink:0}.contact__social{gap:16px;margin-top:40px;display:flex}.contact__social-link{border:1px solid var(--border);width:48px;height:48px;color:var(--text-secondary);transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.contact__social-link:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-dim);box-shadow:0 0 20px var(--primary-glow);transform:translateY(-4px)}.contact__form{flex-direction:column;gap:16px;display:flex}.contact__form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.contact__input,.contact__textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);transition:var(--transition);outline:none;padding:14px 18px;font-family:inherit;font-size:15px}.contact__input:focus,.contact__textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.contact__input::placeholder,.contact__textarea::placeholder{color:var(--text-muted)}.contact__textarea{resize:vertical;min-height:120px}.contact__submit{justify-content:center;align-self:flex-start;align-items:center;gap:8px;margin-top:8px;display:inline-flex}.contact__submit:hover{color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:0 0}.contact__footer{text-align:center;border-top:1px solid var(--border);width:100%;margin-top:100px;padding:60px 0 40px}.contact__footer p{color:var(--text-muted);font-size:14px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (width<=1200px){.about__grid,.contact__body{gap:48px}.projects__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1024px){.about__grid{grid-template-columns:1fr}.about__left{flex-direction:column;align-items:center;display:flex;position:static}.about__contact{flex-flow:wrap;justify-content:center}.skills__grid,.contact__body{grid-template-columns:1fr}.projects__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.navbar__inner{padding:0 20px}.navbar__links{display:none}.hero__content{padding:0 20px}.about,.skills,.contact{padding:80px 20px}.about__stats{grid-template-columns:repeat(2,1fr)}.contact__form-row{grid-template-columns:1fr}.section-header{margin-bottom:48px}.projects__grid{grid-template-columns:1fr}}.toast{background:var(--primary);color:var(--bg);z-index:9999;opacity:0;pointer-events:none;white-space:nowrap;box-shadow:0 4px 20px var(--primary-glow);border-radius:100px;padding:12px 28px;font-size:14px;font-weight:600;transition:all .4s cubic-bezier(.16,1,.3,1);position:fixed;bottom:40px;left:50%;transform:translate(-50%)translateY(20px)}.toast--visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}
