.hub-grid-bg{background-image:linear-gradient(to right, color-mix(in oklch, var(--primary) 4%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklch, var(--primary) 4%, transparent) 1px, transparent 1px);background-size:52px 52px}.hub-scan:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in oklch, var(--primary) 50%, transparent) 50%, transparent 100%);pointer-events:none;height:1px;animation:8s ease-in-out infinite hub-sweep;position:absolute;left:0;right:0}@keyframes hub-sweep{0%{opacity:0;top:0}5%{opacity:1}95%{opacity:1}to{opacity:0;top:100%}}.hub-hero-content{animation:.5s ease-out both hub-fade-up}@keyframes hub-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hub-stagger{animation:.4s ease-out both hub-fade-up}.hub-tool-card{transition:transform .2s,box-shadow .2s,border-color .2s}.hub-tool-card:hover{box-shadow:0 0 0 1px rgba(var(--glow-rgb), .3), 0 4px 24px rgba(var(--glow-rgb), .08);border-color:rgba(var(--glow-rgb), .35);transform:translateY(-3px)}.hub-tool-card .hub-accent-line{opacity:.5;transition:opacity .2s}.hub-tool-card:hover .hub-accent-line{opacity:1}.hub-tool-card:hover .hub-icon-box{box-shadow:0 0 16px rgba(var(--glow-rgb), .3);border-color:rgba(var(--glow-rgb), .2)}.hub-pulse{animation:2s ease-in-out infinite hub-pulse-glow}@keyframes hub-pulse-glow{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.hub-stagger,.hub-hero-content{opacity:1!important;animation:none!important;transform:none!important}.hub-scan:after,.hub-pulse{animation:none!important}.hub-tool-card{transition:none!important}}
