.hub-body{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:18px 20px}.hub{max-width:940px;width:100%}.hubhead{text-align:center;margin-bottom:30px}.hubhead .logo{width:66px;height:66px;border-radius:22px;margin:0 auto 16px;background:linear-gradient(150deg,var(--v1),var(--v2));display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:0 12px 28px rgba(139,109,240,.4)}.hubhead h1{font-size:30px;margin:0;font-weight:800;letter-spacing:-.6px}.hubhead p{margin:10px 0 0;color:var(--sub);font-size:15px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:18px;gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:28px 26px;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:.18s;position:relative;overflow:hidden}.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(43,46,92,.16);border-color:var(--v2)}.card .ico{width:56px;height:56px;border-radius:18px;flex:none;margin-bottom:18px;display:flex;align-items:center;justify-content:center;font-size:28px;background:#eceaf7}.card h2{margin:0;font-size:19px;font-weight:800;letter-spacing:-.3px}.card .desc{margin:9px 0 0;color:var(--sub);font-size:13.5px;line-height:1.7;flex:1 1}.card .go{margin-top:18px;font-size:13.5px;font-weight:800;color:var(--v3);display:flex;align-items:center;gap:6px}.card .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.tagx{font-size:11.5px;font-weight:700;color:var(--sub);background:#f2f3f8;border:1px solid var(--line);padding:5px 10px;border-radius:999px}.foot{text-align:center;margin-top:28px;color:var(--mut);font-size:12.5px;line-height:1.9}