nav{position:fixed;top:0;left:0;right:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:20px 40px;background:#0a0d0fd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav-left,.nav-right{display:flex;flex-direction:column;align-items:center;gap:40px;font-family:var(--font-body);font-size:18px;white-space:nowrap}.nav-right{justify-content:flex-end}.nav-logo{font-family:var(--font-mono);font-size:38px;color:var(--text);text-align:center;letter-spacing:-2px;white-space:nowrap}.nav-logo span{color:var(--green)}nav a{color:var(--text);text-decoration:none;padding:6px 10px;border-radius:2px;transition:color .2s,box-shadow .2s,padding .2s}nav a:hover{color:var(--green)}nav a.active{color:var(--green);outline:1px solid var(--green);padding:6px 14px}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}.hamburger span{display:block;width:24px;height:1.5px;background:var(--text);transition:transform .3s,opacity .3s}.mobile-menu{display:none;position:fixed;inset:0;background:#0a0d0ff7;z-index:200;flex-direction:column;align-items:center;justify-content:center;gap:40px}.mobile-menu.open{display:flex}.mobile-menu a{font-family:var(--font-body);font-size:28px;color:var(--text);text-decoration:none;transition:color .2s}.mobile-menu a:hover{color:var(--green)}.mobile-close{position:absolute;top:24px;right:24px;font-family:var(--font-body);font-size:24px;color:var(--text-dim);cursor:pointer;transition:color .2s}.mobile-close:hover{color:var(--green)}@media(max-width:900px){nav{padding:16px 24px;grid-template-columns:auto 1fr}.nav-left,.nav-right{display:none}.nav-logo{text-align:left}.hamburger{display:flex;justify-self:end}}#hero{background:var(--bg);position:relative;min-height:100vh}.hero-inner{max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr auto;gap:clamp(20px,4vw,60px);align-items:center;position:relative;z-index:2;padding:0 40px}.heroWrap{padding-left:60px}h1.hero-name{font-family:var(--font-mono)!important;font-size:clamp(48px,7.5vw,96px);color:var(--text);line-height:1;font-weight:400;letter-spacing:-2px;animation:fadeUp .8s ease both}.name{margin-left:clamp(20px,4vw,50px)}.tag-label,.tag-close{font-family:var(--font-secondary);font-size:clamp(12px,1.2vw,16px);color:var(--text-dim)}.hero-subtitle{font-family:var(--font-secondary);font-size:clamp(13px,1.4vw,16px);color:var(--text-dim);margin-top:12px;animation:fadeUp .8s ease .2s both}.paragraph{color:var(--green);font-size:clamp(15px,1.8vw,20px)}.cv-btn-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0}.cv-btn{position:relative;width:clamp(200px,24vw,340px);height:clamp(200px,24vw,340px);border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;animation:fadeIn 1s ease .4s both;background:radial-gradient(circle at 40% 35%,#002814e6,#05120cf2);border:2px solid rgba(255,255,255,.35);box-shadow:0 0 50px #00ff8814,inset 0 0 40px #0009;transition:transform .3s,box-shadow .3s;overflow:hidden}.cv-btn:hover{transform:scale(1.04);box-shadow:0 0 80px #00ff8826,inset 0 0 40px #0009}.cv-btn:before{content:"";position:absolute;width:62%;height:62%;border-radius:50%;border:1.5px solid rgba(255,255,255,.1);pointer-events:none}.cv-label{font-family:var(--font-body);font-size:clamp(14px,1.8vw,21px);color:var(--green);text-align:center;line-height:1.5;position:relative;z-index:2;letter-spacing:.5px;white-space:nowrap;padding:0 10px}.orbit-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.orbit-1{animation:spinCW 18s linear infinite}.orbit-2{animation:spinCCW 12s linear infinite}.orbit-3{animation:spinCW 28s linear infinite}.orbit-dot{filter:drop-shadow(0 0 4px rgba(255,255,255,.9))}.hero-connector-svg{position:absolute;pointer-events:none;z-index:10;overflow:visible}.line-path{stroke:var(--green);stroke-width:2.5;fill:none;filter:drop-shadow(0 0 5px rgba(0,255,148,.5));stroke-dasharray:3000;stroke-dashoffset:3000}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:800px){.heroWrap{padding:0}.hero-inner{grid-template-columns:1fr;padding:80px 40px 0}.cv-btn-wrap{padding:80px 0 50px}.hero-connector-svg{display:none}h1.hero-name{font-size:clamp(50px,12vw,66px)}.paragraph{font-size:clamp(18px,1.8vw,24px)}.tag-label,.tag-close,.hero-subtitle{font-size:clamp(18px,1.2vw,21px)}}@media(max-width:400px){h1.hero-name{font-size:clamp(50px,12vw,66px)}.paragraph{font-size:clamp(18px,1.8vw,24px)}}#portfolio{background:var(--bg2);position:relative;overflow:visible;padding-top:160px;padding-bottom:250px}.portfolio-section-header{max-width:1200px;margin:0 auto;width:100%}.portfolio-title-wrap{display:inline-block;position:relative;margin-bottom:140px}.portfolio-title-wrap .section-title{margin-left:40px}.portfolio-title-wrap .tag-close{position:absolute;right:-55px;bottom:-45px}.portfolio-content{max-width:1200px;margin:40px auto 0;width:100%;padding:0 40px 0 60px}.portfolio-card{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;opacity:0;transform:translate(-20px);transition:opacity .6s ease,transform .6s ease}.portfolio-card.visible{opacity:1;transform:none}.card-image{position:relative;width:100%;aspect-ratio:1;max-width:480px;border-radius:50%;border:3px solid rgba(255,255,255,.7);overflow:visible;background:#111820;display:flex;align-items:center;justify-content:center;box-shadow:0 0 40px #00ff880d}.card-image:before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(0,255,136,.08),transparent 70%);z-index:3;pointer-events:none}.card-image.has-screenshot:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 40% 35%,#0028148c,#00140abf);z-index:2;pointer-events:none;mix-blend-mode:multiply}.card-image-inner{position:absolute;inset:0;border-radius:50%;overflow:hidden;z-index:1;display:flex;align-items:center;justify-content:center}.card-screenshot{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;filter:grayscale(.3) contrast(1.05)}.ripple-1,.ripple-2,.ripple-3{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.5);animation:rippleOut 3.6s ease-out infinite;pointer-events:none;z-index:5}.ripple-2{animation-delay:1.4s}.ripple-3{animation-delay:2.6s}@keyframes rippleOut{0%{transform:scale(1);opacity:.5}to{transform:scale(1.3);opacity:0}}.mock-screen{width:68%;height:76%;background:linear-gradient(135deg,#0d2818,#0a1a0f 60%,#112218);border-radius:16px;border:1px solid rgba(0,255,136,.2);display:flex;flex-direction:column;padding:12px;gap:6px;overflow:hidden;position:relative;z-index:2}.mock-bar{height:6px;border-radius:3px;background:var(--green);opacity:.6;width:60%}.mock-bar.w40{width:40%;opacity:.3}.mock-bar.w80{width:80%;opacity:.15}.mock-wave{flex:1;margin-top:8px;border-radius:8px;background:linear-gradient(180deg,#00ff8840,#00ff880d);position:relative;overflow:hidden}.mock-wave:after{content:"";position:absolute;bottom:0;left:-20%;width:140%;height:60%;background:radial-gradient(ellipse at 50% 80%,rgba(0,255,136,.3),transparent 60%);animation:waveAnim 3s ease-in-out infinite alternate}@keyframes waveAnim{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.card-text{display:flex;flex-direction:column;gap:4px}.card-text .p-tag{font-family:var(--font-secondary);font-size:16px;color:var(--text-dim);margin-left:-40px}.card-title{font-family:var(--font-mono);font-size:clamp(28px,3.5vw,48px);color:var(--green);margin:10px 0 16px;letter-spacing:1px}.card-desc{font-family:var(--font-body);font-size:clamp(14px,1.2vw,16px);color:var(--text-dim);line-height:1.8}.card-role{font-family:var(--font-secondary);font-size:clamp(12px,1vw,14px);color:var(--green);letter-spacing:3px;margin:20px 0}.slider-controls{display:flex;align-items:center;gap:24px;margin-top:48px;width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding:0 80px 0 0;box-sizing:border-box}.slider-btn{width:86px;height:86px;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:transparent;color:var(--green);font-size:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .25s ease,transform .2s ease,box-shadow .25s ease;margin-left:50px}.slider-btn:nth-child(1){width:66px;height:66px;margin-right:50px}.slider-btn:hover{border-color:var(--green);transform:scale(1.08);box-shadow:0 0 20px #0f83}.slider-btn:active{transform:scale(.96)}.slider-track{flex:1;height:3px;background:#0d3d28;border-radius:2px;position:relative}.slider-progress{position:absolute;left:0;top:0;height:3px;background:var(--green);border-radius:2px;width:33%;transition:width .4s ease;box-shadow:0 0 10px var(--green),0 0 20px #0f86}.portfolio-connector-svg{position:absolute;pointer-events:none;z-index:10;overflow:visible}.line-dot{opacity:0;transition:opacity .4s ease}.slider-controls--inline{display:none}@media(max-width:900px){#portfolio{padding-top:100px;padding-bottom:80px}.portfolio-content{padding:0 24px}.portfolio-card{grid-template-columns:1fr;gap:32px;justify-items:center}.card-image{max-width:300px}.card-text .p-tag{margin-left:0}.portfolio-connector-svg{display:none}.slider-track{margin:0 40px}.slider-controls--bottom{display:none}.slider-controls--inline{display:flex;width:100%;padding:0 16px;gap:16px;margin-top:0;margin-bottom:0}.slider-btn{width:64px;height:64px;font-size:26px;margin-left:0}.slider-btn:nth-child(1){width:52px;height:52px;margin-right:0}.portfolio-title-wrap{margin-bottom:60px}.portfolio-title-wrap .tag-close{right:-44px;bottom:-40px}}@media(max-width:600px){#portfolio{padding-top:80px;padding-bottom:60px}.card-image{max-width:240px}.card-desc{font-size:13px}.slider-track{margin:0 5px}.slider-btn{width:52px;height:52px;font-size:22px}.slider-btn:nth-child(1){width:44px;height:44px}.portfolio-title-wrap{margin-bottom:40px}.portfolio-title-wrap .tag-close{position:static;margin-top:8px;display:block}}#press{background:var(--bg);padding:160px 60px;overflow:visible}.press-section-header{max-width:1200px;margin:0 auto;width:100%}.press-title-wrap{display:inline-block;position:relative;margin-bottom:90px}.press-title-wrap .section-title{margin-left:40px}.press-title-wrap .tag-close{position:absolute;right:-55px;bottom:-45px}.press-list{max-width:1200px;margin:140px auto 0;width:100%;border-bottom:1px solid var(--green)}.press-item{display:flex;align-items:center;justify-content:space-between;padding:20px 40px;border-top:1px solid var(--green);cursor:pointer;position:relative;text-decoration:none;background:transparent;transition:background .3s ease}.press-item:not(.featured):hover{background:var(--green-glow)}.press-item:last-child{border-bottom:1px solid rgba(255,255,255,.06)}.press-item.featured{border-top:none}.press-info{position:relative}.press-name{font-family:var(--font-mono);font-size:clamp(21px,2.5vw,32px);font-weight:100;color:var(--text);display:block;transition:color .3s ease}.press-item:not(.featured):hover .press-name{color:var(--green)}.press-date{font-family:var(--font-body);font-size:16px;color:var(--text-dim);display:block;margin-top:2px}.press-arrow{display:flex;align-items:center;flex-shrink:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.press-item:not(.featured):hover .press-arrow{transform:translate(8px)}.press-arrow-svg{display:block;width:52px;height:auto}.arrow-path{fill:var(--text);transition:fill .3s ease,filter .3s ease}.press-item:not(.featured):hover .arrow-path{fill:var(--green);filter:drop-shadow(0 0 6px var(--green))}.press-connector-wrap{position:relative;display:flex;justify-content:center;margin-top:80px;width:100%;overflow:visible}.press-connector-svg{display:block;overflow:visible;position:absolute;top:0;left:50%;transform:translate(-50%);z-index:10;pointer-events:none}#pressLine{stroke-dasharray:230;stroke-dashoffset:230;filter:drop-shadow(0 0 5px rgba(0,255,148,.6))}#pressDotBottomGlow{opacity:0}@keyframes pressGlowPulse{0%,to{opacity:.21}50%{opacity:.42}}@media(max-width:900px){#press{padding:0 32px}.press-list{margin-top:60px}.press-item{padding:18px 20px}.press-arrow-svg{width:38px}.press-title-wrap .tag-close{right:-44px;bottom:-40px}.press-connector-svg{width:28px;height:180px}.press-connector-wrap{margin-top:48px}}@media(max-width:600px){#press{padding:0 16px}.press-list{margin-top:40px}.press-item{padding:14px 8px;gap:8px}.press-name{font-size:clamp(14px,4.5vw,20px)}.press-date{font-size:11px}.press-arrow-svg{width:28px}.press-connector-wrap{display:none}.press-title-wrap{margin-bottom:40px}.press-title-wrap .tag-close{position:static;margin-top:8px;display:block}}#contact{background:var(--bg2);min-height:100vh;display:flex;flex-direction:column;justify-content:flex-start;padding:80px 60px 60px;position:relative}.contact-header{max-width:1200px;margin:80px auto 0;width:100%}.contact-title-wrap{display:inline-block;position:relative;margin-bottom:90px}.contact-title-wrap .section-title{margin-left:40px}.contact-title-wrap .tag-close{position:absolute;right:-55px;bottom:-45px}.social-field{position:relative;width:100%;flex:1;min-height:520px;margin-top:20px}.social-node{position:absolute;border-radius:50%;border:1.5px solid var(--green);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;text-decoration:none;cursor:pointer;transition:background .3s,transform .3s,box-shadow .3s;box-shadow:0 0 16px #00ff880d}.social-node:hover{background:var(--green-glow);transform:scale(1.05);box-shadow:0 0 30px #0f83}.social-tag{font-family:var(--font-secondary);font-size:18px;color:var(--text-dim);line-height:1.3;text-align:center}.social-name{font-family:var(--font-secondary);font-size:21px;color:var(--text);transition:color .3s;text-align:center}.social-node:hover .social-name{color:var(--green)}@media(max-width:900px){#contact{padding:90px 32px 48px}.contact-header{margin-top:40px}.social-field{position:static;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;min-height:unset;margin-top:40px}.social-node{position:static!important;width:150px!important;height:150px!important}.social-name{font-size:15px}.social-tag{font-size:14px}.contact-title-wrap .tag-close{right:-44px;bottom:-40px}}@media(max-width:600px){#contact{padding:80px 16px 48px;min-height:unset}.contact-title-wrap{margin-bottom:40px}.contact-title-wrap .tag-close{position:static;margin-top:8px;display:block}.social-node{width:130px!important;height:130px!important}.social-name{font-size:13px}.social-tag{font-size:12px}}@media(max-width:380px){.social-node{width:110px!important;height:110px!important}}
