@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&family=Space+Mono:wght@400;700&display=swap";:root{--bg-0: #030712;--bg-1: #0b0f19;--bg-2: #1e1b4b;--text: #f3f4f6;--muted: #9ca3af;--accent: #00f5ff;--accent-rgb: 0, 245, 255;--accent-2: #c084fc;--accent-2-rgb: 192, 132, 252;--card: rgba(11, 15, 30, .65);--border: rgba(255, 255, 255, .08);--border-accent: rgba(0, 245, 255, .35);--max: 1200px;--radius-lg: 16px;--radius-md: 10px;--radius-sm: 6px;--transition-bounce: all .5s cubic-bezier(.175, .885, .32, 1.275);--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-0)}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px;border:2px solid var(--bg-0)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}*{box-sizing:border-box;scroll-behavior:smooth}body{margin:0;font-family:Outfit,system-ui,sans-serif;color:var(--text);background-color:var(--bg-0);background-image:radial-gradient(rgba(255,255,255,.03) 1px,transparent 1px),radial-gradient(circle at 10% 20%,rgba(var(--accent-rgb),.05) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(var(--accent-2-rgb),.05) 0%,transparent 40%);background-size:32px 32px,100% 100%,100% 100%;min-height:100vh;overflow-x:hidden}a{color:var(--accent);transition:var(--transition-smooth);text-underline-offset:3px}a:hover{color:#80faff;text-shadow:0 0 8px rgba(var(--accent-rgb),.4)}.site-shell{width:min(var(--max),90vw);margin:0 auto}.nav-header{position:sticky;top:0;z-index:100;background:#030712bf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:border-color .3s ease,background-color .3s ease}.nav-header.scrolled{border-color:rgba(var(--accent-rgb),.2);background:#030712e6}.nav-inner{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;gap:1.5rem}.nav-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);font-weight:800;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase}.nav-logo-mark{color:var(--accent);font-size:.8rem;line-height:1;display:inline-block;animation:logoPulse 2s infinite ease-in-out}@keyframes logoPulse{0%,to{transform:scale(1);opacity:.8;filter:drop-shadow(0 0 2px rgba(var(--accent-rgb),.5))}50%{transform:scale(1.2) rotate(15deg);opacity:1;filter:drop-shadow(0 0 8px var(--accent))}}.nav-links{display:flex;gap:2rem;align-items:center}.nav-links a{position:relative;text-decoration:none;font-weight:700;color:var(--muted);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;padding:.3rem 0}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .3s cubic-bezier(.25,.8,.25,1);box-shadow:0 0 8px rgba(var(--accent-rgb),.5)}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{width:100%}.nav-links a.active{color:var(--accent)}.nav-links a.active:after{width:100%}.nav-right{display:flex;align-items:center;gap:2rem}.lang-selector{position:relative}.lang-btn{background:#ffffff08;border:1px solid var(--border);color:var(--muted);font-family:inherit;font-size:.8rem;font-weight:700;letter-spacing:.05em;padding:.4rem .8rem;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .3s cubic-bezier(.25,.8,.25,1);box-shadow:inset 0 1px #ffffff0d}.lang-btn:hover{color:var(--text);border-color:rgba(var(--accent-rgb),.5);box-shadow:0 0 12px rgba(var(--accent-rgb),.15)}.lang-selector.open .lang-btn{border-color:var(--accent);color:var(--accent);box-shadow:0 0 15px rgba(var(--accent-rgb),.25)}.chevron{font-size:.6rem;transition:transform .3s cubic-bezier(.25,.8,.25,1);opacity:.6}.lang-selector.open .chevron{transform:rotate(180deg);opacity:1}.lang-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#0a0a12f2;border:1px solid var(--border);border-radius:6px;padding:.3rem;min-width:140px;box-shadow:0 10px 25px #00000080,0 0 0 1px #ffffff05;z-index:100;display:flex;flex-direction:column;gap:.1rem;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.96);pointer-events:none;transition:all .3s cubic-bezier(.25,.8,.25,1)}.lang-selector.open .lang-dropdown{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.lang-dropdown a{display:flex;align-items:center;gap:.5rem;padding:.5rem .8rem;color:var(--muted);text-decoration:none;font-size:.8rem;font-weight:600;border-radius:4px;transition:all .2s ease}.lang-dropdown a:hover{background:#ffffff0a;color:var(--text)}.lang-dropdown a.active{background:rgba(var(--accent-rgb),.08);color:var(--accent);border-left:2px solid var(--accent)}.flag{font-size:.95rem;display:inline-block;line-height:1}.page-main{padding:3rem 0 5rem}.page-main>section+section{margin-top:5rem}.detail-container{max-width:800px;margin:0 auto;width:100%}.site-footer{border-top:1px solid var(--border);background:#030712cc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;padding:2rem 0}.footer-role{margin:0;color:var(--muted);font-family:Space Mono,monospace;font-size:.8rem;letter-spacing:.05em}.footer-social{display:flex;gap:1.5rem}.footer-social a{color:var(--muted);text-decoration:none;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.footer-social a:hover{color:var(--accent);transform:translateY(-2px)}.section-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:2rem}.section-header h2{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);white-space:nowrap;font-family:Space Mono,monospace;font-weight:700;display:flex;align-items:center;gap:.5rem}.section-header h2:before{content:"⚡";color:var(--accent);font-size:.9rem;text-shadow:0 0 6px rgba(var(--accent-rgb),.6)}.section-divider{flex:1;height:1px;background:linear-gradient(90deg,var(--border),rgba(var(--accent-rgb),.2),transparent);min-width:40px}.hero{padding:4rem 0 3rem;position:relative}.hero .badge{margin-bottom:1rem}.hero h1{font-size:clamp(2.8rem,7vw,5rem);margin:.5rem 0 1rem;line-height:1.05;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text) 30%,#a5f3fc 70%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-wrap:balance}.hero p{max-width:70ch;color:var(--muted);font-size:1.15rem;line-height:1.7;margin:0 0 2rem;text-wrap:balance}.hero-stats{display:flex;gap:3rem;flex-wrap:wrap;margin:0 0 2.5rem}.hero-stat{font-family:Space Mono,monospace;font-size:.75rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.hero-stat strong{display:block;font-size:2.2rem;font-family:Outfit,sans-serif;font-weight:800;color:var(--accent);letter-spacing:-.02em;line-height:1.1;margin-bottom:.2rem;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.badge{display:inline-block;font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border-accent);border-radius:999px;padding:.25rem .85rem;color:var(--accent);background:#00f5ff0f;box-shadow:inset 0 0 8px #00f5ff0d}.tag{display:inline-block;font-family:Space Mono,monospace;font-size:.68rem;letter-spacing:.02em;border:1px solid var(--border);border-radius:6px;padding:.2rem .6rem;color:var(--muted);background:#ffffff05;transition:var(--transition-smooth)}.tag:hover{border-color:rgba(var(--accent-rgb),.3);color:var(--accent);background:rgba(var(--accent-rgb),.05)}.grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-lg);padding:1.25rem;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1)}.card:before{content:"";position:absolute;inset:-1px;border-radius:var(--radius-lg);background:radial-gradient(circle 120px at var(--mouse-x, 0) var(--mouse-y, 0),rgba(var(--accent-rgb),.12) 0%,transparent 100%);z-index:0;pointer-events:none}.card:hover{transform:translateY(-6px) scale(1.01);border-color:rgba(var(--accent-rgb),.35);box-shadow:0 12px 30px #00000080,0 0 20px rgba(var(--accent-rgb),.08)}.card-link{display:flex;flex-direction:column;text-decoration:none;color:inherit;z-index:1}.card-media{position:relative;overflow:hidden;border-radius:var(--radius-md);margin-bottom:1rem;border:1px solid var(--border)}.card-logo-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:min(55%,150px);height:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.6));pointer-events:none;transition:transform .4s cubic-bezier(.16,1,.3,1)}.card:hover .card-logo-overlay{transform:translate(-50%,-57%) scale(1.05)}.card-cover{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1)}.card:hover .card-cover{transform:scale(1.06)}.card h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--text);line-height:1.3;transition:var(--transition-smooth)}.card:hover h3{color:var(--accent)}.card>p{margin:0 0 1.25rem;color:var(--muted);font-size:.95rem;line-height:1.55;flex-grow:1}.cover{width:100%;border-radius:var(--radius-lg);margin:1.5rem 0 2rem;border:1px solid var(--border);display:block;box-shadow:0 20px 40px #0006}.meta{color:var(--muted);font-family:Space Mono,monospace;font-size:.74rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:auto}.content-body{width:100%;max-width:100%;line-height:1.8;font-size:1.05rem;color:#e5e7eb}.content-body img,.content-body video,.content-body iframe{max-width:100%;border-radius:var(--radius-md);box-shadow:0 10px 25px #0000004d;margin:1.5rem auto;display:block}.content-body h2{margin-top:3rem;margin-bottom:1rem;font-size:1.4rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2);font-family:Outfit,sans-serif;font-weight:700;border-left:3px solid var(--accent-2);padding-left:.75rem}.content-body h3{margin-top:2rem;margin-bottom:.75rem;color:var(--text);font-size:1.15rem;font-weight:600}.content-body a{text-decoration-thickness:1px;text-underline-offset:3px;font-weight:600}.content-body ul,.content-body ol{padding-left:2rem;margin:1rem 0}.content-body li{margin-bottom:.5rem}.content-body hr{border:0;border-top:1px solid var(--border);margin:3rem 0}.content-body blockquote{border-left:4px solid var(--accent);margin:2rem 0;padding:.75rem 1.5rem;color:var(--muted);background:#00f5ff05;border-radius:0 var(--radius-md) var(--radius-md) 0}.content-body p code,.content-body li code{font-family:Space Mono,monospace;background:#ffffff14;padding:.2em .4em;border-radius:4px;font-size:.88em;color:#fda4af}.info-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.info-block{background:var(--card);border:1px solid var(--border);padding:1.5rem;border-radius:var(--radius-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.info-block h3{margin-top:0;font-size:1.25rem;font-weight:700;color:var(--accent)}.contact-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-1);margin-bottom:.75rem;transition:var(--transition-smooth)}.contact-icon-wrap-light{background:#fff}.contact-icon-wrap-wide{width:140px}.contact-icon-wrap:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 0 15px rgba(var(--accent-rgb),.2)}.contact-icon{width:36px;height:36px;object-fit:contain;display:block}.contact-icon-wide{width:110px;height:auto;max-height:32px}.section-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-top:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#030712;background:linear-gradient(135deg,var(--accent) 0%,#a5f3fc 100%);padding:.65rem 1.35rem;border-radius:var(--radius-md);box-shadow:0 4px 14px rgba(var(--accent-rgb),.25);transition:transform .2s cubic-bezier(.25,.8,.25,1),box-shadow .2s cubic-bezier(.25,.8,.25,1),filter .2s ease;border:none;cursor:pointer}.btn:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--accent-rgb),.4)}.btn:active{transform:translateY(0)}.btn-sm{font-size:.76rem;padding:.45rem 1rem}.btn-alt{background:#ffffff08;color:var(--muted);border:1px solid var(--border);box-shadow:none}.btn-alt:hover{filter:none;border-color:rgba(var(--accent-rgb),.4);color:var(--accent);background:rgba(var(--accent-rgb),.04);box-shadow:0 4px 15px rgba(var(--accent-rgb),.08)}.spotlight{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:2rem;margin:1.5rem 0;padding:2rem;border-radius:var(--radius-lg)}.spotlight:hover{border-color:rgba(var(--accent-2-rgb),.35);box-shadow:0 12px 30px #00000080,0 0 20px rgba(var(--accent-2-rgb),.05)}.spotlight:before{background:radial-gradient(circle 180px at var(--mouse-x, 0) var(--mouse-y, 0),rgba(var(--accent-2-rgb),.08) 0%,transparent 100%)}.spotlight-content{display:flex;flex-direction:column;justify-content:center}.spotlight .badge{align-self:flex-start;margin-bottom:1rem;border-color:rgba(var(--accent-2-rgb),.3);color:var(--accent-2);background:rgba(var(--accent-2-rgb),.05)}.spotlight-content h3{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;margin:0 0 .75rem}.spotlight-content p{margin:.5rem 0;color:var(--muted);font-size:1.02rem;line-height:1.65}.spotlight-media{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);box-shadow:0 10px 20px #0000004d;aspect-ratio:1}.spotlight-media .cover{margin:0;width:100%;height:100%;object-fit:cover;border:none;border-radius:0;transition:transform .6s cubic-bezier(.16,1,.3,1)}.spotlight:hover .spotlight-media .cover{transform:scale(1.05)}.video-embed{position:relative;width:100%;padding-bottom:56.25%;margin:2rem 0}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:var(--radius-md);box-shadow:0 12px 25px #0006}.back-link{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--muted);font-size:.82rem;font-family:Space Mono,monospace;letter-spacing:.04em;margin-bottom:2rem;transition:var(--transition-smooth)}.back-link:hover{color:var(--accent);transform:translate(-4px)}.project-header{margin-bottom:2rem}.project-header .meta{margin-bottom:.5rem;font-size:.8rem}.project-header h1{margin:0 0 1rem;font-size:clamp(2.2rem,6vw,3.8rem);font-weight:800;line-height:1.1;background:linear-gradient(135deg,var(--text) 50%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-wrap:balance}.project-tags{display:flex;gap:.5rem;flex-wrap:wrap}.reveal-on-scroll{opacity:0;transform:translateY(24px);filter:blur(4px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1);will-change:transform,opacity,filter}.reveal-on-scroll.visible{opacity:1;transform:translateY(0);filter:blur(0)}.reveal-delay-100{transition-delay:.1s}.reveal-delay-200{transition-delay:.2s}.reveal-delay-300{transition-delay:.3s}.reveal-delay-400{transition-delay:.4s}.reveal-delay-500{transition-delay:.5s}.filter-menu{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:2.5rem;padding:.5rem 0}.filter-btn{font-family:Space Mono,monospace;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;background:#ffffff05;color:var(--muted);border:1px solid var(--border);padding:.45rem 1rem;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth)}.filter-btn:hover{color:var(--text);border-color:#fff3;background:#ffffff0d}.filter-btn.active{color:var(--bg-0);font-weight:700;background:var(--accent);border-color:var(--accent);box-shadow:0 0 15px rgba(var(--accent-rgb),.35)}.grid-item{transition:opacity .4s cubic-bezier(.25,.8,.25,1),transform .4s cubic-bezier(.25,.8,.25,1),visibility .4s;will-change:opacity,transform}.grid-item.hidden{opacity:0;transform:scale(.9) translateY(10px);position:absolute;pointer-events:none;visibility:hidden;z-index:-1;width:0;height:0;overflow:hidden;margin:0;padding:0;border:none}@media(prefers-reduced-motion:reduce){.nav-logo-mark{animation:none}.reveal-on-scroll{opacity:1;transform:none;filter:none;transition:none}.card,.card-cover,.card-logo-overlay,.btn,.btn-alt,.nav-links a,.nav-links a:after,.nav-logo,.back-link,.footer-social a,.contact-icon-wrap,.spotlight-media .cover,.grid-item{transition:none!important;transform:none!important;animation:none!important;box-shadow:none!important}}@media(max-width:900px){.spotlight{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem}.spotlight-media{max-width:240px;margin:0 auto}}@media(max-width:768px){.nav-inner{flex-direction:column;padding:1rem 0;gap:.85rem}.nav-right{gap:1.25rem;justify-content:center;width:100%}.nav-links{gap:1.25rem}.hero{padding:2rem 0}.hero-stats{gap:2rem}.hero-stat strong{font-size:1.9rem}.page-main>section+section{margin-top:4.5rem}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:480px){.nav-links{gap:1rem;font-size:.8rem}.grid{grid-template-columns:1fr}.section-header{margin-bottom:1.5rem}}.project-card-wrapper{opacity:1;transform:scale(1) translateY(0);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1)}.project-card-wrapper.hidden-project{opacity:0;transform:scale(.96) translateY(20px)}.load-more-container{display:flex;justify-content:center;margin-top:3.5rem;width:100%}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
