.resume-container{position:relative;height:100vh;overflow-y:scroll;scroll-snap-type:y mandatory}.bg-gradient{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(124,127,255,.07) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 80% 80%,rgba(139,92,246,.04) 0%,transparent 50%);pointer-events:none;z-index:-2}.bg-grid{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:80px 80px;pointer-events:none;z-index:-1}.snap-page{height:100vh;min-height:100vh;max-height:100vh;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:2rem 3rem;overflow:hidden}.snap-page-content{max-width:960px;width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding-bottom:3rem}.page-nav{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-top:auto;padding-top:var(--space-md);flex-shrink:0}.page-nav-btn{padding:.6rem 1.5rem;border-radius:100px;background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-accent);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease;letter-spacing:.02em}.page-nav-btn:hover:not(:disabled){border-color:var(--color-accent-border);background:var(--color-accent-glow);box-shadow:0 4px 20px #7c7fff1a;transform:translateY(-1px)}.page-nav-btn:disabled{opacity:.3;cursor:not-allowed}.page-nav-info{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--color-text-dim);letter-spacing:.05em}.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);font-size:1.5rem;color:var(--color-text-dim);animation:bounce 2s infinite;opacity:.5}.quote-banner{margin-top:var(--space-xl);padding:1rem 2rem;text-align:center;height:5rem;display:flex;align-items:center;justify-content:center;overflow:hidden}.quote-banner-text{font-size:.88rem;font-style:italic;color:var(--color-text-secondary);line-height:1.6;margin:0;max-width:700px;opacity:0;transition:opacity .5s ease;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.quote-banner-text.visible{opacity:1}.hero{text-align:center}.hero-content{animation:fadeIn 1s ease-out}.hero-badge{display:inline-block;padding:.5rem 1.5rem;border-radius:100px;background:var(--color-accent-glow);border:1px solid var(--color-accent-border);color:var(--color-accent);font-size:.8rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--space-lg)}.hero-name{font-size:clamp(3.5rem,10vw,6rem);font-weight:800;margin:0;background:linear-gradient(160deg,#ffffff 20%,var(--color-accent) 80%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.04em;line-height:1.05}.hero-tagline{max-width:540px;margin:var(--space-lg) auto var(--space-xl);color:var(--color-text-secondary);font-size:1.1rem;line-height:1.8;font-weight:300}.hero-links{display:flex;justify-content:center;gap:var(--space-sm);flex-wrap:wrap}.hero-link{display:flex;align-items:center;gap:.6rem;padding:.7rem 1.4rem;border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-secondary);text-decoration:none;font-size:.88rem;font-weight:500;transition:all .3s ease}.hero-link:hover{background:var(--color-bg-card-hover);border-color:var(--color-border-hover);color:var(--color-text);transform:translateY(-2px);box-shadow:0 8px 32px #7c7fff14}.hero-link--download{background:var(--color-accent-soft);border-color:transparent;color:#fff}.hero-link--download:hover{background:var(--color-accent);border-color:transparent;color:#fff;box-shadow:0 8px 32px #7c7fff33}.link-icon{width:18px;height:18px;object-fit:contain;opacity:.8}.section-title{display:flex;align-items:center;gap:.85rem;font-size:1.3rem;font-weight:700;margin:0 0 var(--space-xl);color:var(--color-text);letter-spacing:-.01em;flex-shrink:0}.section-icon{font-size:1.2rem;opacity:.9}.cert-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.cert-card{display:block;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border);transition:all .3s ease;text-decoration:none;color:inherit}.cert-card:hover{border-color:var(--color-border-hover);transform:translateY(-2px);box-shadow:0 12px 40px #0003}.cert-name{font-weight:600;font-size:.95rem;margin-bottom:.5rem;color:var(--color-text)}.cert-dates{font-size:.78rem;color:var(--color-text-dim);margin-bottom:.6rem}.cert-code{font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--color-text-dim);letter-spacing:.05em}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);align-items:start;min-height:0}.skill-group{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border);transition:border-color .3s ease;display:flex;flex-direction:column}.skill-group:hover{border-color:var(--color-border-hover)}.skill-category{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin:0 0 var(--space-md);opacity:.9}.skill-tags{display:flex;flex-wrap:wrap;gap:.6rem}.skill-tag{padding:.4rem .85rem;border-radius:var(--radius-sm);background:#ffffff08;border:1px solid var(--color-border);font-size:.82rem;color:var(--color-text-secondary);transition:all .25s ease}.skill-tag:hover{background:var(--color-accent-glow);color:var(--color-text);border-color:var(--color-accent-border)}.timeline{position:relative;padding-left:3rem;flex:1;min-height:0;overflow-y:auto}.timeline:before{content:"";position:absolute;left:7px;top:12px;bottom:2rem;width:1px;background:linear-gradient(to bottom,var(--color-accent-border),var(--color-border),transparent)}.timeline-item{position:relative;margin-bottom:var(--space-xl)}.timeline-item:last-child{margin-bottom:0}.timeline-marker{position:absolute;left:-3rem;top:12px;width:15px;height:15px;border-radius:50%;background:var(--color-bg);border:2px solid var(--color-accent-border);z-index:1;transition:all .3s ease}.timeline-item:first-child .timeline-marker{background:var(--color-accent-soft);border-color:var(--color-accent-soft);box-shadow:0 0 20px #7c7fff33}.timeline-item:hover .timeline-marker{border-color:var(--color-accent);box-shadow:0 0 12px #7c7fff26}.timeline-content{padding:var(--space-lg) var(--space-lg) var(--space-lg);border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border);transition:all .3s ease}.timeline-content:hover{border-color:var(--color-border-hover);box-shadow:0 8px 40px #00000026}.job-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.job-title{font-size:1.1rem;font-weight:700;margin:0;color:var(--color-text);letter-spacing:-.01em}.job-company{font-size:.9rem;color:var(--color-accent);margin-top:.35rem;font-weight:400;opacity:.85}.job-period{font-family:JetBrains Mono,monospace;font-size:.73rem;color:var(--color-text-dim);white-space:nowrap;padding:.3rem .7rem;background:#ffffff08;border:1px solid var(--color-border);border-radius:var(--radius-sm);letter-spacing:.02em}.job-description{margin:var(--space-sm) 0 var(--space-md);font-size:.92rem;color:#ffffffb3;line-height:1.6;font-style:italic}.job-highlights{margin:var(--space-md) 0 0;padding:0;list-style:none}.job-highlights li{position:relative;padding:.45rem 0 .45rem 1.4rem;font-size:.88rem;color:var(--color-text-secondary);line-height:1.7}.job-highlights li:before{content:"";position:absolute;left:0;top:1rem;width:5px;height:5px;border-radius:50%;background:var(--color-accent-border)}.edu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:var(--space-md)}.edu-card{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border);transition:all .3s ease}.edu-card:hover{border-color:var(--color-border-hover);transform:translateY(-2px)}.edu-degree{font-weight:700;font-size:1rem;margin-bottom:.4rem;color:var(--color-text)}.edu-school{color:var(--color-text-secondary);font-size:.88rem}.edu-detail{color:var(--color-accent);font-size:.85rem;margin-top:.75rem;font-weight:500;opacity:.85}.edu-period{font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--color-text-dim);margin-top:.75rem;letter-spacing:.02em}.honors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.6rem}.honor-item{padding:.6rem var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border);font-size:.85rem;color:var(--color-text-secondary);transition:all .3s ease}.honor-item:hover{border-color:var(--color-border-hover);color:var(--color-text);transform:translate(4px)}.footer{margin-top:var(--space-lg);padding:var(--space-md) 0;text-align:center;border-top:1px solid var(--color-border)}.footer p{margin:0;font-size:.8rem;color:var(--color-text-dim);letter-spacing:.02em}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-8px)}60%{transform:translate(-50%) translateY(-4px)}}@media(max-width:768px){.snap-page{padding:3rem 1.5rem 1rem;justify-content:flex-start}.hero-name{font-size:3rem}.hero-tagline{font-size:1rem;margin:var(--space-md) auto var(--space-md)}.hero-badge{margin-bottom:var(--space-md)}.job-header{flex-direction:column;gap:.5rem}.timeline{padding-left:2.5rem}.timeline-marker{left:-2.5rem}.skills-grid{grid-template-columns:1fr;gap:var(--space-sm);min-height:0;overflow:hidden}.skill-group{min-height:unset;padding:var(--space-sm) var(--space-md)}.skill-tags{gap:.4rem}.skill-tag{padding:.3rem .65rem;font-size:.75rem}.cert-grid{grid-template-columns:1fr}.edu-grid{grid-template-columns:1fr;gap:var(--space-sm)}.edu-card{padding:var(--space-sm) var(--space-md)}.honors-grid{grid-template-columns:1fr;gap:.5rem}.honor-item{padding:.5rem var(--space-sm);font-size:.82rem}.section-title{font-size:1.1rem;margin-bottom:var(--space-md)}.footer{margin-top:var(--space-md);padding:var(--space-sm) 0}.timeline-content{padding:var(--space-md)}.job-highlights li{padding:.25rem 0 .25rem 1.2rem;font-size:.82rem;line-height:1.5}.job-highlights li:nth-child(n+6){display:none}.page-nav{padding-top:var(--space-sm);padding-bottom:1rem;gap:var(--space-sm)}.page-nav-btn{padding:.4rem 1rem;font-size:.78rem}.edu-detail,.edu-period{margin-top:.4rem}.quote-banner{margin-top:var(--space-md);padding:.5rem 1rem;min-height:4.5rem}.quote-banner-text{font-size:.78rem;line-height:1.5}.scroll-hint{bottom:1rem}}@media(max-width:480px){.hero-links{flex-direction:column;align-items:stretch}.hero-link{justify-content:center}.snap-page{padding:2rem 1rem .75rem}.hero-name{font-size:2.5rem}.quote-banner{margin-top:var(--space-sm);padding:.5rem;min-height:5rem}.quote-banner-text{font-size:.72rem}.cert-card{padding:var(--space-sm) var(--space-md)}.cert-name{font-size:.85rem}.job-highlights li:nth-child(n+5){display:none}.edu-card{padding:var(--space-sm)}.edu-degree{font-size:.88rem;margin-bottom:.2rem}.edu-school{font-size:.8rem}.honor-item{padding:.4rem .6rem;font-size:.75rem}.section-title{font-size:1rem;margin-bottom:var(--space-sm)}.skill-group{padding:var(--space-sm)}.skill-category{margin-bottom:var(--space-sm)}.skill-tags{gap:.4rem}.skill-tag{padding:.3rem .6rem;font-size:.75rem}.honors-grid{grid-template-columns:repeat(2,1fr);gap:.4rem}}@media(max-height:700px)and (max-width:480px){.edu-card{padding:.4rem .6rem}.edu-degree{font-size:.82rem}.edu-school{font-size:.75rem}.edu-detail{font-size:.75rem;margin-top:.25rem}.edu-period{font-size:.65rem;margin-top:.25rem}}:root{--color-bg: #08080c;--color-bg-elevated: #0f0f16;--color-bg-card: #13131d;--color-bg-card-hover: #191926;--color-accent: #7c7fff;--color-accent-soft: #6366f1;--color-accent-glow: rgba(124, 127, 255, .06);--color-accent-border: rgba(124, 127, 255, .12);--color-text: #e8eaf0;--color-text-secondary: #a0a6b8;--color-text-dim: #5c6278;--color-border: rgba(255, 255, 255, .06);--color-border-hover: rgba(124, 127, 255, .25);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 5rem;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.7;font-weight:400;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:hidden}#root{height:100vh}::selection{background:var(--color-accent-soft);color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}
