@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;overflow:visible}.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);z-index:999;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--gray);background:#080808f7;flex-direction:column;gap:10px;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:none;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}.github-cal{flex-direction:column;align-items:center;max-width:1200px;margin:-61px auto;padding:0 48px 80px;display:flex}@media (width<=900px){.github-cal{padding:0 24px 60px}}.contact{max-width:1200px;margin:0 auto;padding:200px 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}}.cp-tab{z-index:850;background:linear-gradient(135deg, var(--accent), var(--accent2));color:var(--black);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl;border:none;border-radius:8px 0 0 8px;align-items:center;gap:10px;padding:16px 14px;font-size:11px;font-weight:700;transition:box-shadow .3s,opacity .3s;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%);box-shadow:-4px 4px 24px #f5a62340}.cp-tab.hidden-tab{opacity:0;pointer-events:none}.cp-tab:hover{box-shadow:-6px 4px 32px #f5a62373}.cp-tab-arrow{writing-mode:horizontal-tb;font-size:16px;animation:1.6s ease-in-out infinite cp-nudge}@keyframes cp-nudge{0%,to{transform:translate(0)}50%{transform:translate(-4px)}}.cp-tab-label{writing-mode:vertical-rl}.cp-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1900;background:#000000bf;position:fixed;inset:0}.cp-panel{background:var(--dark);z-index:1950;border-left:1px solid #f5a6232e;width:min(480px,92vw);display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-20px 0 60px #0009}.cp-drag-handle{background:var(--dark2);border-right:1px solid var(--gray);cursor:grab;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:6px;width:28px;display:flex}.cp-drag-handle:active{cursor:grabbing}.cp-drag-handle span{background:var(--gray2);border-radius:50%;width:4px;height:4px;transition:background .2s}.cp-drag-handle:hover span{background:var(--accent)}.cp-panel-inner{flex:1;padding:32px 28px 40px;position:relative;overflow-y:auto}.cp-panel-inner::-webkit-scrollbar{width:4px}.cp-close{background:var(--dark3);border:1px solid var(--gray);color:var(--gray-text);z-index:2;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;transition:all .2s;display:flex;position:absolute;top:24px;right:24px}.cp-close:hover{border-color:var(--accent);color:var(--accent);transform:rotate(90deg)}.cp-header{margin-bottom:36px;padding-right:40px}.cp-pre{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);align-items:center;gap:9px;margin-bottom:14px;font-size:11px;display:flex}.cp-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2s infinite cp-pulse}@keyframes cp-pulse{0%,to{box-shadow:0 0 #f5a62380}50%{box-shadow:0 0 0 7px #0000}}.cp-heading{font-family:var(--font-display);letter-spacing:2px;color:var(--white);white-space:pre-line;margin-bottom:16px;font-size:clamp(44px,9vw,64px);line-height:.92}.cp-heading span{background:linear-gradient(135deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.cp-subtitle{color:var(--gray-text);font-size:13px;line-height:1.7}.cp-list{flex-direction:column;gap:14px;display:flex}.cp-card{background:var(--dark2);border:1px solid var(--gray);border-radius:12px;gap:16px;padding:18px;transition:border-color .3s,box-shadow .3s;display:flex}.cp-card:hover{border-color:#f5a62359;box-shadow:0 12px 36px #0006}.cp-card-emoji{background:linear-gradient(135deg,#f5a62326,#ff6b1a14);border:1px solid #f5a62333;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:26px;transition:transform .3s;display:flex}.cp-card:hover .cp-card-emoji{transform:scale(1.1)rotate(-6deg)}.cp-card-body{flex:1;min-width:0}.cp-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.cp-card-title{font-family:var(--font-body);color:var(--white);font-size:15px;font-weight:700;transition:color .2s}.cp-card:hover .cp-card-title{color:var(--accent)}.cp-card-desc{color:var(--gray-text);margin-bottom:12px;font-size:12px;line-height:1.6}.cp-card-tech{flex-wrap:wrap;gap:5px;display:flex}.cp-tag{font-family:var(--font-mono);color:var(--light);background:var(--dark3);border:1px solid var(--gray2);border-radius:3px;padding:2px 8px;font-size:9px}.cp-wip{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#4ade80;white-space:nowrap;background:#4ade801a;border:1px solid #4ade8040;border-radius:20px;padding:2px 7px;font-size:8px}.cp-footer{border-top:1px dashed var(--gray);text-align:center;margin-top:28px;padding-top:20px}.cp-mono{font-family:var(--font-mono);color:var(--gray-text);letter-spacing:.1em;font-size:11px}.cp-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2100;background:#000000d9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.cp-modal-box{background:var(--dark2);border:1px solid var(--gray);border-radius:16px;width:100%;max-width:480px;padding:44px;position:relative;box-shadow:0 32px 80px #0009,0 0 0 1px #f5a6231a}.cp-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:18px;right:18px}.cp-modal-close:hover{border-color:var(--accent);color:var(--accent);transform:rotate(90deg)}.cp-modal-emoji{margin-bottom:18px;font-size:48px}.cp-modal-top{align-items:center;gap:8px;margin-bottom:16px;display:flex}.cp-tag-creative{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}.cp-modal-title{font-family:var(--font-display);letter-spacing:2px;color:var(--white);margin-bottom:14px;font-size:38px;line-height:1.1}.cp-modal-desc{color:var(--light);margin-bottom:26px;font-size:14px;line-height:1.75}.cp-modal-tech{flex-wrap:wrap;gap:8px;margin-bottom:32px;display:flex}.cp-chip{font-family:var(--font-mono);color:var(--accent);background:#f5a6231a;border:1px solid #f5a62333;border-radius:20px;padding:5px 12px;font-size:11px}.cp-modal-actions{flex-wrap:wrap;gap:12px;display:flex}.cp-link{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:4px;padding:11px 22px;font-size:11px;text-decoration:none;transition:all .25s}.cp-link.primary{background:linear-gradient(135deg, var(--accent), var(--accent2));color:var(--black);font-weight:700}.cp-link.primary:hover{transform:translateY(-2px);box-shadow:0 4px 20px #f5a62359}.cp-link.secondary{color:var(--light);background:var(--dark3);border:1px solid var(--gray)}.cp-link.secondary:hover{border-color:var(--accent);color:var(--accent)}.cp-link.disabled{color:var(--gray-text);background:var(--dark3);border:1px solid var(--gray);cursor:not-allowed}@media (width<=720px){.cp-tab{padding:14px 11px;font-size:10px}.cp-panel-inner{padding:28px 20px 36px}.cp-modal-box{padding:32px 24px}}.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;position:relative}.projects-page .particle-canvas{pointer-events:none;z-index:0;position:fixed;inset:0}.projects-hero,.filter-bar,.projects-list{z-index:1;position:relative}.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}}.templates-page{padding-top:var(--nav-h);max-width:1100px;min-height:100vh;margin:0 auto;padding-bottom:100px;padding-left:48px;padding-right:48px;position:relative}.templates-page .particle-canvas{pointer-events:none;z-index:0;position:fixed;inset:0}.templates-page .projects-hero,.templates-page .templates-grid{z-index:1;position:relative}.templates-page .projects-hero{padding:80px 0 48px}.templates-intro{color:var(--gray-text);max-width:540px;margin-top:22px;font-size:15px;line-height:1.7}.templates-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.tpl-card{background:var(--dark2);border:1px solid var(--gray);border-radius:12px;flex-direction:column;padding:32px;transition:border-color .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.tpl-card:hover{border-color:#f5a62359;box-shadow:0 16px 50px #0006,0 0 0 1px #f5a6231a}.tpl-card.is-paid{border-color:#f5a62338}.tpl-card .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}.tpl-card:hover .card-glow{opacity:1}.tpl-title{font-family:var(--font-body);color:var(--white);margin-bottom:12px;font-size:22px;font-weight:700;line-height:1.3;transition:color .2s}.tpl-card:hover .tpl-title{color:var(--accent)}.tpl-desc{color:var(--gray-text);flex:1;margin-bottom:20px;font-size:13px;line-height:1.7}.tpl-tech{flex-wrap:wrap;gap:6px;margin-bottom:24px;display:flex}.tpl-card:hover .pc-tag{color:var(--accent);border-color:#f5a62333}.tpl-cta-row{align-items:center;display:flex}.tpl-view{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--light);align-items:center;gap:8px;font-size:11px;transition:color .2s;display:inline-flex}.tpl-card:hover .tpl-view{color:var(--accent)}.tpl-arrow{transition:transform .25s}.tpl-card:hover .tpl-arrow{transform:translate(5px)}.tpl-badge{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:20px;padding:3px 10px;font-size:10px;font-weight:700}.tpl-badge.free{color:#4ade80;background:#4ade801a;border:1px solid #4ade8040}.tpl-badge.paid{color:var(--black);background:linear-gradient(135deg, var(--accent), var(--accent2));border:1px solid #0000}.hero-templates-cta{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--light);background:var(--dark2);border:1px solid var(--gray);border-radius:40px;align-items:center;gap:10px;width:fit-content;margin-bottom:28px;padding:9px 16px;font-size:11px;text-decoration:none;transition:border-color .25s,color .25s,background .25s,box-shadow .25s;display:inline-flex}.hero-templates-cta:hover{color:var(--accent);border-color:var(--accent);background:#f5a6230f;box-shadow:0 4px 20px #f5a6231f}.hero-templates-cta .cta-pill{letter-spacing:.12em;color:var(--black);background:linear-gradient(135deg, var(--accent), var(--accent2));border-radius:20px;padding:2px 8px;font-size:9px;font-weight:700}.hero-templates-cta .cta-arrow{transition:transform .25s}.hero-templates-cta:hover .cta-arrow{transform:translate(4px)}@media (width<=720px){.templates-page{padding-left:24px;padding-right:24px}.templates-grid{grid-template-columns:1fr}}: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}@media (pointer:fine){body,a,button{cursor:none}}::selection{background:var(--accent);color:var(--black)}
