@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Syne:wght@400;600;700;800&family=JetBrains+Mono:wght@300;400;500;700&display=swap";#cursor-dot{background:var(--accent);pointer-events:none;z-index:10000;mix-blend-mode:difference;border-radius:50%;width:8px;height:8px;transition:width .15s,height .15s,background .15s;position:fixed;transform:translate(-50%,-50%)}#cursor-dot.clicking{background:var(--accent2);width:4px;height:4px}#cursor-ring{border:1.5px solid var(--accent);pointer-events:none;z-index:9999;opacity:.65;border-radius:50%;width:34px;height:34px;transition:width .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1),border-color .2s,opacity .2s;position:fixed;transform:translate(-50%,-50%)}#cursor-ring.hovered{border-color:var(--accent2);opacity:1;background:#f5a6230f;width:56px;height:56px}#cursor-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);pointer-events:none;z-index:10001;opacity:0;white-space:nowrap;border:1px solid var(--accent-dim);background:#080808d9;border-radius:3px;padding:3px 7px;font-size:9px;transition:opacity .2s;position:fixed}#cursor-label.visible{opacity:1}.navbar{height:var(--nav-h);z-index:900;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:0 48px;transition:background .4s,border-color .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);background:#080808e0;border-bottom-color:#f5a6231f}.nav-logo{font-family:var(--font-display);letter-spacing:4px;color:var(--white);padding-bottom:2px;font-size:28px;text-decoration:none;position:relative}.nav-logo span{color:var(--accent)}.nav-logo:after{content:"";background:linear-gradient(90deg, var(--accent), var(--accent2));width:0;height:2px;transition:width .4s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0}.nav-logo:hover:after{width:100%}.nav-links{align-items:center;gap:6px;display:flex}.nav-link{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gray-text);border-radius:4px;padding:8px 14px;font-size:11px;text-decoration:none;transition:color .25s;position:relative;overflow:hidden}.nav-link:before{content:"";background:var(--accent-dim);transform-origin:0;border-radius:4px;transition:transform .3s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleX(0)}.nav-link:hover,.nav-link.active{color:var(--accent)}.nav-link:hover:before,.nav-link.active:before{transform:scaleX(1)}.nav-link.active:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.lang-toggle{font-family:var(--font-mono);letter-spacing:.1em;background:var(--dark2);border:1px solid var(--gray);color:var(--gray-text);border-radius:4px;margin-left:8px;padding:7px 12px;font-size:11px;transition:border-color .25s,color .25s,background .25s}.lang-toggle:hover{border-color:var(--accent);background:var(--accent-dim);color:var(--white)}.lang-toggle .sep{opacity:.35;margin:0 3px}.lang-toggle .active{color:var(--accent);font-weight:700}.burger{background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.burger span{background:var(--white);border-radius:2px;width:24px;height:2px;transition:transform .3s,opacity .3s,background .3s;display:block}.burger.open span:first-child{background:var(--accent);transform:translateY(7px)rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){background:var(--accent);transform:translateY(-7px)rotate(-45deg)}.mobile-menu{top:var(--nav-h);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--gray);background:#080808f7;flex-direction:column;gap:4px;padding:20px 24px 28px;display:flex;position:absolute;left:0;right:0}.mobile-link{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--light);border-bottom:1px solid var(--gray);padding:14px 10px;font-size:14px;text-decoration:none;transition:color .2s,padding-left .2s}.mobile-link:hover{color:var(--accent);padding-left:18px}.mobile-lang{width:fit-content;margin-top:16px}@media (width<=720px){.navbar{padding:0 24px}.nav-links{display:none}.burger{display:flex}}.scroll-top{z-index:800;background:var(--dark2);width:56px;height:56px;box-shadow:0 4px 24px #00000080, 0 0 0 1px var(--gray);border:none;border-radius:50%;justify-content:center;align-items:center;transition:box-shadow .3s;display:flex;position:fixed;bottom:36px;right:36px}.scroll-top:hover{box-shadow:0 4px 32px var(--accent-glow), 0 0 0 1px var(--accent)}.project-card{background:var(--dark2);border:1px solid var(--gray);border-radius:12px;padding:32px;transition:border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.project-card:hover{border-color:#f5a62359;box-shadow:0 16px 50px #0006,0 0 0 1px #f5a6231a}.card-glow{pointer-events:none;opacity:0;background:radial-gradient(circle,#f5a6230f,#0000 70%);width:200px;height:200px;transition:opacity .3s;position:absolute;top:-60px;right:-60px}.project-card:hover .card-glow{opacity:1}.pc-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.pc-title{font-family:var(--font-body);color:var(--white);margin-bottom:12px;font-size:20px;font-weight:700;line-height:1.3;transition:color .2s}.project-card:hover .pc-title{color:var(--accent)}.pc-desc{color:var(--gray-text);flex:1;margin-bottom:20px;font-size:13px;line-height:1.7}.pc-tech{flex-wrap:wrap;gap:6px;margin-bottom:28px;display:flex}.pc-tag{font-family:var(--font-mono);letter-spacing:.05em;color:var(--light);background:var(--dark3);border:1px solid var(--gray2);border-radius:3px;padding:3px 9px;font-size:10px;transition:border-color .2s,color .2s}.project-card:hover .pc-tag{color:var(--accent);border-color:#f5a62333}.pc-links{gap:12px;display:flex}.pc-link{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:4px;padding:9px 18px;font-size:11px;text-decoration:none;transition:all .25s}.pc-link.primary:hover{box-shadow:0 4px 20px var(--accent-glow);transform:translateY(-2px)}.pc-number{font-family:var(--font-display);color:#ffffff08;pointer-events:none;font-size:64px;line-height:1;transition:color .3s;position:absolute;bottom:20px;right:24px}.project-card:hover .pc-number{color:#f5a6230d}.hero{align-items:center;min-height:100vh;padding:0 48px;display:flex;position:relative;overflow:hidden}.particle-canvas{pointer-events:none;z-index:0;position:absolute;inset:0}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#f5a62312 0%,#0000 70%);width:600px;height:600px;position:absolute;bottom:-120px;right:-120px}.hero-content{z-index:1;max-width:800px;position:relative}@keyframes pulse-dot{0%,to{box-shadow:0 0 #f5a62380}50%{box-shadow:0 0 0 8px #0000}}.hero-name{font-family:var(--font-display);letter-spacing:2px;color:var(--white);margin-bottom:20px;font-size:clamp(80px,14vw,150px);line-height:.9}.hero-name span{background:linear-gradient(135deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-role{font-family:var(--font-mono);color:var(--light);align-items:center;gap:4px;min-height:32px;margin-bottom:24px;font-size:clamp(16px,2.5vw,22px);display:flex}.caret{background:var(--accent);width:2px;height:1.1em;animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-sub{color:var(--gray-text);max-width:480px;margin-bottom:44px;font-size:16px;line-height:1.7}.hero-ctas{flex-wrap:wrap;gap:16px;display:flex}.hero-scroll-indicator{z-index:1;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-line{background:linear-gradient(180deg, var(--accent), transparent);width:1px;height:50px;animation:2s ease-in-out infinite scroll-anim}@keyframes scroll-anim{0%,to{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}}.hero-scroll-indicator span{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--gray-text);font-size:9px}.mag-btn{transition:transform .25s cubic-bezier(.16,1,.3,1)}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent2));color:var(--black);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:none;border-radius:4px;align-items:center;gap:10px;padding:16px 32px;font-size:12px;font-weight:700;transition:box-shadow .3s;display:inline-flex;position:relative;overflow:hidden}.btn-primary:before{content:"";background:#ffffff1f;transition:transform .4s;position:absolute;inset:0;transform:translate(-100%)skew(-15deg)}.btn-primary:hover:before{transform:translate(110%)skew(-15deg)}.btn-primary:hover{box-shadow:0 8px 30px var(--accent-glow)}.btn-arrow{transition:transform .25s}.btn-primary:hover .btn-arrow{transform:translate(5px)}.btn-secondary{color:var(--white);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--gray2);background:0 0;border-radius:4px;align-items:center;gap:10px;padding:15px 32px;font-size:12px;font-weight:500;transition:border-color .3s,color .3s,background .3s;display:inline-flex}.btn-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.btn-outline{color:var(--white);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--gray2);background:0 0;border-radius:4px;align-items:center;gap:10px;padding:14px 28px;font-size:12px;transition:border-color .3s,color .3s;display:inline-flex}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-outline:hover .btn-arrow{transform:translate(5px)}.section-label{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--gray-text);align-items:center;gap:14px;margin-bottom:28px;font-size:11px;display:flex}.section-num{color:var(--accent);font-weight:700}.section-label:after{content:"";background:var(--gray);width:60px;height:1px}.section-title{font-family:var(--font-display);letter-spacing:2px;color:var(--white);margin-bottom:56px;font-size:clamp(48px,7vw,90px);line-height:.95}.section-title span{background:linear-gradient(135deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.about{max-width:1200px;margin:0 auto;padding:120px 48px}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.about-body{color:var(--light);margin-bottom:20px;font-size:15px;line-height:1.8}.currently{font-family:var(--font-mono);color:var(--accent);align-items:center;gap:10px;margin-top:28px;font-size:12px;display:flex}.status-dot{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-dot}.about-skills-card{background:var(--dark2);border:1px solid var(--gray);transform-style:preserve-3d;border-radius:12px;transition:transform .15s,box-shadow .3s;overflow:hidden}.about-skills-card:hover{box-shadow:0 20px 60px #00000080,0 0 40px #f5a62314}.card-header{border-bottom:1px solid var(--gray);background:var(--dark3);align-items:center;gap:7px;padding:14px 18px;display:flex}.card-dot{border-radius:50%;width:12px;height:12px}.card-dot.red{background:#ff5f57}.card-dot.yellow{background:#febc2e}.card-dot.green{background:#28c840}.card-file{font-family:var(--font-mono);color:var(--gray-text);margin-left:8px;font-size:11px}.chips-wrap{flex-wrap:wrap;gap:8px;padding:24px 18px;display:flex}.chip{font-family:var(--font-mono);letter-spacing:.05em;color:var(--accent);background:#f5a6231a;border:1px solid #f5a62333;border-radius:20px;padding:5px 12px;font-size:11px;transition:background .2s,border-color .2s,color .2s;display:inline-block}.chip:hover{border-color:var(--accent);color:var(--white);background:#f5a62333}.card-footer{border-top:1px solid var(--gray);background:var(--dark3);padding:14px 18px}.mono-text{font-family:var(--font-mono);color:var(--gray-text);font-size:11px}.mono-text .acc{color:var(--accent2)}.featured{max-width:1200px;margin:0 auto;padding:120px 48px}.featured-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;display:grid}.see-all-wrap{justify-content:center;margin-top:56px;display:flex}.contact{max-width:1200px;margin:0 auto;padding:120px 48px 60px}.contact-inner{background:var(--dark2);border:1px solid var(--gray);text-align:center;border-radius:16px;padding:72px 64px;position:relative;overflow:hidden}.contact-inner:before{content:"";pointer-events:none;background:radial-gradient(circle,#f5a6230f,#0000 70%);width:400px;height:400px;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.contact-title{font-family:var(--font-display);letter-spacing:2px;white-space:pre-line;background:linear-gradient(135deg, var(--white), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:20px;font-size:clamp(48px,6vw,80px)}.contact-sub{color:var(--gray-text);margin-bottom:48px;font-size:15px}.contact-links{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.contact-btn{font-family:var(--font-mono);letter-spacing:.1em;color:var(--light);background:var(--dark3);border:1px solid var(--gray);border-radius:6px;align-items:center;gap:10px;padding:14px 24px;font-size:12px;text-decoration:none;transition:color .25s,border-color .25s,background .25s,box-shadow .25s;display:inline-flex}.contact-btn svg{flex-shrink:0;width:16px;height:16px}.contact-btn:hover{color:var(--accent);border-color:var(--accent);background:#f5a62314;box-shadow:0 4px 20px #f5a62326}.footer-line{border-top:1px solid var(--gray);font-family:var(--font-mono);color:var(--gray-text);justify-content:space-between;align-items:center;margin-top:48px;padding-top:24px;font-size:11px;display:flex}.mono-small{font-family:var(--font-mono);color:var(--gray-text);font-size:10px}@media (width<=900px){.hero{padding:0 24px}.about,.featured,.contact{padding:80px 24px}.about-grid{grid-template-columns:1fr;gap:40px}.contact-inner{padding:40px 24px}.footer-line{text-align:center;flex-direction:column;gap:8px}}@media (width<=600px){.hero-ctas{flex-direction:column}.featured-grid{grid-template-columns:1fr}}.projects-page{padding-top:var(--nav-h);max-width:1100px;min-height:100vh;margin:0 auto;padding-bottom:100px;padding-left:48px;padding-right:48px}.projects-hero{padding:80px 0 56px}.hero-pre{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:16px;font-size:13px;display:flex}.accent-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-dot}.projects-title{font-family:var(--font-display);letter-spacing:2px;white-space:pre-line;color:var(--white);font-size:clamp(60px,10vw,110px);line-height:.92}.projects-title span{background:linear-gradient(135deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.filter-bar{border-bottom:1px solid var(--gray);flex-wrap:wrap;gap:8px;margin-bottom:40px;padding-bottom:24px;display:flex}.filter-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gray-text);background:var(--dark2);border:1px solid var(--gray);border-radius:4px;padding:8px 16px;font-size:11px;transition:all .25s}.filter-btn:hover,.filter-btn.active{color:var(--accent);border-color:var(--accent);background:#f5a62314}.project-row{border-bottom:1px solid var(--gray);border-radius:8px;align-items:center;gap:24px;padding:24px 20px;transition:background .2s,border-color .2s;display:flex;position:relative}.project-row:hover{background:#f5a6230a;border-bottom-color:#f5a62333}.row-num{font-family:var(--font-display);color:#ffffff0f;min-width:40px;font-size:28px;transition:color .2s}.project-row:hover .row-num{color:var(--accent);opacity:.5}.row-info{flex-direction:column;flex:1;gap:4px;display:flex}.row-title{font-family:var(--font-body);color:var(--white);font-size:18px;font-weight:700;transition:color .2s}.project-row:hover .row-title{color:var(--accent)}.row-cat{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gray-text);font-size:10px}.row-tech{flex-wrap:wrap;gap:6px;display:flex}.row-arrow{color:var(--gray-text);font-size:18px;transition:color .2s,transform .25s}.project-row:hover .row-arrow{color:var(--accent);transform:translate(6px)}.pc-link{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:4px;align-items:center;gap:6px;padding:10px 20px;font-size:11px;text-decoration:none;transition:all .25s;display:inline-flex}.pc-link.primary{background:linear-gradient(135deg, var(--accent), var(--accent2));color:var(--black);font-weight:700}.pc-link.primary:hover{transform:translateY(-2px);box-shadow:0 4px 20px #f5a62359}.pc-link.secondary{color:var(--light);background:var(--dark3);border:1px solid var(--gray)}.pc-link.secondary:hover{border-color:var(--accent);color:var(--accent)}.pc-category{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);background:#f5a6231a;border:1px solid #f5a62333;border-radius:20px;padding:3px 10px;font-size:10px}.pc-wip{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#4ade80;background:#4ade801a;border:1px solid #4ade8040;border-radius:20px;padding:3px 8px;font-size:9px}.pc-tag{font-family:var(--font-mono);letter-spacing:.05em;color:var(--light);background:var(--dark3);border:1px solid var(--gray2);border-radius:3px;padding:3px 9px;font-size:10px}.chip{font-family:var(--font-mono);letter-spacing:.05em;color:var(--accent);background:#f5a6231a;border:1px solid #f5a62333;border-radius:20px;padding:5px 12px;font-size:11px}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background:#000000d9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-box{background:var(--dark2);border:1px solid var(--gray);border-radius:16px;width:100%;max-width:560px;padding:48px;position:relative;box-shadow:0 32px 80px #0009,0 0 0 1px #f5a6231a}.modal-close{background:var(--dark3);border:1px solid var(--gray);color:var(--gray-text);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;transition:all .2s;display:flex;position:absolute;top:20px;right:20px}.modal-close:hover{border-color:var(--accent);color:var(--accent)}.modal-top{align-items:center;gap:10px;margin-bottom:20px;display:flex}.modal-title{font-family:var(--font-display);letter-spacing:2px;color:var(--white);margin-bottom:16px;font-size:40px;line-height:1.1}.modal-desc{color:var(--light);margin-bottom:28px;font-size:14px;line-height:1.75}.modal-tech{margin-bottom:36px}.modal-label{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--gray-text);margin-bottom:12px;font-size:10px;display:block}.modal-chips{flex-wrap:wrap;gap:8px;display:flex}.modal-actions{flex-wrap:wrap;gap:12px;display:flex}@media (width<=720px){.projects-page{padding-left:24px;padding-right:24px}.row-tech{display:none}.modal-box{padding:32px 24px}.modal-title{font-size:32px}}:root{--black:#080808;--dark:#0f0f0f;--dark2:#161616;--dark3:#1e1e1e;--gray:#2a2a2a;--gray2:#3a3a3a;--gray-text:#666;--light:#aaa;--white:#efefef;--accent:#f5a623;--accent2:#ff6b1a;--accent-dim:#f5a6232e;--accent-glow:#f5a62359;--font-display:"Bebas Neue", sans-serif;--font-body:"Syne", sans-serif;--font-mono:"JetBrains Mono", monospace;--nav-h:68px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--accent) var(--dark2)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--dark2)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--accent), var(--accent2));border-radius:3px}body{background:var(--black);color:var(--white);font-family:var(--font-body);cursor:none;-webkit-font-smoothing:antialiased;overflow-x:hidden}a,button{cursor:none}::selection{background:var(--accent);color:var(--black)}
