body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#0b0f14;--surface:#0f141a;--panel:#111821;--border:#1a2530;--text:#e6edf3;--muted:#8b98a5;--accent:#7dd3fc;--accent-strong:#38bdf8;--accent-faint:#7dd3fc1f;--shadow:0 8px 30px #00000059;--radius:12px;--container:1200px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-user-select:none;user-select:none}body{animation:backgroundShift 20s ease-in-out infinite alternate;background:radial-gradient(800px 400px at 20% -20%,#38bdf814,#0000 50%),radial-gradient(600px 300px at 80% 20%,#7dd3fc0f,#0000 50%),radial-gradient(1000px 500px at 50% 50%,#38bdf808,#0000 70%),linear-gradient(135deg,#0b0f14f2,#0f141af2),#0b0f14;background:radial-gradient(800px 400px at 20% -20%,#38bdf814,#0000 50%),radial-gradient(600px 300px at 80% 20%,#7dd3fc0f,#0000 50%),radial-gradient(1000px 500px at 50% 50%,#38bdf808,#0000 70%),linear-gradient(135deg,#0b0f14f2,#0f141af2),var(--bg);background-attachment:fixed;color:#e6edf3;color:var(--text);cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><circle cx="12" cy="12" r="7" fill="none" stroke="%237dd3fc" stroke-width="2"/><circle cx="12" cy="12" r="2" fill="%2338bdf8"/></svg>') 12 12,auto;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;line-height:1.6;overflow-x:hidden}@keyframes backgroundShift{0%{background-position:0 0,100% 0,50% 50%,0 0,0 0}to{background-position:10% 10%,90% 10%,60% 60%,10% 10%,10% 10%}}.nav-links a,.project-card,.skill-card,.timeline-content,a,button{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8" fill="%237dd3fc" opacity="0.25"/><circle cx="12" cy="12" r="4" fill="%2338bdf8"/></svg>') 12 12,pointer}::selection{background:#38bdf8;background:var(--accent-strong);color:#0b0f14}.grid-overlay{background-image:linear-gradient(#1a2530 1px,#0000 0),linear-gradient(90deg,#1a2530 1px,#0000 0);background-image:linear-gradient(var(--border) 1px,#0000 1px),linear-gradient(90deg,var(--border) 1px,#0000 1px);background-size:44px 44px;inset:0;opacity:.12;pointer-events:none;position:fixed;z-index:-1}.intro-overlay{grid-gap:1rem;background:#0b0f14e6;display:grid;gap:1rem;inset:0;place-items:center;position:fixed;z-index:1000}.intro-symbol{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#e6edf3,#7dd3fc);background:linear-gradient(90deg,var(--text),var(--accent));-webkit-background-clip:text;background-clip:text;font-size:64px;font-weight:800;letter-spacing:-.02em}.intro-text{color:#8b98a5;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:20px}nav{align-items:center;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background:#0b0f1466;border-bottom:1px solid #1a2530b3;box-shadow:0 4px 20px #0000004d;display:flex;height:64px;left:0;position:fixed;right:0;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:50}nav.visible{background:#0b0f14b3;border-bottom-color:#38bdf84d;box-shadow:0 8px 32px #38bdf81a}.nav-container{align-items:center;display:flex;height:100%;justify-content:flex-start;margin:0 auto;max-width:1200px;max-width:var(--container);padding:0 24px}.nav-logo{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#e6edf3,#7dd3fc);background:linear-gradient(90deg,var(--text),var(--accent));-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:800;letter-spacing:-.02em;margin-left:-25px;white-space:nowrap}.nav-links{display:flex;gap:32px;list-style:none;margin-left:755px}.nav-links a{color:#8b98a5;color:var(--muted);font-size:14px;font-weight:600;padding:6px 0;position:relative;text-decoration:none;transition:color .15s ease}.nav-links a:after{background:#7dd3fc;background:var(--accent);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .2s ease;width:0}.nav-links a:hover{color:#e6edf3;color:var(--text)}.nav-links a:hover:after{width:100%}.hero-section{align-items:center;display:flex;min-height:100vh;overflow:hidden;padding:120px 24px 40px;position:relative}.hero-section:before{animation:heroGlow 12s ease-in-out infinite alternate;background:radial-gradient(circle at 20% 30%,#38bdf81f 0,#0000 60%),radial-gradient(circle at 80% 70%,#7dd3fc1a 0,#0000 60%),radial-gradient(circle at 50% 50%,#38bdf80f 0,#0000 80%);bottom:0;left:0;right:0;top:0}.hero-section:after,.hero-section:before{content:"";pointer-events:none;position:absolute}.hero-section:after{animation:heroPulse 6s ease-in-out infinite alternate;background:radial-gradient(circle,#38bdf80a 0,#0000 70%);border-radius:50%;height:400px;left:50%;top:50%;transform:translate(-50%,-50%);width:400px}@keyframes heroGlow{0%{opacity:.4;transform:scale(1) rotate(0deg)}50%{opacity:.8;transform:scale(1.05) rotate(1deg)}to{opacity:.6;transform:scale(1.1) rotate(0deg)}}@keyframes heroPulse{0%{opacity:.2;transform:translate(-50%,-50%) scale(.8)}to{opacity:.6;transform:translate(-50%,-50%) scale(1.2)}}.hero-container{grid-gap:clamp(40px,6vw,80px);align-items:center;display:grid;gap:clamp(40px,6vw,80px);grid-template-columns:1.1fr .9fr;margin:0 auto;max-width:1200px;max-width:var(--container);position:relative;width:100%;z-index:2}.hero-left{opacity:0;transform:translateY(30px) scale(.95);transition:all 1s cubic-bezier(.4,0,.2,1)}.hero-left.visible{opacity:1;transform:translateY(0) scale(1)}.hero-subtitle{color:#8b98a5;color:var(--muted);font-size:.95rem;font-weight:500;letter-spacing:.05em;margin-bottom:6px;opacity:.8}.hero-name{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#e6edf3,#7dd3fc);background:linear-gradient(90deg,var(--text),var(--accent));-webkit-background-clip:text;background-clip:text;font-size:clamp(36px,6vw,56px);font-weight:900;letter-spacing:-.03em;line-height:1.1;margin-bottom:12px;margin-left:-3px;text-shadow:0 0 20px #38bdf826}.typewriter-cursor{animation:cursorBlink 1s steps(2,jump-none) infinite;background:#7dd3fc;background:var(--accent);display:inline-block;height:1.1em;margin-left:4px;width:2px}@keyframes cursorBlink{0%,50%{opacity:1}50.01%,to{opacity:0}}.hero-handle{color:#38bdf8;color:var(--accent-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Courier New,monospace;font-size:15px;margin-bottom:14px;opacity:.9}.hero-bio{color:#8b98a5;color:var(--muted);font-size:17px;line-height:1.6;max-width:50ch;opacity:.95}.terminal{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#11171ff2,#11171fcc);border:1px solid #1a2530;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 12px 40px #00000080;justify-self:end;max-width:620px;opacity:0;overflow:hidden;position:relative;transform:translateY(30px) scale(.9) rotateX(10deg);transition:all 1s cubic-bezier(.4,0,.2,1);width:100%}.terminal:before{background:linear-gradient(90deg,#7dd3fc,#38bdf8,#7dd3fc);background:linear-gradient(90deg,var(--accent),var(--accent-strong),var(--accent));border-radius:12px 12px 0 0;border-radius:var(--radius) var(--radius) 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0;z-index:1}.terminal.visible{opacity:1;transform:translateY(0) scale(1) rotateX(0deg)}.terminal-header{align-items:center;background:#111821cc;border-bottom:1px solid #1a2530;border-bottom:1px solid var(--border);display:flex;gap:8px;padding:10px 14px}.terminal-dot{border-radius:50%;height:10px;width:10px}.terminal-title{color:#8b98a5;color:var(--muted);margin-left:auto}.terminal-body,.terminal-title{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.terminal-body{display:flex;line-height:1.8;min-height:340px;white-space:pre-wrap}.line-numbers{background:#0f141acc;border-right:1px solid #1a2530;border-right:1px solid var(--border);color:#556170;font-size:12px;min-width:44px;padding:16px 12px;text-align:right;-webkit-user-select:none;user-select:none;white-space:pre}.code-content{flex:1 1;padding:16px 14px;position:relative}.terminal-typewriter-cursor{animation:cursorBlink 1s steps(2,jump-none) infinite;background:#7dd3fc;background:var(--accent);display:inline-block;height:1em;margin-left:2px;width:2px}.section{padding:88px 24px;position:relative}.section-container{margin:0 auto;max-width:1200px;max-width:var(--container)}.section-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#e6edf3,#7dd3fc);background:linear-gradient(90deg,var(--text),var(--accent));-webkit-background-clip:text;background-clip:text;font-size:clamp(24px,4vw,36px);font-weight:900;letter-spacing:-.02em;margin-bottom:36px;text-align:center}.skills-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.project-card,.skill-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#11171fcc,#11171f99);border:1px solid #1a2530;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 4px 20px #0000004d;overflow:hidden;padding:20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-card:before,.skill-card:before{background:linear-gradient(90deg,#0000,#38bdf814,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.project-card:hover:before,.skill-card:hover:before{left:100%}.project-card:hover,.skill-card:hover{background:linear-gradient(135deg,#11171fe6,#11171fb3);border-color:#38bdf866;box-shadow:0 12px 40px #38bdf826;transform:translateY(-6px) scale(1.02)}.skill-icon{background:#7dd3fc1f;background:var(--accent-faint);border:1px solid #38bdf84d;border-radius:10px;color:#38bdf8;color:var(--accent-strong);display:grid;height:44px;margin-bottom:12px;place-items:center;width:44px}.skill-icon svg{height:22px;width:22px}.skill-title{color:#e6edf3;color:var(--text);font-size:16px;font-weight:700;margin-bottom:6px}.skill-desc{color:#8b98a5;color:var(--muted);font-size:14px;line-height:1.7}.contact-link{color:#38bdf8;color:var(--accent-strong);display:block;font-size:14px;font-weight:500;margin-top:6px;text-decoration:none;transition:color .15s ease}.contact-link:hover{color:#7dd3fc;color:var(--accent);text-decoration:underline}.about-me-content{grid-gap:40px;align-items:center;display:grid;gap:40px;grid-template-columns:200px 1fr;margin:0 auto;max-width:1000px}.about-me-skills{margin-top:60px}.about-me-avatar{display:flex;justify-content:center}.about-me-avatar img{border:4px solid #7dd3fc;border:4px solid var(--accent);border-radius:50%;box-shadow:0 8px 25px #38bdf84d;height:150px;transition:transform .3s ease;width:150px}.about-me-avatar img:hover{transform:scale(1.05)}.about-me-text{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);background:linear-gradient(135deg,#11171ffa,#11171fe6);border:1px solid #38bdf81a;border-radius:28px;box-shadow:0 20px 60px #0009;overflow:hidden;padding:40px;position:relative;transition:all .5s cubic-bezier(.4,0,.2,1)}.about-me-text:hover{border-color:#38bdf84d;box-shadow:0 24px 72px #38bdf833;transform:translateY(-8px) scale(1.01)}.about-me-text:before{background:linear-gradient(90deg,#7dd3fc,#38bdf8,#7dd3fc);background:linear-gradient(90deg,var(--accent),var(--accent-strong),var(--accent));border-radius:24px 24px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.about-me-text:after{background:linear-gradient(135deg,#0000,#38bdf814,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left 1s ease;width:100%}.about-me-text:hover:after{left:100%}.about-me-text h3{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#e6edf3,#7dd3fc);background:linear-gradient(90deg,var(--text),var(--accent));-webkit-background-clip:text;background-clip:text;color:#e6edf3;color:var(--text);font-size:28px;font-weight:800;margin-bottom:20px}.about-me-text p{color:#8b98a5;color:var(--muted);font-size:17px;line-height:1.7;margin-bottom:20px;position:relative;z-index:1}.about-me-text p:last-child{margin-bottom:0}.about-me-skills{margin-top:20px}.skills-subtitle{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#e6edf3,#7dd3fc);background:linear-gradient(90deg,var(--text),var(--accent));-webkit-background-clip:text;background-clip:text;color:#e6edf3;color:var(--text);font-size:22px;font-weight:800;margin-bottom:24px;text-align:center}.skills-grid-compact{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.skill-card-compact{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#11171ffa,#11171fe6);border:1px solid #38bdf81a;border-radius:16px;box-shadow:0 8px 24px #0006;overflow:hidden;padding:20px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.skill-card-compact:before{background:linear-gradient(135deg,#0000,#38bdf81f,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.skill-card-compact:hover:before{left:100%}.skill-card-compact:hover{background:linear-gradient(135deg,#11171ffa,#11171fe6);border-color:#38bdf880;box-shadow:0 16px 48px #38bdf840;transform:translateY(-10px) scale(1.03)}.skill-icon-compact{background:linear-gradient(135deg,#7dd3fc1f,#38bdf833);background:linear-gradient(135deg,var(--accent-faint),#38bdf833);border:1px solid #38bdf866;border-radius:10px;color:#38bdf8;color:var(--accent-strong);display:grid;flex-shrink:0;height:36px;margin-bottom:12px;place-items:center;position:relative;transition:all .3s ease;width:36px;z-index:2}.skill-card-compact:hover .skill-icon-compact{box-shadow:0 8px 25px #38bdf84d;transform:scale(1.1)}.skill-icon-compact svg{height:18px;width:18px}.skill-content-compact{flex:1 1;position:relative;z-index:2}.skill-title-compact{color:#e6edf3;color:var(--text);font-size:14px;font-weight:700;margin-bottom:6px;transition:color .3s ease}.skill-card-compact:hover .skill-title-compact{color:#38bdf8;color:var(--accent-strong)}.skill-desc-compact{color:#8b98a5;color:var(--muted);font-size:12px;line-height:1.5;transition:color .3s ease}.skill-card-compact:hover .skill-desc-compact{color:#e6edf3;color:var(--text)}@media (max-width:1100px){.about-me-content{gap:30px;grid-template-columns:1fr;text-align:center}.about-me-avatar{order:-1}}.project-header{align-items:center;border-bottom:1px solid #1a2530;border-bottom:1px solid var(--border);display:flex;gap:12px;margin-bottom:14px;padding-bottom:14px}.server-logo{background:#7dd3fc1f;background:var(--accent-faint);border:1px solid #38bdf84d;border-radius:10px;color:#38bdf8;color:var(--accent-strong);display:grid;font-size:14px;font-weight:800;height:44px;place-items:center;width:44px}.project-title{font-size:16px;font-weight:700}.project-period{color:#8b98a5;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.project-stats{display:flex;gap:20px;margin-bottom:10px}.stat{text-align:center}.stat-value{color:#38bdf8;color:var(--accent-strong);font-size:20px;font-weight:800}.stat-label{color:#8b98a5;color:var(--muted);font-size:11px;letter-spacing:1px;margin-top:2px;text-transform:uppercase}.project-description{color:#8b98a5;color:var(--muted);font-size:14px;line-height:1.7}.timeline-container{margin:0 auto;max-width:1000px;padding:0 40px;position:relative}.timeline-line{background:linear-gradient(180deg,#7dd3fc,#38bdf8);background:linear-gradient(to bottom,var(--accent),var(--accent-strong));bottom:0;left:50%;position:absolute;top:0;transform:translateX(-50%);width:2px;z-index:1}.timeline-item{align-items:center;display:flex;margin-bottom:80px;position:relative}.timeline-item.left{flex-direction:row-reverse}.timeline-item.left,.timeline-item.right{justify-content:flex-end}.timeline-marker{align-items:center;display:flex;flex-direction:column;gap:8px;position:relative;z-index:2}.timeline-icon{align-items:center;background:linear-gradient(135deg,#7dd3fc,#38bdf8);background:linear-gradient(135deg,var(--accent),var(--accent-strong));border:3px solid #111821;border:3px solid var(--panel);border-radius:50%;box-shadow:0 4px 20px #38bdf84d;color:#0b0f14;display:flex;height:48px;justify-content:center;width:48px}.timeline-icon svg{height:24px;width:24px}.timeline-year{background:#111821;background:var(--panel);border-radius:20px;color:#38bdf8;color:var(--accent-strong);font-size:14px;font-weight:700;padding:4px 12px;white-space:nowrap}.timeline-content,.timeline-year{border:1px solid #1a2530;border:1px solid var(--border)}.timeline-content{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#11171ff2,#11171fcc);border-radius:16px;box-shadow:0 8px 32px #0006;max-width:400px;padding:32px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.timeline-item.left .timeline-content{margin-right:30px}.timeline-item.right .timeline-content{margin-left:30px}.timeline-content:before{border:12px solid #0000;content:"";height:0;position:absolute;top:20px;transition:all .3s ease;width:0}.timeline-item.left .timeline-content:before{border-left-color:#11171ff2;border-right:0;right:-24px}.timeline-item.right .timeline-content:before{border-left:0;border-right-color:#11171ff2;left:-24px}.timeline-content:hover{border-color:#38bdf866;box-shadow:0 16px 48px #38bdf833;transform:translateY(-8px) scale(1.02)}.timeline-content:hover:before{filter:drop-shadow(0 4px 8px rgba(56,189,248,.3))}.timeline-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#e6edf3,#7dd3fc);background:linear-gradient(90deg,var(--text),var(--accent));-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800;margin-bottom:8px}.timeline-description{color:#8b98a5;color:var(--muted);font-size:15px;line-height:1.6}@media (max-width:1100px){.hero-container{grid-template-columns:1fr}.terminal{justify-self:stretch;max-width:none}}@media (max-width:1200px){.nav-logo{margin-left:1px}.nav-links{gap:16px;margin-left:26px}}@media (max-width:768px){.nav-container{padding:0 16px}.section{padding:64px 16px}.timeline-container{padding:0 10px}.timeline-line{left:30px}.timeline-item{align-items:flex-start;flex-direction:column;margin-bottom:60px}.timeline-item.left,.timeline-item.right{flex-direction:row;justify-content:flex-start}.timeline-marker{flex-direction:row;gap:12px;margin-bottom:16px}.timeline-icon{height:40px;width:40px}.timeline-icon svg{height:20px;width:20px}.timeline-year{font-size:12px;padding:3px 8px}.timeline-content{margin-left:12px!important;max-width:none}.timeline-content:before{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/*# sourceMappingURL=main.804ab248.css.map*/