:where(.astro-w5zqxstw),:where(.astro-w5zqxstw):before,:where(.astro-w5zqxstw):after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:Outfit,sans-serif;background:#050505;color:#b0b0b0;line-height:1.6;overflow-x:hidden}a:where(.astro-w5zqxstw){color:inherit;text-decoration:none}:root{--accent: #00e5a0;--accent-dim: #00e5a018;--accent-mid: #00e5a040;--surface: #0c0c0c;--surface-raised: #111111;--border: #1a1a1a;--border-hover: #2a2a2a;--text-primary: #e8e8e8;--text-secondary: #777;--max-w: 1140px;--radius: 12px}body:before{content:"";position:fixed;inset:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px 256px;pointer-events:none;z-index:9999}nav:where(.astro-w5zqxstw){position:fixed;top:0;left:0;right:0;z-index:100;padding:0 2rem;height:64px;display:flex;align-items:center;justify-content:space-between;background:#050505cc;backdrop-filter:blur(20px) saturate(1.4);border-bottom:1px solid var(--border)}.nav-logo:where(.astro-w5zqxstw){font-weight:700;font-size:1.2rem;color:var(--text-primary);letter-spacing:-.5px;display:flex;align-items:center;gap:.5rem}.nav-logo:where(.astro-w5zqxstw) .dot:where(.astro-w5zqxstw){width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px var(--accent);animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.nav-links:where(.astro-w5zqxstw){display:flex;gap:2rem;align-items:center}.nav-links:where(.astro-w5zqxstw) a:where(.astro-w5zqxstw){font-size:.875rem;font-weight:400;color:var(--text-secondary);transition:color .2s}.nav-links:where(.astro-w5zqxstw) a:where(.astro-w5zqxstw):hover,.nav-links:where(.astro-w5zqxstw) a:where(.astro-w5zqxstw).active{color:var(--text-primary)}.nav-links:where(.astro-w5zqxstw) a:where(.astro-w5zqxstw).active{color:var(--accent);font-weight:500}.nav-cta:where(.astro-w5zqxstw){font-size:.8rem!important;font-weight:500!important;color:#050505!important;background:var(--accent);padding:.4rem 1rem;border-radius:6px;transition:opacity .2s,transform .2s}.nav-cta:where(.astro-w5zqxstw):hover{opacity:.9;transform:translateY(-1px)}.container:where(.astro-w5zqxstw){max-width:var(--max-w);margin:0 auto;padding:0 2rem}.hub-hero:where(.astro-w5zqxstw){padding:7rem 0 3rem;text-align:center;position:relative}.hub-hero:where(.astro-w5zqxstw):before{content:"";position:absolute;top:-100px;left:50%;transform:translate(-50%);width:600px;height:500px;background:radial-gradient(ellipse,var(--accent-dim) 0%,transparent 70%);pointer-events:none}.hub-hero:where(.astro-w5zqxstw) h1:where(.astro-w5zqxstw){font-size:clamp(2rem,5vw,3.2rem);font-weight:800;letter-spacing:-2px;color:var(--text-primary);margin-bottom:.75rem;animation:fade-up .5s ease-out both}.hub-hero:where(.astro-w5zqxstw) h1:where(.astro-w5zqxstw) .gradient:where(.astro-w5zqxstw){background:linear-gradient(135deg,var(--accent) 0%,#00b4d8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hub-sub:where(.astro-w5zqxstw){font-size:1.05rem;color:var(--text-secondary);max-width:520px;margin:0 auto 2rem;font-weight:300;animation:fade-up .5s ease-out .1s both}.hub-stats:where(.astro-w5zqxstw){display:flex;justify-content:center;gap:3rem;margin-bottom:2.5rem;animation:fade-up .5s ease-out .15s both;flex-wrap:wrap}.hub-stat-val:where(.astro-w5zqxstw){font-size:1.8rem;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.hub-stat-lbl:where(.astro-w5zqxstw){font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px}.hub-search-wrap:where(.astro-w5zqxstw){max-width:540px;margin:0 auto 3rem;animation:fade-up .5s ease-out .2s both;position:relative}.hub-search:where(.astro-w5zqxstw){width:100%;padding:.9rem 1.2rem .9rem 2.8rem;font-size:.95rem;font-family:Outfit,sans-serif;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);outline:none;transition:border-color .2s,box-shadow .2s}.hub-search:where(.astro-w5zqxstw):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.hub-search:where(.astro-w5zqxstw)::placeholder{color:#555}.hub-search-icon:where(.astro-w5zqxstw){position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#555;pointer-events:none}.skill-grid:where(.astro-w5zqxstw){display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;animation:fade-up .5s ease-out .25s both}.skill-card:where(.astro-w5zqxstw){background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:0;transition:all .25s ease;position:relative;overflow:hidden}.skill-card:where(.astro-w5zqxstw):before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--accent),#00b4d8);opacity:0;transition:opacity .3s}.skill-card:where(.astro-w5zqxstw):hover{border-color:var(--accent-mid);transform:translateY(-3px);box-shadow:0 12px 40px #00e5a00f}.skill-card:where(.astro-w5zqxstw):hover:before{opacity:1}.card-top:where(.astro-w5zqxstw){display:flex;align-items:flex-start;gap:12px;margin-bottom:6px}.card-icon:where(.astro-w5zqxstw){width:40px;height:40px;border-radius:10px;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.card-title-block:where(.astro-w5zqxstw){min-width:0}.card-name:where(.astro-w5zqxstw){font-size:1.1rem;font-weight:600;color:var(--text-primary);transition:color .2s}.skill-card:where(.astro-w5zqxstw):hover .card-name:where(.astro-w5zqxstw){color:var(--accent)}.card-version:where(.astro-w5zqxstw){font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--text-secondary);background:var(--surface-raised);padding:2px 6px;border-radius:4px;margin-left:6px}.card-badge:where(.astro-w5zqxstw){font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;padding:3px 8px;border-radius:100px;background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-mid);margin-left:auto;flex-shrink:0}.card-pkg:where(.astro-w5zqxstw){font-family:JetBrains Mono,monospace;font-size:.72rem;color:#555;margin-bottom:8px}.card-desc:where(.astro-w5zqxstw){font-size:.85rem;color:var(--text-secondary);line-height:1.55;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-stats:where(.astro-w5zqxstw){display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.card-stat:where(.astro-w5zqxstw){font-size:.7rem;font-weight:500;padding:3px 8px;border-radius:6px;background:var(--surface-raised);color:var(--text-secondary);border:1px solid #1a1a1a}.card-devices:where(.astro-w5zqxstw){display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.card-device:where(.astro-w5zqxstw){font-size:.65rem;padding:2px 7px;border-radius:4px;background:#0a1a14;color:#4ade80;border:1px solid #1a3a2a}.no-results:where(.astro-w5zqxstw){text-align:center;padding:4rem 2rem;color:var(--text-secondary);font-size:.95rem;grid-column:1 / -1}.hub-cta:where(.astro-w5zqxstw){text-align:center;padding:5rem 0 6rem}.hub-cta:where(.astro-w5zqxstw) h2:where(.astro-w5zqxstw){font-size:1.8rem;font-weight:700;color:var(--text-primary);letter-spacing:-1px;margin-bottom:.75rem}.hub-cta:where(.astro-w5zqxstw) p:where(.astro-w5zqxstw){color:var(--text-secondary);margin-bottom:1.5rem;font-weight:300}.btn-primary:where(.astro-w5zqxstw){display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:var(--accent);color:#050505;font-weight:600;font-size:.95rem;border-radius:8px;transition:transform .2s,box-shadow .2s}.btn-primary:where(.astro-w5zqxstw):hover{transform:translateY(-2px);box-shadow:0 8px 30px #00e5a030}.btn-outline:where(.astro-w5zqxstw){display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:transparent;color:var(--text-primary);font-weight:500;font-size:.95rem;border-radius:8px;border:1px solid var(--border);transition:border-color .2s,background .2s}.btn-outline:where(.astro-w5zqxstw):hover{border-color:var(--border-hover);background:var(--surface)}footer:where(.astro-w5zqxstw){border-top:1px solid var(--border);padding:3rem 0}.footer-inner:where(.astro-w5zqxstw){display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-left:where(.astro-w5zqxstw){font-size:.8rem;color:var(--text-secondary)}.footer-links:where(.astro-w5zqxstw){display:flex;gap:1.5rem}.footer-links:where(.astro-w5zqxstw) a:where(.astro-w5zqxstw){font-size:.8rem;color:var(--text-secondary);transition:color .2s}.footer-links:where(.astro-w5zqxstw) a:where(.astro-w5zqxstw):hover{color:var(--text-primary)}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.skill-grid:where(.astro-w5zqxstw){grid-template-columns:1fr}.hub-stats:where(.astro-w5zqxstw){gap:1.5rem}.nav-links:where(.astro-w5zqxstw) a:where(.astro-w5zqxstw):not(.nav-cta){display:none}}
