:root{--bg:#0a0a0f;--surface:#10101a;--card:#14141f;--border:#1e1e2e;--accent:#00ff9d;--accent2:#7c6aff;--accent3:#ff6a3d;--text:#e8e8f0;--muted:#6b6b80;--font-display:"Syne", sans-serif;--font-mono:"Space Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-display);cursor:none;overflow-x:hidden}#cursor{background:var(--accent);pointer-events:none;z-index:9999;mix-blend-mode:screen;border-radius:50%;width:12px;height:12px;transition:width .2s,height .2s,background .2s;position:fixed;transform:translate(-50%,-50%)}#cursor-ring{border:1.5px solid var(--accent);pointer-events:none;z-index:9998;opacity:.5;border-radius:50%;width:36px;height:36px;transition:width .2s,height .2s,border-color .2s;position:fixed;transform:translate(-50%,-50%)}:is(body:has(a:hover) #cursor,body:has(button:hover) #cursor){background:var(--accent2);width:20px;height:20px}:is(body:has(a:hover) #cursor-ring,body:has(button:hover) #cursor-ring){border-color:var(--accent2);opacity:.3;width:50px;height:50px}body:before{content:"";opacity:.025;pointer-events:none;z-index:9997;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");position:fixed;inset:0}body:after{content:"";background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.3;pointer-events:none;z-index:0;background-size:60px 60px;position:fixed;inset:0}nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#0a0a0fd9;justify-content:space-between;align-items:center;padding:1.2rem 3rem;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{font-family:var(--font-mono);color:var(--accent);letter-spacing:.05em;font-size:.9rem}.nav-logo span{color:var(--muted)}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{font-family:var(--font-mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--accent)}#hero{z-index:1;grid-template-rows:1fr auto;grid-template-columns:1fr auto;align-items:center;column-gap:3rem;min-height:100vh;padding:8rem 4rem 5rem;display:grid;position:relative;overflow:hidden}.hero-left{flex-direction:column;grid-area:1/1;justify-content:center;display:flex}.hero-tag{font-family:var(--font-mono);color:var(--accent);letter-spacing:.2em;text-transform:uppercase;opacity:0;margin-bottom:1.5rem;font-size:.75rem;animation:.6s .2s forwards fadeUp}.hero-name{letter-spacing:-.03em;opacity:0;margin-bottom:.5rem;font-size:clamp(3.5rem,9vw,8rem);font-weight:800;line-height:.95;animation:.7s .35s forwards fadeUp}.hero-name .accent-line{background:linear-gradient(90deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:block}.hero-role{font-family:var(--font-mono);color:var(--muted);opacity:0;margin-bottom:2.5rem;font-size:clamp(.85rem,1.5vw,1.1rem);animation:.7s .5s forwards fadeUp}.hero-role .hi{color:var(--accent3)}.hero-desc{color:#9090a8;opacity:0;max-width:520px;margin-bottom:3rem;font-size:1.05rem;line-height:1.7;animation:.7s .65s forwards fadeUp}.hero-cta{opacity:0;flex-wrap:wrap;gap:1rem;animation:.7s .8s forwards fadeUp;display:flex}.btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;padding:.85rem 2rem;font-size:.8rem;text-decoration:none;transition:all .2s}.btn-primary{background:var(--accent);color:var(--bg);font-weight:700}.btn-primary:hover{background:#00e68a;transform:translateY(-2px);box-shadow:0 8px 24px #00ff9d40}.btn-outline{color:var(--text);border:1px solid var(--border);background:0 0}.btn-outline:hover{border-color:var(--accent2);color:var(--accent2);transform:translateY(-2px)}.hero-code{font-family:var(--font-mono);background:var(--card);border:1px solid var(--border);opacity:0;border-radius:10px;flex-shrink:0;grid-area:1/2;align-self:center;width:340px;padding:2.5rem 2rem 1.75rem;font-size:.72rem;animation:.8s 1s forwards fadeLeft;position:relative;box-shadow:0 0 40px #00ff9d0d,0 20px 60px #00000080}.hero-code:before{content:"●●●";letter-spacing:.4em;color:#333348;font-size:.5rem;position:absolute;top:.9rem;left:1.2rem}.hero-code .tab{border-bottom:1px solid var(--border);color:#404058;letter-spacing:.1em;margin-bottom:.75rem;padding-bottom:.75rem;font-size:.65rem;display:block}.hero-code .c-green{color:var(--accent)}.hero-code .c-purple{color:var(--accent2)}.hero-code .c-orange{color:var(--accent3)}.hero-code .c-gray{color:#555570}.scroll-hint{font-family:var(--font-mono);color:var(--muted);letter-spacing:.15em;text-transform:uppercase;opacity:0;flex-direction:column;grid-area:2/1/auto/-1;justify-self:center;align-items:center;gap:.5rem;padding-top:2rem;font-size:.65rem;animation:.5s 1.4s forwards fadeUp;display:flex}.scroll-line{background:linear-gradient(var(--accent), transparent);width:1px;height:48px;animation:1.5s infinite scrollAnim}section{z-index:1;max-width:1200px;margin:0 auto;padding:6rem 3rem;position:relative}.section-label{font-family:var(--font-mono);color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.75rem;font-size:.72rem}.section-label:before{content:"// ";color:var(--muted)}.section-title{letter-spacing:-.02em;margin-bottom:3rem;font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1.05}.divider{background:linear-gradient(90deg, var(--accent), transparent);opacity:.3;height:1px;margin:0 3rem}.stats-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4rem;margin-bottom:4rem;padding:2.5rem 0;display:flex}.stat{flex-direction:column;gap:.3rem;display:flex}.stat-num{letter-spacing:-.03em;background:linear-gradient(90deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800}.stat-label{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.skill-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.75rem;transition:border-color .3s,transform .3s;position:relative;overflow:hidden}.skill-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent2));opacity:0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.skill-card:hover{border-color:var(--accent);transform:translateY(-4px)}.skill-card:hover:before{opacity:1}.skill-card-title{font-family:var(--font-mono);color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem;font-size:.72rem}.skill-tags{flex-wrap:wrap;gap:.5rem;display:flex}.skill-tag{font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:default;border-radius:3px;padding:.3rem .7rem;font-size:.72rem;transition:all .2s}.skill-tag:hover{color:var(--accent);border-color:var(--accent)}.timeline{padding-left:2rem;position:relative}.timeline:before{content:"";background:linear-gradient(var(--accent), var(--accent2), transparent);opacity:.4;width:1px;position:absolute;top:0;bottom:0;left:0}.timeline-item{border-bottom:1px solid var(--border);margin-bottom:3rem;padding-bottom:3rem;position:relative}.timeline-item:last-child{border-bottom:none}.timeline-dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 12px var(--accent);border-radius:50%;position:absolute;top:.35rem;left:-2.35rem}.timeline-date{font-family:var(--font-mono);color:var(--accent3);letter-spacing:.1em;margin-bottom:.5rem;font-size:.72rem}.timeline-company{margin-bottom:.25rem;font-size:1.4rem;font-weight:700}.timeline-role{font-family:var(--font-mono);color:var(--accent2);margin-bottom:1rem;font-size:.8rem}.timeline-list{flex-direction:column;gap:.6rem;list-style:none;display:flex}.timeline-list li{color:#8888a0;padding-left:1.2rem;font-size:.9rem;line-height:1.5;position:relative}.timeline-list li:before{content:"→";color:var(--accent);font-size:.8rem;position:absolute;left:0}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;display:grid}.project-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:2rem;transition:all .3s;position:relative;overflow:hidden}.project-card:after{content:"";background:radial-gradient(circle at var(--mx,50%) var(--my,50%), #00ff9d0f, transparent 60%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.project-card:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 20px 60px #0006}.project-card:hover:after{opacity:1}.project-num{font-family:var(--font-mono);color:var(--muted);letter-spacing:.1em;margin-bottom:1rem;font-size:.68rem}.project-title{letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.3rem;font-weight:700}.project-period{font-family:var(--font-mono);color:var(--accent3);margin-bottom:1rem;font-size:.7rem}.project-desc{color:#7878a0;margin-bottom:1.5rem;font-size:.875rem;line-height:1.6}.project-tags{flex-wrap:wrap;gap:.4rem;display:flex}.project-tag{font-family:var(--font-mono);color:var(--accent);background:#00ff9d14;border:1px solid #00ff9d33;border-radius:2px;padding:.25rem .6rem;font-size:.68rem}.edu-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.edu-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.75rem;transition:border-color .3s}.edu-card:hover{border-color:var(--accent2)}.edu-school{margin-bottom:.3rem;font-size:1.05rem;font-weight:700}.edu-degree{font-family:var(--font-mono);color:var(--accent2);margin-bottom:.4rem;font-size:.75rem}.edu-year{font-family:var(--font-mono);color:var(--muted);font-size:.7rem}#contact-section{text-align:center;padding:6rem 3rem 8rem}.contact-big{letter-spacing:-.03em;margin-bottom:1.5rem;font-size:clamp(2.5rem,6vw,5rem);font-weight:800;line-height:1.05}.contact-big span{background:linear-gradient(90deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.contact-sub{color:var(--muted);font-size:1rem;font-family:var(--font-mono);margin-bottom:3rem}.contact-links{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.contact-link{font-family:var(--font-mono);color:var(--text);border:1px solid var(--border);letter-spacing:.05em;border-radius:4px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.8rem;text-decoration:none;transition:all .2s;display:flex}.contact-link:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}footer{z-index:1;border-top:1px solid var(--border);font-family:var(--font-mono);color:var(--muted);justify-content:space-between;align-items:center;padding:2rem 3rem;font-size:.72rem;display:flex;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeLeft{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scrollAnim{0%{opacity:1;transform-origin:top;transform:scaleY(1)}to{opacity:0;transform-origin:top;transform:scaleY(0)}}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(30px)}.reveal.visible{opacity:1;transform:translateY(0)}.typed-cursor{background:var(--accent);vertical-align:text-bottom;width:2px;height:1.1em;animation:.9s infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (width<=900px){#hero{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:2.5rem;padding:7rem 1.5rem 3rem}.hero-left{grid-area:1/1}.hero-code{grid-area:2/1;width:100%;max-width:100%;font-size:.68rem}.scroll-hint{grid-row:3}nav{padding:1rem 1.5rem}.divider{margin:0 1.5rem}}@media (width<=768px){nav{padding:1rem 1.5rem}.nav-links{display:none}section{padding:4rem 1.5rem}.divider{margin:0 1.5rem}.projects-grid,.skills-grid,.edu-grid{grid-template-columns:1fr}footer{text-align:center;flex-direction:column;gap:.5rem;padding:2rem 1.5rem}.stats-bar{gap:2rem}#contact-section{padding:4rem 1.5rem 6rem}.contact-link{word-break:break-all;overflow-wrap:anywhere}.hero-role{word-break:break-word;overflow-wrap:anywhere}.hero-name .accent-line{width:fit-content;padding-right:.15em}}.project-live{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);vertical-align:middle;background:#00ff9d1f;border:1px solid #00ff9d4d;border-radius:3px;margin-left:.6rem;padding:.15rem .5rem;font-size:.55rem;font-weight:700;animation:2s infinite livePulse;display:inline-block}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.6}}
